openpond 0.2.63 → 0.2.64
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 +76 -2
- package/dist/app-server.js +1 -1
- package/dist/chunks/account-context-TIJOM22A.js +12 -0
- package/dist/chunks/acp-G5GCLP44.js +2 -0
- package/dist/chunks/acp-agent-JM5THNMF.js +19 -0
- package/dist/chunks/actions-command-VLKMHCMI.js +2 -0
- package/dist/chunks/app-layer-DZHMJUBC.js +3 -0
- package/dist/chunks/app-server-connected-apps-IB6M35NS.js +2 -0
- package/dist/chunks/app-server-evaluations-V6LRWDUF.js +2 -0
- package/dist/chunks/app-server-harness-services-6ZRLA3YD.js +2 -0
- package/dist/chunks/app-server-runtime-6LCX46RF.js +2 -0
- package/dist/chunks/apps-7LPKIYRY.js +2 -0
- package/dist/chunks/{chunk-NZTCH6K5.js → chunk-2GJD23CM.js} +1 -1
- package/dist/chunks/{chunk-BKEDG3A4.js → chunk-2MEOUS24.js} +1 -1
- package/dist/chunks/{chunk-DUL6DXOI.js → chunk-2W22IXHB.js} +1 -1
- package/dist/chunks/{chunk-GGJUWIGR.js → chunk-36FNNR5N.js} +1 -1
- package/dist/chunks/chunk-3BJ7LPE3.js +2 -0
- package/dist/chunks/chunk-3MVKXAH7.js +2 -0
- package/dist/chunks/{chunk-UTNGEMW5.js → chunk-3WJQ4IGK.js} +1 -1
- package/dist/chunks/{chunk-G6OR5NB6.js → chunk-4D3CICBG.js} +1 -1
- package/dist/chunks/chunk-4DYWVGVS.js +2 -0
- package/dist/chunks/{chunk-KUPJNBWG.js → chunk-4JYTFEND.js} +1 -1
- package/dist/chunks/chunk-4MQHIFZL.js +2 -0
- package/dist/chunks/chunk-4TO743HO.js +4 -0
- package/dist/chunks/{chunk-B4RKHHF7.js → chunk-4TTXNVCE.js} +1 -1
- package/dist/chunks/{chunk-3YXYBYWK.js → chunk-4V73I4OL.js} +1 -1
- package/dist/chunks/chunk-55Q64WWF.js +2 -0
- package/dist/chunks/{chunk-F7QTIHXX.js → chunk-5AU5Y6KS.js} +1 -1
- package/dist/chunks/chunk-5HPZGLOL.js +2 -0
- package/dist/chunks/{chunk-LCSBCCYC.js → chunk-5JVJQA5H.js} +1 -1
- package/dist/chunks/chunk-5KJMFK65.js +2 -0
- package/dist/chunks/{chunk-BSPFY3Y5.js → chunk-5KWKSR4P.js} +1 -1
- package/dist/chunks/chunk-5WPMI6QX.js +2 -0
- package/dist/chunks/{chunk-SHJY5RLU.js → chunk-5Z3AU5CL.js} +1 -1
- package/dist/chunks/{chunk-DQI5TE6A.js → chunk-66HFW4OU.js} +1 -1
- package/dist/chunks/{chunk-NT7N6KLE.js → chunk-67HXM6AL.js} +1 -1
- package/dist/chunks/{chunk-J7ZTPXRQ.js → chunk-6C3CXME7.js} +1 -1
- package/dist/chunks/{chunk-PWK5Z5S3.js → chunk-6ESBAHWK.js} +1 -1
- package/dist/chunks/{chunk-XNOMIWEY.js → chunk-6I5AUTVO.js} +1 -1
- package/dist/chunks/{chunk-OG33QAG6.js → chunk-6S2MWJVD.js} +1 -1
- package/dist/chunks/{chunk-KCOTDUGW.js → chunk-6TRVEA3T.js} +1 -1
- package/dist/chunks/chunk-6ZTP6CUJ.js +2 -0
- package/dist/chunks/{chunk-4L6DU6Z2.js → chunk-7FBWUVX7.js} +1 -1
- package/dist/chunks/{chunk-GPL2Z65R.js → chunk-7P5SH3CI.js} +2 -2
- package/dist/chunks/chunk-7PKTCMZ6.js +2 -0
- package/dist/chunks/chunk-7XOUM6RK.js +2 -0
- package/dist/chunks/chunk-A77DLBR4.js +2 -0
- package/dist/chunks/chunk-AF3AVDPP.js +2 -0
- package/dist/chunks/{chunk-RV7PUSI2.js → chunk-AJXWJLZA.js} +1 -1
- package/dist/chunks/chunk-AMC4Z7G4.js +2 -0
- package/dist/chunks/chunk-ANG2YMMD.js +2 -0
- package/dist/chunks/{chunk-ZPTKR3GB.js → chunk-B32CW3NT.js} +1 -1
- package/dist/chunks/{chunk-Y766IN7Y.js → chunk-B666Z2NS.js} +1 -1
- package/dist/chunks/chunk-BJXPQIVD.js +2 -0
- package/dist/chunks/{chunk-WBUK73ST.js → chunk-BL3CZWWD.js} +1 -1
- package/dist/chunks/{chunk-XMHIQ3SK.js → chunk-BTJACFU3.js} +2 -2
- package/dist/chunks/{chunk-25XXZS3E.js → chunk-C5B3FMV3.js} +1 -1
- package/dist/chunks/chunk-CRDKBFRN.js +2 -0
- package/dist/chunks/chunk-CYQLXS2U.js +2 -0
- package/dist/chunks/{chunk-N4VHLJBZ.js → chunk-D7R2AAX2.js} +1 -1
- package/dist/chunks/{chunk-LSZJ5M3X.js → chunk-DAEUVT2I.js} +1 -1
- package/dist/chunks/{chunk-ELX7VRSU.js → chunk-DIDQHTAX.js} +1 -1
- package/dist/chunks/chunk-DMO3UIS7.js +6 -0
- package/dist/chunks/{chunk-4BJGUCHY.js → chunk-DRMOHADV.js} +1 -1
- package/dist/chunks/{chunk-FYYYECHE.js → chunk-DSJZS77R.js} +4 -4
- package/dist/chunks/{chunk-7HRLWPPZ.js → chunk-DXA2UHBE.js} +1 -1
- package/dist/chunks/{chunk-T6JN4PND.js → chunk-EBOTNBUS.js} +1 -1
- package/dist/chunks/chunk-ECOH24MC.js +9 -0
- package/dist/chunks/{chunk-6PKXJEJM.js → chunk-EICS777E.js} +1 -1
- package/dist/chunks/{chunk-4SZ3HKHU.js → chunk-EVQISX7M.js} +1 -1
- package/dist/chunks/{chunk-2HAWOMZK.js → chunk-EW7CD7OA.js} +1 -1
- package/dist/chunks/chunk-FEQ7HNJR.js +2 -0
- package/dist/chunks/{chunk-IWWXIUAQ.js → chunk-FHLSLOKH.js} +8 -8
- package/dist/chunks/{chunk-BU27SLZP.js → chunk-FS2VKOT7.js} +1 -1
- package/dist/chunks/{chunk-4FNCBA3Y.js → chunk-FUFI4THX.js} +1 -1
- package/dist/chunks/{chunk-W5W4IODW.js → chunk-FYWQWKVS.js} +1 -1
- package/dist/chunks/{chunk-IZ56L2ZK.js → chunk-G4747MOW.js} +1 -1
- package/dist/chunks/{chunk-J572ANHX.js → chunk-G4E3WGLM.js} +4 -4
- package/dist/chunks/{chunk-P7HRF4FM.js → chunk-GD3RCUDH.js} +1 -1
- package/dist/chunks/{chunk-HUCBKXTU.js → chunk-GDJ4X2ZN.js} +1 -1
- package/dist/chunks/{chunk-JHR3LF2F.js → chunk-GF55VEMR.js} +1 -1
- package/dist/chunks/{chunk-GXCUH2VV.js → chunk-GFAI2MCJ.js} +3 -3
- package/dist/chunks/{chunk-KOKX7PBS.js → chunk-GI7LTJV3.js} +1 -1
- package/dist/chunks/{chunk-TCOTXCV6.js → chunk-GIU3Z45P.js} +1 -1
- package/dist/chunks/chunk-GKLZQN6P.js +161 -0
- package/dist/chunks/{chunk-GXZCMO6S.js → chunk-GRLQHYAU.js} +2 -2
- package/dist/chunks/{chunk-M3SCON53.js → chunk-GUG2SWRZ.js} +1 -1
- package/dist/chunks/{chunk-JQRMDFF3.js → chunk-H42UW6IF.js} +1 -1
- package/dist/chunks/{chunk-EZRUWIP6.js → chunk-H5ML7735.js} +1 -1
- package/dist/chunks/{chunk-VNJAAYNQ.js → chunk-HIQPGYVH.js} +1 -1
- package/dist/chunks/{chunk-DLANLLKH.js → chunk-HNDAGZCF.js} +1 -1
- package/dist/chunks/{chunk-OE22TAXP.js → chunk-HNQPEOJD.js} +1 -1
- package/dist/chunks/chunk-HORMGT2Q.js +2 -0
- package/dist/chunks/{chunk-2V4LPUBH.js → chunk-HPTEJBP4.js} +1 -1
- package/dist/chunks/{chunk-R6VJDOQM.js → chunk-HQQJKWZY.js} +4 -4
- package/dist/chunks/{chunk-UWHIU24L.js → chunk-HVM2GUM3.js} +1 -1
- package/dist/chunks/{chunk-NEJLJ2XY.js → chunk-HX6GXMDK.js} +1 -1
- package/dist/chunks/chunk-I3NYYOSS.js +2 -0
- package/dist/chunks/{chunk-LV3CQ72P.js → chunk-I6VMRQF4.js} +1 -1
- package/dist/chunks/{chunk-QU4UE73E.js → chunk-IEVJLG3V.js} +1 -1
- package/dist/chunks/chunk-IOSBGCRT.js +2 -0
- package/dist/chunks/{chunk-SO42ZB5K.js → chunk-JBFPTEVE.js} +1 -1
- package/dist/chunks/{chunk-G32BO6M5.js → chunk-JD76ANPN.js} +1 -1
- package/dist/chunks/{chunk-ERJV5BMC.js → chunk-JFZ6USNQ.js} +1 -1
- package/dist/chunks/{chunk-UPWJSNL5.js → chunk-JLW5BQVO.js} +1 -1
- package/dist/chunks/chunk-JRGECNP3.js +2 -0
- package/dist/chunks/{chunk-DABBHWSF.js → chunk-KAWXVMHI.js} +1 -1
- package/dist/chunks/chunk-KGUPAPGR.js +2 -0
- package/dist/chunks/{chunk-AHOBCBVZ.js → chunk-KOKBDIGR.js} +1 -1
- package/dist/chunks/chunk-KTIBXRWQ.js +2 -0
- package/dist/chunks/chunk-L4EJ5R3B.js +23 -0
- package/dist/chunks/{chunk-SI5W5LBV.js → chunk-LARJARMS.js} +1 -1
- package/dist/chunks/{chunk-MPNJ2BB4.js → chunk-LE75SVEL.js} +1 -1
- package/dist/chunks/{chunk-ERT32RZA.js → chunk-LI3FTPAH.js} +5 -5
- package/dist/chunks/chunk-LK77GI6M.js +2 -0
- package/dist/chunks/chunk-LOIYNRBC.js +33 -0
- package/dist/chunks/{chunk-7WYL2IDD.js → chunk-LXZLLTYQ.js} +1 -1
- package/dist/chunks/{chunk-RZUCVF2Q.js → chunk-LYVHYT3L.js} +1 -1
- package/dist/chunks/{chunk-MWXW2CA6.js → chunk-LZPCA6DH.js} +1 -1
- package/dist/chunks/{chunk-GVARQXYI.js → chunk-M5QPL5NO.js} +1 -1
- package/dist/chunks/{chunk-WWQNMC7C.js → chunk-MCBRB5D6.js} +1 -1
- package/dist/chunks/chunk-MHPCVQOE.js +2 -0
- package/dist/chunks/chunk-MMJU6PZV.js +2 -0
- package/dist/chunks/chunk-MVPKU72J.js +4 -0
- package/dist/chunks/{chunk-AGVOGPAZ.js → chunk-MWS2NAHJ.js} +1 -1
- package/dist/chunks/{chunk-R6WMY6AH.js → chunk-NTM3KQ25.js} +1 -1
- package/dist/chunks/chunk-NXN7GJOH.js +2 -0
- package/dist/chunks/chunk-O6ZYDHEJ.js +3 -0
- package/dist/chunks/chunk-OKEC2EIE.js +2 -0
- package/dist/chunks/{chunk-KCV5VN4X.js → chunk-OKKNDQJF.js} +1 -1
- package/dist/chunks/{chunk-ZYVHOVKL.js → chunk-OPTJYDZN.js} +1 -1
- package/dist/chunks/{chunk-NJLULBTM.js → chunk-OTDDXEQ6.js} +1 -1
- package/dist/chunks/{chunk-RDSVU6F6.js → chunk-OTUS7NTQ.js} +1 -1
- package/dist/chunks/{chunk-UH4JSSRL.js → chunk-OTXGAKFH.js} +8 -8
- package/dist/chunks/chunk-OW3EOC5Q.js +4 -0
- package/dist/chunks/chunk-OXRVILDW.js +2 -0
- package/dist/chunks/{chunk-JEISPWWM.js → chunk-PWKJ5KLZ.js} +1 -1
- package/dist/chunks/{chunk-RFMME46Z.js → chunk-PYNW5OFA.js} +1 -1
- package/dist/chunks/{chunk-AKGCM53D.js → chunk-Q3WXB465.js} +1 -1
- package/dist/chunks/{chunk-KHTAAVC2.js → chunk-Q4AXZY2P.js} +1 -1
- package/dist/chunks/{chunk-QJ6KUVAR.js → chunk-QAEZNFAM.js} +1 -1
- package/dist/chunks/{chunk-ABF3W2MO.js → chunk-QAFXQHHG.js} +2 -2
- package/dist/chunks/chunk-QCJY6FTC.js +3 -0
- package/dist/chunks/{chunk-5MHYGMJG.js → chunk-QJJNHKLT.js} +1 -1
- package/dist/chunks/{chunk-ERL2M773.js → chunk-QYQZQVVN.js} +1 -1
- package/dist/chunks/{chunk-VVNV4NNW.js → chunk-RCT3O3HQ.js} +1 -1
- package/dist/chunks/{chunk-7R56WC7L.js → chunk-RHMULF56.js} +1 -1
- package/dist/chunks/chunk-RRWL5BHZ.js +2 -0
- package/dist/chunks/{chunk-RG3NH6YQ.js → chunk-S4WILIRA.js} +1 -1
- package/dist/chunks/{chunk-N33D7KCW.js → chunk-S6UCVXBC.js} +1 -1
- package/dist/chunks/{chunk-IHB5GTOJ.js → chunk-SAZTOGX6.js} +3 -3
- package/dist/chunks/{chunk-2EPR4HLF.js → chunk-SH7POUVX.js} +6 -6
- package/dist/chunks/chunk-SQX22LQT.js +10 -0
- package/dist/chunks/{chunk-NLYZ5K7U.js → chunk-SSJV3VX7.js} +1 -1
- package/dist/chunks/chunk-TBODQT4W.js +2 -0
- package/dist/chunks/chunk-TGULVWPV.js +2 -0
- package/dist/chunks/{chunk-HIYQPZ7C.js → chunk-TPOAAJKA.js} +1 -1
- package/dist/chunks/{chunk-42V4NV2F.js → chunk-TVDZXDQW.js} +1 -1
- package/dist/chunks/{chunk-FVRII5XO.js → chunk-U2BD545L.js} +1 -1
- package/dist/chunks/chunk-UK5LGSGT.js +2 -0
- package/dist/chunks/{chunk-HFJUXKT5.js → chunk-ULJZ7NUF.js} +1 -1
- package/dist/chunks/chunk-UN2LKLGV.js +2 -0
- package/dist/chunks/{chunk-4NXEYPPX.js → chunk-UOFDKMRU.js} +1 -1
- package/dist/chunks/{chunk-2ITZW2CN.js → chunk-UTIELP6F.js} +1 -1
- package/dist/chunks/{chunk-NWQL6FNF.js → chunk-V3KEG6MI.js} +1 -1
- package/dist/chunks/{chunk-BPZOABMC.js → chunk-V3S2B6WU.js} +2 -2
- package/dist/chunks/{chunk-ZG6353RM.js → chunk-VD2TQCMH.js} +1 -1
- package/dist/chunks/{chunk-4ZBOYWQ3.js → chunk-VS2LOUCT.js} +1 -1
- package/dist/chunks/{chunk-V7KR74NO.js → chunk-VS3AMJEK.js} +1 -1
- package/dist/chunks/{chunk-YCZZ62C2.js → chunk-W22KWKF6.js} +1 -1
- package/dist/chunks/chunk-W7NXFRHN.js +2 -0
- package/dist/chunks/{chunk-DTTFUANI.js → chunk-WBO6FQHR.js} +2 -2
- package/dist/chunks/{chunk-5ZBLCWEJ.js → chunk-WJSJXK2N.js} +1 -1
- package/dist/chunks/{chunk-C2LAEGOW.js → chunk-WKHGXLJD.js} +2 -2
- package/dist/chunks/{chunk-H6C4MAUN.js → chunk-WLQEONBF.js} +1 -1
- package/dist/chunks/chunk-WLZJOCLA.js +10 -0
- package/dist/chunks/chunk-WMBOXX7G.js +2 -0
- package/dist/chunks/{chunk-PF56N7ZY.js → chunk-X2J2P5ZT.js} +5 -5
- package/dist/chunks/{chunk-AH26AQN7.js → chunk-XHBMK6LC.js} +1 -1
- package/dist/chunks/{chunk-ZZHXQCNB.js → chunk-Y3B6ZUE6.js} +1 -1
- package/dist/chunks/{chunk-WP2L2NY2.js → chunk-YBKDEEEH.js} +1 -1
- package/dist/chunks/chunk-YRDPVTEI.js +3 -0
- package/dist/chunks/{chunk-JORRZ4BB.js → chunk-YU4JYWCA.js} +1 -1
- package/dist/chunks/{chunk-CZ5R4JXZ.js → chunk-Z2TOBS3P.js} +1 -1
- package/dist/chunks/chunk-ZFJWA4JK.js +1 -0
- package/dist/chunks/chunk-ZSZXA7WB.js +2 -0
- package/dist/chunks/{chunk-LK2K3SPM.js → chunk-ZU3YBRXS.js} +2 -2
- package/dist/chunks/{chunk-5FU5RLML.js → chunk-ZUT4EM64.js} +1 -1
- package/dist/chunks/chunk-ZWW227M3.js +2 -0
- package/dist/chunks/chunk-ZY32SZ2P.js +3 -0
- package/dist/chunks/cli-TE7RP5H7.js +2 -0
- package/dist/chunks/client-I5MYOJEJ.js +2 -0
- package/dist/chunks/command-NDHFZAKA.js +13 -0
- package/dist/chunks/configuration-command-HPMGH7WR.js +2 -0
- package/dist/chunks/connected-app-executor-7DYMZCD7.js +2 -0
- package/dist/chunks/connected-evidence-FNHTBUDG.js +2 -0
- package/dist/chunks/{connected-starting-assets-JONPTII6.js → connected-starting-assets-O4X6D6BG.js} +1 -1
- package/dist/chunks/connection-GDWPMHPC.js +2 -0
- package/dist/chunks/{continual-Z7MO2PF6.js → continual-HQCFY7GN.js} +3 -3
- package/dist/chunks/core-commands-LEFFBKR7.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-KWRTMKN6.js +4 -0
- package/dist/chunks/datasets-BWHI23IB.js +2 -0
- package/dist/chunks/desktop-test-XROQ7K5H.js +3 -0
- package/dist/chunks/dist-GR56E3QK.js +2 -0
- package/dist/chunks/dist-J4KHAVO3.js +2 -0
- package/dist/chunks/dist-O7HXZUBW.js +2 -0
- package/dist/chunks/enclave-7VLABNIX.js +2 -0
- package/dist/chunks/evaluation-coordination-JTQIKHW6.js +2 -0
- package/dist/chunks/experiment-improvements-2TV2DA3K.js +2 -0
- package/dist/chunks/experiments-VOCZ4DW3.js +2 -0
- package/dist/chunks/experiments-VUJ4SEMG.js +2 -0
- package/dist/chunks/experiments-signal-TSTEBORD.js +2 -0
- package/dist/chunks/{extension-ZM6NI5O5.js → extension-UH34ZF7N.js} +1 -1
- package/dist/chunks/{help-7HXFWIKS.js → help-OPN36XRA.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +2 -0
- package/dist/chunks/host-profile-external-dataset-YRKG2GL5.js +2 -0
- package/dist/chunks/hosted-app-server-composition-7WZ4RIX2.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-NZTPZTDH.js +3 -0
- package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +2 -0
- package/dist/chunks/hosted-profile-candidate-3CAT3XBI.js +3 -0
- package/dist/chunks/hosted-profile-compiler-RXU626Q6.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-CBDRKJ5J.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-CHYKDYUQ.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-H5S7JZMD.js +3 -0
- package/dist/chunks/hosted-tasksets-AMGDDB2R.js +2 -0
- package/dist/chunks/human-review-NVKBEYG5.js +2 -0
- package/dist/chunks/{import-6SI4BEKS.js → import-P5DCYMQ6.js} +2 -2
- package/dist/chunks/learning-NJLTGZFQ.js +2 -0
- package/dist/chunks/learning-XTY5VOTK.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-XEA73RGS.js +2 -0
- package/dist/chunks/local-harness-taskset-review-SW35G4DM.js +2 -0
- package/dist/chunks/local-scope-X3737QXT.js +2 -0
- package/dist/chunks/model-projects-GHWCKDON.js +2 -0
- package/dist/chunks/opchat-ZJ5DO4RT.js +3 -0
- package/dist/chunks/opchat-bounded-chat-JVZ5LRH2.js +2 -0
- package/dist/chunks/organizations-UKXORVYS.js +2 -0
- package/dist/chunks/{profile-O5HL5DTQ.js → profile-XL5LABHR.js} +1 -1
- package/dist/chunks/profile-training-source-VIND2MM2.js +2 -0
- package/dist/chunks/project-action-payload-2G57RL74.js +2 -0
- package/dist/chunks/project-agent-CCGEMNR7.js +2 -0
- package/dist/chunks/published-experiment-source-D3C2AWQD.js +2 -0
- package/dist/chunks/refiner-profile-service-PPGGNVOV.js +2 -0
- package/dist/chunks/{runtime-XBA744HJ.js → runtime-VSOOPNYN.js} +2 -2
- package/dist/chunks/sandbox-command-L6BMKDGY.js +2 -0
- package/dist/chunks/{sandbox-template-27U3FQN7.js → sandbox-template-QL5ID5GJ.js} +1 -1
- package/dist/chunks/saved-work-LAVTNKPT.js +2 -0
- package/dist/chunks/send-turn-D3GTSSHI.js +2 -0
- package/dist/chunks/setup-HSRCZ3WR.js +2 -0
- package/dist/chunks/{src-PU7QTFO5.js → src-662QOKNP.js} +1 -1
- package/dist/chunks/{src-BLWX6DRG.js → src-KWOSLOBH.js} +117 -117
- package/dist/chunks/standalone-experiment-turn-owner-KKYIGGPF.js +2 -0
- package/dist/chunks/stdio-Z65UIX55.js +2 -0
- package/dist/chunks/store-chat-resources-ZWDYMDJF.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-FOMYYS25.js → store-continual-support-reviews-7PDLGRWF.js} +1 -1
- package/dist/chunks/store-conversation-serving-WRT4N7N2.js +2 -0
- package/dist/chunks/{store-create-improve-3LQMIYAP.js → store-create-improve-G46KIUVT.js} +1 -1
- package/dist/chunks/{store-datasets-3KSX7RSO.js → store-datasets-O67F75BL.js} +1 -1
- package/dist/chunks/store-evaluation-results-BEPR4LVD.js +7 -0
- package/dist/chunks/{store-harness-memory-2L7ARBR4.js → store-harness-memory-4XEUITXE.js} +1 -1
- package/dist/chunks/{store-harness-refinement-candidates-3PHL3BUY.js → store-harness-refinement-candidates-LCN4NV23.js} +1 -1
- package/dist/chunks/store-harness-workspaces-PJJQ74G6.js +2 -0
- package/dist/chunks/store-human-review-HJ3D7ZFA.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-EXNRDHCO.js +2 -0
- package/dist/chunks/store-learning-6P6IS7GH.js +2 -0
- package/dist/chunks/store-learning-credentials-EGJ2WTZI.js +2 -0
- package/dist/chunks/{store-local-experiments-QTVHJAEP.js → store-local-experiments-CBJA56X2.js} +1 -1
- package/dist/chunks/store-model-batch-review-YIVD7T2T.js +2 -0
- package/dist/chunks/{store-model-configuration-3SU73CMS.js → store-model-configuration-T6XJJDAB.js} +2 -2
- package/dist/chunks/store-model-project-preparation-WWU5CJTV.js +2 -0
- package/dist/chunks/{store-preference-comparison-DWV5XSMY.js → store-preference-comparison-XQFTLMGH.js} +1 -1
- package/dist/chunks/{store-schedules-2KUY4T6M.js → store-schedules-JPFVWL3Q.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-A4XCS7RM.js → store-sidebar-file-bookmarks-J3JEVAYR.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-V2PKRXUZ.js → store-sidebar-preferences-2JHTFXJK.js} +1 -1
- package/dist/chunks/{store-subagents-UGVEFA6M.js → store-subagents-PUBQVWSU.js} +1 -1
- package/dist/chunks/{store-task-inbox-QABI4ZAH.js → store-task-inbox-VVXZUJIO.js} +1 -1
- package/dist/chunks/{store-task-inventory-GEQIZELY.js → store-task-inventory-MQX44AI6.js} +1 -1
- package/dist/chunks/store-taskset-drafts-G3WFVN4M.js +9 -0
- package/dist/chunks/{store-training-CQV7PL3V.js → store-training-DUVIDYK5.js} +1 -1
- package/dist/chunks/{store-training-jobs-XKN6K66J.js → store-training-jobs-HHFH3V5O.js} +1 -1
- package/dist/chunks/{store-training-models-Q7DTTR4S.js → store-training-models-C7UUZDTO.js} +1 -1
- package/dist/chunks/{store-usage-XGAX7NLB.js → store-usage-6DMZM7WV.js} +1 -1
- package/dist/chunks/{store-work-evidence-VSLLZ6UF.js → store-work-evidence-77B36LRC.js} +1 -1
- package/dist/chunks/taskset-7FQCJ55X.js +2 -0
- package/dist/chunks/taskset-packages-NRRPON7B.js +2 -0
- package/dist/chunks/taskset-packages-RW4SFGDU.js +2 -0
- package/dist/chunks/{teams-bot-UTQAJA6H.js → teams-bot-LGV7UKX2.js} +1 -1
- package/dist/chunks/tool-learning-NGO7QHYK.js +2 -0
- package/dist/chunks/training-XFM3OOPN.js +2 -0
- package/dist/chunks/training-XILDD5RG.js +2 -0
- package/dist/chunks/training-error-LQKCOQDJ.js +2 -0
- package/dist/chunks/training-hardware-ESXRWUIK.js +3 -0
- package/dist/chunks/training-hosted-6BX2IASC.js +2 -0
- package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +2 -0
- package/dist/chunks/training-hosted-learning-YN5VD3PW.js +2 -0
- package/dist/chunks/training-hosted-serving-N2MHWGZN.js +2 -0
- package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +2 -0
- package/dist/chunks/training-hosted-workers-6JTDCCWA.js +2 -0
- package/dist/chunks/training-model-start-E5MP3URL.js +2 -0
- package/dist/chunks/web-search-56QRZGPR.js +2 -0
- package/dist/chunks/workspaces-MCS2AQX6.js +2 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sandbox-template/manifest.js +1 -1
- package/dist/skills/manifest.json +1 -1
- package/dist/web/assets/App-BZuSv1XM.js +53 -0
- package/dist/web/assets/{AppDialog-8Y0FYalT.js → AppDialog-BILEK4np.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-BvxZ8bwD.js +2 -0
- package/dist/web/assets/{AppToastContext-BiQbbVxq.js → AppToastContext-C-FsCKXW.js} +1 -1
- package/dist/web/assets/{AppsView-Dtte4h6e.js → AppsView-BMaq5oxx.js} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-DgADV7dn.js → AttachmentTypeIcon-Bh7Ft_UL.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-BUqDvEv9.js → BrowserSidebar-BG2MLJ9I.js} +1 -1
- package/dist/web/assets/{CartesianChart-J4ChOjvG.js → CartesianChart-CS6ES_XT.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-Dr5X_XyN.js +8 -0
- package/dist/web/assets/{ChatTimelineEntry-DztFb85D.css → ChatTimelineEntry-vs8RaEGD.css} +1 -1
- package/dist/web/assets/{CollaborationTabs-CFCpk2Ck.js → CollaborationTabs-CPJ2w67F.js} +1 -1
- package/dist/web/assets/{CommandMenu-EPPjB14H.js → CommandMenu-Fe1V7NJd.js} +1 -1
- package/dist/web/assets/{CommunityView-Okydjpqm.js → CommunityView-DHTcmOnI.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-RXCiE88M.js → ComposerAttachments-Ck9VWD6o.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-CSngc8-V.js → ComposerCreateImproveStrip-yiXO7cf8.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-DS73kyfj.js → ConversationImportsSettings-_VLzUnHQ.js} +1 -1
- package/dist/web/assets/{FilePagePreview-Qc4B0vue.js → FilePagePreview-BpcM1DfE.js} +2 -2
- package/dist/web/assets/{GetStartedView-DGFPQ1We.js → GetStartedView-BH-WJ-rW.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-DFBYQdHz.js → GettingStartedDialog-CdQfj7RA.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-BDu3FlcU.js → HostedModelLearningReview-C3GsOlu9.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-CHaTHwC8.js → HostedModelLearningSettings-SSMst6dl.js} +1 -1
- package/dist/web/assets/{HtmlVisual-D9Mh7xds.js → HtmlVisual-CH0tb3fv.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DgY7lAu5.js → LabModelVersionDetailPage-J2t9yILv.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BwtlThO7.js → LabSkillSidebar-DdDYvfj2.js} +1 -1
- package/dist/web/assets/LabsRoute-MJwIjSKg.js +101 -0
- package/dist/web/assets/MainChatThread-BcwtaTDZ.js +2 -0
- package/dist/web/assets/MainPane-DDO6diPt.js +10 -0
- package/dist/web/assets/NativeSetupTerminal-BPSUFpRm.js +2 -0
- package/dist/web/assets/{NativeSkillSidebar-BEJvt5_H.js → NativeSkillSidebar-DPYavzau.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-CjrjgkTN.js → NewProjectDialog-BtmvE9Sp.js} +1 -1
- package/dist/web/assets/{OutputsPage-jzx93QQ3.js → OutputsPage-BMRY7RK2.js} +1 -1
- package/dist/web/assets/{PageChrome-C1M13qG2.js → PageChrome-5VRxH6Rp.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DZrjlMp2.js → ProjectsPage-1LHqxOMo.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-D_7KgExz.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-iznJwDMf.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-Cw1ja2GF.js → ScheduledWorkPage-Dtz4zJ0T.js} +1 -1
- package/dist/web/assets/{SettingsView-CckoIki3.js → SettingsView-BeDYNPcD.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-ByC8bDjp.js → TasksetDraftEditorPrimitives-CcvKO3YA.js} +1 -1
- package/dist/web/assets/{TeamChatView-OprnSKLF.js → TeamChatView-DaXxOkTe.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-d7A2F9Lx.js → TerminalOverlay-CF8uB4qA.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-Cyn6R6I6.js → TrainingCreationPanel-DmMO7x5T.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-Mpb5e7t5.js → TrainingDraftPanel-DCHbXjSx.js} +1 -1
- package/dist/web/assets/{TrainingRunLineage-VcKz7dIR.js → TrainingRunLineage-CwisTWs_.js} +1 -1
- package/dist/web/assets/UsageSettingsSection-Drt7gwRb.js +7 -0
- package/dist/web/assets/WorkSidebarPanel-BrIIRtGW.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-Dmbrg0-y.js +11 -0
- package/dist/web/assets/{WorkspaceEnvironmentMenu-C8y3537a.js → WorkspaceEnvironmentMenu-KEZm1gdb.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-LrEWj4UK.js → WorkspaceFileLocation-ChbOKrPO.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-NRIMXnkS.js → WorkspaceGitDialogs-BS2JQKNQ.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-CvDGjKAL.js → WorkspaceMonacoEditor-CN1hE_C4.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-BZ0BbnHv.js → WorkspacePdfPreview-Clb4m0le.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DJrjrvT0.js → WorkspacePresentationPreview-CwQsdvAR.js} +1 -1
- package/dist/web/assets/app-models-Cz3yxq4x.js +1 -0
- package/dist/web/assets/{bot-6OhUEmkE.js → bot-BNFltD5O.js} +1 -1
- package/dist/web/assets/chat-resources-CTN4f6KC.js +1 -0
- package/dist/web/assets/{chevron-down-jmVA1BIf.js → chevron-down-BnnT0tnM.js} +1 -1
- package/dist/web/assets/chevron-right-C8K5PZj7.js +1 -0
- package/dist/web/assets/{chevron-up-CstyLXH3.js → chevron-up-BAnwJJN3.js} +1 -1
- package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +9 -0
- package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +1 -0
- package/dist/web/assets/{client-choice-storage-BdQ_YDuk.js → client-choice-storage-Iuzoszas.js} +1 -1
- package/dist/web/assets/{cloud-upload-Ck1ufAr8.js → cloud-upload-CdSXJ7ms.js} +1 -1
- package/dist/web/assets/{copy-CPkbMfXt.js → copy-CBFg6m0d.js} +1 -1
- package/dist/web/assets/{createLucideIcon-CXQny8HU.js → createLucideIcon-DF2VR6WA.js} +1 -1
- package/dist/web/assets/{cssMode-CYxYl_om.js → cssMode-BSQUZhUO.js} +1 -1
- package/dist/web/assets/{external-link-CDKOLG_v.js → external-link-Cql9bKdv.js} +1 -1
- package/dist/web/assets/{folder-open-CEtOb_lK.js → folder-open-BXdVB5J1.js} +1 -1
- package/dist/web/assets/{folder-plus-CVMYZs3e.js → folder-plus-Cma2HulC.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DDyhPjxS.js → git-commit-horizontal-eF--16ps.js} +1 -1
- package/dist/web/assets/{htmlMode-DoY4V_j0.js → htmlMode-aLPlQtyU.js} +1 -1
- package/dist/web/assets/icons-c3vt7y6n.js +1 -0
- package/dist/web/assets/{image-B-PjDSwU.js → image-CqKPwnBn.js} +1 -1
- package/dist/web/assets/{index-D9WbJMSq.js → index-CM0IRu1U.js} +2 -2
- package/dist/web/assets/{info-CCnw-K3b.js → info-CqeYEqG0.js} +1 -1
- package/dist/web/assets/{jsonMode-CeOpZdPj.js → jsonMode-fu7bEcHB.js} +1 -1
- package/dist/web/assets/loader-circle-pxp89T5x.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DAbgLCqZ.js → lspLanguageFeatures-DraXQA4w.js} +1 -1
- package/dist/web/assets/{maximize-2-BZX38cpr.js → maximize-2-yMp8X9ts.js} +1 -1
- package/dist/web/assets/{message-square-CvgSecgD.js → message-square-DbIMQqfj.js} +1 -1
- package/dist/web/assets/model-display-zPvC4L2B.js +1 -0
- package/dist/web/assets/models-route-CWcJuOd0.js +1 -0
- package/dist/web/assets/{monaco.contribution-cbDqt48m.js → monaco.contribution-BQhp1CJs.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CF2JDhi4.js → monaco.contribution-Bd8EqYGR.js} +2 -2
- package/dist/web/assets/{monaco.contribution-m2ze2EsL.js → monaco.contribution-CYWKnVxQ.js} +2 -2
- package/dist/web/assets/{monaco.contribution-yeyow_-Q.js → monaco.contribution-CmbWO0tB.js} +2 -2
- package/dist/web/assets/{monitor-By0s4hxb.js → monitor-DFE2fTkT.js} +1 -1
- package/dist/web/assets/{paperclip-BJ2QgJLa.js → paperclip-D_qsKbVs.js} +1 -1
- package/dist/web/assets/{pdf-C4x-1jjP.js → pdf-DkQRsi4n.js} +1 -1
- package/dist/web/assets/play-BtlX2stU.js +1 -0
- package/dist/web/assets/plus-DbASL_gy.js +1 -0
- package/dist/web/assets/{presentation-I86G1Gd9.js → presentation-BN_kIBPL.js} +1 -1
- package/dist/web/assets/{python-CqFTPj8r.js → python-DB9pj5Hr.js} +1 -1
- package/dist/web/assets/{refresh-cw-Dga35Eay.js → refresh-cw-B27ohHfn.js} +1 -1
- package/dist/web/assets/{save-BLKjYtzR.js → save-D-rwjKop.js} +1 -1
- package/dist/web/assets/settings-lists-DgSaJQA4.js +5 -0
- package/dist/web/assets/square-C2caJ3NG.js +1 -0
- package/dist/web/assets/{square-terminal-B-n7vUex.js → square-terminal-CeoK51wH.js} +1 -1
- package/dist/web/assets/{submit-issue-command-B7Hrt2tU.js → submit-issue-command-DZNW7Evj.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BhmBE5XE.js → toggleHighContrast-Bs8L1gx0.js} +1 -1
- package/dist/web/assets/{training-QrdkRQZQ.js → training-DCdoHJ0Y.js} +2 -2
- package/dist/web/assets/{training-model-data-DB-jg6L_.js → training-model-data-wHvE7xL1.js} +1 -1
- package/dist/web/assets/{tsMode-BSWEII2p.js → tsMode-C7EqshxC.js} +1 -1
- package/dist/web/assets/{upload-C4MPhQn8.js → upload-BWgjC2Jf.js} +1 -1
- package/dist/web/assets/{useAccountSettings-9oqWdRLs.js → useAccountSettings-Dva1MpsJ.js} +1 -1
- package/dist/web/assets/{useAgentInventory-isO79ui9.js → useAgentInventory-CrjIOmvb.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CZX6PxoK.js → useLocalAgentSchedules-P-UaUKMb.js} +1 -1
- package/dist/web/assets/{useQuery-BD0Uexmh.js → useQuery-Bn3KqR4r.js} +1 -1
- package/dist/web/assets/{wifi-off-Cloe0WuQ.js → wifi-off--mKrSPFc.js} +1 -1
- package/dist/web/assets/{workers-BXagz5eg.js → workers-p0Kn2KMK.js} +1 -1
- package/dist/web/assets/x-D9GTV9ke.js +1 -0
- package/dist/web/assets/{yaml-sBdvVbCc.js → yaml-BeIdC4tu.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +44 -2
- package/package.json +1 -1
- package/dist/chunks/acp-H3MJCPHX.js +0 -2
- package/dist/chunks/acp-agent-DWA7272M.js +0 -21
- package/dist/chunks/actions-command-IIYOO4LL.js +0 -2
- package/dist/chunks/app-layer-K7H2WJ56.js +0 -3
- package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +0 -2
- package/dist/chunks/app-server-evaluations-XGMGS67X.js +0 -2
- package/dist/chunks/app-server-harness-services-BHD6S5II.js +0 -2
- package/dist/chunks/app-server-runtime-LFIL6F7D.js +0 -2
- package/dist/chunks/apps-QKAHJGQ4.js +0 -2
- package/dist/chunks/chunk-5EP2DZLJ.js +0 -2
- package/dist/chunks/chunk-6EBCS57F.js +0 -2
- package/dist/chunks/chunk-6RS4NAOY.js +0 -2
- package/dist/chunks/chunk-7O6Z3VOZ.js +0 -2
- package/dist/chunks/chunk-7YLXGILH.js +0 -2
- package/dist/chunks/chunk-7ZLXFKRI.js +0 -2
- package/dist/chunks/chunk-B5R53U74.js +0 -2
- package/dist/chunks/chunk-C2AXMKK4.js +0 -2
- package/dist/chunks/chunk-F6UQ6PPK.js +0 -2
- package/dist/chunks/chunk-GS6ZUSIN.js +0 -3
- package/dist/chunks/chunk-JSQRLLN6.js +0 -2
- package/dist/chunks/chunk-LAOLJDVB.js +0 -2
- package/dist/chunks/chunk-LKKMLBOH.js +0 -3
- package/dist/chunks/chunk-M3FLEZ4E.js +0 -4
- package/dist/chunks/chunk-MEGKXGW3.js +0 -2
- package/dist/chunks/chunk-MILEWROZ.js +0 -2
- package/dist/chunks/chunk-N42HT64M.js +0 -2
- package/dist/chunks/chunk-NG2L6D7G.js +0 -2
- package/dist/chunks/chunk-OSVGNONV.js +0 -2
- package/dist/chunks/chunk-OTUBJV6C.js +0 -6
- package/dist/chunks/chunk-PBTXLQAU.js +0 -2
- package/dist/chunks/chunk-PBZCXPPC.js +0 -10
- package/dist/chunks/chunk-SFKZITAG.js +0 -9
- package/dist/chunks/chunk-SXMR6E2W.js +0 -2
- package/dist/chunks/chunk-U2K7QJCG.js +0 -2
- package/dist/chunks/chunk-URNMC46H.js +0 -157
- package/dist/chunks/chunk-VHXDWAEH.js +0 -2
- package/dist/chunks/chunk-W2TICQ62.js +0 -2
- package/dist/chunks/chunk-WSOUMXH3.js +0 -24
- package/dist/chunks/chunk-XOB6FKQV.js +0 -2
- package/dist/chunks/chunk-YBNKGA5C.js +0 -2
- package/dist/chunks/chunk-YM4PSVFW.js +0 -4
- package/dist/chunks/chunk-YNQWJWIC.js +0 -10
- package/dist/chunks/chunk-Z3BWCFLV.js +0 -2
- package/dist/chunks/cli-PSXMIJTF.js +0 -2
- package/dist/chunks/configuration-command-XYKMXIWF.js +0 -2
- package/dist/chunks/connected-app-executor-6G2LA3PQ.js +0 -2
- package/dist/chunks/connected-evidence-IRXYN6YD.js +0 -2
- package/dist/chunks/connection-XMAAGMXJ.js +0 -2
- package/dist/chunks/core-commands-WWN7X3XC.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +0 -4
- package/dist/chunks/datasets-2PC2HP7N.js +0 -2
- package/dist/chunks/desktop-test-VU6AFAMO.js +0 -3
- package/dist/chunks/dist-47AYOIH6.js +0 -2
- package/dist/chunks/dist-HSC43RG4.js +0 -2
- package/dist/chunks/dist-MXBEBM4D.js +0 -2
- package/dist/chunks/enclave-VURYNILU.js +0 -2
- package/dist/chunks/evaluation-coordination-UOWZHHC5.js +0 -2
- package/dist/chunks/experiment-improvements-EB2CV5RA.js +0 -2
- package/dist/chunks/experiments-CLXGM3TZ.js +0 -2
- package/dist/chunks/experiments-SZQYR6MH.js +0 -2
- package/dist/chunks/experiments-signal-2KJCP25D.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +0 -2
- package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +0 -2
- package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +0 -3
- package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +0 -2
- package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +0 -3
- package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-2LSMZQNA.js +0 -3
- package/dist/chunks/hosted-tasksets-WGXGXJ7E.js +0 -2
- package/dist/chunks/human-review-M26UKGJL.js +0 -2
- package/dist/chunks/learning-HM3NWOV5.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +0 -2
- package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +0 -2
- package/dist/chunks/local-scope-62GWHDXS.js +0 -2
- package/dist/chunks/model-projects-YUAMBQTO.js +0 -2
- package/dist/chunks/opchat-AG4CWVY4.js +0 -3
- package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +0 -2
- package/dist/chunks/organizations-KDKX77XZ.js +0 -2
- package/dist/chunks/profile-training-source-3DXFM2XI.js +0 -2
- package/dist/chunks/project-action-payload-QA24HYGF.js +0 -2
- package/dist/chunks/project-agent-XBOOM5TS.js +0 -2
- package/dist/chunks/published-experiment-source-GZGN354O.js +0 -2
- package/dist/chunks/refiner-profile-service-BJMOYKTC.js +0 -2
- package/dist/chunks/sandbox-command-5ECGS7DG.js +0 -2
- package/dist/chunks/saved-work-KUNVTJ7O.js +0 -2
- package/dist/chunks/send-turn-FIPWOXWV.js +0 -2
- package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +0 -2
- package/dist/chunks/store-chat-resources-YOEJ2BI6.js +0 -2
- package/dist/chunks/store-conversation-serving-K324SQTO.js +0 -2
- package/dist/chunks/store-evaluation-results-LHCCNNE6.js +0 -7
- package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +0 -2
- package/dist/chunks/store-human-review-QJY3ZPPF.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +0 -2
- package/dist/chunks/store-learning-DW3QLQXU.js +0 -2
- package/dist/chunks/store-learning-credentials-67QNTPA7.js +0 -2
- package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +0 -2
- package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +0 -2
- package/dist/chunks/store-taskset-drafts-GXABQR5G.js +0 -9
- package/dist/chunks/taskset-ARKJQKYQ.js +0 -2
- package/dist/chunks/taskset-packages-X4K65DTW.js +0 -2
- package/dist/chunks/taskset-packages-XK7FSD45.js +0 -2
- package/dist/chunks/training-3IWW4256.js +0 -2
- package/dist/chunks/training-RVIESURJ.js +0 -2
- package/dist/chunks/training-error-2EWDOQ4G.js +0 -2
- package/dist/chunks/training-hosted-PFJHYTEU.js +0 -2
- package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +0 -2
- package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +0 -2
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +0 -2
- package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +0 -2
- package/dist/chunks/training-hosted-workers-LST4ZUXN.js +0 -2
- package/dist/chunks/training-model-start-ROLS3E4V.js +0 -2
- package/dist/chunks/web-search-7FBUBZ66.js +0 -2
- package/dist/chunks/workspaces-G3CMY7ZA.js +0 -2
- package/dist/web/assets/App-DY2R8Z6r.js +0 -53
- package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +0 -2
- package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +0 -8
- package/dist/web/assets/LabsRoute-BV7ZJGEw.js +0 -101
- package/dist/web/assets/MainChatThread-pzHKd_YN.js +0 -2
- package/dist/web/assets/MainPane-6OlLiKKb.js +0 -10
- package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +0 -2
- package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +0 -1
- package/dist/web/assets/UsageSettingsSection-FhYymrfc.js +0 -7
- package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +0 -11
- package/dist/web/assets/app-models-CUA9XB9U.js +0 -1
- package/dist/web/assets/chat-resources-CI8KFVO5.js +0 -1
- package/dist/web/assets/chevron-right-BYmDQ7ti.js +0 -1
- package/dist/web/assets/chunk-ONGOAEY6-C__DQmRT.js +0 -9
- package/dist/web/assets/chunk-SQBYHWZU-DumrB9SB.js +0 -1
- package/dist/web/assets/icons-D7jkCa2d.js +0 -1
- package/dist/web/assets/loader-circle-CPaJeTDy.js +0 -1
- package/dist/web/assets/models-route-Bl_TmMl6.js +0 -1
- package/dist/web/assets/play-D_SuGDBM.js +0 -1
- package/dist/web/assets/plus-yw95Iaj8.js +0 -1
- package/dist/web/assets/settings-lists-DMKA1lCN.js +0 -5
- package/dist/web/assets/square-BY5lG2Ol.js +0 -1
- package/dist/web/assets/x-Dqpel42h.js +0 -1
- /package/dist/chunks/{chunk-IDOGNIMV.js → chunk-7J2NMUTK.js} +0 -0
- /package/dist/chunks/{chunk-PCB65K4G.js → chunk-SFR32TMJ.js} +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MainChatThread-pzHKd_YN.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-D9WbJMSq.js","assets/index-g7UqJhnX.css","assets/useQuery-BD0Uexmh.js","assets/schemas-lO3MoWQr.js","assets/common-BMjyKlX-.js","assets/chunk-SQBYHWZU-DumrB9SB.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/contracts-BLiqJxBv.js","assets/chat-resources-CI8KFVO5.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-ONGOAEY6-C__DQmRT.js","assets/reward-checks-Bcq9ETCA.js","assets/api-client-Dgz-fOMl.js","assets/ChatTimelineEntry-DC93wlDa.js","assets/create-pipeline-CyUZrbbO.js","assets/icons-D7jkCa2d.js","assets/createLucideIcon-CXQny8HU.js","assets/training-model-data-DB-jg6L_.js","assets/copy-CPkbMfXt.js","assets/x-Dqpel42h.js","assets/App-DY2R8Z6r.js","assets/settings-D7C-Auyi.js","assets/client-choice-storage-BdQ_YDuk.js","assets/app-models-CUA9XB9U.js","assets/requests-BCbaFiqV.js","assets/work-outputs-CK0nHe4g.js","assets/training-QrdkRQZQ.js","assets/intake-contracts-BW0Y0C2R.js","assets/ponder-desktop-Dm7tOkKo.js","assets/submit-issue-command-B7Hrt2tU.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-ZyYiYBBd.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/bot-6OhUEmkE.js","assets/chevron-down-jmVA1BIf.js","assets/chevron-right-BYmDQ7ti.js","assets/external-link-CDKOLG_v.js","assets/loader-circle-CPaJeTDy.js","assets/maximize-2-BZX38cpr.js","assets/message-square-CvgSecgD.js","assets/plus-yw95Iaj8.js","assets/refresh-cw-Dga35Eay.js","assets/square-terminal-B-n7vUex.js","assets/AppToastContext-BiQbbVxq.js","assets/models-route-Bl_TmMl6.js","assets/NativeSetupTerminal-CPDChcMi.js","assets/AppDialog-8Y0FYalT.js","assets/PageChrome-C1M13qG2.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/organization-types-PP-yuR2J.js","assets/ui-theme.generated-D-mc26qt.js","assets/App-DpFKLxuA.css","assets/CartesianChart-J4ChOjvG.js","assets/chevron-up-CstyLXH3.js","assets/folder-open-CEtOb_lK.js","assets/image-B-PjDSwU.js","assets/play-D_SuGDBM.js","assets/HtmlVisual-D9Mh7xds.js","assets/HtmlVisual-C7GlEVfH.css","assets/TasksetDraftEditorPrimitives-ByC8bDjp.js","assets/AttachmentTypeIcon-DgADV7dn.js","assets/presentation-I86G1Gd9.js","assets/ChatTimelineEntry-DztFb85D.css","assets/ComposerCreateImproveStrip-CSngc8-V.js","assets/WorkspacePresentationPreview-DJrjrvT0.js","assets/WorkspaceFileLocation-LrEWj4UK.js","assets/aiden0z-pptx-renderer.es-Bo43EjzT.js","assets/jszip.min-BWcKrrYP.js","assets/FilePagePreview-Qc4B0vue.js","assets/pdf.worker.min-BrEVksTu.js","assets/docx-preview-Blk_WGfs.js","assets/WorkspaceDiffPanel-B5rlW7bA.js","assets/info-CCnw-K3b.js","assets/save-BLKjYtzR.js","assets/AppTerminalPanel-YcnBD5DF.js","assets/CollaborationTabs-CFCpk2Ck.js","assets/CollaborationTabs-CU-9Shwu.css","assets/AppsView-Dtte4h6e.js","assets/settings-lists-DMKA1lCN.js","assets/settings-lists-CBaz4cGG.css","assets/useAgentInventory-isO79ui9.js","assets/AppsView-DNHWzJb2.css","assets/settings-forms-DLe1dTYN.css","assets/GetStartedView-DGFPQ1We.js","assets/GetStartedView-idp5pnnE.css","assets/LabsRoute-BV7ZJGEw.js","assets/TrainingRunLineage-VcKz7dIR.js","assets/TrainingRunLineage-PXzWR65d.css","assets/cloud-upload-Ck1ufAr8.js","assets/LabsRoute-CE45yAXJ.css","assets/ScheduledWorkPage-Cw1ja2GF.js","assets/ComposerAttachments-RXCiE88M.js","assets/useLocalAgentSchedules-CZX6PxoK.js","assets/OutputsPage-jzx93QQ3.js","assets/ProjectsPage-DZrjlMp2.js","assets/ProjectsPage-BPoAzc-Z.css","assets/LabSkillSidebar-BwtlThO7.js","assets/LabSkillSidebar-Uy4vA6fy.css","assets/BrowserSidebar-BUqDvEv9.js","assets/RightChatPanelStack-BsxJg9sy.js","assets/NativeSkillSidebar-BEJvt5_H.js","assets/NativeSkillSidebar-D4DVkqqR.css","assets/TeamChatView-OprnSKLF.js","assets/TeamChatView-BMZ8S7Sj.css","assets/CommunityView-Okydjpqm.js","assets/wifi-off-Cloe0WuQ.js","assets/paperclip-BJ2QgJLa.js","assets/CommunityView-C5uLqiF2.css","assets/TrainingDraftPanel-Mpb5e7t5.js","assets/TrainingCreationPanel-Cyn6R6I6.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,h as n,l as r,m as i,s as a,t as o}from"./index-D9WbJMSq.js";import{S as s,T as c,a as l,f as u,m as d,n as f,o as p,r as m,t as h,u as g,v as _,x as v}from"./useQuery-BD0Uexmh.js";import{S as y,T as b,a as x,b as S,c as C,d as w,g as T,m as E,o as D,p as O,r as k,v as A,x as j}from"./schemas-lO3MoWQr.js";import{a as M,c as N,d as P,i as F,n as ee,o as I,s as L}from"./common-BMjyKlX-.js";import{A as R,O as te,k as ne,y as z}from"./settings-D7C-Auyi.js";import{n as B,o as re}from"./client-choice-storage-BdQ_YDuk.js";import{C as ie,D as ae,N as V,O as oe,S as se,c as ce,d as le,f as ue,k as de,l as fe,o as pe,s as me,t as he,u as ge,v as H,y as _e}from"./app-models-CUA9XB9U.js";import{a as ve,i as ye,n as be,t as xe}from"./requests-BCbaFiqV.js";import{t as Se}from"./profile-ref-DSNkG6Ol.js";import{D as Ce,d as we,h as U}from"./chunk-H3JZ3P5T-B0SCoPw4.js";import{a as Te,i as Ee,n as De,o as Oe,r as ke,t as Ae}from"./ComposerAttachments-RXCiE88M.js";import{n as je}from"./work-outputs-CK0nHe4g.js";import{A as Me,D as Ne,E as Pe,T as Fe,a as Ie,c as Le,f as Re,n as ze,o as Be,t as Ve,u as He}from"./contracts-BLiqJxBv.js";import{A as Ue,B as W,F as We,I as Ge,M as Ke,O as qe,P as Je,R as Ye,W as Xe,c as Ze,j as Qe,k as $e,s as et,z as tt}from"./training-QrdkRQZQ.js";import{a as nt,d as rt,g as it,i as at,l as ot,n as st,o as ct,s as lt,t as ut,u as dt}from"./chat-resources-CI8KFVO5.js";import{A as ft,E as pt,L as mt,M as ht,j as gt}from"./chunk-ONGOAEY6-C__DQmRT.js";import{r as _t}from"./ponder-desktop-Dm7tOkKo.js";import{a as vt,c as yt,i as G,l as bt,n as xt,o as St,r as Ct,s as wt,t as Tt}from"./TrainingRunLineage-VcKz7dIR.js";import{n as K,t as Et}from"./api-client-Dgz-fOMl.js";import{A as Dt,D as Ot,I as kt,L as At,N as jt,O as Mt,S as Nt,_ as Pt,a as Ft,c as It,d as Lt,f as Rt,g as zt,i as Bt,l as Vt,m as Ht,n as Ut,o as Wt,p as Gt,r as Kt,s as qt,t as Jt,w as Yt,x as Xt}from"./submit-issue-command-B7Hrt2tU.js";import{a as Zt,l as Qt,n as $t,o as en,t as tn}from"./browser-sidebar-links-ZyYiYBBd.js";import{t as nn}from"./query-scope-BRpcgljO.js";import"./icons-D7jkCa2d.js";import{t as rn}from"./createLucideIcon-CXQny8HU.js";import{A as an,B as on,C as sn,E as cn,F as ln,I as un,L as dn,M as fn,N as pn,O as mn,P as hn,S as gn,V as _n,b as q,j as vn,k as yn,m as bn,n as xn,o as Sn,x as Cn,z as wn}from"./training-model-data-DB-jg6L_.js";import{Ut as Tn}from"./CartesianChart-J4ChOjvG.js";import{t as En}from"./bot-6OhUEmkE.js";import{t as Dn}from"./chevron-down-jmVA1BIf.js";import{t as On}from"./chevron-right-BYmDQ7ti.js";import{t as kn}from"./cloud-upload-Ck1ufAr8.js";import{t as An}from"./copy-CPkbMfXt.js";import{t as jn}from"./external-link-CDKOLG_v.js";import{t as Mn}from"./folder-open-CEtOb_lK.js";import{t as Nn}from"./loader-circle-CPaJeTDy.js";import{t as Pn}from"./maximize-2-BZX38cpr.js";import{t as Fn}from"./message-square-CvgSecgD.js";import{t as In}from"./paperclip-BJ2QgJLa.js";import{t as Ln}from"./play-D_SuGDBM.js";import{t as Rn}from"./plus-yw95Iaj8.js";import{t as zn}from"./refresh-cw-Dga35Eay.js";import{t as Bn}from"./square-BY5lG2Ol.js";import{t as Vn}from"./square-terminal-B-n7vUex.js";import{t as Hn}from"./x-Dqpel42h.js";import{n as J,r as Y}from"./AppToastContext-BiQbbVxq.js";import{a as Un,i as Wn}from"./models-route-Bl_TmMl6.js";import{t as Gn}from"./AppDialog-8Y0FYalT.js";import{c as Kn,i as qn,l as Jn,o as Yn,r as Xn,s as Zn,t as Qn,u as $n}from"./connected-app-mentions-D3wRZLwI.js";import{t as er}from"./browser-url-LACq2Ngu.js";import{$ as tr,A as nr,At as rr,Bt as X,C as ir,Cn as ar,In as or,Mt as sr,O as cr,Ot as lr,P as ur,Q as dr,Rt as Z,Tn as fr,U as pr,Ut as mr,Xt as hr,Zt as gr,an as _r,bn as vr,bt as yr,cn as br,ct as xr,dn as Sr,en as Cr,et as wr,fn as Tr,hn as Er,in as Dr,it as Or,jt as kr,kt as Ar,lt as jr,q as Mr,rt as Nr,tn as Pr,un as Fr,v as Ir,vn as Lr,xn as Rr,y as zr,yn as Br,zt as Vr}from"./App-DY2R8Z6r.js";import{t as Hr}from"./AttachmentTypeIcon-DgADV7dn.js";var Ur=class extends m{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:a,isError:o,isRefetchError:s}=r,c=n.fetchMeta?.fetchMore?.direction,u=o&&c===`forward`,d=i&&c===`forward`,f=o&&c===`backward`,m=i&&c===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:l(t,n.data),hasPreviousPage:p(t,n.data),isFetchNextPageError:u,isFetchingNextPage:d,isFetchPreviousPageError:f,isFetchingPreviousPage:m,isRefetchError:s&&!u&&!f,isRefetching:a&&!d&&!m}}},Wr=class extends u{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),v(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&d(t.mutationKey)!==d(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??or();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){g.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},Q=e(t(),1);function Gr(e,t){let n=c(t),[r]=Q.useState(()=>new Wr(n,e));Q.useEffect(()=>{r.setOptions(e)},[r,e]);let i=Q.useSyncExternalStore(Q.useCallback(e=>r.subscribe(g.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=Q.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(_)},[r]);if(i.error&&s(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function Kr(e,t){return f(e,Ur,t)}var qr=k([`visual.published`,`file.preview_requested`,`task.inbox`,`task.input`,`task.wait`,`session.started`,`session.updated`,`session.title.updated`,`turn.started`,`assistant.delta`,`assistant.reasoning.delta`,`tool.started`,`tool.completed`,`skill.selected`,`skill.loaded`,`skill.load_failed`,`user_question.asked`,`user_question.answered`,`user_question.dismissed`,`approval.requested`,`approval.resolved`,`command.output`,`workspace_action`,`workspace_action_result`,`workspace.diff`,`create_improve.updated`,`session.context.updated`,`session.compaction.started`,`session.compaction.completed`,`session.compaction.failed`,`goal.continuation.started`,`goal.continuation.skipped`,`goal.continuation.failed`,`harness.refiner.queued`,`harness.refiner.started`,`harness.refiner.completed`,`harness.refiner.failed`,`turn.completed`,`turn.failed`,`turn.interrupted`,`session.closed`,...z,`diagnostic`]);E({id:A(),sequence:O().int().positive().optional(),sessionId:A().optional(),turnId:A().optional(),name:qr,timestamp:A(),source:k([`ui_button`,`chat_action`,`terminal_command`,`hook`,`provider`,`server`]).optional(),action:A().optional(),appId:A().nullable().optional(),args:T(A(),j()).optional(),status:k([`started`,`completed`,`failed`,`pending`]).optional(),output:A().optional(),error:A().optional(),relatedDeploymentId:A().optional(),data:j().optional()});var Jr=C(`target`,[E({target:w(`local`),path:A().min(1),source:D()}).strict(),E({target:w(`sandbox`),path:A().min(1),sandboxId:A().min(1),source:D()}).strict()]),Yr=C(`kind`,[E({kind:w(`manual`),identity:L}).strict(),E({kind:w(`schedule`),scheduledAt:N}).strict(),E({kind:w(`approved_count`),checkedAt:N}).strict()]),Xr=E({schemaVersion:w(`openpond.learningChain.v1`),id:L,revision:O().int().positive(),modelProjectId:L,activeIterationId:L.nullable(),acceptedParent:Ve.nullable().optional(),latestIterationId:L,lastReservedAt:N.nullable(),updatedAt:N}).strict(),Zr=E({eligible:O().int().nonnegative(),awaitingReview:O().int().nonnegative(),excluded:O().int().nonnegative(),consumed:O().int().nonnegative()}).strict(),Qr=E({schemaVersion:w(`openpond.learningConsumption.v1`),id:L,revision:w(1),chainId:L,iterationId:L,evidence:Be,decision:Be,reservedAt:N}).strict(),$r=E({schemaVersion:w(`openpond.learningIterationReservation.v1`),id:L,revision:O().int().positive(),chainId:L,iterationId:L,policy:Be,trigger:Yr,requestHash:I,outcome:k([`reserved`,`waiting_for_data`,`waiting_for_review`]),counts:Zr,budget:E({maximumSpendUsd:O().nonnegative(),reservedSpendUsd:O().nonnegative(),settledSpendUsd:O().nonnegative(),settledAt:N.nullable()}).strict(),createdAt:N,updatedAt:N}).strict(),ei=E({policy:Be,modelProjectId:L,inspectedAt:N,chain:Xr.nullable(),trainingParent:E({reference:F,selection:Ve.nullable()}).strict().nullable().default(null),counts:Zr.nullable(),minimumApprovedExamples:O().int().positive(),canReserve:D(),blockers:x(E({code:A().min(1).max(200),message:A().min(1).max(2e4)}).strict()).max(20),cooldownUntil:N.nullable(),budget:E({reservedSpendUsd:O().nonnegative(),settledSpendUsd:O().nonnegative(),committedSpendUsd:O().nonnegative(),maximumIterationSpendUsd:O().nonnegative(),maximumDailySpendUsd:O().nonnegative()}).strict()}).strict(),ti=E({schemaVersion:w(`openpond.optimizerTrainingSample.v1`),tokenIds:x(O().int().nonnegative()).min(2).max(32768),mask:x(D()).min(2).max(32768),logprobs:x(O().finite()).min(2).max(32768),temperatures:x(O().positive().finite()).min(2).max(32768),envName:A().trim().min(1).max(200),modelRequestId:A().trim().min(1).max(1e3),promptTokenCount:O().int().positive(),completionTokenCount:O().int().positive(),servedPolicyVersion:O().int().nonnegative()}).strict().superRefine((e,t)=>{let n=e.tokenIds.length;for(let[r,i]of[[`mask`,e.mask],[`logprobs`,e.logprobs],[`temperatures`,e.temperatures]])i.length!==n&&t.addIssue({code:`custom`,path:[r],message:`${r} must align with tokenIds`});e.promptTokenCount+e.completionTokenCount!==n&&t.addIssue({code:`custom`,path:[`completionTokenCount`],message:`prompt and completion token counts must span tokenIds`}),e.mask.filter(e=>!e).length!==e.promptTokenCount&&t.addIssue({code:`custom`,path:[`mask`],message:`promptTokenCount must equal the non-trainable mask count`}),e.mask.filter(Boolean).length!==e.completionTokenCount&&t.addIssue({code:`custom`,path:[`mask`],message:`completionTokenCount must equal the trainable mask count`})}),ni=E({id:L,environmentRelease:F,status:k([`completed`,`failed`,`timed_out`,`cancelled`]),startedAt:N,completedAt:N,traceRefs:x(ee).max(1e4),metadata:M}).strict(),ri=E({receiptRef:F,status:ht,value:O().min(0).max(1).nullable(),learningEligible:D(),passed:D(),outcomeClass:ft,failureOwner:gt.nullable(),components:T(L,O().min(0).max(1).nullable())}).strict(),ii=E({schemaVersion:w(`openpond.canonicalRolloutRecord.v1`),id:L,attemptRef:F,artifactManifestRef:F,tasksetRelease:F,environmentRelease:F,verifierSetRelease:F,harnessRelease:F,taskId:L,split:Ce,model:te,seed:A().trim().min(1).max(500),reward:ri,traceRef:ee,optimizerSample:ti.nullable(),environmentExecutions:x(ni).min(1).max(1e5),startedAt:N,completedAt:N,metadata:M}).strict();function ai(e,t){e.reward.status===`scored`&&(e.reward.value===null||!e.reward.learningEligible)&&t.addIssue({code:`custom`,path:[`reward`,`status`],message:`A scored rollout requires a numeric, learning-eligible reward.`}),e.reward.status===`unscorable`&&(e.reward.value!==null||e.reward.learningEligible)&&t.addIssue({code:`custom`,path:[`reward`,`status`],message:`An unscorable rollout has no reward and cannot be learning-eligible.`})}ii.superRefine(ai),E({...ii.shape,contentHash:I}).strict().superRefine(ai);var oi=A().trim().min(1).max(200),si=E({operationId:oi,request:Ye,maximumCostUsd:O().finite().positive().max(1e4),graders:x(We).min(1).max(100).optional(),sourceExperimentId:oi.optional()}).strict().superRefine((e,t)=>{e.request.name||t.addIssue({code:`custom`,path:[`request`,`name`],message:`Name this Experiment before starting it.`}),e.operationId!==e.request.operationId&&t.addIssue({code:`custom`,path:[`request`,`operationId`],message:`Use one operation identity for this Experiment.`}),Math.round(e.maximumCostUsd*1e6)<1&&t.addIssue({code:`custom`,path:[`maximumCostUsd`],message:`The spending cap must be at least $0.000001.`}),e.graders&&new Set(e.graders.map(e=>e.id)).size!==e.graders.length&&t.addIssue({code:`custom`,path:[`graders`],message:`Select each grader once.`})}),ci=A().trim().min(1).max(200),li=A().regex(/^[a-f0-9]{64}$/),ui=E({id:ci,contentHash:li}).strict(),di=E({available:D(),reason:A().max(1e3).nullable(),origin:Fe.nullable()}).strict(),fi=E({schemaVersion:w(`openpond.postTrainingAttachment.v1`),binding:E({kind:k([`preparation`,`policy`]),id:ci,revision:O().int().positive(),contentHash:li}).strict(),projectId:ci.nullable(),automatic:D(),maximumSpendUsd:O().finite().positive().max(1e4),experiments:x(E({id:ci,configuration:si}).strict()).min(1).max(20),acceptancePlan:it.nullable()}).strict().superRefine((e,t)=>{if(new Set(e.experiments.map(e=>e.id)).size!==e.experiments.length&&t.addIssue({code:`custom`,message:`Attach each evaluation once.`}),e.experiments.reduce((e,t)=>e+t.configuration.maximumCostUsd,0)>e.maximumSpendUsd+1e-9&&t.addIssue({code:`custom`,message:`Attached evaluation budgets exceed the total approved budget.`}),e.experiments.some(t=>(t.configuration.request.project?.id??null)!==e.projectId)&&t.addIssue({code:`custom`,message:`Attached experiments must use the training Project.`}),e.acceptancePlan){let n=new Set(e.acceptancePlan.checks.map(e=>e.id));e.acceptancePlan.checks.some(t=>!e.experiments.some(e=>e.id===t.id))&&t.addIssue({code:`custom`,message:`Select the frozen Experiment for each acceptance check.`}),e.acceptancePlan.maximumSpendUsd+e.experiments.filter(e=>!n.has(e.id)).reduce((e,t)=>e+t.configuration.maximumCostUsd,0)>e.maximumSpendUsd+1e-9&&t.addIssue({code:`custom`,message:`Paired acceptance and diagnostic ceilings exceed the approved evaluation budget.`})}});function pi(e){let{modelId:t,candidate:n,...r}=e.request.policy.kind===`fixture`?{modelId:null,candidate:null,...e.request.policy}:e.request.policy;return`modelConfigurationHash`in r&&delete r.modelConfigurationHash,{dataset:{id:e.request.taskset.id,contentHash:e.request.taskset.contentHash},populationHash:we(e.request.population.map(e=>({caseId:e.taskId,seed:e.seed,fixtureId:e.fixtureId}))),executionHash:we({settings:r,graders:e.graders??null})}}var mi=E({baseline:ui,checks:x(E({id:ci,sourceRunId:ci,sourceManifestHash:li,targetConfigurationHash:li,executionHash:li,populationHash:li,evaluator:ui,feedbackKey:ci,output:k([`boolean`,`score`]),unit:A().min(1).max(80)}).strict()).min(1).max(100)}).strict(),hi=k([`waiting_for_training`,`ready`,`preparing`,`queued`,`running`,`cleaning`,`completed`,`failed`,`blocked`,`cancelled`,`budget_exhausted`]),gi=E({schemaVersion:w(`openpond.postTrainingSummary.v1`),id:ci,teamId:ci,jobId:ci,revision:O().int().positive(),planHash:li,automatic:D(),candidate:ui.nullable(),state:hi,total:O().int().positive(),completed:O().int().nonnegative(),failed:O().int().nonnegative(),requiredOutcome:k([`none`,`pending`,`passed`,`failed`,`blocked`]),reason:A().max(500).nullable(),groupId:ci.nullable(),experimentIds:x(ci).max(20),updatedAt:b()}).strict().superRefine((e,t)=>{e.completed+e.failed>e.total&&t.addIssue({code:`custom`,message:`Evaluation totals are inconsistent.`}),[`preparing`,`queued`,`running`,`cleaning`,`completed`].includes(e.state)&&!e.candidate&&t.addIssue({code:`custom`,message:`Evaluation execution requires the exact trained candidate.`})}),_i=E({operationId:ci,expectedRevision:O().int().positive(),planHash:li}).strict();E({operationId:ci,attachment:fi}).strict(),E({id:ci,teamId:ci,ownerUserId:ci,attachment:fi,qualification:mi.nullable(),contentHash:li,createdAt:b()}).strict();function vi(e){return!!(e&&[`preparing`,`queued`,`running`,`cleaning`].includes(e.state))}var yi=E({teamId:ci,actorId:ci,projectId:ci.nullable(),configuration:mt,batches:x(He).max(1e4),sources:x(Le).max(1e4),definitions:x(Re).max(1e4),experiments:x(E({id:ci,name:A().max(500),configuration:si,graders:x(E({feedbackKey:ci,name:A().max(500),ref:ui}).strict()).max(100)}).strict()).max(1e4)}).strict();k([`prepare`,`start`,`cancel`,`publish`,`attach`]);var bi=E({teamId:ci,actorId:ci,configuration:mt,policy:Ie,inspection:ei,iterations:x(E({iteration:ze,evals:gi.nullable()}).strict()).max(100),nextCursor:ci.nullable()}).strict(),xi=E({id:ci,expectedRevision:O().int().positive(),policyHash:li,operationId:ci,action:k([`pause`,`resume`,`reserve`,`cancel-iteration`,`retry-iteration`]),iterationId:ci.optional(),iterationRevision:O().int().positive().optional()}).strict(),Si=k([`trajectory`,`reward`,`demonstration`,`preference`,`correction`,`critique`,`targeted_feedback`,`grader_evidence`,`infrastructure_failure`]),Ci=E({datasetRelease:F,harnessRelease:F,evidenceSetRelease:F.nullable(),profileRelease:F.nullable(),model:E({source:A().trim().min(1).max(200),revision:A().trim().min(1).max(500),artifactHash:I.nullable()}).strict(),environmentHash:I,graderHash:I,toolContractHash:I,verificationReceiptHash:I.nullable()}).strict(),wi=E({schemaVersion:w(`openpond.learningSignal.v1`),id:L,taskId:L.nullable(),episodeId:L.nullable(),policyVersion:O().int().nonnegative().nullable(),lineage:Ci,approved:D(),verifier:k([`deterministic`,`model_judge`,`human`,`none`]),createdAt:N,contentHash:I,metadata:T(A(),j()).default({})}).strict(),Ti=wi.extend({kind:w(`trajectory`),payload:E({traceRef:A().trim().min(1).max(2e3),traceHash:I,terminal:D(),failureClass:k([`policy_failure`,`grader_failure`,`environment_failure`,`infrastructure_failure`,`timeout`,`cancelled`]).nullable(),optimizerSample:ti.nullable().optional()}).strict()}).strict(),Ei=wi.extend({kind:w(`reward`),payload:E({reward:O().finite(),components:T(A(),O().finite()),eligible:D(),graderEvidenceRefs:x(L).max(1e3)}).strict()}).strict(),Di=wi.extend({kind:w(`demonstration`),payload:E({prompt:A().max(5e5),response:A().max(1e6)}).strict()}).strict(),Oi=wi.extend({kind:w(`preference`),payload:E({prompt:A().max(5e5),chosen:A().max(1e6),rejected:A().max(1e6),rationale:A().max(5e5).nullable()}).strict()}).strict(),ki=wi.extend({kind:w(`correction`),payload:E({original:A().max(1e6),corrected:A().max(1e6),rationale:A().max(5e5).nullable()}).strict()}).strict(),Ai=wi.extend({kind:w(`critique`),payload:E({response:A().max(1e6),critique:A().max(5e5),severity:k([`note`,`warning`,`error`])}).strict()}).strict(),ji=wi.extend({kind:w(`targeted_feedback`),payload:E({turnIndex:O().int().nonnegative(),target:k([`reasoning`,`tool`,`answer`,`policy`]),feedback:A().max(5e5)}).strict()}).strict(),Mi=wi.extend({kind:w(`grader_evidence`),payload:E({graderId:L,score:O().finite().nullable(),passed:D(),privilegedArtifactRefs:x(A().trim().min(1).max(2e3))}).strict()}).strict(),Ni=wi.extend({kind:w(`infrastructure_failure`),approved:w(!1),verifier:w(`none`),payload:E({code:L,phase:L,retryable:D(),rewardEligible:w(!1)}).strict()}).strict(),Pi=C(`kind`,[Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni]);E({schemaVersion:w(`openpond.learningSignalBatch.v1`),manifestId:L,manifestHash:I,sequence:O().int().nonnegative(),signals:x(Pi).min(1).max(1e5),contentHash:I}).strict();var Fi=E({schemaVersion:w(`openpond.trainingEngineCapabilities.v1`),adapterId:L,available:D(),methods:x(A().trim().min(1).max(100)),signalKinds:x(Si),modelFamilies:x(A().trim().min(1).max(200)),precisions:x(k([`fp32`,`fp16`,`bf16`,`tf32`,`int8`,`int4`])),topologies:x(A().trim().min(1).max(200)),workerProtocolVersion:A().trim().min(1).max(200),upstreamRevision:A().trim().min(1).max(500),workerImageDigest:A().regex(/^sha256:[a-f0-9]{64}$/).nullable().default(null),capabilityReceipt:I,checkedAt:N,unavailableReason:A().trim().min(1).max(5e3).nullable()}).strict(),Ii=E({schemaVersion:w(`openpond.computeTargetCapabilities.v1`),adapterId:L,kind:k([`local`,`ssh`,`managed`,`custom`]),provider:L.nullable(),available:D(),devices:x(E({id:L,kind:k([`cpu`,`gpu`,`accelerator`]),vendor:A().trim().min(1).max(200),name:A().trim().min(1).max(500),memoryBytes:O().int().nonnegative().nullable(),runtime:A().trim().min(1).max(200)}).strict()),supportsWorkerImages:D(),supportsArtifactTransfer:D(),supportsCancellation:D(),capabilityReceipt:I,checkedAt:N,unavailableReason:A().trim().min(1).max(5e3).nullable()}).strict(),Li=E({schemaVersion:w(`openpond.harnessRuntimeCapabilities.v1`),adapterId:L,available:D(),placements:x(k([`local`,`remote`,`colocated`,`provider_native`])),lifecycle:x(k([`create`,`reset`,`step`,`grade`,`collect`,`destroy`])),deterministicReplay:D(),privilegedIsolation:D(),capabilityReceipt:I,checkedAt:N,unavailableReason:A().trim().min(1).max(5e3).nullable()}).strict();E({schemaVersion:w(`openpond.resolvedTrainingPlan.v1`),manifest:$e,recipe:et,runtime:Ue,compute:qe,engine:Qe,execution:E({trainingPlanId:L,approvalId:L}).strict().nullable(),maximumSpendUsd:O().nonnegative().nullable(),approvalHash:I,contentHash:I}).strict().superRefine((e,t)=>{let n=[[`runtime`,e.runtime,e.manifest.runtimeTarget],[`compute`,e.compute,e.manifest.computeTarget],[`engine`,e.engine,e.manifest.engine]];for(let[e,r,i]of n)JSON.stringify(r)!==JSON.stringify(i)&&t.addIssue({code:`custom`,path:[e],message:`${e} must exactly match the Harness Run Manifest`});e.recipe.method!==e.manifest.recipe.method&&t.addIssue({code:`custom`,path:[`recipe`,`method`],message:`Recipe method must match the Harness Run Manifest`}),e.approvalHash!==e.manifest.approval.approvalHash&&t.addIssue({code:`custom`,path:[`approvalHash`],message:`Approval hash must match the Harness Run Manifest`}),e.maximumSpendUsd!==e.manifest.approval.maximumSpendUsd&&t.addIssue({code:`custom`,path:[`maximumSpendUsd`],message:`Maximum spend must match the Harness Run Manifest`})}),E({schemaVersion:w(`openpond.adapterValidationReceipt.v1`),adapterId:L,valid:D(),issues:x(E({code:L,path:A().trim().max(2e3).nullable(),message:A().trim().min(1).max(5e3)}).strict()),capabilityReceipt:I,planHash:I,createdAt:N,contentHash:I}).strict(),E({runId:L,adapterId:L,protocolVersion:k([`openpond.training.v2`,`adapter.native.v1`]).default(`adapter.native.v1`),routeFamily:k([`training_v2`,`adapter_native`]).default(`adapter_native`),routeId:L.optional(),providerJobId:A().trim().min(1).max(1e3).nullable(),tenantId:L.optional(),leaseId:L.nullable(),manifestHash:I.optional(),inputBundleHash:I.optional(),createdAt:N}).strict(),E({runId:L,state:k([`queued`,`preparing`,`running`,`cancelling`,`cancelled`,`succeeded`,`failed`]),phase:A().trim().min(1).max(200),progress:O().min(0).max(1).nullable(),rolloutProgress:E({groupsCompleted:O().int().nonnegative(),groupsTarget:O().int().nonnegative(),optimizerUpdatesApplied:O().int().nonnegative(),optimizerUpdatesSkipped:O().int().nonnegative()}).strict().optional(),updatedAt:N,errorCode:L.nullable()}).strict(),E({runId:L,manifestHash:I,artifacts:x(E({kind:k([`checkpoint`,`adapter`,`metrics`,`trace`,`evaluation`,`receipt`]),objectRef:A().trim().min(1).max(2e3),sha256:I,sizeBytes:O().int().nonnegative(),metadata:T(A(),j()).optional()}).strict()),contentHash:I}).strict();var Ri=k([`ready`,`model_download_required`,`compute_setup_required`,`provider_managed`,`unsupported`]),zi=E({id:L,label:A().trim().min(1).max(500),description:A().trim().min(1).max(2e3),destinationId:L,computeAdapterId:L,runtimeAdapterId:L,engineAdapterId:L,methods:x(A().trim().min(1).max(100)),capabilityPills:x(A().trim().min(1).max(100)),executionMode:k([`local_worker`,`provider_native`]),approvalPolicy:E({providerId:ne,providerLabel:A().trim().min(1).max(200),settingsActionLabel:A().trim().min(1).max(500).nullable(),exportApprovalRequired:D(),exportDescription:A().trim().min(1).max(2e3).nullable(),preparationRequired:D(),minimumSpendUsd:O().nonnegative(),maximumSpendUsd:O().positive(),defaultMaximumSpendUsd:O().positive(),minimumRetentionDays:O().int().positive(),maximumRetentionDays:O().int().positive(),defaultRetentionDays:O().int().positive(),methodRequirement:A().trim().min(1).max(2e3).nullable()}).strict().nullable(),limits:E({maximumSequenceLength:O().int().positive(),maximumOutputTokens:O().int().positive(),maximumTrainingExamples:O().int().positive().nullable()}).strict(),defaults:E({loraRank:O().int().positive(),maxSteps:O().int().positive(),rolloutGroupSize:O().int().min(2).max(32),rolloutConcurrency:O().int().positive().max(32),rolloutOutputTokens:O().int().positive()}).strict(),available:D(),unavailableReason:A().trim().min(1).max(5e3).nullable()}).strict(),Bi=E({selectionKey:L,label:A().trim().min(1).max(500),source:k([`local`,`builtin`,`huggingface`,`managed`,`search`]),modelId:A().trim().min(1).max(1e3),revision:A().trim().min(1).max(500).nullable(),tokenizerRevision:A().trim().min(1).max(500).nullable(),chatTemplateHash:I.nullable(),modelAssetId:L.nullable(),expectedBytes:O().int().nonnegative().nullable(),cached:D(),known:D(),searchResolved:D(),computeAdapterIds:x(L),engineAdapterIds:x(L),preparationState:Ri,reason:A().trim().min(1).max(5e3).nullable(),compatibilities:x(E({targetId:L,methods:x(A().trim().min(1).max(100)),state:Ri,reason:A().trim().min(1).max(5e3).nullable()}).strict())}).strict(),Vi=E({schemaVersion:w(`openpond.trainingCatalog.v1`),models:x(Bi).max(1e5),engines:x(Fi),compute:x(Ii),runtimes:x(Li),targets:x(zi),generatedAt:N,contentHash:I}).strict();E({schemaVersion:w(`openpond.trainingPreparationPlan.v1`),modelRunId:L,state:Ri,reason:A().trim().min(1).max(5e3).nullable(),runtime:Ue.nullable(),compute:qe.nullable(),engine:Qe.nullable(),downloads:x(E({kind:w(`model`),label:A().trim().min(1).max(500),expectedBytes:O().int().nonnegative(),digest:A().trim().min(8).max(500),cached:D(),state:k([`ready`,`required`,`downloading`,`cancelled`,`failed`]),progress:O().min(0).max(1).nullable(),cancellable:D(),diskImpactBytes:O().int().nonnegative()}).strict()),dataMovement:x(E({direction:k([`upload`,`download`,`none`]),label:A().trim().min(1).max(500),bytes:O().int().nonnegative().nullable()}).strict()),quoteUsd:O().nonnegative().nullable(),maximumSpendUsd:O().nonnegative().nullable(),retentionDays:O().int().nonnegative().nullable(),sideEffectsStarted:w(!1),contentHash:I}).strict();var Hi=A().trim().min(1).max(200),Ui=A().regex(/^[a-f0-9]{64}$/),Wi=k([`queued`,`running`,`cancelling`,`completed`,`failed`,`cancelled`,`interrupted`]),Gi=E({providerId:k([`openpond`,`custom-openai-compatible`,`claude-code`,`codex`]),modelId:A().trim().min(1).max(500),configurationHash:Ui,maxOutputTokens:O().int().positive().max(262144),temperature:O().min(0).max(2).optional(),topP:O().positive().max(1).optional(),messages:x(E({role:k([`system`,`user`,`assistant`]),content:A().max(262144)}).strict()).max(200)}).strict();E({configuration:Ge,package:pt}).strict(),E({configuration:Ge,expectedPackageHash:Ui.optional()}).strict(),E({schemaVersion:w(`openpond.localExperimentDefinition.v1`),location:w(`local`),id:Hi,teamId:Hi,ownerActorId:Hi,revision:O().int().positive(),configuration:Ge,model:Gi,packageHash:Ui,graders:x(Je).min(1).max(100),availableGraders:x(Je).min(1).max(1e3),createdAt:b(),updatedAt:b(),contentHash:Ui}).strict(),E({operationId:Hi,definition:Ke}).strict(),E({teamId:Hi,id:Hi}).strict(),E({teamId:Hi,projectId:Hi.optional(),status:Wi.optional(),datasetHash:Ui.optional(),search:A().max(100).optional(),afterId:Hi.optional(),limit:O().int().min(1).max(100).default(30)}).strict();var Ki=E({schemaVersion:w(`openpond.localExperimentExecution.v1`),location:w(`local`),id:Hi,teamId:Hi,ownerActorId:Hi,operationId:Hi,definition:Ke,kind:k([`target`,`scoring`]),executionHash:Ui,sourceExecution:E({id:Hi,executionHash:Ui}).strict().nullable(),packageHash:Ui,maximumCostUsd:O().finite().positive(),status:Wi,createdAt:b(),completedAt:b().nullable(),counts:E({pending:O().int().nonnegative(),running:O().int().nonnegative(),completed:O().int().nonnegative(),failed:O().int().nonnegative(),cancelled:O().int().nonnegative(),unknown:O().int().nonnegative()}).strict(),usage:E({knownCostUsd:O().finite().nonnegative(),costUsd:O().finite().nonnegative().nullable(),heldUsd:O().finite().nonnegative(),uncertainRequests:O().int().nonnegative()}).strict(),cleanupComplete:D(),error:A().max(2e3).nullable()}).strict(),qi=Ki.omit({definition:!0});function Ji(e,t){e.kind===`scoring`!=(e.sourceExecution!==null)&&t.addIssue({code:`custom`,message:`Only retained scoring passes name an original execution.`}),[`completed`,`failed`,`cancelled`,`interrupted`].includes(e.status)&&(!e.completedAt||e.counts.pending||e.counts.running)&&t.addIssue({code:`custom`,message:`Terminal local execution requires complete population accounting.`}),[`completed`,`cancelled`].includes(e.status)&&!e.cleanupComplete&&t.addIssue({code:`custom`,message:`Successful completion or cancellation requires confirmed local transport cleanup.`}),e.usage.uncertainRequests>0&&e.usage.costUsd!==null&&t.addIssue({code:`custom`,message:`Uncertain provider charges cannot claim a measured total.`})}Ki.superRefine(Ji);var Yi=qi.superRefine(Ji);E({configuration:si,package:pt}).strict();var Xi=E({configuration:si,expectedPackageHash:A().regex(/^[a-f0-9]{64}$/).optional()}).strict(),Zi=E({configuration:si,model:Gi,packageHash:A().regex(/^[a-f0-9]{64}$/),graders:x(Je).min(1).max(100),availableGraders:x(Je).min(1).max(1e3),retainedConfigurationHash:A().regex(/^[a-f0-9]{64}$/).optional(),configurationHash:A().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((e,t)=>{let{configurationHash:n,...r}=e;P(r)!==n&&t.addIssue({code:`custom`,message:`Local configuration snapshot bytes changed.`})}),{definition:Qi,...$i}=Ki.shape,ea=E({...$i,kind:w(`target`),...Zi.shape}).strict().superRefine((e,t)=>{let n={configuration:e.configuration,model:e.model,packageHash:e.packageHash,graders:e.graders,availableGraders:e.availableGraders,...e.retainedConfigurationHash?{retainedConfigurationHash:e.retainedConfigurationHash}:{},configurationHash:e.configurationHash};Ji(e,t),Zi.safeParse(n).success||t.addIssue({code:`custom`,message:`Local Experiment configuration changed.`}),(e.operationId!==e.configuration.operationId||e.teamId!==e.configuration.request.teamId||e.maximumCostUsd!==e.configuration.maximumCostUsd)&&t.addIssue({code:`custom`,message:`Local Experiment differs from its sealed admission.`})}),ta=E({items:x(ea).max(100),nextCursor:A().nullable()}).strict();E({teamId:A().min(1).max(200),id:A().min(1).max(200),configurationHash:A().regex(/^[a-f0-9]{64}$/).optional()}).strict();var na=E({operationId:Hi,execution:E({id:Hi,executionHash:Ui}).strict(),graderPackage:pt,graders:x(We).min(1).max(100),maximumCostUsd:O().finite().positive().max(1e4)}).strict().omit({graderPackage:!0}),ra=Xe,ia=E({sessionId:Hi,turnId:Hi,source:U,profileRef:Se,admissionHash:Ui,modelConfigurationHash:Ui,traceHash:Ui,runtimeEventRefs:x(Hi).max(1e4),startedAt:b(),completedAt:b(),outputHash:Ui,partialOutputAvailable:D()}).strict(),aa=E({receiptId:Hi,taskId:Hi,seed:A(),status:k([`pending`,`running`,`completed`,`failed`,`cancelled`,`unknown`]),input:T(A(),j()),policyVisibleContext:T(A(),j()),output:A().nullable(),messages:x(j()).max(4002),grade:W.nullable(),error:A().nullable(),native:ra.optional(),profileNative:ia.optional(),externalProcess:tt.optional()}).strict(),oa=E({execution:S([ea,Yi]),cases:x(aa).max(1e4),contentHash:Ui}).strict(),sa=E({items:x(E({sequence:O().int().positive(),type:A().min(1),payload:j()}).strict()).max(500),nextCursor:O().int().positive().nullable()}).strict(),ca=E({location:w(`local`),execution:S([ea,Yi]),case:aa,trace:sa}).strict(),la=E({items:x(Yi).max(100),nextCursor:Hi.nullable()}).strict(),ua=E({execution:Yi,graders:x(Je).min(1).max(100),graderPackageHash:Ui}).strict(),da=E({execution:Yi,manifest:Pe,result:Ne}).strict().superRefine((e,t)=>{try{if(Me(e),e.manifest.id!==e.execution.id||e.manifest.teamId!==e.execution.teamId||e.manifest.lineage?.execution.id!==(e.execution.sourceExecution?.id??e.execution.id)||e.manifest.lineage.execution.contentHash!==(e.execution.sourceExecution?.executionHash??e.execution.executionHash)||e.manifest.lineage.scoringPassId!==(e.execution.kind===`scoring`?e.execution.id:null)||e.manifest.maximumCostUsd!==e.execution.maximumCostUsd)throw Error(`Portable evidence differs from its retained local execution.`)}catch(e){t.addIssue({code:`custom`,message:e instanceof Error?e.message:`Local portable evidence verification failed.`})}}),fa=E({location:w(`local`),baseline:da,candidate:da}).strict(),pa=E({kind:k([`dataset`,`experiment`,`model`,`training`]),id:A().trim().min(1).max(240),revision:O().int().positive().optional(),location:k([`local`,`cloud`]).default(`local`),teamId:A().min(1).max(240).optional(),apiOrigin:y().max(2e3).optional(),scopeId:A().min(1).max(240).optional(),sessionId:A().min(1).max(240).optional()}).strict(),ma=E({target:pa,label:A().max(500),detail:A().max(2e3)}).strict(),ha=ma.extend({resource:st.optional(),dataset:st.optional(),graders:x(st).optional(),training:nt.optional(),model:E({id:A(),name:A(),portableProjectId:A(),baseModel:A().nullable(),trainingDataset:E({id:A(),revision:O().int().positive(),name:A()}).nullable(),evaluationDataset:E({id:A(),revision:O().int().positive(),name:A()}).nullable()}).strict().optional()}).strict(),ga=k([`prepare_evaluation`,`check_graders`,`inspect_results`,`diagnose`,`compare`]),_a=E({id:A(),sessionId:A(),sourceTurnId:A(),action:ga,label:A(),draft:A(),contexts:fr,focus:ha}).strict(),va=rn(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),ya=rn(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),ba=rn(`at-sign`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`,key:`7n84p3`}]]),xa=rn(`badge-check`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Sa=rn(`ban`,[[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Ca=rn(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),wa=rn(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),Ta=rn(`mic`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]),Ea=rn(`reply`,[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`,key:`5vmcpk`}],[`path`,{d:`m9 17-5-5 5-5`,key:`nvlc11`}]]),Da=rn(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Oa=rn(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),ka=rn(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),$=i();function Aa(e,t){return{toolCount:e.reduce((e,t)=>e+ +!ja(t),0),toolsExpanded:t,visibleActivities:t?e.filter(e=>!ja(e)):[]}}function ja(e){return e.kind===`reasoning`}function Ma(e,t){if(!e||!t)return null;let n=Date.parse(t)-Date.parse(e);if(!Number.isFinite(n)||n<1e3)return null;let r=Math.round(n/1e3);if(r<60)return`${r}s`;let i=Math.floor(r/60),a=r%60;if(i<60)return a>0?`${i}m ${a}s`:`${i}m`;let o=Math.floor(i/60),s=i%60;return s>0?`${o}h ${s}m`:`${o}h`}function Na(e){return{id:`message:${e.id}`,type:`message`,message:e,showFooter:e.role===`assistant`&&e.finalAnswer===!0}}function Pa(e){return e.flatMap(e=>e.type===`message`?[e.message]:e.type===`work`?e.messages.map(e=>e.message):[])}function Fa(e,t={}){let n=[],r=[],i=[],a=[],o=()=>{n.push(...i,...a),i=[],a=[]},s,c,l=e=>{if(r.length===0)return;let t=[],i=()=>{t.length&&(e?n.push({id:`work:${t[0].message.id}`,type:`work`,label:typeof e==`function`?e(t.length):e,messages:t}):n.push(...t),t=[])};for(let e of r)e.message.role===`task_message`?(i(),n.push(e)):t.push(e);i(),r=[]};for(let t of e)if(t.role===`user`)l(t.interactionKind===`steer`?e=>`${e} previous ${e===1?`message`:`messages`}`:void 0),o(),n.push(Na(t)),s=t.timestamp,c=t.turnId;else if(c&&t.turnId&&t.turnId!==c&&(l(),o(),s=void 0),c=t.turnId??c,t.role===`visual`)a.push(Na(t));else if(t.role===`resources`)i.push(Na(t));else if(t.role===`error`||t.userQuestion?.status===`pending`)l(),n.push(Na(t));else if(t.role===`assistant`&&t.finalAnswer){t.reasoningContent&&r.push(Na({id:`${t.id}:reasoning`,role:`assistant`,timestamp:t.timestamp,turnId:t.turnId,reasoningContent:t.reasoningContent}));let e=Ma(t.turnStartedAt??s??r[0]?.message.traceStartedAt??r[0]?.message.timestamp,t.turnCompletedAt??t.timestamp);l(e?`Worked for ${e}`:`Worked`),n.push(Na(t.reasoningContent?{...t,reasoningContent:void 0}:t)),s=void 0}else r.push(Na(t));return l(),o(),t.showThinkingIndicator&&n.push({id:`thinking`,type:`thinking`}),n}function Ia(e){let t=e[e.length-1];if(!t)return!0;if(t.role===`assistant`||t.role===`error`||t.role===`status_divider`&&t.statusState===`running`)return!1;if(t.role===`activity_group`){if(t.traceState===`running`)return!1;let e=t.activities?.[t.activities.length-1]??null;return e?.state!==`running`&&e?.state!==`pending`}return!0}function La({children:e,className:t=``,controls:n,danger:r=!1,expanded:i=!1,icon:a,onToggle:o,running:s=!1}){let c=[`activity-summary`,o?``:`static`,r?`danger`:``,s?`working`:``,t].filter(Boolean).join(` `),l=(0,$.jsxs)($.Fragment,{children:[a,(0,$.jsx)(`span`,{className:`activity-summary-text`,children:(0,$.jsx)(`span`,{children:e})}),o?(0,$.jsx)(Dn,{"aria-hidden":!0,className:`activity-summary-toggle ${i?`expanded`:``}`,size:14}):null]});return o?(0,$.jsx)(`button`,{type:`button`,"aria-controls":n,"aria-expanded":i,className:c,onClick:o,children:l}):(0,$.jsx)(`div`,{className:c,role:s?`status`:void 0,children:l})}var Ra=(0,Q.createContext)(null),za=(0,Q.createContext)(null),Ba=n(),Va=e(rr(),1),Ha=e(Ar(),1);async function Ua(e,t){let{ownerScope:n}=await K(e,`/v1/ponder/desktop`);if(!n||[`installationId`,`profileId`,`ownerUserId`,`teamId`].some(e=>n[e]!==t[e]))throw Error(`Open this task on its original desktop, account and workspace.`)}function Wa(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.plan!==void 0)return e[t].plan}function Ga(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`user`&&r.interactionKind!==`steer`){t=n;break}}let n,r=new Set;for(let i=t;i<e.length;i++){let t=e[i],a=Wa(t.activities??[]);a!==void 0&&(n=a,r.add(t.id))}return n?.length?{scopeKey:e[t].id,entries:n,messageIds:r}:null}function Ka({entries:e,initiallyExpanded:t=!1}){let[n,r]=(0,Q.useState)(t),i=(0,Q.useId)(),a=e.filter(e=>e.status===`completed`).length,o=e.find(e=>e.status===`in_progress`),s=o??e.find(e=>e.status===`pending`),c=s?(s===o?s.activeForm:null)??s.content:`All tasks completed`;return(0,$.jsxs)(`section`,{className:`activity-plan-card`,"aria-label":`Task progress`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`activity-plan-heading`,"aria-expanded":n,"aria-controls":n?i:void 0,onClick:()=>r(e=>!e),children:[(0,$.jsxs)(`strong`,{className:`activity-plan-title`,title:c,children:[o?(0,$.jsx)(Nn,{"aria-hidden":!0,size:13,className:`activity-plan-spinner`}):s?(0,$.jsx)(Ca,{"aria-hidden":!0,size:13}):(0,$.jsx)(Sr,{"aria-hidden":!0,size:13}),(0,$.jsx)(`span`,{children:c})]}),(0,$.jsxs)(`span`,{children:[a,` of `,e.length,` completed`,(0,$.jsx)(Dn,{"aria-hidden":!0,size:13,className:`activity-plan-chevron ${n?`expanded`:``}`})]})]}),n?(0,$.jsx)(`ol`,{id:i,children:e.map((e,t)=>(0,$.jsxs)(`li`,{"data-state":e.status,children:[e.status===`completed`?(0,$.jsx)(Sr,{"aria-hidden":!0,size:13}):e.status===`in_progress`?(0,$.jsx)(Nn,{"aria-hidden":!0,size:13,className:`activity-plan-spinner`}):(0,$.jsx)(Ca,{"aria-hidden":!0,size:13}),(0,$.jsxs)(`span`,{children:[(0,$.jsxs)(`span`,{className:`sr-only`,children:[e.status.replace(`_`,` `),`: `]}),e.status===`in_progress`&&e.activeForm?e.activeForm:e.content]})]},e.id??t))}):null]})}var qa=(0,Q.createContext)(null);function Ja({messages:e,enabled:t,conversationKey:n,children:r}){let i=(0,Q.useMemo)(()=>{let r=t?Ga(e):null;return r?{...r,scopeKey:`${n}:${r.scopeKey}`}:null},[e,t,n]);return(0,$.jsx)(qa.Provider,{value:i,children:r})}function Ya(){return(0,Q.useContext)(qa)}function Xa(){let e=Ya();return e?(0,$.jsx)(`div`,{className:`composer-task-progress`,children:(0,$.jsx)(Ka,{entries:e.entries},e.scopeKey)}):null}function Za({artifact:e,onOpenFileInSidebar:t,preview:n}){let[r,i]=(0,Q.useState)(null),a=(0,Q.useCallback)(()=>i(null),[]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`activity-artifact`,title:e.path,onClick:t?n=>{n.target.closest(`button`)||t(e.path)}:void 0,onContextMenu:t=>{t.preventDefault(),i({path:e.path,title:e.title,...$a(t.clientX,t.clientY)})},children:[t?(0,$.jsxs)(`button`,{"aria-label":`Open ${e.title} in right sidebar`,className:`activity-artifact-name`,type:`button`,onClick:()=>t(e.path),children:[n?(0,$.jsx)(`span`,{className:`activity-artifact-preview`,"aria-hidden":!0,children:n}):(0,$.jsx)(_r,{"aria-hidden":!0,size:14}),(0,$.jsx)(`strong`,{children:e.title})]}):(0,$.jsxs)(`span`,{className:`activity-artifact-name`,children:[(0,$.jsx)(_r,{"aria-hidden":!0,size:14}),(0,$.jsx)(`strong`,{children:e.title})]}),(0,$.jsx)(`span`,{className:`activity-artifact-actions`,children:(0,$.jsx)(`button`,{"aria-label":`Show ${e.title} in file browser`,"data-tooltip":`Open in file browser`,type:`button`,onClick:()=>void gn(e.path),children:(0,$.jsx)(Mn,{"aria-hidden":!0,size:14})})})]}),(0,$.jsx)(Qa,{menu:r,onClose:a})]})}function Qa({menu:e,onClose:t}){let n=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{if(!e)return;n.current?.focus();let r=()=>t(),i=e=>{e.key===`Escape`&&r()};return window.addEventListener(`pointerdown`,r),window.addEventListener(`blur`,r),window.addEventListener(`keydown`,i),window.addEventListener(`scroll`,r,!0),()=>{window.removeEventListener(`pointerdown`,r),window.removeEventListener(`blur`,r),window.removeEventListener(`keydown`,i),window.removeEventListener(`scroll`,r,!0)}},[e,t]),!e||typeof document>`u`?null:(0,Ba.createPortal)((0,$.jsx)(`div`,{"aria-label":`${e.title} file actions`,className:`activity-artifact-context-menu`,role:`menu`,style:{left:e.x,top:e.y},onPointerDown:e=>e.stopPropagation(),children:(0,$.jsxs)(`button`,{ref:n,role:`menuitem`,type:`button`,onClick:()=>{pn(e.path),t()},children:[(0,$.jsx)(An,{"aria-hidden":!0,size:14}),(0,$.jsx)(`span`,{children:`Copy path`})]})}),document.body)}function $a(e,t){return{x:Math.max(8,Math.min(e,window.innerWidth-164-8)),y:Math.max(8,Math.min(t,window.innerHeight-42-8))}}function eo(e,t,n){let r=(0,Q.useRef)({sessionId:t,openFile:n});r.current={sessionId:t,openFile:n},(0,Q.useEffect)(()=>e.subscribeLive(e=>{for(let t of e){if(!r.current.sessionId||t.sessionId!==r.current.sessionId||t.name!==`file.preview_requested`||t.source!==`server`)continue;let e=Jr.safeParse(t.data);if(!e.success)continue;let n=e.data;r.current.openFile(n.path,n.target===`local`?{source:n.source,local:!0}:{source:n.source,sandboxId:n.sandboxId})}}),[e])}function to(e){let t=e instanceof Error?e.message:String(e);return{local_ponder_model_unavailable:`Choose a configured model that supports Pal’s coordination tools.`,local_ponder_model_change_requires_idle:`Wait for Pal to finish before changing its model.`,local_ponder_setup_pending:`Finish setup with the previously selected model to recover this conversation.`,local_ponder_configuration_changed:`Pal settings changed. Reopen settings and try again.`,local_ponder_control_changed:`This agent’s control changed. Review its current state and try again.`,local_ponder_agent_not_found:`This agent is no longer available. Refresh Pal’s agents.`}[t]??t}function no({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){let i=Ir(t),a=t.selectedTaskIndex+1;return(0,$.jsxs)(`section`,{className:`training-chat-handoff`,"aria-label":`Model chat`,children:[(0,$.jsxs)(`div`,{className:`training-chat-handoff-copy`,children:[(0,$.jsx)(`strong`,{children:i?`Generated Taskset question`:`Model chat`}),(0,$.jsx)(`span`,{children:t.tasksetName}),(0,$.jsx)(`small`,{children:i?`${ro(i.split)} · ${a} of ${t.tasks.length} · New chat per question`:`Ask the imported model directly`})]}),(0,$.jsxs)(`div`,{className:`training-chat-handoff-actions`,children:[i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":`Previous generated question`,title:`Previous question`,disabled:e||t.selectedTaskIndex===0,onClick:()=>r(t.selectedTaskIndex-1),children:(0,$.jsx)(Lr,{size:14})}),(0,$.jsx)(`button`,{type:`button`,className:`training-chat-handoff-load`,disabled:e,onClick:()=>r(t.selectedTaskIndex),children:`Load question`}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Next generated question`,title:`Next question`,disabled:e||t.selectedTaskIndex>=t.tasks.length-1,onClick:()=>r(t.selectedTaskIndex+1),children:(0,$.jsx)(_n,{size:14})})]}):null,(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close generated question handoff`,title:`Close`,disabled:e,onClick:n,children:(0,$.jsx)(Hn,{size:14})})]})]})}function ro(e){return e===`frozen_eval`?`Frozen evaluation`:e===`validation`?`Validation`:`Training`}function io({activeModel:e,activeProvider:t,busy:n,handoff:r,onDismiss:i,onSelectTask:a}){return!r||r.model.providerId!==t||r.model.modelId!==e?null:(0,$.jsx)(no,{busy:n,handoff:r,onDismiss:i,onSelectTask:a})}function ao({canGoNext:e,canGoPrevious:t,onJumpToLatest:n,onNext:r,onPrevious:i}){return(0,$.jsxs)(`div`,{className:`chat-scroll-controls`,"aria-label":`Message navigation`,children:[(0,$.jsx)(`button`,{type:`button`,className:`chat-scroll-control-button`,"data-tooltip":`Go to previous message`,"aria-label":`Go to previous message`,"aria-disabled":!t,onClick:i,children:(0,$.jsx)(Lr,{size:17})}),(0,$.jsx)(`button`,{type:`button`,className:`chat-scroll-control-button primary`,"data-tooltip":`Jump to latest`,"aria-label":`Jump to latest`,onClick:n,children:(0,$.jsx)(va,{size:18})}),(0,$.jsx)(`button`,{type:`button`,className:`chat-scroll-control-button`,"data-tooltip":`Go to next message`,"aria-label":`Go to next message`,"aria-disabled":!e,onClick:r,children:(0,$.jsx)(_n,{size:17})})]})}function oo({busy:e,onSync:t}){return(0,$.jsxs)(`button`,{type:`button`,className:`sync-local-button`,disabled:e,onClick:t,children:[(0,$.jsx)(wa,{size:15}),(0,$.jsx)(`span`,{children:e?`Syncing locally`:`Sync locally to work on this`})]})}function so(e){return e.supportedView&&e.open&&!e.hasContentPanel}function co(e,t){return e===`team`?`team-active`:e===`community`?`community-active`:e===`apps`||e===`get-started`||e===`labs`||e===`outputs`||e===`projects`||e===`scheduled`?`page-active`:t?`chat-active`:`chat-start`}var lo=72,uo=280,fo=460;function po(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=lo}var mo={canGoPrevious:!1,canGoNext:!1};function ho(e){return Array.from(e.children).filter(e=>e instanceof HTMLElement&&(e.matches(`.message-row.user`)||e.dataset.chatUserMessage===`true`))}function go({activeWorkspaceId:e,cloudProjects:t}){let n=t.find(t=>t.id===e),r=t.find(e=>e.organizationSlug||e.teamId),i=n??r??null;return{organizationSlug:i?.organizationSlug??null,teamId:i?.teamId??null}}function _o(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function vo(e,t){return _o(e,t)+t.getBoundingClientRect().height}function yo(e){return e.scrollTop+24}function bo(e){return e.scrollTop+8}function xo(e){let t=yo(e),n=bo(e),r=!1,i=!1;for(let a of ho(e)){let o=_o(e,a);if(vo(e,a)<n&&(r=!0),o>t+8&&(i=!0),r&&i)break}return{canGoPrevious:r,canGoNext:i}}function So(e,t){let n=ho(e),r=yo(e);if(t===`previous`){let t=bo(e);for(let r=n.length-1;r>=0;--r){let i=n[r];if(vo(e,i)<t)return i}return null}for(let t of n)if(_o(e,t)>r+8)return t;return null}function Co(e){return Math.min(fo,Math.max(uo,Math.abs(e)/5))}function wo(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}function To(e){let t=Qt({messages:e});return t?{run:t}:null}function Eo(e){return e.command===`workflow`?[`Create a scheduled workflow attached to this chat.`,`Use the schedule_work tool after resolving the exact cadence, local date/time, and timezone from my request. Ask a concise clarification only if a required scheduling detail is genuinely missing.`,`Workflow request: ${e.args}`].join(`
|
|
3
|
-
|
|
4
|
-
`):e.command===`agent`?e.args?`/agent ${e.args}`:`/agent`:e.command===`skill`?e.args?`/skill ${e.args}`:`/skill`:e.args?`/${e.command} ${e.args}`:`/${e.command}`}function Do(e,t){return{surface:`chat`,workflowKind:`slash_command`,commandName:`/${e.command}`,commandSource:t}}function Oo(e){return e.command===`goal`||e.command===`agent`||e.command===`skill`||e.command===`workflow`||e.command===`sync-cloud`}function ko(e){let t=e?.trim()??``;return/^[a-z0-9]{24}$/.test(t)?t:null}function Ao(e,t){if(!t.row.isConnected||t.row.parentElement!==e)return null;let n=Number.parseFloat(e.style.getPropertyValue(`--chat-sent-message-space`))||0,r=Number.parseFloat(getComputedStyle(e).paddingBottom)-n,i=e.lastElementChild,a=i?i.getBoundingClientRect().bottom-t.row.getBoundingClientRect().top+r:r,o=Math.max(0,e.clientHeight-96-a);return Math.abs(o-n)>.5&&e.style.setProperty(`--chat-sent-message-space`,`${o}px`),Math.max(0,_o(e,t.row)-96)}function jo(e,t,n){let r=e=>{e.deltaY<0?t():e.deltaY>0&&n?.()},i=null,a=e=>{i=e.touches[0]?.clientY??null},o=e=>{let r=e.touches[0]?.clientY??null;r!==null&&i!==null&&r>i?t():r!==null&&i!==null&&r<i&&n?.(),i=r},s=e=>{e.target?.closest?.(`input, textarea, select, [contenteditable='true']`)||([`ArrowUp`,`PageUp`,`Home`].includes(e.key)||e.key===` `&&e.shiftKey?t():([`ArrowDown`,`PageDown`,`End`].includes(e.key)||e.key===` `&&!e.shiftKey)&&n?.())},c=n=>{if(n.target!==e)return;let r=e.getBoundingClientRect().left+e.clientLeft+e.clientWidth;n.clientX>=r&&t()};return e.addEventListener(`openpond-visual-interaction`,t),e.addEventListener(`wheel`,r,{passive:!0}),e.addEventListener(`touchstart`,a,{passive:!0}),e.addEventListener(`touchmove`,o,{passive:!0}),e.addEventListener(`keydown`,s),e.addEventListener(`pointerdown`,c),()=>{e.removeEventListener(`openpond-visual-interaction`,t),e.removeEventListener(`wheel`,r),e.removeEventListener(`touchstart`,a),e.removeEventListener(`touchmove`,o),e.removeEventListener(`keydown`,s),e.removeEventListener(`pointerdown`,c)}}function Mo(e){let t=e.getBoundingClientRect().top;for(let n of Array.from(e.children)){let e=n.getBoundingClientRect();if(!(e.bottom<=t))return{row:n,offset:e.top-t}}return null}function No(e,t){if(t.row.parentElement!==e)return;let n=t.row.getBoundingClientRect().top-e.getBoundingClientRect().top;e.scrollTop+=n-t.offset}function Po(e){let{contentKey:t,threadElement:n=null,enabled:r=!0,onContentChange:i,threadRef:a}=e,o=(0,Q.useRef)(i),s=(0,Q.useRef)(null);o.current=i,(0,Q.useLayoutEffect)(()=>{let e=n??a.current;if(!r||!e||typeof window>`u`)return;let t=null,i=0,c=e.scrollHeight,l=(n=!0)=>{n&&(i=Math.max(i,4)),t===null&&(t=window.requestAnimationFrame(()=>{t=null,a.current===e&&o.current(e);let n=Math.abs(e.scrollHeight-c)>1;c=e.scrollHeight,--i,(i>0||n)&&l(!1)}))};s.current=()=>l();let u=typeof MutationObserver>`u`?null:new MutationObserver(()=>{p(),l()}),d=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>l()),f=new Set,p=()=>{if(!d)return;let t=new Set(Array.from(e.children).filter(e=>e instanceof HTMLElement));for(let e of f)t.has(e)||(d.unobserve(e),f.delete(e));for(let e of t)f.has(e)||(d.observe(e),f.add(e))};u?.observe(e,{childList:!0,characterData:!0,subtree:!0}),p();let m=()=>l();return e.addEventListener(`load`,m,!0),()=>{s.current=null,u?.disconnect(),d?.disconnect(),e.removeEventListener(`load`,m,!0),t!==null&&window.cancelAnimationFrame(t)}},[r,n,a]),(0,Q.useLayoutEffect)(()=>{r&&s.current?.()},[t,r])}function Fo({navigationVersion:e=0,browserConversationId:t,chatSubmissionVersion:n,chatHistoryHasMore:r,chatHistoryLoading:i,chatMessages:a,onLoadMoreChatHistory:o,pendingApproval:s,showChatThread:c,showThinkingIndicator:l,turnRunning:u,view:d}){let f=(0,Q.useRef)(null),[p,m]=(0,Q.useState)(null),h=(0,Q.useCallback)(e=>{f.current=e,m(t=>t===e?t:e)},[]),g=(0,Q.useRef)(null),_=(0,Q.useRef)(!0),v=(0,Q.useRef)(null),y=(0,Q.useRef)(!1),b=(0,Q.useRef)(0),x=(0,Q.useRef)(null),S=(0,Q.useRef)(0),C=(0,Q.useRef)(0),w=(0,Q.useRef)(0),T=(0,Q.useRef)(null),E=(0,Q.useRef)(null),D=(0,Q.useRef)(null),O=(0,Q.useRef)(!1),[k,A]=(0,Q.useState)(0),j=(0,Q.useRef)(!1),M=(0,Q.useRef)(!1),N=(0,Q.useRef)(null),P=(0,Q.useRef)(null),F=(0,Q.useRef)(null),[ee,I]=(0,Q.useState)(0),[L,R]=(0,Q.useState)(null),[te,ne]=(0,Q.useState)(!1),[z,B]=(0,Q.useState)(132),[re,ie]=(0,Q.useState)(mo),ae=(0,Q.useMemo)(()=>Fa(a,{showThinkingIndicator:l}),[a,l]),V=(0,Q.useMemo)(()=>({"--chat-composer-reserve":`${z}px`}),[z]),oe=a.at(-1),se=[ae.length,oe?.id??``,oe?.content?.length??0,oe?.timestamp??``,JSON.stringify(oe?.resources??[]),l?`thinking`:``].join(`:`),ce=r,le=t,ue=d===`chat`&&c&&!!le&&L!==le,de=(0,Q.useCallback)(e=>{ne(t=>t===e?t:e)},[]),fe=(0,Q.useCallback)(e=>{ie(t=>t.canGoPrevious===e.canGoPrevious&&t.canGoNext===e.canGoNext?t:e)},[]),pe=(0,Q.useCallback)((e,t={})=>{let n=t.nearBottom??po(e);de(!n),fe(xo(e))},[de,fe]),me=(0,Q.useCallback)(e=>{let t=j.current;j.current=!1,R(e),de(!1),fe(mo),t&&I(e=>e+1)},[de,fe]),he=(0,Q.useCallback)(()=>{F.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(F.current),F.current=null)},[]),ge=(0,Q.useCallback)((e,t,n)=>{he();let r=Math.max(0,e.scrollHeight-e.clientHeight),i=()=>{let n=typeof t==`function`?t():t;return Math.max(0,Math.min(n,Math.max(0,e.scrollHeight-e.clientHeight)))},a=Math.max(0,Math.min(i(),r)),o=e.scrollTop,s=a-o;if(typeof window>`u`||window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches===!0||Math.abs(s)<1){e.scrollTop=a,n?.();return}let c=Co(s),l=window.performance.now(),u=t=>{if(f.current!==e){F.current=null;return}let r=Math.min(1,(t-l)/c),a=i();e.scrollTop=o+(a-o)*wo(r),r<1?F.current=window.requestAnimationFrame(u):(e.scrollTop=i(),F.current=null,n?.())};F.current=window.requestAnimationFrame(u)},[he]),H=(0,Q.useCallback)(()=>{M.current=!1,N.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(N.current),N.current=null)},[]),_e=(0,Q.useCallback)(()=>{P.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(P.current),P.current=null)},[]),ve=(0,Q.useCallback)(e=>{if(typeof window>`u`){e.scrollTop=e.scrollHeight;return}if(P.current!==null)return;let t=window.performance.now(),n=r=>{if(f.current!==e||!_.current){P.current=null;return}let i=Math.max(0,e.scrollHeight-e.clientHeight),a=i-e.scrollTop;if(Math.abs(a)<=1)e.scrollTop=i,P.current=null;else{if(a<0||a>240)e.scrollTop=i;else{let n=Math.max(.5,Math.min(3,(r-t)/(1e3/60))),i=1-.78**n;e.scrollTop+=Math.min(a,Math.max(1,Math.min(36*n,a*i)))}t=r,P.current=window.requestAnimationFrame(n)}};P.current=window.requestAnimationFrame(n)},[]),ye=(0,Q.useCallback)((e,t={})=>{if(_e(),e.scrollTop=e.scrollHeight,typeof window>`u`){t.finishInitial&&me(t.conversationKey??null);return}H(),M.current=!0;let n=0,r=0,i=e.scrollHeight,a=t.settle?12:2,o=()=>{let e=f.current;if(!e){N.current=null,M.current=!1,t.finishInitial&&me(t.conversationKey??null);return}e.scrollTop=e.scrollHeight;let s=e.scrollHeight-e.scrollTop-e.clientHeight,c=Math.abs(e.scrollHeight-i)<=1;i=e.scrollHeight,r=s<=1&&c?r+1:0,n+=1,n<a&&r<2?N.current=window.requestAnimationFrame(o):(N.current=null,M.current=!1,_.current=!0,de(!1),fe(xo(e)),t.finishInitial&&me(t.conversationKey??null))};N.current=window.requestAnimationFrame(o)},[H,_e,me,de,fe]),be=(0,Q.useCallback)(()=>{v.current=null,f.current?.style.removeProperty(`--chat-sent-message-space`);let e=f.current;e&&(H(),_e(),_.current=!0,de(!1),ge(e,()=>e.scrollHeight-e.clientHeight,()=>{f.current===e&&(e.scrollTop=e.scrollHeight,_.current=!0,de(!1),fe(xo(e)))}))},[H,_e,de,fe,ge]),xe=(0,Q.useCallback)(e=>{v.current=null,e.style.removeProperty(`--chat-sent-message-space`),he(),_.current=!0,ye(e,{settle:!0}),pe(e,{nearBottom:!0})},[he,ye,pe]),Se=(0,Q.useCallback)(e=>{let t=f.current;if(!t)return;let n=So(t,e);n&&(H(),_e(),v.current&&(v.current.following=!1),ge(t,()=>n.isConnected?Math.max(0,_o(t,n)-24):t.scrollTop,()=>{if(f.current!==t)return;let e=po(t);_.current=e,pe(t,{nearBottom:e})}))},[H,_e,ge,pe]),Ce=(0,Q.useCallback)(async()=>{if(!ce||!o||i||D.current)return;let e=f.current;if(!e)return;let t={anchor:Mo(e),firstRowId:ae[0]?.id,settled:!1};E.current=t,_.current=!1,H(),_e(),he(),D.current=t,O.current=!1;try{let e=await o();D.current===t&&(O.current=!e),!e&&E.current===t&&(E.current=null)}catch{D.current===t&&(O.current=!0,E.current=null)}finally{t.settled=!0,D.current===t&&(D.current=null,A(e=>e+1))}},[ce,i,o,ae,H,_e,he]),we=(0,Q.useCallback)(e=>{let t=E.current;t&&(t.anchor=Mo(e));let n=po(e),r=Math.abs(e.scrollHeight-C.current)>1||Math.abs(e.clientHeight-w.current)>1,a=e.scrollTop<S.current-1,o=e.scrollTop>S.current+1,s=n&&o&&(!r||e.scrollHeight-e.scrollTop-e.clientHeight<=1);if(S.current=e.scrollTop,C.current=e.scrollHeight,w.current=e.clientHeight,v.current)!v.current.following&&s?xe(e):(_.current=!1,pe(e));else if(M.current){if(a&&!r)H(),me(T.current),_.current=!1,pe(e,{nearBottom:!1});else{_.current=!0,de(!1),fe(mo);return}}else n&&(_.current||s)?(_.current=!0,pe(e,{nearBottom:!0})):a&&!r?(_.current=!1,_e(),pe(e,{nearBottom:!1})):_.current?(de(!1),fe(xo(e))):pe(e,{nearBottom:n});!j.current&&e.scrollTop<=120&&ce&&!i&&Ce()},[ce,H,_e,me,i,Ce,xe,de,fe,pe]),U=(0,Q.useCallback)(e=>{let t=v.current;if(t){let n=Ao(e,t);if(n!==null&&t.following&&F.current===null){if(e.scrollHeight-e.clientHeight>n+1){xe(e);return}e.scrollTop=n}pe(e)}else _.current&&F.current===null&&!M.current&&ve(e)},[ve,xe,pe]);return(0,Q.useEffect)(()=>{let e=p;if(!e)return;let t=null,n=()=>{t!==null&&window.cancelAnimationFrame(t),t=null},r=()=>{n(),v.current&&(v.current.following=!1),_.current=!1,S.current=e.scrollTop,C.current=e.scrollHeight,w.current=e.clientHeight,H(),_e(),he(),j.current&&me(T.current)},i=()=>{v.current&&r()},a=e=>{[`ArrowUp`,`ArrowDown`,`PageUp`,`PageDown`,`Home`,`End`,` `].includes(e.key)&&i()},o=()=>{n();let r=po(e),i=T.current;t=window.requestAnimationFrame(()=>{t=null,f.current===e&&T.current===i&&(r||po(e))&&(!_.current||v.current)&&xe(e)})};e.addEventListener(`wheel`,i,{passive:!0}),e.addEventListener(`touchmove`,i,{passive:!0}),e.addEventListener(`pointerdown`,i),e.addEventListener(`keydown`,a);let s=jo(e,r,o);return()=>{n(),s(),e.removeEventListener(`wheel`,i),e.removeEventListener(`touchmove`,i),e.removeEventListener(`pointerdown`,i),e.removeEventListener(`keydown`,a)}},[p,H,_e,he,me,xe]),(0,Q.useEffect)(()=>{if(!p||typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{v.current&&U(p)});return e.observe(p),()=>e.disconnect()},[p,U]),Po({contentKey:se,enabled:d===`chat`&&c,onContentChange:U,threadElement:p,threadRef:f}),(0,Q.useLayoutEffect)(()=>{if(d!==`chat`||!c||typeof window>`u`)return;let e=g.current;if(!e)return;let t=null,n=()=>{t=null;let n=Math.max(0,Math.ceil(e.getBoundingClientRect().height));B(e=>e===n?e:n)},r=()=>{t===null&&(t=window.requestAnimationFrame(n))};n();let i=window.ResizeObserver===void 0?null:new window.ResizeObserver(r);return i?.observe(e),window.addEventListener(`resize`,r),()=>{t!==null&&window.cancelAnimationFrame(t),i?.disconnect(),window.removeEventListener(`resize`,r)}},[c,d]),(0,Q.useLayoutEffect)(()=>{let e=f.current;d===`chat`&&c&&e&&!j.current&&(v.current?U(e):_.current&&ye(e,{settle:!0}))},[z,U,ye,c,d]),(0,Q.useLayoutEffect)(()=>{v.current=null,y.current=!1,f.current?.style.removeProperty(`--chat-sent-message-space`),E.current=null,D.current=null,O.current=!1,j.current=!0,_.current=!0,S.current=0,C.current=0,w.current=0,_e(),he(),H(),R(null),de(!1),fe(mo)},[H,he,_e,le,e,de,fe]),(0,Q.useLayoutEffect)(()=>{if(n===0||n===b.current||d!==`chat`||!c)return;let e=f.current,t=e?ho(e).at(-1):void 0;if(!e||!t||t===x.current)return;b.current=n,H(),_e();let r={row:t,following:!0};v.current=r,_.current=!1,Ao(e,r),ge(e,()=>Ao(e,r)??e.scrollTop,()=>U(e)),me(le)},[n,ae,p,le,d,c,H,_e,ge,me,U]),(0,Q.useLayoutEffect)(()=>{let e=f.current;x.current=e?ho(e).at(-1)??null:null}),(0,Q.useLayoutEffect)(()=>{if(u){y.current=!0;return}let e=a.length-1;for(;e>=0&&a[e]?.role!==`user`;)e--;let t=a.slice(e+1).some(e=>e.role===`assistant`&&e.finalAnswer);if(!y.current&&!t)return;y.current=!1;let n=f.current,r=v.current;n&&r&&(v.current=null,n.style.removeProperty(`--chat-sent-message-space`),he(),_.current=r.following,r.following&&ye(n,{settle:!0}),pe(n))},[a,u,he,ye,pe]),(0,Q.useEffect)(()=>{let e=f.current;d!==`chat`||!e||j.current||!ce||i||O.current||e.scrollTop<=120&&Ce()},[ce,i,ee,k,ae.length,Ce,d]),(0,Q.useLayoutEffect)(()=>{let e=E.current,t=f.current;e&&t&&!j.current&&(ae[0]?.id===e.firstRowId?e.settled&&!i&&(E.current=null):(E.current=null,e.anchor&&No(t,e.anchor),pe(t)))},[ae,i,pe]),(0,Q.useLayoutEffect)(()=>{let e=f.current;if(d!==`chat`||!le){T.current=le,_.current=!0,me(le);return}if(!e)return;let t=T.current!==le;if(i&&(t||j.current))return;if(T.current=le,v.current){me(le);return}if(t||j.current){_.current=!0,ye(e,{conversationKey:le,finishInitial:!0,settle:!0});return}let n=po(e);_.current?(_.current=!0,de(!1),fe(xo(e)),ye(e,{settle:!0})):pe(e,{nearBottom:n})},[le,e,i,p,me,s?.id,ye,de,fe,pe,d]),(0,Q.useEffect)(()=>()=>{H(),he(),_e()},[H,he,_e]),{chatColumnStyle:V,chatThreadPreparingInitialScroll:ue,chatThreadRef:h,composerStackRef:g,goToUserMessage:Se,handleChatScroll:we,jumpToLatestChatMessage:be,showScrollToBottomButton:te,userMessageNavigation:re,chatTimelineRows:ae}}var Io=(0,Q.lazy)(()=>o(()=>import(`./MainChatThread-pzHKd_YN.js`).then(e=>({default:e.MainChatThread})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66])));function Lo({scroll:e,thread:t,composer:n,composerPrefix:r,hasApproval:i=!1,className:a=``}){let o=Fo(e);return(0,$.jsx)(Ja,{conversationKey:e.browserConversationId??`draft`,messages:e.chatMessages,enabled:!!n&&e.turnRunning,children:(0,$.jsxs)(`div`,{className:`chat-column ${i?`has-approval`:``} ${a}`,style:o.chatColumnStyle,children:[(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Io,{...t,rows:o.chatTimelineRows,threadRef:o.chatThreadRef,onScroll:e=>o.handleChatScroll(e.currentTarget),sessionId:e.browserConversationId,conversationKey:e.browserConversationId??`draft`,turnRunning:e.turnRunning})}),(0,$.jsxs)(`div`,{className:`composer-stack dock ${i?`has-approval`:``}`,ref:o.composerStackRef,children:[r,o.showScrollToBottomButton&&!o.chatThreadPreparingInitialScroll?(0,$.jsx)(ao,{canGoNext:o.userMessageNavigation.canGoNext,canGoPrevious:o.userMessageNavigation.canGoPrevious,onJumpToLatest:o.jumpToLatestChatMessage,onNext:()=>{o.userMessageNavigation.canGoNext&&o.goToUserMessage(`next`)},onPrevious:()=>{o.userMessageNavigation.canGoPrevious&&o.goToUserMessage(`previous`)}}):null,n]})]})})}function Ro({connection:e,conversationId:t,messages:n,loading:r,running:i,hasMore:a=!1,loadOlder:o,children:s,usageSessionId:c=t}){return(0,$.jsx)(Lo,{className:`ponder-agent-conversation`,scroll:{browserConversationId:t,chatSubmissionVersion:0,chatMessages:n,chatHistoryHasMore:a,chatHistoryLoading:r,onLoadMoreChatHistory:o,pendingApproval:null,showChatThread:!0,showThinkingIndicator:i,turnRunning:i,view:`chat`},thread:{connection:e,usageSessionId:c,label:`Agent conversation`,loading:r,afterMessages:s}})}var zo=Object.freeze({events:[],messages:[]}),Bo=class{projection=zo;project(e){if(e===this.projection.events)return this.projection.messages;if(!Uo(this.projection.events,e))return this.replace(e);let t=e.slice(this.projection.events.length);if(t.length===0)return this.projection={events:e,messages:this.projection.messages},this.projection.messages;let n=Vo(this.projection.messages,t);if(n)return this.projection={events:e,messages:n},n;let r=Ho(e,this.projection.events.length);if(!r)return this.replace(e);let i=e.slice(r.eventIndex),a=new Set(i.flatMap(e=>e.turnId?[e.turnId]:[])),o=this.projection.messages.filter(e=>!e.turnId||!a.has(e.turnId)),s=ir(i),c=new Set(o.map(e=>e.id));if(s.some(e=>c.has(e.id)))return this.replace(e);let l=[...o,...s];return this.projection={events:e,messages:l},l}reset(){this.projection=zo}snapshot(){return this.projection}replace(e){let t=ir(e);return this.projection={events:e,messages:t},t}};function Vo(e,t){if(t.length===0||e.length===0)return null;let n=e[e.length-1];if(n?.role!==`assistant`||n.createImproveRun||t.some(e=>e.name!==`assistant.delta`&&e.name!==`assistant.reasoning.delta`||typeof nr(e.data)?.nativeMessageId==`string`||e.turnId!==n.turnId||!e.output))return null;let r=n.content,i=n.reasoningContent,a=n.timestamp,o=!1,s=!1;for(let e of t)e.name===`assistant.delta`?(r=`${r??``}${e.output}`,o=!0):(i=`${i??``}${e.output}`,s=!0),a=e.timestamp;let c={...n,...o?{content:r}:{},...s?{reasoningContent:i}:{},timestamp:a};return[...e.slice(0,-1),c]}function Ho(e,t){let n=e[t];if(!n?.turnId)return null;let r=e.findIndex(e=>e.turnId===n.turnId);return r<0?null:{eventIndex:r}}function Uo(e,t){return e.length===0?!0:e.length>=t.length?!1:e[0]===t[0]&&e[e.length-1]===t[e.length-1]}function Wo(e,t){let n=new Map(e.events.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);let r=[...n.values()].sort((e,t)=>(e.sequence??0)-(t.sequence??0));return{...e,events:r,cursor:Math.max(e.cursor,...t.map(e=>e.sequence??0))}}function Go(e){return{events:e.events.map(e=>({...e.event,sequence:e.sequence})),cursor:e.nextSequence,before:e.previousSequence,hasMore:e.hasMore}}var Ko=[];function qo(e,t){let n=c(),r=nn(e),i=(0,Q.useMemo)(()=>[`ponder-history`,r,t],[r,t]),a=(0,Q.useRef)(new Bo),o=h({queryKey:i,enabled:!!t,staleTime:1/0,gcTime:6e5,queryFn:async()=>Go(await vr.runtimeEventsPage(e,{sessionId:t,beforeSequence:2**53-1,limit:200}))}),[s,l]=(0,Q.useState)(null),u=!!o.data;(0,Q.useEffect)(()=>{if(!t||!u)return;let r=n.getQueryData(i);if(!r)return;let a=ar(e,e=>{e.sessionId===t&&n.setQueryData(i,t=>t&&Wo(t,[e]))},()=>{},void 0,{afterSequence:r.cursor,fetchImpl:(e,n)=>{let r=new URL(String(e));return r.searchParams.set(`sessionId`,t),fetch(r,n)}});return()=>a.close()},[e,t,u,i,n]);async function d(){let r=n.getQueryData(i);if(!t||!r?.hasMore||s?.key===i&&s.loading)return!1;l({key:i,loading:!0,error:null});try{let a=Go(await vr.runtimeEventsPage(e,{sessionId:t,beforeSequence:r.before,limit:200}));return n.setQueryData(i,e=>e&&{...Wo(e,a.events),before:a.before,hasMore:a.hasMore}),l({key:i,loading:!1,error:null}),a.events.length>0}catch(e){return l({key:i,loading:!1,error:e instanceof Error?e.message:String(e)}),!1}}let f=o.data?.events??Ko,p=(0,Q.useMemo)(()=>a.current.project(f),[f]),m=[...f].reverse().find(e=>[`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`].includes(e.name));return{events:f,messages:p,error:s?.key===i&&s.error?s.error:o.error?.message??null,loading:!!t&&o.isPending||s?.key===i&&s.loading===!0,hasMore:o.data?.hasMore??!1,loadOlder:d,running:m?.name===`turn.started`}}var Jo=[];function Yo(e,t){let n=t?.id.startsWith(`codex_history_`)===!0,r=t?.metadata?.nativeHistoryId,i=n||typeof r==`string`,a=qo(e,i?null:t?.id??null),[o,s]=(0,Q.useState)({sessionId:t?.id,limit:500}),c=o.sessionId===t?.id?o.limit:500,l=(0,Q.useRef)(new Bo),u=h({queryKey:[`native-agent-transcript`,nn(e),t?.id,c],enabled:!!(t&&i),staleTime:2e3,gcTime:6e5,refetchInterval:3e3,queryFn:async()=>{if(n){let n=await vr.codexHistoryThread(e,t.id,{limit:c,tail:!0});return{events:n.events,hasMore:n.events.length>=c}}await K(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:r})});let i=[],a=2**53-1,o=!1;do{let n=await vr.runtimeEventsPage(e,{sessionId:t.id,beforeSequence:a,limit:Math.min(200,c-i.length)});if(i.unshift(...n.events.map(e=>e.event)),o=n.hasMore,!o||n.previousSequence===a)break;a=n.previousSequence}while(i.length<c);return{events:i,hasMore:o}}}),d=u.data?.events??Jo,f=(0,Q.useMemo)(()=>l.current.project(d),[d]),p=[...d].reverse().find(e=>[`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`].includes(e.name));return i?{events:d,messages:f,error:u.error?.message??null,loading:u.isPending,hasMore:u.data?.hasMore??!1,loadOlder:async()=>{s({sessionId:t?.id,limit:c+500})},running:p?.name===`turn.started`}:a}function Xo(e,t){let n={turnId:e.remoteTurnId??e.id,timestamp:``,source:`provider`},r=[{...n,id:`${e.id}:prompt`,name:`turn.started`,timestamp:e.createdAt,args:{prompt:e.assignment}}];for(let e of t)if(e.type===`assistant.delta`||e.type===`assistant.reasoning.delta`)e.text&&r.push({...n,id:e.id,name:e.type,output:e.text});else if([`tool.started`,`tool.completed`,`tool.failed`].includes(e.type)){let t=/^([A-Za-z][A-Za-z0-9_.:-]{0,95}): (?:started|completed|failed|updated)$/.exec(e.text??``)?.[1];r.push({...n,id:e.id,name:e.type===`tool.started`?`tool.started`:`tool.completed`,action:t??`tool`,status:e.type===`tool.started`?`started`:e.type===`tool.failed`?`failed`:`completed`})}let i=[`completed`,`failed`,`cancelled`].includes(e.state),a=e.resultText?.trim();if(i&&a){let t=-1,i=-1;for(let e=0;e<r.length;e++)r[e].name===`assistant.delta`&&(t=e),(r[e].name===`tool.started`||r[e].name===`tool.completed`)&&(i=e);let o=t;for(;o>0&&r[o-1]?.name===`assistant.delta`;)o--;let s=t<0?``:r.slice(o,t+1).map(e=>e.output??``).join(``);t>=0&&(t>i||s.trim()===a)?r.splice(o,t-o+1,{...n,id:r[o].id,name:`assistant.delta`,output:a,timestamp:``}):r.push({...n,id:`${e.id}:result`,name:`assistant.delta`,output:a,timestamp:``})}return i&&r.push({...n,id:`${e.id}:terminal`,name:e.state===`failed`?`turn.failed`:e.state===`cancelled`?`turn.interrupted`:`turn.completed`,timestamp:``,...e.error?{error:e.error}:{}}),ir(r)}function Zo({connection:e,accountScopeKey:t,assignmentId:n,output:r}){let i=c(),a=JSON.stringify([nn(e),t,n]),o=(0,Q.useRef)(a);o.current=a;let[s,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(null);(0,Q.useEffect)(()=>(o.current=a,l(!1),d(null),()=>{o.current=null}),[a]),Y(u);async function f(c){if(s)return;let u=a,f=window.open(`about:blank`,`_blank`);f&&(f.opener=null),l(!0),d(null);try{let a=await i.fetchQuery({queryKey:[`ponder-hosted-output`,nn(e),t,n,r.id],staleTime:0,gcTime:6e4,queryFn:({signal:t})=>K(e,`/v1/ponder/local/hosted-agents/${encodeURIComponent(n)}/outputs/${encodeURIComponent(r.id)}`,{signal:t})});if(o.current!==u){f?.close();return}let s=c===`preview`?a.previewURL:a.downloadURL,l=s?er(s):null;if(!l)throw Error(c===`preview`?`This output is not available for preview.`:`This output is not available for download.`);f?f.location.replace(l):window.location.assign(l)}catch(e){f?.close(),o.current===u&&d(e instanceof Error?e.message:String(e))}finally{o.current===u&&l(!1)}}return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`strong`,{children:r.name}),r.previewURL?(0,$.jsx)(`button`,{type:`button`,disabled:s,onClick:()=>void f(`preview`),children:`Preview`}):null,(0,$.jsx)(`button`,{type:`button`,disabled:s,"aria-label":`Download ${r.name}`,onClick:()=>void f(`download`),children:s?`Preparing…`:`Download`})]})}var Qo={preparing:`Preparing`,submitting:`Submitting`,running:`Working`,completed:`Completed`,needs_attention:`Needs attention`,failed:`Failed`,cancelled:`Cancelled`,unknown:`Status unknown`};function $o(e){try{return`Hosted sandbox · ${new URL(e.account.apiBaseUrl).host}`}catch{return`Hosted sandbox`}}function es(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e;for(let e of[`label`,`title`,`text`,`name`,`value`])if(typeof t[e]==`string`)return t[e]}return JSON.stringify(e)??String(e)}function ts({connection:e,accountScopeKey:t,assignment:n}){let r=c(),i=nn(e),a=[`ponder-hosted-agent`,i,t,n.id],o=`/v1/ponder/local/hosted-agents/${encodeURIComponent(n.id)}`,s=h({queryKey:a,staleTime:2e3,gcTime:6e5,refetchInterval:e=>[`completed`,`failed`,`cancelled`].includes(e.state.data?.assignment.state??``)?3e4:3e3,queryFn:({signal:t})=>K(e,o,{signal:t})}),l=Gr({mutationFn:()=>K(e,`${o}/cancel`,{method:`POST`,body:`{}`}),onSuccess:e=>{r.setQueryData(a,e),r.invalidateQueries({queryKey:[`ponder-hosted-agents`,i]})},onError:()=>{s.refetch()}});Y(s.error),Y(l.error);let u=s.data?.assignment??n,d=(0,Q.useMemo)(()=>Xo(u,s.data?.events??[]),[u,s.data?.events]),f=[`preparing`,`submitting`,`running`].includes(u.state);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`ponder-agent-assignment`,children:[(0,$.jsxs)(`span`,{children:[$o(u),` · `,Qo[u.state]]}),u.wait?(0,$.jsxs)(`div`,{className:`ponder-hosted-wait`,children:[(0,$.jsx)(`strong`,{children:u.wait.title}),(0,$.jsx)(`span`,{children:`This hosted assignment is waiting in its Work environment.`}),u.wait.options.length?(0,$.jsxs)(`dl`,{children:[(0,$.jsx)(`dt`,{children:`Recorded response options`}),u.wait.options.map((e,t)=>(0,$.jsx)(`dd`,{children:es(e)},t))]}):null]}):null,u.canCancel?(0,$.jsx)(`button`,{type:`button`,disabled:l.isPending,onClick:()=>l.mutate(),children:`Cancel assignment`}):null]}),(0,$.jsxs)(Ro,{connection:e,usageSessionId:null,conversationId:`hosted:${u.id}`,messages:d,loading:s.isPending,running:f,children:[!s.data&&!s.isPending?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void s.refetch(),children:`Retry loading conversation`}):null,s.data?.outputs.length?(0,$.jsxs)(`section`,{className:`ponder-hosted-outputs`,"aria-label":`Assignment outputs`,children:[(0,$.jsx)(`h3`,{children:`Outputs`}),s.data.outputs.map(n=>(0,$.jsx)(Zo,{connection:e,accountScopeKey:t,assignmentId:u.id,output:n},`${t}:${u.id}:${n.id}`))]}):null]})]})}function ns({connection:e,accountScopeKey:t,agents:n,hostedAgents:r=[],onControl:i,onOpenChat:a,selectionRequest:o}){let[s,c]=(0,Q.useState)(null);(0,Q.useLayoutEffect)(()=>{o&&c({kind:`local`,id:o.sessionId})},[o]);let l=(0,Q.useRef)(null),u=(0,Q.useRef)(new Map),d=(0,Q.useRef)(null),f=(0,Q.useRef)(s);(0,Q.useLayoutEffect)(()=>{s?l.current?.focus():f.current&&u.current.get(`${f.current.kind}:${f.current.id}`)?.focus(),f.current=s},[s]),(0,Q.useLayoutEffect)(()=>{let e=d.current;d.current=null,!s&&e&&document.activeElement===document.body&&u.current.get(e)?.focus()});function p(e,t){t?u.current.set(e,t):(u.current.get(e)===document.activeElement&&(d.current=e),u.current.delete(e))}let m=s?.kind===`local`?n.find(e=>e.session.id===s.id):void 0,h=s?.kind===`hosted`?r.find(e=>e.id===s.id):void 0,g=Yo(e,m?.session);Y(g.error);let[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(null);Y(y);async function x(e,t){v(!0);try{await i(e,t),b(null)}catch(e){b(to(e))}finally{v(!1)}}async function S(e){v(!0);try{await a(e.session.id),b(null)}catch(e){b(to(e))}finally{v(!1)}}function C(e){return[`working`,`queued`,`preparing`,`submitting`,`running`].includes(e)?`Active`:[`failed`,`waiting_approval`,`waiting`,`paused`,`interrupted`,`unknown`,`needs_attention`].includes(e)?`Needs attention`:`Done`}return(0,$.jsxs)(`section`,{className:`ponder-agents-view`,"aria-label":`Pal agents`,children:[(0,$.jsxs)(`header`,{children:[m||h?(0,$.jsx)(`button`,{ref:l,type:`button`,"aria-label":`Back to agents`,onClick:()=>c(null),children:(0,$.jsx)(Lr,{size:16})}):null,(0,$.jsx)(`h2`,{children:h?.title??m?.session.title??`Agents`})]}),h?(0,$.jsx)(ts,{connection:e,accountScopeKey:t,assignment:h}):m?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`ponder-agent-assignment`,children:[m.session.metadata?.nativeWorkerCanResume===!1?(0,$.jsx)(`span`,{children:`Controlled by its parent conversation · Read-only transcript`}):null,m.owner?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:m.owner===`user`?`You are directing this agent`:`Pal is directing this agent`}),(0,$.jsx)(`button`,{type:`button`,disabled:_,onClick:()=>void x(m,m.owner===`ponder`?`user`:`ponder`),children:m.owner===`ponder`?`Take control`:`Return to Pal`})]}):(0,$.jsx)(`button`,{type:`button`,disabled:_,onClick:()=>void S(m),children:m.session.metadata?.nativeWorkerCanResume===!1?`Open transcript`:`Open chat`})]}),(0,$.jsx)(Ro,{connection:e,conversationId:m.session.id,messages:g.messages,loading:g.loading,running:g.running,hasMore:g.hasMore,loadOlder:async()=>await g.loadOlder()!==!1})]}):(0,$.jsx)(`div`,{className:`ponder-agent-list`,children:n.length||r.length?[`Active`,`Needs attention`,`Done`].map(e=>{let t=n.filter(t=>C(t.status)===e),i=r.filter(t=>C(t.state)===e);return t.length||i.length?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{children:e}),t.map(e=>(0,$.jsxs)(`div`,{className:`ponder-agent-row`,children:[(0,$.jsxs)(`button`,{ref:t=>p(`local:${e.session.id}`,t),type:`button`,onClick:()=>c({kind:`local`,id:e.session.id}),children:[(0,$.jsx)(kr,{session:e.session}),(0,$.jsxs)(`span`,{children:[e.session.title,e.latestActivity||e.assignment!==e.session.title?(0,$.jsx)(`small`,{children:e.latestActivity??e.assignment}):null]})]}),e.owner?(0,$.jsx)(`button`,{type:`button`,disabled:_,onClick:()=>void x(e,e.owner===`ponder`?`user`:`ponder`),children:e.owner===`ponder`?`Take control`:`Return`}):(0,$.jsx)(`button`,{type:`button`,disabled:_,onClick:()=>void S(e),children:e.session.metadata?.nativeWorkerCanResume===!1?`Open transcript`:`Open chat`})]},e.session.id)),i.map(e=>(0,$.jsxs)(`div`,{className:`ponder-agent-row`,children:[(0,$.jsxs)(`button`,{ref:t=>p(`hosted:${e.id}`,t),type:`button`,onClick:()=>c({kind:`hosted`,id:e.id}),children:[(0,$.jsx)(br,{size:16}),(0,$.jsxs)(`span`,{children:[e.title,(0,$.jsxs)(`small`,{children:[$o(e),` · `,Qo[e.state]]})]})]}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>c({kind:`hosted`,id:e.id}),children:`Open conversation`})]},`hosted:${e.id}`))]},e):null}):null})]})}function rs({connection:e,ponder:t,accountScopeKey:n,parentSessionId:r,sessions:i,onOpenChat:a,selectionRequest:o}){let[s,c]=(0,Q.useState)([]),[l,u]=(0,Q.useState)(null);Y(l),(0,Q.useEffect)(()=>{if(c([]),u(null),!t)return;let n=!0,r=!1;async function i(){if(!r){r=!0;try{let t=await K(e,`/v1/ponder/local/agents`);n&&(c(t.items),u(null))}catch(e){n&&u(to(e))}finally{r=!1}}}i();let a=window.setInterval(()=>void i(),3e3);return()=>{n=!1,window.clearInterval(a)}},[e,t,n]);let d=h({queryKey:[`ponder-hosted-agents`,nn(e),n],enabled:t,staleTime:2e3,refetchInterval:t?5e3:!1,queryFn:({signal:t})=>K(e,`/v1/ponder/local/hosted-agents`,{signal:t})});Y(d.error);let f=Kr({queryKey:[`native-agent-children`,nn(e),n,r],enabled:!(t||!r),staleTime:2e3,refetchInterval:3e3,initialPageParam:{},queryFn:({pageParam:t})=>K(e,`/v1/native-history/children`,{method:`POST`,body:JSON.stringify({parentSessionId:r,...t})}),getNextPageParam:e=>e.beforeOffset===null?e.cursors&&Object.keys(e.cursors).length?{cursors:e.cursors}:void 0:{beforeOffset:e.beforeOffset}});Y(f.error);let p=new Map(i.map(e=>[e.id,e]));for(let e of f.data?.pages??[])for(let t of e.items)p.set(t.id,t);let m=t?s:[...p.values()].filter(e=>r&&e.parentSessionId===r).map(e=>({session:e,status:e.status===`active`?`working`:e.status===`failed`?`failed`:`idle`,assignment:e.title,latestActivity:null}));async function g(t,n){let r=s.find(e=>e.session.id===t.session.id);if(!r)throw Error(`This agent has no Pal control relationship.`);let i=await K(e,`/v1/ponder/local/agents/${encodeURIComponent(t.session.id)}/control`,{method:`POST`,body:JSON.stringify({owner:n,revision:r.revision})});c(e=>e.map(e=>e.session.id===i.session.id?i:e)),n===`user`&&await a(t.session.id)}async function _(t){let n=m.find(e=>e.session.id===t)?.session;if(n?.metadata?.nativeWorker&&n.hiddenFromDefaultSidebar){let n=`/v1/sessions/${encodeURIComponent(t)}`;await K(e,n,{method:`PATCH`,body:JSON.stringify({hiddenFromDefaultSidebar:!1})})}await a(t)}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ns,{selectionRequest:o,connection:e,accountScopeKey:n,agents:m,hostedAgents:t?d.data?.items??[]:[],onControl:g,onOpenChat:_},t?`ponder:${n}`:r),!t&&f.hasNextPage?(0,$.jsx)(`button`,{type:`button`,disabled:f.isFetchingNextPage,onClick:()=>void f.fetchNextPage(),children:`Load earlier agents`}):null]})}var is=(0,Q.createContext)(`default`),as=`openpond-chat-context-selected`,os=new Map,ss=new Set,cs=new Set;function ls(e,t){os.set(e,t);for(let e of cs)e()}var us=e=>(cs.add(e),()=>{cs.delete(e)});function ds(e,t,n){let r=(0,Q.useContext)(is),i=`${e?nn(e):`disconnected`}:${n??r}`,a=`${i}:${t??`new`}`,o=c(),s=(0,Q.useSyncExternalStore)(us,()=>os.get(a),()=>void 0),l=(0,Q.useSyncExternalStore)(us,()=>ss.has(a),()=>!1),u=h({queryKey:[`chat-context-catalog`,i,t],enabled:!!e,staleTime:3e4,queryFn:async({signal:n})=>{let r=await Vr(e,`dataset`,{action:`context_catalog`,payload:t?{sessionId:t}:{}},n);return{...r,options:ma.array().parse(r.options)}}}),d=h({queryKey:[`chat-context-selection`,a],enabled:!!(e&&t&&!l),refetchInterval:1e4,queryFn:async({signal:n})=>{let r=await Vr(e,`dataset`,{action:`context_selection`,payload:{sessionId:t}},n),a=r.selection?ha.parse(r.selection):null,s=o.getQueryData([`chat-context-catalog`,i,t]);return a?.target.scopeId&&s&&!s.options.some(e=>e.target.scopeId===a.target.scopeId)&&o.invalidateQueries({queryKey:[`chat-context-catalog`,i,t]}),a}}),f=t?d.data===void 0?s??null:d.data:s??null;(0,Q.useEffect)(()=>{if(!e||!t)return;let n=e=>{e.detail?.sessionId===t&&o.invalidateQueries({queryKey:[`chat-context-selection`,a]})};return window.addEventListener(`openpond-resource-focus-changed`,n),()=>window.removeEventListener(`openpond-resource-focus-changed`,n)},[e,t,a,o]);let p=f?.training?f.training.location===`cloud`?{kind:`model`,id:f.training.job.modelProjectId,location:`cloud`,teamId:f.training.owner.teamId,apiOrigin:f.training.apiOrigin}:{kind:`model`,id:f.training.modelId,location:`local`}:f?.model?f.target:null,m=h({queryKey:[`chat-context-model-runs`,i,p],enabled:!!(e&&p),queryFn:async({signal:t})=>{let n=await Vr(e,`dataset`,{action:`context_runs`,payload:{target:p}},t);return{runs:ma.array().parse(n.runs)}}}),g=(0,Q.useCallback)(async(n,r)=>{if(e&&!ss.has(a)){ss.add(a);for(let e of cs)e();try{await o.cancelQueries({queryKey:[`chat-context-selection`,a]});let s=await Vr(e,`dataset`,{action:`context_select`,payload:{target:n,...r?.newExperiment?{newExperiment:!0}:{},...t?{sessionId:t}:{}}}),c=s.selection?ha.parse(s.selection):null;await o.cancelQueries({queryKey:[`chat-context-selection`,a]}),ls(a,c),t&&o.setQueryData([`chat-context-selection`,a],c),r?.newExperiment&&o.invalidateQueries({queryKey:[`chat-context-catalog`,i,t]}),t&&window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:t}})),c&&window.dispatchEvent(new CustomEvent(as,{detail:{sessionId:t,scope:i,targetKey:JSON.stringify(c.target)}}))}finally{ss.delete(a);for(let e of cs)e()}}},[e,a,o,i,t]),_=(0,Q.useCallback)(e=>{let n=os.get(a);n!==void 0&&(ls(`${i}:${e}`,n),o.setQueryData([`chat-context-selection`,`${i}:${e}`],n)),t||ls(a,null)},[a,i,o,t]);return{selection:f,selecting:l,catalog:u,runs:m,select:g,selectionError:d.error,moveToSession:_,scope:i}}function fs({connection:e,sessionId:t,accountScope:n,active:r,onOpen:i}){let a=ds(r?e:null,t,n);return(0,Q.useEffect)(()=>{let e=e=>{let n=e.detail;r&&n?.sessionId===t&&n.scope===a.scope&&i()};return window.addEventListener(as,e),()=>window.removeEventListener(as,e)},[r,t,a.scope,i]),a.selection?.target.kind===`dataset`?`Experiment draft`:a.selection?.model?.name??a.selection?.label??`Ponder`}function ps(e){let[t,n]=(0,Q.useState)({tabs:[],activeId:null});(0,Q.useEffect)(()=>{n({tabs:[],activeId:null})},[e]),(0,Q.useEffect)(()=>window.openpond?.browser?.onRevealRequest?.(t=>{t.conversationId===e&&n(e=>({...e,activeId:null}))}),[e]);let r=(0,Q.useCallback)(e=>{n(t=>({tabs:t.tabs.some(t=>t.publicationId===e.publicationId)?t.tabs:[...t.tabs,e],activeId:e.publicationId}))},[]),i=(0,Q.useCallback)(e=>{n(t=>{let n=t.tabs.findIndex(t=>t.publicationId===e),r=t.tabs.filter(t=>t.publicationId!==e);return{tabs:r,activeId:t.activeId===e?r[Math.min(n,r.length-1)]?.publicationId??null:t.activeId}})},[]),a=(0,Q.useCallback)(e=>n(t=>({...t,activeId:e})),[]),o=(0,Q.useCallback)(()=>a(null),[a]);return{...t,open:r,close:i,select:a,showBrowser:o}}function ms(e,t){let n=(0,Q.useCallback)(n=>t?e.subscribeSession(t,n):()=>void 0,[t,e]),r=(0,Q.useCallback)(()=>e.getSessionSnapshot(t),[t,e]),i=(0,Q.useSyncExternalStore)(n,r,r);return(0,Q.useEffect)(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),i}var hs=new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`,`Enter`,`Escape`]);function gs(e,t){return!t||!hs.has(e.key)?!1:(e.preventDefault(),!0)}function _s(e,{open:t,matches:n,index:r,setIndex:i,select:a,dismiss:o}){if(!t)return!1;if(n.length>0){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;return i(e=>(e+t+n.length)%n.length),!0}if(e.key===`Enter`||e.key===`Tab`)return e.preventDefault(),a(n[r]??n[0]),!0}return e.key===`Escape`&&(e.preventDefault(),o(),!0)}var vs=`openpond-composer-resource-request`;function ys(e){window.dispatchEvent(new CustomEvent(vs,{detail:{...e,contexts:fr.parse(e.contexts)}}))}function bs({connection:e,sessionId:t,events:n,blocked:r,prompt:i,selectionKey:a,inputRef:o}){let[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useId)(),f=(0,Q.useRef)(!1),[p,m]=(0,Q.useState)(!1),h=(0,Q.useRef)(!1),g=(0,Q.useRef)(0),_=(0,Q.useRef)(new Set),v=[...n].reverse().find(e=>e.sessionId===t&&[`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`workspace_action_result`].includes(e.name))?.id,y=`${nn(e)}:${t}:${a}:${v??``}`,b=(0,Q.useRef)({key:y,blocked:r,prompt:i,value:s,error:l});b.current={key:y,blocked:r,prompt:i,value:s,error:l},(0,Q.useEffect)(()=>{let n=++g.current;if(b.current.error!==null&&u(null),!e||!t||r||p||i)return;let a=new AbortController,o;async function s(){try{let r=await Vr(e,`dataset`,{action:`next_step`,payload:{sessionId:t,operation:`read`}},a.signal);if(n!==g.current||a.signal.aborted)return;let i=r.suggestion?_a.parse(r.suggestion):null;i?.sessionId!==t||!i||_.current.has(i.id)?b.current.value!==null&&c(null):(b.current.value?.key!==y||b.current.value.suggestion.id!==i.id)&&c({key:y,suggestion:i})}catch{}finally{a.signal.aborted||(o=setTimeout(s,1e4))}}return s(),()=>{a.abort(),clearTimeout(o)}},[e,t,y,r,p,!!i,v]);let x=!p&&!r&&!i&&s?.key===y&&!_.current.has(s.suggestion.id)?s.suggestion:null;async function S(){if(!e||!t||!x||f.current||h.current||b.current.blocked||o.current?.getPrompt())return;let n=x,r=y,i=g.current;h.current=!0,u(null);try{let a=await Vr(e,`dataset`,{action:`next_step`,payload:{sessionId:t,operation:`accept`,id:n.id}});if(_.current.add(n.id),c(null),!a.suggestion||g.current!==i||b.current.key!==r||b.current.blocked||f.current||o.current?.getPrompt())return;let s=_a.parse(a.suggestion);if(s.id!==n.id||s.sessionId!==t)return;ys({sessionId:t,text:s.draft,contexts:s.contexts})}catch(e){u(e instanceof Error?e.message:`Could not prepare this suggestion.`)}finally{h.current=!1}}function C(){x&&e&&t&&!_.current.has(x.id)&&(_.current.add(x.id),c(null),Vr(e,`dataset`,{action:`next_step`,payload:{sessionId:t,operation:`dismiss`,id:x.id}}).catch(e=>u(e instanceof Error?e.message:`Could not dismiss this suggestion.`)))}function w(){f.current||(f.current=!0,g.current++,m(!0))}function T(e){return f.current||e.nativeEvent.isComposing||e.keyCode===229?(w(),!0):(e.key===`Enter`||e.key===`Tab`)&&(h.current||e.repeat)?(e.preventDefault(),!0):x?e.key===`Escape`?(e.preventDefault(),C(),!0):(e.key===`Enter`||e.key===`Tab`)&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(e.preventDefault(),e.stopPropagation(),S(),!0):!1}return{suggestion:x,descriptionId:d,accept:S,dismiss:C,onKeyDown:T,error:l,onCompositionStart:w,onCompositionEnd:()=>{f.current=!1,m(!1)}}}function xs({next:e}){return(0,$.jsxs)($.Fragment,{children:[e.suggestion?(0,$.jsxs)(`div`,{className:`composer-next-step`,id:e.descriptionId,children:[(0,$.jsx)(`span`,{children:e.suggestion.label}),(0,$.jsx)(`small`,{"aria-hidden":`true`,children:`Enter to draft`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Press Enter or Tab to insert an editable draft. This does not send.`})]}):null,(0,$.jsx)(X,{error:e.error})]})}function Ss(e,t){if(!e.scope||!e.focus.scopeContext)return[];let n=e.scope.runs.at(-1),r=e.focus.experiment??(n?e.experiments.find(e=>e.id===n.id)??n:null),i=[e.focus.dataset,r,...e.graders].filter(e=>!!e).map(({kind:e,id:t,revision:n,datasetId:r,datasetRevision:i,owner:a,profileRef:o})=>({kind:e,id:t,revision:n,datasetId:r,datasetRevision:i,owner:a,profileRef:o})),a=t??e.scope.training?.find(t=>ct(t)===e.scope.selectedTrainingKey);return fr.parse([{scopeId:e.scope.id,selectionVersion:e.focus.scopeContext.selectionVersion,...e.scope.evaluationModel?{evaluationModel:e.scope.evaluationModel}:{},executionLocation:e.scope.executionLocation??`local`,resources:i,...a?{training:[lt(a)]}:{}}])}function Cs(e,t){let n=new Map([...e,...t].map(e=>[JSON.stringify(e),e]));return fr.parse([...n.values()])}function ws(e){return e.length?{chatResourceContexts:e,...e.length===1?{chatExperimentScopeId:e[0].scopeId,chatExperimentSelectionVersion:e[0].selectionVersion}:{}}:{}}function Ts(e,t,n){return e?.length?{contexts:e,focus:null}:{contexts:n?.model||n?.training?[]:t,focus:n}}function Es(e,t,n,r){let i=(0,Q.useRef)(new Map),a=r?.resourceContexts,o={current:a?{get:e=>a.get(`session:${e}`),set:(e,t)=>a.set(`session:${e}`,t),delete:e=>a.delete(`session:${e}`)}:i.current},s=(0,Q.useCallback)(n=>{n.trim()||o.current.delete(e),t(n)},[t,e,a]);function c(){return o.current.get(e)??Ss(n)}return{resourceDrafts:o,onPromptChange:s,currentResourceContexts:c}}function Ds(e){async function t(t,n){let r=(n??e.getPrompt()).trim()||(e.attachmentCount?`Please review the attached files.`:``);if(!e.running||!r)return!1;let i=e.getResourceContexts?.()??[];if(e.hasActions)return e.showToast(`Send the selected action as a separate message before steering this turn.`,`info`),!1;if(!e.begin(e.scope))return!1;e.setError(null);let a,o=!1;try{a=await e.prepareAttachments?.();let n=a?.attachments??[];if(t===`queued`&&!e.inbox.enabled)return e.stageLocal(r,i,n),e.clear(),o=!0,!0;let s=e.inbox.enabled?t===`steer`?await e.inbox.steer(r,i,n.length?n:void 0):await e.inbox.queue({prompt:r,attachments:n,metadata:ws(i),modelRef:{providerId:e.provider,modelId:e.model},...e.provider===`codex`?fe(e.codexPermissionMode):{approvalPolicy:`on-request`,sandbox:`workspace-write`},codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort}):await e.onSubmit(n,null,null,{preservePrompt:!0,promptOverride:r,turnMetadata:{...ws(i),interactionKind:`steer`}});return s&&(!e.getCurrentSubmissionScopeKey||e.getCurrentSubmissionScopeKey()===e.scope)&&e.clear(),o=s,s}catch(t){return e.setError(t instanceof Error?t.message:String(t)),!1}finally{a?.settle(o),e.finish(e.scope)}}return{stageCurrentSteerDraft:e=>t(`queued`,e),submitImmediateSteer:e=>t(`steer`,e)}}var Os=()=>({dataset:null,experiment:null});function ks(e,t){let[n,r]=(0,Q.useState)(Os),[i,a]=(0,Q.useState)([]),[o,s]=(0,Q.useState)([]),[c,l]=(0,Q.useState)([]),[u,d]=(0,Q.useState)([]),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(0),[v,y]=(0,Q.useState)(null),[b,x]=(0,Q.useState)(!1),S=(0,Q.useRef)(0),C=(0,Q.useRef)(null),w=(0,Q.useRef)(n);w.current=n;let T=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(S.current++,C.current?.abort(),C.current=null,a([]),s([]),l([]),x(!1),r(Os()),y(null),!e||!t)return;let n=new AbortController,i,o=!1,c=!1,u=async()=>{if(o){c=!0;return}o=!0,clearTimeout(i);let d=S.current;try{let i=await Vr(e,`dataset`,{action:`context`,payload:{sessionId:t}},n.signal);!n.signal.aborted&&d===S.current&&(r(i.focus),a(i.datasets),s(i.experiments),l(i.graders),y(null))}catch(e){!n.signal.aborted&&d===S.current&&y(e instanceof Error?e.message:`Resource context unavailable.`)}o=!1,n.signal.aborted||(c?(c=!1,u()):i=setTimeout(()=>void u(),1e4))};T.current=()=>void u();let d=e=>{e.detail?.sessionId===t&&u()};return window.addEventListener(`openpond-resource-focus-changed`,d),u(),()=>{window.removeEventListener(`openpond-resource-focus-changed`,d),T.current=null,S.current++,C.current?.abort(),n.abort(),clearTimeout(i)}},[e,t]),(0,Q.useEffect)(()=>{if(d([]),h(null),!e||!t||!n.scopeContext?.activeScopeId)return;let r=new AbortController;return p(!0),Vr(e,`experiment`,{action:`models`},r.signal).then(e=>{r.signal.aborted||d(e.models)}).catch(e=>{r.signal.aborted||h(e instanceof Error?e.message:`Model choices unavailable.`)}).finally(()=>{r.signal.aborted||p(!1)}),()=>r.abort()},[e,t,!!n.scopeContext?.activeScopeId,g]);async function E(n,i){if(!e||!t||C.current)return!1;let a=++S.current,o=new AbortController;C.current=o,x(!0);try{let s=await Vr(e,`dataset`,{action:n,payload:{sessionId:t,...i,...w.current.scopeContext?{expectedSelectionVersion:w.current.scopeContext.selectionVersion}:{}}},o.signal);return a===S.current&&!o.signal.aborted&&(r(s),w.current=s,n!==`set_model`&&n!==`set_destination`&&l((s.scopeContext?at(s.scopeContext).find(e=>e.id===s.scopeContext?.activeScopeId):null)?.graders??[]),y(null)),o.signal.aborted||window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:t}})),!o.signal.aborted}catch(e){return a===S.current&&!o.signal.aborted&&y(e instanceof Error?e.message:`Resource selection failed.`),!1}finally{C.current===o&&(C.current=null,x(!1),T.current?.())}}let D=n.dataset?.id,O=n.dataset?.revision,k=(0,Q.useCallback)(t=>!e||!D||!O?Promise.reject(Error(`Select a dataset to inspect its rows.`)):Vr(e,`dataset`,{action:`read`,id:D,expectedRevision:O},t),[e,D,O]);return{focus:n,scope:(n.scopeContext?at(n.scopeContext).find(e=>e.id===n.scopeContext?.activeScopeId):null)??null,datasets:i,experiments:o,graders:c,selecting:b,error:v,readDataset:k,models:u,modelsLoading:f,modelsError:m,refreshModels:()=>_(e=>e+1),selectDestination:e=>E(`set_destination`,{executionLocation:e}),selectModel:e=>E(`set_model`,{evaluationModel:e}),select:(e,t,n)=>E(`set_focus`,{kind:e,id:t||null,...n?{revision:n}:{}}),selectScope:e=>E(`select_scope`,{scopeId:e}),createScope:e=>E(`create_scope`,{operationId:`scope-${crypto.randomUUID()}`,...e===void 0?{}:{graderId:e}}),renameScope:(e,t)=>E(`rename_scope`,{scopeId:e,name:t})}}function As({context:e,onClose:t}){let[n,r]=(0,Q.useState)(``),[i,a]=(0,Q.useState)(null),o=(e.catalog.data?.options??[]).filter(e=>e.target.kind===`dataset`);async function s(){try{await e.select(pa.parse(JSON.parse(n)),{newExperiment:!0}),t()}catch(e){a(e instanceof Error?e.message:`Could not prepare this experiment.`)}}return(0,$.jsxs)(Gn,{ariaLabel:`New experiment`,className:`training-dialog dataset-workspace-dialog`,onClose:t,children:[(0,$.jsxs)(`header`,{className:`training-dialog-header`,children:[(0,$.jsx)(`h2`,{children:`New experiment`}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close dialog`,onClick:t,children:(0,$.jsx)(Hn,{size:16})})]}),(0,$.jsx)(Z,{floating:!0,label:`Experiment dataset`,value:n,options:[{value:``,label:`Dataset`,disabled:!0},...o.map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}))],onChange:r,disabled:e.selecting||e.catalog.isPending}),(0,$.jsx)(`p`,{children:`Use this dataset and its graders as the starting point. Review the evaluation model in chat before running.`}),(0,$.jsx)(X,{error:i??e.catalog.error,children:e.catalog.error?(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void e.catalog.refetch(),children:`Retry datasets`}):null}),(0,$.jsxs)(`div`,{className:`training-dialog-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:t,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:!n||e.selecting,onClick:()=>void s(),children:`Use in experiment`})]})]})}var js={experiment:`Experiment`,model:`Model`};function Ms({context:e,disabled:t=!1,placement:n=`bottom`}){let[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(null),p=e.selection,m=p?.target.kind===`training`?`model`:p?.target.kind===`dataset`?`experiment`:p?.target.kind,h=s??m??`experiment`,g=(e.catalog.data?.options??[]).filter(e=>e.target.kind===h),_=p?.training?p.training.location===`cloud`?p.training.job.modelProjectId:p.training.modelId:null,v=p?.target.kind===h||h===`experiment`&&p?.target.kind===`dataset`?p:h===`model`&&_?g.find(e=>e.target.id===_&&e.target.location===p?.training?.location):null,y=v?JSON.stringify(v.target):``;v&&!g.some(e=>JSON.stringify(e.target)===y)&&g.unshift(v);let b=t||e.selecting,x=l??e.selectionError?.message??e.catalog.error?.message??e.catalog.data?.warning;(0,Q.useEffect)(()=>{if(!r)return;function e(e){d.current?.contains(e.target)||i(!1)}function t(e){e.key===`Escape`&&(i(!1),f.current?.focus())}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[r]);async function S(t){if(t===`new-experiment`)i(!1),o(!0);else{u(null);try{await e.select(t?pa.parse(JSON.parse(t)):null),i(!1),f.current?.focus()}catch(e){u(e instanceof Error?e.message:`Training selection failed.`)}}}return(0,$.jsxs)(`div`,{ref:d,className:`chat-context-picker codex-model-reasoning${n===`top`?` open-up`:``}`,children:[(0,$.jsxs)(`button`,{ref:f,type:`button`,className:`composer-project-trigger chat-training-trigger${r?` active`:``}`,"aria-label":`Ponder`,"aria-haspopup":`dialog`,"aria-expanded":r,disabled:b,title:p?`${p.label}: ${p.detail}`:`Ponder`,onClick:()=>{c(null),i(e=>!e)},children:[(0,$.jsx)(`span`,{children:p?.target.kind===`dataset`?`Experiment draft · ${p.label}`:p?.model?.name??p?.label??`Ponder`}),(0,$.jsx)(Dn,{size:14})]}),r?(0,$.jsxs)(`div`,{className:`codex-model-menu chat-training-menu`,role:`dialog`,"aria-label":`Training context`,children:[(0,$.jsx)(Z,{compact:!0,floating:!0,label:`Training type`,value:h,floatingMenuWidth:180,options:Object.entries(js).map(([e,t])=>({value:e,label:t})),triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`Type`}),(0,$.jsx)(`span`,{className:`chat-training-menu-value`,children:js[h]}),(0,$.jsx)(On,{size:14})]}),disabled:b,onChange:e=>c(e)}),(0,$.jsx)(Z,{compact:!0,floating:!0,label:`${js[h]} name`,value:y,floatingMenuWidth:340,floatingMenuMaxHeight:360,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:js[h]}),(0,$.jsx)(`span`,{className:`chat-training-menu-value`,children:(v?.target.kind===`dataset`?`Draft · ${v.label}`:v?.label)??(e.catalog.isPending?`Loading…`:`None`)}),(0,$.jsx)(On,{size:14})]}),options:[{value:``,label:`None`},...h===`experiment`?[{value:`new-experiment`,label:`New experiment…`,separatorBefore:!0}]:[],...g.map(e=>({value:JSON.stringify(e.target),label:e.label,description:`${e.target.location===`cloud`?`OpenPond Managed`:`Local`} · ${e.detail}${g.filter(t=>t.label===e.label&&t.target.location===e.target.location).length>1?` · ${e.target.id.slice(-8)}`:``}`}))],disabled:b||e.catalog.isPending,onChange:e=>void S(e)}),x?(0,$.jsx)(X,{error:x,children:e.catalog.error?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void e.catalog.refetch(),children:`Retry`}):null}):null]}):x?(0,$.jsx)(X,{error:x}):null,a?(0,$.jsx)(As,{context:e,onClose:()=>o(!1)}):null]})}var Ns=[{value:`model_judge`,label:`LLM judge`,request:`Create an LLM judge (model_judge) with an explicit rubric and passing and failing calibration examples. Ask for the judge model and a fixture-check spending limit if they are not already agreed.`},{value:`human`,label:`Human assessment`,request:`Create a human assessment (human) with a structured review form, explicit criteria, scale anchors and reviewer guidance. Keep human decisions separate from automatic evaluation scores; do not invent reviews or use pending reviews as training rewards.`},{value:`custom_verifier`,label:`Code grader`,request:`Create a code grader (custom_verifier) using an isolated JavaScript verifier. Include known-good, known-bad and boundary fixtures, and check them before reporting the grader as validated.`},{value:`python_correctness`,label:`Python correctness`,request:`Create a Python correctness grader using the supported Python correctness starter and private tests. Verify that the dataset contains admitted Python code and that a qualified isolated runtime is available. Missing code, tests or runtime evidence must remain unscorable.`}];function Ps({dataset:e,busy:t,onDraft:n}){function r(r){e&&!t&&n(`${r.request}\n\nDataset: ${e.name}, ID ${e.id}, revision ${e.revision}. Inspect its tasks and existing graders to determine the appropriate checks.\n\nPreserve the existing graders and retained experiment inputs. Save changes as a new dataset revision. Do not start an experiment or training run.`)}return(0,$.jsxs)(`div`,{className:`chat-grader-request`,children:[(0,$.jsx)(`div`,{className:`evaluation-dataset-choices chat-grader-type-choices`,role:`group`,"aria-label":`Grader type`,children:Ns.map(n=>(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:t||!e,onClick:()=>r(n),children:n.label},n.value))}),(0,$.jsx)(`div`,{className:`training-dialog-actions`,children:(0,$.jsx)(`a`,{className:`training-text-button`,href:Un(Wn(`graders`,null,{area:`console`})),children:`Manage graders`})})]})}function Fs({kind:e,resources:t,busy:n,onDraft:r}){let[i,a]=(0,Q.useState)(``);if(e===`rows`)return(0,$.jsx)(Is,{resources:t});let o=t.focus.dataset;if(e===`grader`)return(0,$.jsx)(Ps,{dataset:o,busy:n||t.selecting,onDraft:r});let s={title:`New dataset`,placeholder:`What examples should it contain?`,button:`Chat`};function c(){r(`Create a new dataset: ${i.trim()}`)}let l=n||t.selecting||!i.trim();return(0,$.jsxs)(`div`,{className:`composer-resource-request`,onKeyDown:e=>{!e.nativeEvent.isComposing&&e.key===`Enter`&&e.target instanceof HTMLInputElement&&(e.preventDefault(),e.stopPropagation(),l||c())},children:[(0,$.jsx)(`div`,{className:`composer-experiment-setup-heading`,children:(0,$.jsx)(`strong`,{children:s.title})}),(0,$.jsx)(`input`,{autoFocus:!0,"aria-label":s.placeholder,placeholder:s.placeholder,value:i,onChange:e=>a(e.target.value),disabled:n}),(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Add to chat`,title:`Add to chat`,className:`composer-experiment-create`,onClick:c,disabled:l,children:[(0,$.jsx)(Rn,{size:13,"aria-hidden":!0}),` `,s.button]})]})}function Is({resources:e}){let[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(0);(0,Q.useEffect)(()=>{let t=new AbortController;return n(null),i(null),o(0),e.readDataset(t.signal).then(e=>{t.signal.aborted||n(e)}).catch(e=>{t.signal.aborted||i(e instanceof Error?e.message:`Could not load dataset rows.`)}),()=>t.abort()},[e.readDataset]);let s=t?.record.workspace.draft.tasks??[],c=Math.max(1,Math.ceil(s.length/5));return(0,$.jsxs)(`section`,{className:`composer-dataset-rows`,"aria-label":`Dataset rows`,children:[(0,$.jsxs)(`div`,{className:`composer-experiment-setup-heading`,children:[(0,$.jsx)(`strong`,{children:`Dataset rows`}),(0,$.jsx)(`span`,{children:t?`${s.length} examples · V${t.summary.revision}`:``}),c>1?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`button`,{type:`button`,disabled:a===0,onClick:()=>o(e=>e-1),"aria-label":`Previous rows`,children:`‹`}),(0,$.jsxs)(`span`,{children:[a+1,`/`,c]}),(0,$.jsx)(`button`,{type:`button`,disabled:a+1>=c,onClick:()=>o(e=>e+1),"aria-label":`Next rows`,children:`›`})]}):null]}),r?(0,$.jsx)(X,{error:r}):t?(0,$.jsx)(`div`,{className:`composer-dataset-rows-scroll`,children:(0,$.jsxs)(`table`,{children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Example`}),(0,$.jsx)(`th`,{children:`Input`})]})}),(0,$.jsxs)(`tbody`,{children:[s.slice(a*5,a*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.id}),(0,$.jsx)(`td`,{children:typeof e.input.prompt==`string`?e.input.prompt:typeof e.input.request==`string`?e.input.request:JSON.stringify(e.input)})]},e.id)),s.length?null:(0,$.jsx)(`tr`,{children:(0,$.jsx)(`td`,{colSpan:2,children:`No saved rows yet.`})})]})]})}):(0,$.jsx)(`p`,{role:`status`,children:`Loading rows…`})]})}function Ls({resources:e,busy:t,onClose:n,onAddGrader:r,onRows:i,createNew:a,setupOnly:o=!1}){let s=(0,Q.useRef)(null),c=e.focus.dataset,l=t||e.selecting,u=e.scope?.evaluationModel,d=e.scope?.executionLocation??`local`,f=e.models.filter(e=>d===`local`||e.providerId===`openpond`),p=f.some(e=>`${e.providerId}/${e.id}`===u);return(0,Q.useEffect)(()=>{s.current?.querySelector(`.dropdown-trigger:not(:disabled)`)?.focus()},[]),(0,$.jsxs)(`div`,{ref:s,className:`composer-experiment-setup`,role:`region`,"aria-label":a?`New experiment`:`Experiment configuration`,children:[(0,$.jsxs)(`div`,{className:`composer-experiment-setup-heading`,children:[(0,$.jsx)(`strong`,{children:a?`New experiment`:`Configuration`}),(0,$.jsx)(`span`,{children:c?`Uses ${e.graders.length} dataset grader${e.graders.length===1?``:`s`}`:`Choose a dataset above`})]}),(0,$.jsx)(Z,{compact:!0,floating:!0,placement:`top`,label:`Run on`,value:d,options:[{value:`local`,label:`Local`},{value:`cloud`,label:`Hosted`,disabled:!!(c?.owner||c?.profileRef)}],onChange:t=>void e.selectDestination(t),disabled:l}),(0,$.jsx)(Z,{compact:!0,floating:!0,placement:`top`,searchable:!0,label:`Evaluation model`,value:u??``,options:[{value:``,label:e.modelsLoading?`Loading models…`:`Choose evaluation model`,disabled:!0},...u&&!p?[{value:u,label:`${u} (unavailable)`,disabled:!0}]:[],...f.map(e=>({value:`${e.providerId}/${e.id}`,label:e.name??e.id,description:e.providerId})),{value:`refresh`,label:`Refresh models`,separatorBefore:!0}],onChange:t=>{t===`refresh`?e.refreshModels():e.selectModel(t)},disabled:l||e.modelsLoading}),i&&c&&!c.owner&&!c.profileRef?(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-secondary`,onClick:i,disabled:l,children:`Rows`}):null,o?null:e.graders.length?a?(0,$.jsx)(`button`,{type:`button`,className:`composer-experiment-create`,disabled:l||!c||!p,onClick:()=>{e.createScope(null).then(e=>{e&&n()})},children:`Create experiment`}):null:(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-secondary`,onClick:r,disabled:l||!c,children:`Create grader`}),e.modelsError?(0,$.jsx)(X,{error:e.modelsError}):null]})}function Rs(e){let{dataset:t,run:n,model:r}=e;if(!e.isExperiment)return`New experiment`;if(n&&/^(running|queued|pending|starting)$/i.test(n.state))return`View progress`;if(!t||t.taskCount===0||!e.graders||!r||!e.modelAvailable)return`Set up`;if(!n)return`Run`;let i=t.owner?.teamId===n.owner?.teamId&&t.owner?.actorId===n.owner?.actorId&&JSON.stringify(t.profileRef)===JSON.stringify(n.profileRef);return(e.executionLocation??`local`)===(n.location??`local`)&&i&&t.id===n.datasetId&&r===n.model&&(t.evaluationHash&&n.evaluationHash?t.evaluationHash===n.evaluationHash:t.revision===n.datasetRevision)?/^(completed|complete|succeeded)$/i.test(n.state)?`Improve`:`Retry`:`Run updated`}function zs({resources:e,busy:t,onDraft:n}){let[r,i]=(0,Q.useState)(`experiment`),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(`Run`),d=(0,Q.useRef)(null),f=(0,Q.useId)(),{scope:p,focus:m}=e;if((0,Q.useEffect)(()=>{c(!1),o(!1)},[p?.id]),(0,Q.useEffect)(()=>{s&&r===`action`&&d.current?.focus()},[s,r,l]),!p)return null;let h=m.dataset,g=p.ordinal!==null,_=t||e.selecting,v=h?[h,...e.datasets.filter(e=>e.id!==h.id||e.revision!==h.revision)]:e.datasets,y=p.runs.at(-1),b=m.experiment??(y?e.experiments.find(e=>e.id===y.id)??y:null),x=p.evaluationModel,S=p.executionLocation??`local`,C=S===`cloud`?`on OpenPond hosted execution`:`locally`,w=e.models.some(e=>`${e.providerId}/${e.id}`===x&&(S===`local`||e.providerId===`openpond`))&&(S!==`cloud`||!h?.owner&&!h?.profileRef),T=e.graders.find(e=>e.id===p.selectedGraderId)??(e.graders.length===1?e.graders[0]:void 0),E=!!(h&&e.graders.length&&w),D=![`Run`,`Run updated`,`Repeat run`,`Retry`].includes(l)||E&&!b?.state.match(/^(running|queued|pending|starting)$/i),O=Rs({isExperiment:g,dataset:h,graders:e.graders.length,model:x,modelAvailable:w,executionLocation:S,run:b});function k(e){i(e),o(!0),c(!0)}function A(e){u(e),k(`action`)}let j=e.models.find(e=>`${e.providerId}/${e.id}`===x),M=j?`${j.name??j.id} (${j.providerId})`:x??`the selected evaluation model`,N=`${e.graders.length} dataset grader${e.graders.length===1?``:`s`}`,P=h?`${h.name} V${h.revision}`:`this dataset`,F={"New experiment":`Create a new experiment draft for ${P}, keeping its current revision and graders. Do not run an evaluation, upload data, or start training.`,"Training readiness":`Is ${P} ready to train? Inspect its examples, splits, graders, source permissions, and supported training options. Explain what is missing without changing data or starting training.`,"Prepare training":`Prepare a hosted training plan on OpenPond for ${P}. Show me the model options, data requirements, plan, and cost first. Do not upload data or start training.`,Run:`Run ${P} ${C} against ${M}, using ${N}.`,"Run updated":`Run the updated configuration for ${P} ${C} against ${M}, using ${N}. Keep previous results for comparison.`,Retry:`Inspect why the previous run stopped, then retry ${P} ${C} against ${M} with its dataset graders if appropriate. Reconcile any uncertain submission first.`,"Repeat run":`Repeat ${P} ${C} against ${M} with its dataset graders as a new run. Preserve the previous results.`,Improve:`Improve experiment ${p.ordinal}: inspect its results, make a targeted change, validate it, and run a comparison ${C} against ${M} within the agreed budget.`,"View progress":`Check the progress of experiment ${p.ordinal}${b?` (run ${b.id})`:``}.`,Compare:`Compare experiment ${p.ordinal}${b?` (run ${b.id})`:``} with its earlier results.`,Diagnose:`Diagnose ${g?`experiment ${p.ordinal}`:P}: inspect the evidence and explain the cause and next step without changing it.`,"Improve dataset":`Improve ${P}: inspect its examples and results, fix relevant data or coverage issues, and evaluate the changes ${C} within the agreed budget.`,"Improve grader":`Improve ${T?.name??`the selected grader`} for ${P}: inspect its rules and failures, repair it, test good and bad answers without weakening the criteria, then run an experiment ${C} to check real outputs within the agreed budget.`,"Test grader":`Test ${T?.name??`the dataset graders`} on ${P} against known-good and known-bad examples.`},ee=[{value:`New experiment`,label:`New experiment`,disabled:!h},{value:`Diagnose`,label:`Diagnose`,disabled:!h},...b?[{value:`Improve`,label:`Improve experiment`}]:[],{value:`Improve dataset`,label:`Improve dataset`,disabled:!h},{value:`Improve grader`,label:`Improve grader`,disabled:!T},{value:`Test grader`,label:T?`Test grader`:`Test graders`,disabled:!h||!e.graders.length},...!h?.owner&&!h?.profileRef?[{value:`Training readiness`,label:`Ready to train?`,disabled:!h,separatorBefore:!0},{value:`Prepare training`,label:`Prepare training`,disabled:!h}]:[],...b?[{value:`Compare`,label:`Compare results`,separatorBefore:!0},...O===`Improve`?[{value:`Repeat run`,label:`Repeat run`}]:[]]:[]];return(0,$.jsxs)(`div`,{className:`composer-resource-area ${s?`is-expanded`:``}`,children:[(0,$.jsxs)(`div`,{className:`composer-resource-bar`,"aria-label":g?`Current experiment`:`Current dataset`,children:[g?(0,$.jsx)(Z,{compact:!0,floating:!0,placement:`top`,floatingMenuWidth:280,label:`Experiment scope`,value:p.id,className:`composer-resource-number`,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:p.ordinal}),(0,$.jsx)(Dn,{size:12})]}),tooltip:`${p.ordinal}: ${p.name}`,options:[...(m.scopeContext?.scopes??[]).map(e=>({value:e.id,label:`${e.ordinal} ${e.name}`})),{value:`new`,label:`New experiment`,icon:`plus`}],onChange:t=>{t===`new`?A(`New experiment`):e.selectScope(t)},disabled:_}):null,(0,$.jsx)(Z,{compact:!0,floating:!0,searchable:!0,floatingMenuWidth:320,placement:`top`,label:`Dataset focus`,className:`composer-resource-dataset`,value:h?`${h.id}@${h.revision}`:``,tooltip:P,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`composer-resource-dataset-name`,children:h?.name??`Dataset`}),h?(0,$.jsxs)(`span`,{className:`composer-resource-version`,children:[`V`,h.revision]}):null,(0,$.jsx)(Dn,{size:12})]}),options:[{value:``,label:`Choose dataset`},...v.map(e=>({value:`${e.id}@${e.revision}`,label:`${e.name} V${e.revision}`})),{value:`create`,label:`New dataset…`,icon:`plus`}],onChange:t=>{if(t===`create`)return k(`dataset`);let n=t.lastIndexOf(`@`);e.select(`dataset`,n<0?t:t.slice(0,n),n<0?void 0:Number(t.slice(n+1)))},disabled:_}),(0,$.jsx)(Z,{compact:!0,floating:!0,placement:`top`,floatingMenuWidth:280,label:`Grader focus`,className:`composer-resource-graders`,value:p.selectedGraderId??``,options:[{value:``,label:`All graders`,shortLabel:`Graders ${e.graders.length}`},...e.graders.map(e=>({value:e.id,label:e.name})),{value:`add`,label:`Create grader`,icon:`plus`,separatorBefore:!0}],onChange:t=>{t===`add`?k(`grader`):e.select(`grader`,t)},disabled:_||!h}),O!==`New experiment`&&O!==`Improve`?(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-primary`,disabled:_,onClick:()=>O===`Set up`?k(`experiment`):A(O),children:O}):null,(0,$.jsx)(Z,{compact:!0,floating:!0,searchable:!0,placement:`top`,floatingMenuWidth:280,floatingMenuMaxHeight:440,label:`Chat actions`,tooltip:`Add a request to chat`,value:``,className:`composer-resource-chat-actions`,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Rn,{size:13}),(0,$.jsx)(Fn,{size:15})]}),options:[...ee,...(p.training??[]).map((e,t)=>({value:`training:${ct(e)}`,label:`Check training ${t+1}`}))],onChange:e=>{if(!_){if(e.startsWith(`training:`)){let t=p.training?.find(t=>`training:${ct(t)}`===e);t&&n(`Check this training job and show its results and any model it produced.`,t)}else{let t=ee.find(t=>t.value===e);if(!t||`disabled`in t&&t.disabled||!F[e])return;n(F[e])}c(!1)}},disabled:_}),(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-expand`,"aria-label":s?`Collapse resource controls`:`Expand resource controls`,"aria-expanded":s,"aria-controls":f,onClick:()=>{o(!0),s||i(`experiment`),c(e=>!e)},children:(0,$.jsx)(Dn,{size:15})})]}),(0,$.jsx)(`div`,{id:f,className:`composer-resource-expansion`,inert:!s,"aria-hidden":!s,children:(0,$.jsx)(`div`,{className:`composer-resource-expansion-inner`,children:a?r===`experiment`?(0,$.jsx)(Ls,{resources:e,busy:t,createNew:!g,onClose:()=>c(!1),onAddGrader:()=>k(`grader`),setupOnly:!0}):r===`action`?(0,$.jsxs)(`div`,{className:`composer-resource-request`,role:`region`,"aria-label":`${l} request preview`,children:[(0,$.jsxs)(`div`,{className:`composer-experiment-setup-heading`,children:[(0,$.jsx)(`strong`,{children:l}),(0,$.jsx)(`span`,{children:`Edit in chat before sending`})]}),(0,$.jsx)(`p`,{children:F[l]}),(0,$.jsxs)(`button`,{ref:d,type:`button`,"aria-label":`Add to chat`,title:`Add to chat`,className:`composer-experiment-create`,disabled:_||!D,onClick:()=>{n(F[l]),c(!1)},children:[(0,$.jsx)(Rn,{size:13,"aria-hidden":!0}),(0,$.jsx)(Fn,{size:13,"aria-hidden":!0}),` Add to chat`]})]}):(0,$.jsx)(Fs,{kind:r,resources:e,busy:t,onDraft:e=>{n(e),c(!1)}},`${r}:${h?.id}:${h?.revision}`):null})}),e.error?(0,$.jsx)(X,{error:e.error}):null]})}function Bs({context:e,sessionId:t,busy:n}){let[r,i]=(0,Q.useState)(null),a=e.selection;if(!a)return null;let o=a.training,s=a.model,c=n||e.selecting,l=o?JSON.stringify(a.target):``,u=(e.runs.data?.runs??[]).map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}));o&&!u.some(e=>e.value===l)&&u.unshift({value:l,label:a.label,description:a.detail});let d=(e.catalog.data?.options??[]).filter(e=>e.target.kind===`model`),f=d.find(e=>e.target.id===s?.id&&e.target.location===a.target.location)?.target??(s?{...a.target,kind:`model`,id:s.id}:null),p=f?JSON.stringify(f):``,m=d.map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}));f&&!m.some(e=>e.value===p)&&m.unshift({value:p,label:s?.name??a.label,description:a.detail});async function h(t){try{i(null),await e.select(pa.parse(JSON.parse(t)))}catch(e){i(e instanceof Error?e.message:`Training selection failed.`)}}return(0,$.jsxs)(`div`,{className:`composer-resource-area`,children:[(0,$.jsxs)(`div`,{className:`composer-resource-bar`,"aria-label":`Current training`,children:[(0,$.jsx)(Z,{compact:!0,floating:!0,searchable:!0,placement:`top`,floatingMenuWidth:320,label:`Model focus`,className:`composer-resource-dataset`,value:p,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`composer-resource-dataset-name`,children:s?.name??a.label}),(0,$.jsx)(Dn,{size:12})]}),options:m,onChange:e=>void h(e),disabled:c}),(0,$.jsx)(Z,{compact:!0,floating:!0,placement:`top`,floatingMenuWidth:320,label:`Training run`,className:`composer-resource-graders`,value:l,options:u.length?u:[{value:``,label:e.runs.isPending?`Loading runs…`:`No runs`,disabled:!0}],onChange:e=>void h(e),disabled:c||e.runs.isPending}),(0,$.jsx)(`button`,{type:`button`,className:`composer-resource-primary`,onClick:()=>window.dispatchEvent(new CustomEvent(as,{detail:{sessionId:t,scope:e.scope,targetKey:JSON.stringify(a.target)}})),children:`View progress`})]}),(0,$.jsx)(X,{error:r??e.runs.error})]})}var Vs=e=>JSON.stringify([e.kind,e.id,e.owner??null,e.profileRef??null]),Hs=(e,t)=>e.datasetId===t.id&&JSON.stringify(e.owner??null)===JSON.stringify(t.owner??null)&&JSON.stringify(e.profileRef??null)===JSON.stringify(t.profileRef??null),Us=e=>/^(queued|running|pending|starting|cancelling)$/i.test(e);function Ws(e){return st.array().parse(e)}function Gs(e,t,n){let{scope:r,focus:i}=e;if(!r||!i.scopeContext||!i.dataset)return[];let a=i.dataset;if(t&&!Hs(t,a))throw Error(`This run belongs to a different Dataset.`);let o=t?.datasetRevision??a.revision,s=[{kind:`dataset`,id:a.id,revision:o,owner:a.owner,profileRef:a.profileRef},...t?[{kind:t.kind,id:t.id,revision:t.revision,datasetId:t.datasetId,datasetRevision:o,owner:t.owner,profileRef:t.profileRef}]:[],...!t||o===a.revision?e.graders.map(e=>({kind:e.kind,id:e.id,revision:e.revision,datasetId:e.datasetId,datasetRevision:e.datasetRevision,owner:e.owner,profileRef:e.profileRef})):[]];return fr.parse([{scopeId:r.id,selectionVersion:i.scopeContext.selectionVersion,evaluationModel:t?.model??r.evaluationModel,executionLocation:t?.location??r.executionLocation??`local`,resources:s,...n?{training:[lt(n)]}:{}}])}function Ks({context:e,resources:t,sessionId:n,busy:r}){let[i,a]=(0,Q.useState)(null),o=e.selection;if(!o)return null;if(o.model||o.training)return(0,$.jsx)(Bs,{context:e,sessionId:n,busy:r});let s=o.dataset??(o.resource?.kind===`dataset`?o.resource:null),c=o.resource?.kind===`experiment`?o.resource:null,l=t.scope;if(!(l&&s&&l.dataset&&Vs(s)===Vs(l.dataset)&&s.revision===l.dataset.revision&&(o.target.scopeId===l.id||o.target.kind===`dataset`||c&&l.runs.some(e=>Vs(e)===Vs(c)))))return null;async function u(t){a(null);try{return await e.select(t),!0}catch(e){return a(e instanceof Error?e.message:`Resource selection failed.`),!1}}let d={...t,focus:{...t.focus,dataset:s,experiment:c},graders:o.graders??t.graders,selecting:t.selecting||e.selecting,selectScope:e=>u({kind:`experiment`,id:e,scopeId:e,sessionId:n,location:`local`}),select:(n,r,i)=>{if(n===`grader`)return t.select(n,r,i);if(!r)return u(null);let o=e.catalog.data?.options.find(e=>e.target.kind===n&&e.target.id===r&&(i===void 0||e.target.revision===i))?.target,s=[...t.datasets,...t.experiments].find(e=>e.kind===n&&e.id===r&&(i===void 0||e.revision===i));return!o&&!s?(a(`This resource is no longer available. Choose it again from Ponder.`),Promise.resolve(!1)):u(o??{kind:n,id:r,revision:i,location:s.location??`local`})}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(zs,{resources:d,busy:r,onDraft:(e,t)=>{ys({sessionId:n,text:e,contexts:Gs(d,c??void 0,t)})}}),(0,$.jsx)(X,{error:i})]})}function qs({surface:e,voiceInputChannelKey:t=``,taskSessionId:n,submissionScopeKey:r=`default`,prompt:i,onPromptChange:a,showToast:o,resourceDrafts:s,inputRef:c,composerDraftStore:l}){(0,Q.useEffect)(()=>{if(e!==`chat`||!t.startsWith(`main-composer:`))return;let l=e=>{let t=e.detail;if(t?.sessionId!==(n??null)||!t.text.trim())return;try{s.current.set(r,Cs(s.current.get(r)??[],t.contexts))}catch{o(`Send or clear the current resource actions before adding more.`,`info`);return}let l=c.current?.getPrompt()??i,u=l.trim()?`${l}\n\n${t.text}`:t.text;a(u),requestAnimationFrame(()=>c.current?.focusAtPromptIndex(u.length))};return window.addEventListener(vs,l),()=>window.removeEventListener(vs,l)},[e,t,n,r,i,a,o,l])}function Js(e,t){let n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\$([a-zA-Z][a-zA-Z0-9_-]*)?$/.exec(n);if(!r||typeof r.index!=`number`)return null;let i=r[0].lastIndexOf(`$`);return i<0?null:{end:n.length,query:(r[1]??``).toLowerCase(),start:r.index+i}}function Ys(e){return`$${e.name}`}function Xs(e,t,n){let r=Math.max(0,Math.min(t.start,e.length)),i=Math.max(r,Math.min(t.end,e.length)),a=e.slice(0,r),o=e.slice(i),s=a&&!/\s$/.test(a)?` `:``,c=o&&/^\s/.test(o)?``:` `,l=`${s}${Ys(n)}${c}`;return{cursor:a.length+l.length-(o?c.length:0),value:`${a}${l}${o}`}}function Zs(e,t,n){let r=t.trim().toLowerCase(),i=e.filter(e=>e.enabled&&e.validationStatus===`valid`).filter(e=>!r||[e.name,e.description,e.path].join(` `).toLowerCase().includes(r)).sort((e,t)=>e.name.localeCompare(t.name));return typeof n==`number`&&Number.isFinite(n)?i.slice(0,Math.max(0,n)):i}function Qs(e,t,n){let r=t.trim().replace(/\s+/g,` `),i=$s(n,e.length);if(!r)return{value:e,cursorIndex:i};let a=e.slice(0,i),o=e.slice(i),s=a&&!/\s$/.test(a)?` `:``,c=o&&!/^\s/.test(o)?` `:``;return{value:`${a}${`${s}${r}${c}`}${o}`,cursorIndex:a.length+s.length+r.length+c.length}}function $s(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function ec({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:n,originScopeKey:r,prompt:i,setOriginDraft:a,submit:o=!1,submitFromOrigin:s,transcript:c}){let l=Qs(i,c,e?i.length:n);return a(l.value),t===r&&!o?`drafted`:await s(l.value)?(a(``),`submitted`):`retained`}var tc=new Map,nc=new Map,rc=new Map;function ic(e){for(let t of nc.get(e)??[])t()}function ac(e){return tc.has(e)}function oc(e){return tc.get(e)?.submitRequested??!1}function sc(e,t){let n=nc.get(e)??new Set;return n.add(t),nc.set(e,n),()=>{n.delete(t),n.size===0&&nc.delete(e)}}function cc(e){tc.get(e)?.controller.abort()}function lc(e,t){let n=rc.get(e)??new Set;return n.add(t),rc.set(e,n),()=>{n.delete(t),n.size===0&&rc.delete(e)}}function uc(e){let t=tc.get(e);if(t)return t.submitRequested||(t.submitRequested=!0,ic(e)),!0;for(let t of rc.get(e)??[])if(t())return!0;return!1}function dc(e,t,n={}){cc(e);let r=new AbortController,i={controller:r,promise:Promise.resolve(),submitRequested:n.submit??!1};return i.promise=Promise.resolve().then(()=>{if(!r.signal.aborted)return t(r.signal,()=>i.submitRequested)}).catch(e=>{if(!r.signal.aborted)throw e}).finally(()=>{tc.get(e)===i&&(tc.delete(e),ic(e))}),tc.set(e,i),ic(e),i.promise}function fc(e,t){return t?e.find(e=>e.idempotencyKey===t.key&&e.senderKind===`user`&&e.kind===t.kind&&e.body===t.body&&[`pending`,`included`,`resolved`].includes(e.state))??null:null}function pc(e,t,n){let r=e??{sessionId:t,activeTurnId:null,acceptingInput:!1,paused:!1,inputs:[],waits:[]},i=r.inputs.find(e=>e.id===n.id);return i&&(i.revision>n.revision||i.revision===n.revision&&i.updatedAt>n.updatedAt)?r:{...r,inputs:[...r.inputs.filter(e=>e.id!==n.id),n].sort((e,t)=>e.sequence-t.sequence)}}var mc=new Set([`task.inbox`,`task.input`,`task.wait`,`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`approval.requested`,`approval.resolved`]);function hc(e){try{let t=JSON.parse(sessionStorage.getItem(e)??`null`);return t&&typeof t.body==`string`&&typeof t.key==`string`&&(t.kind===`steer`||t.kind===`queued`)?t:null}catch{return null}}function gc(e,t,n){let r=c(),i=nn(e),a=(0,Q.useMemo)(()=>[`task-inbox`,i,t],[i,t]),o=!!(e&&t),s=h({queryKey:a,enabled:o,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>Rr.taskInbox(e,t),refetchInterval:e=>e.state.data?.inputs.some(e=>e.state===`pending`)?2e3:e.state.data?.paused?1e4:!1}),[l,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)({}),g=`${i}:${t}`,_=p[g],v;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r.sessionId===t&&mc.has(r.name)){v=r.id;break}}let y=(0,Q.useCallback)(async()=>{o&&await r.invalidateQueries({queryKey:a,exact:!0})},[o,r,a]);(0,Q.useEffect)(()=>{y()},[y,v]),(0,Q.useEffect)(()=>{let e=()=>{y()};return window.addEventListener(`openpond-runtime-connected`,e),()=>window.removeEventListener(`openpond-runtime-connected`,e)},[y]);async function b(e,n){if(!o)return!1;u({scope:g,id:e}),f(null);try{let e=await n();return await r.cancelQueries({queryKey:a,exact:!0}),r.setQueryData(a,n=>pc(n,t,e)),y(),!0}catch(t){let n=r.getQueryData(a)?.inputs.find(t=>t.idempotencyKey===e);return n&&[`pending`,`included`,`resolved`].includes(n.state)?!0:(f({scope:g,message:t instanceof Error?t.message:String(t)}),y(),!1)}finally{u(t=>t?.scope===g&&t.id===e?null:t)}}async function x(n,r,i,a,o){if(!e||!t)return!1;let c=`openpond:task-input:${e.serverUrl}:${t}`,l=hc(c),u=l?.body===r&&l.kind===n&&JSON.stringify(l.request)===JSON.stringify(i)&&JSON.stringify(l.resourceContexts)===JSON.stringify(a)&&JSON.stringify(l.attachments)===JSON.stringify(o),d=u?l:{body:r,kind:n,request:i,resourceContexts:a,attachments:o,key:crypto.randomUUID(),turnId:n===`steer`?s.data?.activeTurnId??null:null};if(n===`steer`&&(!d.turnId||!u&&!s.data?.acceptingInput))return f({scope:g,message:`This turn is no longer accepting steering. Your text is still in the composer; send it as a follow-up or queue it.`}),y(),!1;try{sessionStorage.setItem(c,JSON.stringify(d))}catch{}n===`queued`&&m(e=>({...e,[g]:d}));let p=await b(d.key,async()=>{let i;try{i=await(n===`steer`?Rr.steerTurn(e,t,{prompt:r,expectedTurnId:d.turnId,idempotencyKey:d.key,resourceContexts:d.resourceContexts,attachments:d.attachments}):Rr.queueTaskInput(e,t,d.request,d.key))}catch(e){if(e instanceof Et&&e.status>=400&&e.status<500)try{sessionStorage.removeItem(c)}catch{}throw e}if(i.state===`rejected`||i.state===`cancelled`){try{sessionStorage.removeItem(c)}catch{}throw Error(i.error??`This input was cancelled. Review your text before sending again.`)}return i});if(n===`queued`&&m(e=>{if(e[g]?.key!==d.key)return e;let t={...e};return delete t[g],t}),p)try{hc(c)?.key===d.key&&sessionStorage.removeItem(c)}catch{}return p}let S=e&&t?`openpond:task-input:${e.serverUrl}:${t}`:null,C=S?hc(S):null,w=fc(s.data?.inputs??[],C);return{pendingQueue:_&&!s.data?.inputs.some(e=>e.idempotencyKey===_.key)?{id:_.key,body:_.body,attachments:_.request?.attachments??[]}:null,acknowledgedInput:w,acknowledgeRetainedInput:()=>{if(S&&w&&hc(S)?.key===w.idempotencyKey){try{sessionStorage.removeItem(S)}catch{}u(e=>e?.scope===g&&e.id===w.idempotencyKey?null:e)}},enabled:o,snapshot:s.data??null,busyId:l?.scope===g?l.id:null,error:d?.scope===g?d.message:s.error?.message??null,steer:(e,t,n)=>x(`steer`,e,void 0,t,n),queue:e=>x(`queued`,e.prompt,e),mutate:(n,r)=>b(n.id,()=>Rr.updateTaskInput(e,t,n.id,r)),refresh:y}}function _c(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function vc(e,t=120){let n=e.trim().replace(/\s+/g,` `);return n.length<=t?n:`${n.slice(0,Math.max(0,t-1)).trimEnd()}...`}function yc(e,t={}){let n=t.now??new Date().toISOString();return{...t.resourceContexts?{resourceContexts:structuredClone(t.resourceContexts)}:{},...t.attachments?.length?{attachments:structuredClone(t.attachments)}:{},createdAt:n,id:t.id??_c(),prompt:e,updatedAt:n}}function bc(e,t){return e.filter(e=>e.id!==t)}function xc(e,t,n){return n?bc(e,t):e}function Sc(e,t,n=[]){return e[t]??n}function Cc(e,t,n,r=[]){let i=Sc(e,t,r),a=n(i);return Object.is(i,a)?e:{...e,[t]:a}}function wc({prompt:e,attachments:t=[],sending:n=!1,disabled:r=!1,actionLabel:i=`Steer`,actionDisabledReason:a,onSend:o,onDelete:s,onEdit:c}){let l=t.find(e=>e.kind===`image`&&e.contentsBase64)??t[0],u=t.map(e=>e.name).join(`, `);return(0,$.jsxs)(`div`,{className:`composer-steer-row ${n?`sending`:``}`,children:[(0,$.jsx)(`span`,{className:`composer-steer-row-icon`,"aria-hidden":!l||void 0,role:l?`img`:void 0,"aria-label":l?`Attachments: ${u}`:void 0,title:l?u:void 0,children:l?(0,$.jsx)(Tc,{attachment:l}):(0,$.jsx)(Ea,{size:13})}),(0,$.jsx)(`span`,{className:`composer-steer-row-text`,title:[e,...t.map(e=>e.name)].join(`
|
|
5
|
-
`),children:vc(e)}),(0,$.jsxs)(`button`,{type:`button`,className:`composer-steer-row-action primary`,disabled:r||n||!!a,title:a,"aria-label":`${i}: ${vc(e,60)}${a?`. ${a}`:``}`,onClick:o,children:[(0,$.jsx)(Tn,{size:12}),(0,$.jsx)(`span`,{children:n?`Sending`:i})]}),(0,$.jsx)(`button`,{type:`button`,className:`composer-steer-row-icon-button`,disabled:r||n,"data-tooltip":`Delete queued message`,"aria-label":`Delete queued message`,onClick:s,children:(0,$.jsx)(ln,{size:13})}),(0,$.jsx)(`button`,{type:`button`,className:`composer-steer-row-action`,disabled:r||n,"aria-label":`Edit: ${vc(e,60)}`,onClick:c,children:(0,$.jsx)(`span`,{children:`Edit`})})]})}function Tc({attachment:e}){let{kind:t,mediaType:n,contentsBase64:r}=e,i=(0,Q.useMemo)(()=>t===`image`&&n.startsWith(`image/`)&&r?`data:${n};base64,${r}`:null,[t,n,r]),[a,o]=(0,Q.useState)(null);return i&&i!==a?(0,$.jsx)(`img`,{className:`composer-steer-attachment-preview`,src:i,alt:``,width:13,height:13,loading:`lazy`,decoding:`async`,onError:()=>o(i)}):(0,$.jsx)(Hr,{attachment:e,size:13})}function Ec({inbox:e,onRestore:t,canRestore:n}){let r=e.snapshot,i=r?.inputs.filter(e=>e.senderKind===`user`&&e.kind===`queued`&&e.state===`pending`)??[];return!i.length&&!e.pendingQueue&&!e.error?null:(0,$.jsxs)($.Fragment,{children:[e.error&&(0,$.jsx)(X,{error:e.error}),(i.length>0||e.pendingQueue)&&(0,$.jsxs)(`div`,{className:`composer-steer-stack`,"aria-label":`Queued messages`,children:[i.map(i=>{let a=r?.activeTurnId,o=!(!i.turnId||r?.paused),s=o?`Starting`:a?`Steer`:r?.paused?`Resume`:`Send`,c=o?`This message is starting its turn.`:a&&!r?.acceptingInput?`This turn is no longer accepting steering. The message stays queued for the next turn.`:void 0;return(0,$.jsx)(wc,{prompt:i.body,attachments:Oc(i),disabled:!!e.busyId||o,actionLabel:s,actionDisabledReason:c,onSend:()=>void e.mutate(i,a?{action:`steer`,expectedRevision:i.revision,expectedTurnId:a}:{action:`resume`,expectedRevision:i.revision}),onDelete:()=>void e.mutate(i,{action:`cancel`,expectedRevision:i.revision}),onEdit:()=>void Dc(e,i,t,n)},i.id)}),e.pendingQueue&&(0,$.jsx)(wc,{prompt:e.pendingQueue.body,attachments:e.pendingQueue.attachments,disabled:!0,actionLabel:`Queuing`,onSend:()=>{},onDelete:()=>{},onEdit:()=>{}},e.pendingQueue.id)]})]})}async function Dc(e,t,n,r){let i=t.payload.metadata,a=fr.safeParse(i?.chatResourceContexts),o=a.success?a.data:[],s=Oc(t);(!r||r(o,s))&&await e.mutate(t,{action:`cancel`,expectedRevision:t.revision})&&n(t.body,o,s)}function Oc(e){return be.array().parse(e.payload.attachments??[])}var kc=new Set([`claude-code`,`opencode`,`grok-build`]);function Ac({currentModelOptions:e,currentProvider:t,providerOptions:n,providerSettings:r}){return n.flatMap(n=>{if(n.value===`setup-provider`)return[];let i=n.value,a=i===t?e:H(i,r);if(i===`openpond`){let e=new Set((r?.modelCaches.openpond?.models??[]).filter(e=>e.raw?.managedServing===!0).map(e=>e.id)),t=a.filter(t=>!e.has(t.value)),o=a.filter(t=>e.has(t.value));return[...t.length?[{key:i,provider:i,label:n.label,defaultModel:ge(i,r),options:t}]:[],{key:`openpond-managed`,provider:i,label:`OpenPond Managed`,managed:!0,defaultModel:o[0]?.value??``,options:o}]}if(i===`custom-openai-compatible`){let e=r?.modelCaches[i]?.models??[],t=new Map;for(let r of a){let i=e.find(e=>e.id===r.value)?.raw?.connectionProvider,a=typeof i==`string`?i:n.label;t.set(a,[...t.get(a)??[],r])}return[...t].map(([e,t])=>({key:`${i}:${e}`,provider:i,label:e,defaultModel:t[0].value,options:t}))}return a.length||R(i)||kc.has(i)?[{key:i,provider:i,label:n.label,defaultModel:ge(i,r),options:a}]:[]})}function jc(e){let t=kt(),n=t?.modelsByProvider?.[e.provider]??(t?.provider===e.provider?t.model:void 0),r=e.options.find(e=>e.value===n)??e.options.find(t=>t.value===e.defaultModel)??e.options[0];return!r&&!e.managed&&!(R(e.provider)||kc.has(e.provider))?null:{provider:e.provider,model:r?.value??(e.managed?``:n??``)}}function Mc({busy:e,placement:t,state:n,onChange:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(``),c=(0,Q.useRef)(null),l=(0,Q.useMemo)(()=>{let e=o.trim().toLowerCase();return e?n.options.filter(t=>`${t.label} ${t.detail}`.toLowerCase().includes(e)):n.options},[o,n.options]);return(0,Q.useEffect)(()=>{if(!i){s(``);return}function e(e){c.current?.contains(e.target)||a(!1)}function t(e){e.key===`Escape`&&a(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[i]),n.options.length<=1?null:(0,$.jsxs)(`div`,{className:`composer-profile-target ${t===`top`?`open-up`:``}`,ref:c,children:[(0,$.jsxs)(`button`,{type:`button`,className:`composer-profile-trigger ${i?`active`:``}`,disabled:e,"aria-label":`Profile`,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(e=>!e),children:[(0,$.jsx)(`span`,{children:n.label}),(0,$.jsx)(Dn,{size:14})]}),i?(0,$.jsxs)(`div`,{className:`composer-project-menu`,role:`menu`,"aria-label":`Profile`,children:[(0,$.jsx)(`div`,{className:`composer-menu-search`,children:(0,$.jsx)(`input`,{autoFocus:!0,value:o,placeholder:`Search profiles`,onChange:e=>s(e.currentTarget.value)})}),(0,$.jsx)(`div`,{className:`composer-menu-items`,children:l.map(e=>{let t=e.value===n.value;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":t,className:`composer-project-option ${t?`selected`:``}`,onClick:()=>{r(e.value),a(!1)},children:[(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.label}),(0,$.jsx)(`small`,{children:e.detail})]}),t?(0,$.jsx)(Sr,{size:14}):null]},e.value)})})]}):null]})}function Nc({busy:e,placement:t,state:n,onChange:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(``),u=(0,Q.useRef)(null),d=n.value===`none`?`Project`:n.label,f=n.options.find(e=>e.value===n.value)?.kind??`local`,p=(0,Q.useMemo)(()=>{let e=c.trim().toLowerCase();return e?n.options.filter(t=>[t.label,t.detail].filter(Boolean).some(t=>t.toLowerCase().includes(e))):n.options},[c,n.options]),m=p.filter(e=>e.kind===`local`||e.kind===`cloud`),h=p.filter(e=>e.kind===`action`),g=p.filter(e=>e.kind===`none`);(0,Q.useEffect)(()=>{if(!i){l(``),s(!1);return}function e(e){u.current?.contains(e.target)||a(!1)}function t(e){e.key===`Escape`&&(o?s(!1):a(!1))}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[o,i]);function _(t){let i=t.value===n.value,o=e||t.disabled,c=t.kind===`action`;return(0,$.jsxs)(`button`,{type:`button`,role:c?`menuitem`:`menuitemradio`,"aria-checked":c?void 0:i,className:`composer-project-option ${i?`selected`:``} ${t.kind}`,disabled:o,onClick:()=>{r(t.value),s(!1),a(!1)},children:[(0,$.jsx)(Pc,{kind:t.kind,size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.label}),(0,$.jsx)(`small`,{children:t.detail})]}),i&&(0,$.jsx)(Sr,{size:14})]},t.value)}return(0,$.jsxs)(`div`,{className:`composer-project-target ${t===`top`?`open-up`:``}`,ref:u,children:[(0,$.jsxs)(`button`,{type:`button`,className:`composer-project-trigger ${i?`active`:``} ${f}`,disabled:e,"aria-label":`Project`,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>{a(e=>!e),s(!1)},children:[(0,$.jsx)(Pc,{kind:f,size:14}),(0,$.jsx)(`span`,{children:d}),(0,$.jsx)(Dn,{size:14})]}),i&&(0,$.jsxs)(`div`,{className:`composer-project-menu`,role:`menu`,"aria-label":`Project`,children:[(0,$.jsx)(`div`,{className:`composer-menu-search`,children:(0,$.jsx)(`input`,{autoFocus:!0,value:c,placeholder:`Search projects`,onChange:e=>l(e.target.value)})}),(0,$.jsx)(`div`,{className:`composer-menu-items`,children:p.length===0?(0,$.jsx)(`div`,{className:`composer-menu-empty`,children:`No projects found`}):m.map(_)}),h.length>0||g.length>0?(0,$.jsxs)(`div`,{className:`composer-project-actions`,children:[h.length>0?(0,$.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`composer-project-option action composer-project-new-trigger ${o?`selected`:``}`,"aria-haspopup":`menu`,"aria-expanded":o,onClick:()=>s(e=>!e),children:[(0,$.jsx)(Rn,{size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:`New`}),(0,$.jsx)(`small`,{children:`Create or add a project`})]}),(0,$.jsx)(On,{size:14})]}):null,g.map(_)]}):null]}),i&&o?(0,$.jsxs)(`div`,{className:`composer-project-new-menu`,role:`menu`,"aria-label":`New project`,children:[(0,$.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`composer-project-new-menu-back`,onClick:()=>s(!1),children:[(0,$.jsx)(Lr,{size:14}),(0,$.jsx)(`span`,{children:`New project`})]}),h.map(_)]}):null]})}function Pc({kind:e,size:t}){return e===`cloud`?(0,$.jsx)(br,{size:t}):e===`action`?(0,$.jsx)(Rn,{size:t}):(0,$.jsx)(Dr,{size:t})}function Fc({busy:e,placement:t,state:n,onChange:r}){let[i,a]=(0,Q.useState)(!1),o=(0,Q.useRef)(null),s=n.value===`cloud`?`cloud`:n.value===`hybrid`?`hybrid`:`local`,c=`${n.label}: ${n.detail}`,l=n.uploadAction??null,u=l?Ic(l):null,d=l?l.disabled&&l.disabledReason?l.disabledReason:`${l.label}: ${u??l.detail}`:null,f=!!(l&&(e||n.busy||l.disabled));return(0,Q.useEffect)(()=>{if(!i)return;function e(e){o.current?.contains(e.target)||a(!1)}function t(e){e.key===`Escape`&&a(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[i]),(0,$.jsxs)(`div`,{className:`workspace-action-control ${t===`top`?`open-up`:``}`,ref:o,children:[(0,$.jsxs)(`button`,{type:`button`,className:`workspace-action-trigger ${s} ${i?`active`:``}`,disabled:e,"data-tooltip":c,"aria-label":`Working in`,"aria-haspopup":`menu`,"aria-expanded":i,onClick:()=>a(e=>!e),children:[(0,$.jsx)(Lc,{value:n.value,size:14}),(0,$.jsx)(`span`,{className:`workspace-target-trigger-label`,children:n.label}),(0,$.jsx)(Dn,{size:14})]}),l?(0,$.jsx)(`button`,{type:`button`,className:`workspace-upload-trigger ${l.value}`,disabled:f,"data-tooltip":d??void 0,"aria-label":l.label,onClick:()=>{r(l.value),a(!1)},children:(0,$.jsx)(Lc,{value:l.value,size:14})}):null,i&&(0,$.jsx)(`div`,{className:`workspace-target-menu`,role:`menu`,"aria-label":`Working in`,children:n.options.map(t=>{let i=t.value===n.value,o=e||n.busy||t.disabled,s=Ic(t)??t.detail,c=t.disabled&&t.disabledReason?t.disabledReason:`${t.label}: ${s}`;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":i,className:`workspace-target-option ${i?`selected`:``} ${t.value}`,disabled:o,"data-tooltip":c,onClick:()=>{r(t.value),a(!1)},children:[(0,$.jsx)(Lc,{value:t.value,size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.label}),(0,$.jsx)(`small`,{children:s})]}),i&&(0,$.jsx)(Sr,{size:14})]},t.value)})})]})}function Ic(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function Lc({value:e,size:t}){return e===`cloud`?(0,$.jsx)(br,{size:t}):e===`hybrid`?(0,$.jsxs)(`span`,{className:`workspace-target-hybrid-icon`,"aria-hidden":`true`,children:[(0,$.jsx)(Dr,{className:`hybrid-folder`,size:t}),(0,$.jsx)(br,{className:`hybrid-cloud`,size:Math.max(7,Math.round(t*.62))})]}):e===`upload_cloud`?(0,$.jsx)(kn,{size:t}):(0,$.jsx)(Dr,{size:t})}function Rc({disabled:e,model:t,modelGroups:n,placement:r,provider:i,providerSettings:a,reasoningEffort:o,showReasoning:s,onModelSelectionChange:c,onReasoningEffortChange:l}){let[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(`root`),m=(0,Q.useRef)(null),h=(i===`openpond`&&(!t||t.startsWith(`managed:`))?n.find(e=>e.managed):void 0)??n.find(e=>e.provider===i&&e.options.some(e=>e.value===t))??n.find(e=>e.provider===i),g=h?.options.find(e=>e.value===t),_=de(i,t,a),v=ue(i,t,o,a),y=_.find(e=>e.value===v)??_[0],b=zc(g?.label??t)||h?.label||i,x=s?`${b} ${y.shortLabel??y.label}`:b,S=s?`Model and reasoning`:`Model`;return(0,Q.useEffect)(()=>{if(!u){p(`root`);return}function e(e){m.current?.contains(e.target)||d(!1)}function t(e){e.key===`Escape`&&d(!1)}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[u]),(0,Q.useEffect)(()=>{!s&&f===`effort`&&p(`root`)},[f,s]),(0,$.jsxs)(`div`,{className:`codex-model-reasoning ${r===`top`?`open-up`:``}`,"data-tooltip":S,ref:m,children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-trigger ${u?`active`:``}`,disabled:e,"aria-label":S,"aria-haspopup":`menu`,"aria-expanded":u,onClick:()=>d(e=>!e),children:[(0,$.jsx)(`span`,{children:x}),(0,$.jsx)(Dn,{size:14})]}),u&&(0,$.jsx)(`div`,{className:`codex-model-menu`,role:`menu`,"aria-label":S,children:f===`root`?(0,$.jsxs)(`div`,{className:`codex-model-menu-root`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-menu-row`,role:`menuitem`,onClick:()=>p(`provider`),children:[(0,$.jsx)(`span`,{children:`Provider`}),(0,$.jsx)(`span`,{className:`codex-model-menu-value`,children:h?.label??i}),(0,$.jsx)(On,{size:14})]}),(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-menu-row`,role:`menuitem`,onClick:()=>p(`model`),children:[(0,$.jsx)(`span`,{children:`Model`}),(0,$.jsx)(`span`,{className:`codex-model-menu-value`,children:V(g?.label??t)||(h?.managed?`Choose model`:`Agent default`)}),(0,$.jsx)(On,{size:14})]}),s?(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-menu-row`,role:`menuitem`,onClick:()=>p(`effort`),children:[(0,$.jsx)(`span`,{children:`Effort`}),(0,$.jsx)(`span`,{className:`codex-model-menu-value`,children:y.shortLabel??y.label}),(0,$.jsx)(On,{size:14})]}):null]}):f===`provider`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-submenu-heading`,"aria-label":`Back to model settings — Provider`,onClick:()=>p(`root`),children:[(0,$.jsx)(Lr,{size:14}),(0,$.jsx)(`span`,{children:`Provider`})]}),(0,$.jsx)(`div`,{className:`codex-model-menu-divider`}),(0,$.jsx)(`div`,{className:`codex-model-menu-options`,children:n.filter(e=>!e.managed).map(e=>{let t=e.key===h?.key;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":t,className:t?`selected`:``,onClick:()=>{let t=jc(e);t&&(c(t.provider,t.model),p(`root`))},children:[(0,$.jsx)(`span`,{children:e.label}),t?(0,$.jsx)(Sr,{size:14}):null]},e.key)})}),n.filter(e=>e.managed).map(e=>(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.key===h?.key,className:`codex-model-managed-provider`,onClick:()=>{let t=jc(e);t&&(c(t.provider,t.model),p(`root`))},children:[(0,$.jsx)(`span`,{children:e.label}),e.key===h?.key?(0,$.jsx)(Sr,{size:14}):null]},e.key))]}):f===`model`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-submenu-heading`,"aria-label":`Back to model settings — Model`,onClick:()=>p(`root`),children:[(0,$.jsx)(Lr,{size:14}),(0,$.jsx)(`span`,{children:`Model`})]}),(0,$.jsx)(`div`,{className:`codex-model-menu-divider`}),(0,$.jsxs)(`div`,{className:`codex-model-menu-options`,children:[(h?.options??[]).map(e=>{let n=e.value===t;return(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":n,className:n?`selected`:``,onClick:()=>{c(i,e.value),p(`root`)},children:[(0,$.jsx)(`span`,{children:V(e.label)}),n?(0,$.jsx)(Sr,{size:14}):null]},e.value)}),h?.options.length?null:(0,$.jsx)(`div`,{className:`codex-model-menu-empty`,role:`status`,children:h?.managed?`No trained models in this workspace.`:`No models available. Connect or check this provider in Settings.`})]})]}):(0,$.jsxs)(`div`,{className:`codex-model-menu-effort`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`codex-model-submenu-heading`,"aria-label":`Back to model settings — Effort`,onClick:()=>p(`root`),children:[(0,$.jsx)(Lr,{size:14}),(0,$.jsx)(`span`,{children:`Effort`})]}),(0,$.jsx)(`div`,{className:`codex-model-menu-divider`}),_.map(e=>(0,$.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":e.value===v,className:e.value===v?`selected`:``,onClick:()=>{l(e.value),p(`root`)},children:[(0,$.jsx)(`span`,{children:e.label}),e.value===v?(0,$.jsx)(Sr,{size:14}):null]},e.value))]})})]})}function zc(e){return V(e).replace(/^GPT-/,``).replace(/\s+Codex Spark$/,` Spark`).replace(/\s+Codex$/,` Codex`)}function Bc({detailsOpen:e,goalRuntime:t,objectiveId:n,subagentRuntime:r,onToggleDetails:i,connection:a,sessionId:o,running:s,onPause:c,onResume:l}){let[u,d]=(0,Q.useState)(null),[f,p]=(0,Q.useState)(null),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(null),v=(0,Q.useRef)(!1),y=(0,Q.useRef)(0),b=(0,Q.useRef)(null),x=JSON.stringify([t?.objective,t?.status,t?.tokensUsed,t?.tokenBudget]),S=Mt((g?.source===x?g.runtime:t)?.tone===`active`),C=g?.source===x?jt(g.runtime,S):t,w=C??t,T=!!(a&&o);Y(m,{prefix:`Goal`}),(0,Q.useEffect)(()=>{if(!a||!o)return;let e=!1,t=y.current;return Rr.getGoal(a,o).then(n=>{!e&&!v.current&&y.current===t&&_({source:x,runtime:n.goal?Dt(n.goal,n.observedAt):null})}).catch(t=>{e||h(t)}),()=>{e=!0}},[a,o,x,s]);async function E(){if(a&&o&&!v.current){y.current++,v.current=!0,p(`load`),h(null);try{let e=await Rr.getGoal(a,o),t=e.goal?Dt(e.goal,e.observedAt):null;_({source:x,runtime:t}),t&&d({original:t.objective,draft:t.objective})}catch(e){h(e)}finally{v.current=!1,p(null)}}}function D(){d(null),b.current?.focus()}async function O(e){if(!a||!o||v.current||!w)return;let t=u?.draft.trim();if(e===`save`&&!t)return;let n=++y.current;v.current=!0,p(e),h(null);try{let r=await Rr.patchGoal(a,o,{expectedObjective:e===`save`?u.original:w.objective,...e===`save`?{objective:t}:{status:e===`pause`?`paused`:`active`}}),i=Dt(r.goal,r.observedAt);i&&_({source:x,runtime:i}),e===`save`&&D(),e===`pause`&&s&&await c(),e===`resume`&&!s&&l().catch(e=>(h(e),!1)).then(async e=>{if(e||y.current!==n)return;let t=await Rr.patchGoal(a,o,{expectedObjective:w.objective,status:`paused`}),r=Dt(t.goal,t.observedAt);r&&y.current===n&&_({source:x,runtime:r})}).catch(e=>h(e))}catch(e){h(e)}finally{v.current=!1,p(null)}}return!C||!w?null:(0,$.jsxs)(`section`,{className:`composer-goal-strip ${w.tone}`,"aria-label":`Goal`,"aria-busy":!!f,children:[(0,$.jsxs)(`div`,{className:`composer-goal-heading`,children:[(0,$.jsxs)(`button`,{ref:b,type:`button`,className:`composer-goal-toggle`,"aria-label":`${e?`Hide`:`Show`} goal details`,"aria-expanded":e||!!u,"aria-controls":n,onClick:()=>{u||i()},title:w.objective,children:[(0,$.jsx)(Oa,{size:15,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`composer-goal-status`,children:w.actionLabel}),(0,$.jsx)(`span`,{className:`composer-goal-preview`,children:w.objective})]}),(0,$.jsx)(`span`,{className:`composer-goal-time`,title:w.tooltip,children:w.timeLabel}),T?(0,$.jsxs)(`div`,{className:`composer-goal-actions`,children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":`Edit goal`,title:`Edit goal`,disabled:!!f||!!u,onClick:()=>void E(),children:(0,$.jsx)(Da,{size:15})}),w.tone===`active`||w.tone===`paused`?(0,$.jsx)(`button`,{type:`button`,"aria-label":w.tone===`active`?`Pause goal`:`Resume goal`,title:w.tone===`active`?`Pause goal`:`Resume goal`,disabled:!!f||!!u,onClick:()=>void O(w.tone===`active`?`pause`:`resume`),children:w.tone===`active`?(0,$.jsx)(un,{size:15}):(0,$.jsx)(Ln,{size:15})}):null]}):null,(0,$.jsx)(`button`,{type:`button`,className:`composer-goal-disclosure`,"aria-label":`Toggle goal details`,"aria-expanded":e||!!u,"aria-controls":n,disabled:!!u,onClick:i,children:(0,$.jsx)(Dn,{size:15})})]}),u||e?(0,$.jsxs)(`div`,{className:`composer-goal-objective`,id:n,children:[u?(0,$.jsxs)(`div`,{className:`composer-goal-editor`,children:[(0,$.jsx)(`label`,{htmlFor:`${n}-input`,children:`Goal objective`}),(0,$.jsx)(`textarea`,{id:`${n}-input`,autoFocus:!0,rows:3,maxLength:32e3,value:u.draft,disabled:!!f,onChange:e=>d({...u,draft:e.target.value}),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&!f&&(e.preventDefault(),D()),e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),O(`save`))}}),(0,$.jsxs)(`div`,{className:`composer-goal-editor-actions`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:!!f,onClick:D,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`composer-goal-save`,disabled:!!f||!u.draft.trim()||u.draft.trim()===u.original,onClick:()=>void O(`save`),children:f===`save`?`Saving…`:`Save goal`})]})]}):(0,$.jsx)(`p`,{children:w.objective}),(0,$.jsx)(`small`,{children:w.detail}),r?(0,$.jsx)(`span`,{className:`composer-goal-subagent-summary`,children:r.tooltip}):null]}):null]})}function Vc({drafts:e,sendingDraftId:t,onDeleteDraft:n,onEditDraft:r,onSteerDraft:i}){return e.length===0?null:(0,$.jsx)(`div`,{className:`composer-steer-stack`,"aria-label":`Steer drafts`,children:e.map(e=>(0,$.jsx)(wc,{prompt:e.prompt,attachments:e.attachments,sending:t===e.id,onSend:()=>i(e.id),onDelete:()=>n(e.id),onEdit:()=>r(e)},e.id))})}var Hc=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,Uc=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,Wc=new Set(`about.apps.collections.codespaces.contact.customer-stories.enterprise.events.explore.features.issues.login.marketplace.mobile.new.notifications.orgs.organizations.pricing.pulls.readme.search.settings.sponsors.team.topics.trending`.split(`.`)),Gc=new Set([`account`,`api`,`dashboard`,`docs`,`install.sh`,`login`,`logout`,`opchat`,`sandboxes`,`settings`]);function Kc(e){let t=e.toLowerCase().replace(/^www\./,``);return t===`github.com`?`github`:t===`openpond.ai`||t.endsWith(`.openpond.ai`)?`openpond`:null}function qc(e){return e===`github`?Wc:Gc}function Jc(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;Yc(t);)t=t.slice(0,-1);return t}function Yc(e){let t=e.at(-1);if(!t||!`)]}`.includes(t))return!1;let n=t===`)`?`(`:t===`]`?`[`:`{`,r=0;for(let i of e)i===n&&(r+=1),i===t&&--r;return r<0}function Xc(e){return e.replace(/\.git$/i,``)}function Zc(e){try{return decodeURIComponent(e)}catch{return e}}function Qc(e){return Xc(Zc(e.trim()))}function $c(e){let t=e.host.toLowerCase().replace(/^www\./,``),n=Kc(t);if(!n)return null;let r=Zc(e.owner?.trim()??``),i=Qc(e.repo??``);return!r||!i||qc(n).has(r.toLowerCase())?null:{end:e.end,host:t,label:`${r}/${i}`,provider:n,repo:i,start:e.start,url:e.url,owner:r}}function el(e,t){let n=Jc(e);if(!n)return null;try{let e=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),r=e.pathname.split(`/`).filter(Boolean);return $c({end:t+n.length,host:e.hostname,owner:r[0],repo:r[1],start:t,url:n})}catch{return null}}function tl(e,t){let n=Jc(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;let i=r[1]?.trim()??``,a=(r[2]??``).split(`/`).filter(Boolean);return $c({end:t+n.length,host:i,owner:a[0],repo:a[1],start:t,url:n})}function nl(e,t,n){let r=[];t.lastIndex=0;let i;for(;i=t.exec(e);){let e=n(i[0]??``,i.index);e&&r.push(e)}return r}function rl(e){if(!e)return[];let t=[...nl(e,Hc,el),...nl(e,Uc,tl)].sort((e,t)=>e.start-t.start||t.end-e.end),n=[];for(let e of t)n.some(t=>e.start<t.end&&e.end>t.start)||n.push(e);return n.sort((e,t)=>e.start-t.start)}var il=10,al=340,ol=320,sl=160,cl=56;function ll(e,t=0){let n=Number.parseFloat(e);return Number.isFinite(n)?n:t}function ul(e){if(!e)return;e.style.height=`auto`;let t=window.getComputedStyle(e),n=ll(t.fontSize,16),r=ll(t.lineHeight,n*1.45),i=ll(t.paddingTop)+ll(t.paddingBottom),a=ll(t.borderTopWidth)+ll(t.borderBottomWidth),o=ll(t.minHeight,66),s=Math.max(o,Math.ceil(r*il+i+a)),c=Math.max(o,Math.min(e.scrollHeight,s));e.style.height=`${c}px`,e.style.overflowY=e.scrollHeight>s?`auto`:`hidden`}function dl(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.getComputedStyle(e),a=ll(i.paddingLeft,14),o=ll(i.paddingTop,15),s=Math.max(0,r.width-16),c=Math.min(al,s),l=n.left-r.left+a-8;return{left:Math.max(8,Math.min(l,r.width-c-8)),top:Math.max(8,n.top-r.top+o+2),width:c}}function fl(e){let t=e.getBoundingClientRect(),n=Math.floor(t.top-cl);return{maxHeight:Math.max(sl,Math.min(ol,n))}}function pl(e){let t=``,n=null,r=[e];for(;r.length;){let i=r.pop();if(i instanceof HTMLElement){if(i.matches(`[data-inline-token="true"]`)){n=t.length;continue}if(i.matches(`[data-inline-repo-link="true"]`)){t+=i.dataset.repoUrl??``;continue}if(i.matches(`[data-inline-connected-app-mention="true"]`)){t+=i.dataset.connectedMentionText??``;continue}if(i!==e&&(i.tagName===`DIV`||i.tagName===`P`)){let e=i.previousSibling;for(;e&&(e instanceof HTMLElement&&e.matches(`[data-inline-token="true"]`)||e.nodeType===Node.TEXT_NODE&&e.textContent===``);)e=e.previousSibling;e&&(t+=`
|
|
6
|
-
`)}if(i.tagName===`BR`){i.parentNode?.childNodes.length!==1&&(t+=`
|
|
7
|
-
`);continue}}if(i.nodeType===Node.TEXT_NODE)t+=i.textContent??``;else for(let e=i.childNodes.length-1;e>=0;e--)r.push(i.childNodes[e])}return{text:t,tokenPosition:n}}var ml=`[data-inline-token='true']`,hl=`[data-inline-repo-link='true']`,gl=`[data-inline-connected-app-mention='true']`;function _l(e){return e instanceof HTMLElement&&e.matches(ml)}function vl(e){return e instanceof HTMLElement&&e.matches(hl)}function yl(e){return e instanceof HTMLElement&&e.matches(gl)}function bl(e,t){return Math.max(0,Math.min(e,t))}function xl(e,t){return e?bl(e.position,t.length):null}function Sl(e,t,n,r=!1){let i=xl(t,n),a=bl(e,n.length);return i===null?a:a>i||r&&a===i?a+1:a}function Cl(e,t,n){let r=xl(t,n);return bl(r===null?e:e>r?e-1:e,n.length)}var wl=pl;function Tl(e){let t=pl(e);return t.text.length+(t.tokenPosition===null?0:1)}function El(e,t,n){if(!t||t!==e&&!e.contains(t))return null;let r=document.createRange();return r.selectNodeContents(e),r.setEnd(t,n),Tl(r.cloneContents())}function Dl(e){let t=window.getSelection();if(!t||t.rangeCount===0)return null;let n=El(e,t.anchorNode,t.anchorOffset),r=El(e,t.focusNode,t.focusOffset);return n===null||r===null?null:{anchor:n,focus:r}}function Ol(e,t){let n=Math.max(0,t);function r(t){let n=t.parentNode;return n?{node:n,offset:Array.prototype.indexOf.call(n.childNodes,t)}:{node:e,offset:0}}function i(e){let t=r(e);return{node:t.node,offset:t.offset+1}}function a(e){if(_l(e)||vl(e)||yl(e)){let t=Tl(e);return n<=0?r(e):n<=t?i(e):(n-=t,null)}if(e.nodeType===Node.TEXT_NODE){let t=e.textContent?.length??0;return n<=t?{node:e,offset:n}:(n-=t,null)}if(e instanceof HTMLBRElement)return null;for(let t of e.childNodes){let e=a(t);if(e)return e}return null}return a(e)??{node:e,offset:e.childNodes.length}}function kl(e,t){let n=window.getSelection();if(!n)return;let r=Ol(e,t.anchor),i=Ol(e,t.focus);if(n.removeAllRanges(),typeof n.setBaseAndExtent==`function`){n.setBaseAndExtent(r.node,r.offset,i.node,i.offset);return}let a=document.createRange(),o=t.anchor<=t.focus,s=o?r:i,c=o?i:r;a.setStart(s.node,s.offset),a.setEnd(c.node,c.offset),n.addRange(a)}function Al(e,t){kl(e,{anchor:t,focus:t})}function jl(e){document.execCommand(`insertText`,!1,e)}function Ml(e){return e===`plus`?`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>`:e===`bot`?`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg>`:e===`skill`?`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V5a2 2 0 0 1 2-2h5a3 3 0 0 1 3 3v15a3 3 0 0 0-3-3Z"></path><path d="M21 18a1 1 0 0 0 1-1V5a2 2 0 0 0-2-2h-5a3 3 0 0 0-3 3v15a3 3 0 0 1 3-3Z"></path></svg>`:`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg>`}function Nl(){return`<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="composer-invocation-clear" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>`}function Pl(e){let t=document.createElement(`span`);t.className=`composer-invocation-pill`,t.contentEditable=`false`,t.dataset.inlineToken=`true`;let n=document.createElement(`button`);n.type=`button`,n.className=`composer-invocation-remove`,n.setAttribute(`aria-label`,`Remove ${e.label}`),n.addEventListener(`mousedown`,e=>e.preventDefault()),n.addEventListener(`click`,t=>{t.preventDefault(),e.onRemove()});let r=document.createElement(`span`);r.className=`composer-invocation-icon`,r.setAttribute(`aria-hidden`,`true`),r.innerHTML=Ml(e.icon),n.append(r),n.insertAdjacentHTML(`beforeend`,Nl());let i=document.createElement(`span`);return i.className=`composer-invocation-label`,i.textContent=e.label,t.append(n,i),t}function Fl(e){return e.provider===`github`?r(`github`):a}function Il(e){let t=document.createElement(`span`);t.className=`composer-repo-link ${e.provider}`,t.contentEditable=`false`,t.dataset.inlineRepoLink=`true`,t.dataset.repoUrl=e.url,t.dataset.repoProvider=e.provider,t.setAttribute(`aria-label`,`${e.provider===`github`?`GitHub`:`OpenPond`} repository ${e.label}`),t.title=e.url;let n=document.createElement(`img`);n.className=`composer-repo-link-icon`,n.src=Fl(e),n.alt=``,n.draggable=!1;let r=document.createElement(`span`);return r.className=`composer-repo-link-label`,r.textContent=e.label,t.append(n,r),t}function Ll(e){return r(e)}function Rl(e){let t=document.createElement(`span`);t.className=`composer-connected-app-mention ${e.provider}`,t.contentEditable=`false`,t.dataset.inlineConnectedAppMention=`true`,t.dataset.connectedMentionText=e.text,t.dataset.connectedMentionProvider=e.provider,t.setAttribute(`aria-label`,`${e.label} connected app mention ${e.displayText}`),t.title=e.detail;let n=document.createElement(`img`);n.className=`composer-connected-app-mention-icon`,n.src=Ll(e.provider),n.alt=``,n.draggable=!1;let r=document.createElement(`span`);return r.className=`composer-connected-app-mention-label`,r.textContent=e.displayText,t.append(n,r),t}function zl(e,t){let n=rl(e);return t===null?n:n.filter(e=>t<=e.start||t>=e.end)}function Bl(e,t,n){let r=qn(e,t);return n===null?r:r.filter(e=>n<=e.start||n>=e.end)}function Vl(e,t,n){let r=[...zl(e,t).map(e=>({end:e.end,kind:`repo`,link:e,start:e.start})),...Bl(e,n,t).map(e=>({end:e.end,kind:`connected-app`,mention:e,start:e.start}))].sort((e,t)=>e.start-t.start||t.end-e.end),i=[],a=0;for(let e of r)e.start<a||(i.push(e),a=e.end);return i}function Hl(e,t,n){return Vl(e,t,n).map(e=>e.kind===`repo`?`${e.start}:${e.end}:repo:${e.link.provider}:${e.link.label}:${e.link.url}`:`${e.start}:${e.end}:connected-app:${e.mention.provider}:${e.mention.text}:${e.mention.displayText}`).join(`|`)}function Ul(e,t,n,r){let i=xl(n,t),a=Vl(t,i,r),o=!1;function s(t){t&&e.append(document.createTextNode(t))}function c(r,a){!n||i===null||o||i<r||i>a?s(t.slice(r,a)):(s(t.slice(r,i)),e.append(Pl(n)),o=!0,s(t.slice(i,a)))}e.replaceChildren();let l=0;for(let t of a)c(l,t.start),t.kind===`repo`?e.append(Il(t.link)):e.append(Rl(t.mention)),l=t.end;c(l,t.length),n&&!o&&e.append(Pl(n))}var Wl=(0,Q.forwardRef)(function({connectedAppMentions:e=[],ariaDescribedBy:t,disabled:n,onCursorChange:r,onKeyDown:i,onPasteFiles:a,onPasteTextAsAttachment:o,onPromptChange:s,onTokenPositionChange:c,placeholder:l,prompt:u,token:d},f){let p=(0,Q.useRef)(null),m=`${d?`${d.key}:${xl(d,u)??0}`:`none`}|${Hl(u,xl(d,u),e)}`,h=(0,Q.useRef)(null),g=u.length===0&&!d;(0,Q.useImperativeHandle)(f,()=>({get element(){return p.current},getPrompt(){let e=p.current;return e?wl(e).text:u},focusAtPromptIndex(e,t){let n=p.current;if(!n)return;let r=Sl(e,d,u,t?.afterToken);n.focus(),Al(n,r),ul(n)},resize(){ul(p.current)}}),[u,d]),(0,Q.useLayoutEffect)(()=>{let t=p.current;if(!t)return;let n=h.current!==m;h.current=m;let r=wl(t);if(n||u===``||r.text!==u||r.tokenPosition!==xl(d,u)){let n=document.activeElement===t?Dl(t):null;Ul(t,u,d,e),t.dataset.empty=u.length===0&&!d?`true`:`false`,n&&kl(t,n)}ul(t)},[e,u,d,m]);function _(){let t=p.current;if(!t)return;let n=Dl(t)?.focus??Tl(t),i=wl(t);t.querySelector(`div, p, br`)&&(Ul(t,i.text,d&&i.tokenPosition!==null?{...d,position:i.tokenPosition}:null,e),Al(t,n));let a=Cl(n,d,i.text);t.dataset.empty=i.text.length===0&&!d?`true`:`false`,c(i.tokenPosition),r(a),s(i.text,a)}function v(){_(),window.requestAnimationFrame(_)}function y(){let e=p.current;e&&r(Cl(Dl(e)?.focus??Tl(e),d,u))}return(0,$.jsx)(`div`,{ref:p,className:`composer-inline-input`,role:`textbox`,"aria-multiline":`true`,"aria-describedby":t,contentEditable:!n,suppressContentEditableWarning:!0,"data-empty":g?`true`:`false`,"data-placeholder":l,onBeforeInput:e=>{e.nativeEvent.inputType===`insertParagraph`&&(e.preventDefault(),jl(`
|
|
8
|
-
`),v())},onInput:e=>{e.nativeEvent.isComposing||_()},onCompositionEnd:_,onKeyDown:e=>{i(e)},onKeyUp:y,onMouseUp:y,onPaste:e=>{e.preventDefault();let t=Array.from(e.clipboardData.files);if(t.length>0&&a){a(t);return}let n=e.clipboardData.getData(`text/plain`);n&&(o?.(n)||(jl(n),v()))}})});function Gl(e){e.saving||(e.prompt.trim()?e.attachmentsCount>0?e.showInfo(`Task drafts currently save instructions only. Remove attachments before saving.`):e.hasSelectedInvocation?e.showInfo(`Finish or remove the selected command before saving this task draft.`):(e.setSaving(!0),e.onSave(e.prompt).then(t=>{t&&e.onSaved()}).finally(()=>e.setSaving(!1))):e.showInfo(`Add task instructions before saving a draft.`))}function Kl(e,t,n,r,i,a,o){return e===`Enter`&&(t||n)&&!r&&i===`work`&&a===`chat`&&o}function ql(e){return e.surface===`team`?`Message team`:e.mode===`start`?e.experience===`chat`?`Ask anything`:`What should we work on? Ctrl Enter to save as draft`:`Ask for follow-up changes`}function Jl(e){let t=e.implementation?.type;return t===`openpond-agent`||t===`local-profile-agent`||t===`openpond-profile-action`&&(e.sourceActionId===`chat`||e.id===`chat`||e.id.endsWith(`.chat`))}function Yl(e){return e.kind===`command`?`command:${e.command.id}`:e.kind===`app-context`?`app-context:${e.app.id}`:e.kind===`skill`?`skill:${e.skill.name}`:`action:${e.action.id}`}function Xl(e){return e.kind===`command`?`${e.command.command} ${e.command.label}`:e.kind===`app-context`?e.app.name:e.kind===`skill`?Ys(e.skill):Pt(e.action)}function Zl(e){return e.kind===`command`?qt(e.command):e.kind===`app-context`?`Planning context${e.app.description?`: ${e.app.description}`:e.app.gitRepo?`: ${e.app.gitRepo}`:``}`:e.kind===`skill`?e.skill.description||e.skill.path:e.action.description||zt(e.action)}function Ql(e){return e.kind===`app`?`app:${e.app.id}`:e.kind===`connected-app`?`connected-app:${e.app.provider}`:e.kind===`team-member`?`team-member:${e.member.userId}`:e.kind===`skill`?`skill:${e.skill.name}`:`action:${e.action.id}`}function $l(e){return e.kind===`app`?e.app.name:e.kind===`connected-app`?e.app.label:e.kind===`team-member`?e.member.name:e.kind===`skill`?Ys(e.skill):Gt(e.action)}function eu(e){if(e.kind===`action`)return Rt(e.action);if(e.kind===`connected-app`)return e.app.detail;if(e.kind===`team-member`)return e.member.handle?`@${e.member.handle}`:`Team member`;if(e.kind===`skill`)return e.skill.description||e.skill.path;let t=e.app.sandboxActionRegistry?.actions.map(e=>e.name)??[];return t.length>0?`Actions: ${t.slice(0,4).join(`, `)}${t.length>4?` +${t.length-4}`:``}`:e.app.sandboxManifestError?`Manifest registry unavailable`:e.app.description||e.app.gitRepo||e.app.id}function tu(e){return e.kind===`files`?`files`:e.kind===`folder`?`folder`:e.kind===`slash`?`slash:${Yl(e.item)}`:`mention:${Ql(e.item)}`}function nu(e){return e.kind===`files`?`Files and folders`:e.kind===`folder`?`Local folder`:e.kind===`slash`?Xl(e.item):$l(e.item)}function ru(e){return e.kind===`files`?`Attach images, documents, or other files`:e.kind===`folder`?`Share a bounded folder as Work input`:e.kind===`slash`?Zl(e.item):eu(e.item)}function iu(e,t){let n=t.toLowerCase().split(/\s+/).filter(Boolean);if(n.length===0)return!0;let r=`${nu(e)} ${ru(e)}`.toLowerCase();return n.every(e=>r.includes(e))}function au(e,t){let n=t.trimStart(),r=n.startsWith(`/`)?`slash`:n.startsWith(`@`)?`mentions`:null,i=r?n.slice(1).trimStart():n,a=r?e.filter(e=>e.id===r||e.queryScope===r||e.queryScopes?.includes(r)):e;if(!i)return a;let o=a.map(e=>({...e,items:e.items.filter(e=>iu(e,i))})).filter(e=>e.items.length>0);return o.length>0?o:[{...(r?a[0]:null)??{id:`results`,label:`Results`},emptyLabel:r===`slash`?`No slash commands match`:r===`mentions`?`No mentions match`:`No commands match`,items:[]}]}function ou(e){if(e.kind===`files`||e.kind===`folder`)return(0,$.jsx)(In,{size:14});if(e.kind===`slash`){let t=e.item;return t.kind===`command`?t.command.id===`agent`?(0,$.jsx)(En,{size:14}):t.command.id===`skill`?(0,$.jsx)(Er,{size:14}):(0,$.jsx)(hn,{size:14}):t.kind===`app-context`?(0,$.jsx)(ba,{size:14}):t.kind===`skill`?(0,$.jsx)(_r,{size:14}):Jl(t.action)?(0,$.jsx)(En,{size:14}):(0,$.jsx)(hn,{size:14})}let t=e.item;return t.kind===`connected-app`?(0,$.jsx)(`img`,{alt:``,className:`composer-provider-mention-icon`,draggable:!1,src:r(t.app.provider)}):t.kind===`action`?Jl(t.action)?(0,$.jsx)(En,{size:14}):(0,$.jsx)(hn,{size:14}):t.kind===`skill`?(0,$.jsx)(_r,{size:14}):(0,$.jsx)(ba,{size:14})}function su(e){if(e.kind===`slash`&&e.item.kind===`app-context`||e.kind===`mention`&&e.item.kind===`app`)return e.item.app.id}function cu({ariaLabel:e,className:t=``,id:n,menuIndex:r,menuRef:i,onSelect:a,onSelectIndex:o,sections:s,style:c,variant:l}){let u=(0,Q.useRef)(null),d=s.reduce((e,t)=>e+t.items.length,0);(0,Q.useEffect)(()=>{if(l===`add`&&r===0){let e=u.current?.closest(`.composer-command-menu`);e&&(e.scrollTop=0)}else u.current?.scrollIntoView({block:`nearest`})},[d,r,l]);let f=0;return(0,$.jsx)(`div`,{ref:i,id:n,className:`composer-project-menu composer-slash-menu ${t} composer-command-menu composer-command-menu-${l}`.trim(),role:l===`add`?`menu`:`listbox`,"aria-label":e,style:c,children:s.map(e=>{let t=f;return f+=e.items.length,(0,$.jsxs)(`div`,{className:`composer-command-section ${e.grid?`composer-command-section-grid`:``}`.trim(),role:`group`,"aria-label":e.label,children:[(0,$.jsx)(`div`,{className:`composer-command-section-title`,children:e.label}),e.items.length>0?e.items.map((e,n)=>{let i=t+n,s=i===r;return(0,$.jsxs)(`button`,{type:`button`,role:l===`add`?`menuitem`:`option`,ref:s?u:void 0,"aria-selected":l===`typed`?s:void 0,className:`composer-project-option ${s?`selected`:``} composer-command-option`,"data-app-context-id":su(e),onFocus:()=>o(i),onMouseEnter:()=>o(i),onMouseDown:e=>{e.preventDefault()},onClick:()=>a(e),children:[ou(e),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:nu(e)}),(0,$.jsx)(`small`,{children:ru(e)})]}),l===`typed`&&s?(0,$.jsx)(Sr,{size:14}):(0,$.jsx)(`span`,{"aria-hidden":`true`})]},tu(e))}):(0,$.jsx)(`div`,{className:`composer-menu-empty`,children:e.emptyLabel??`No items available`})]},e.id)})})}function lu({mentionIndex:e,items:t,onSelect:n,onSelectIndex:r,style:i}){return(0,$.jsx)(cu,{ariaLabel:`Mentions`,className:`composer-mention-menu`,menuIndex:e,sections:[{emptyLabel:`No matching mentions`,id:`mentions`,items:t.map(e=>({kind:`mention`,item:e})),label:`@`}],style:i,variant:`typed`,onSelect:e=>{e.kind===`mention`&&n(e.item)},onSelectIndex:r})}function uu({running:e,sendDisabled:t,hasComposerInput:n,sendTooltip:r,stopIcon:i,stopLabel:a,voiceInputActive:o,onSend:s,onStop:c}){let l=e&&!n&&!o,u=l?a:r;return(0,$.jsx)(`button`,{type:`button`,className:`send-button ${l?`stop-button`:``}`.trim(),disabled:!l&&t&&!o,"data-tooltip":u,"aria-label":u,onClick:l?()=>void c():s,children:l?i===`pause`?(0,$.jsx)(un,{size:15}):(0,$.jsx)(Bn,{size:13,fill:`currentColor`}):(0,$.jsx)(ya,{size:18})})}var du=new WeakMap,fu=new WeakMap,pu=3e4;function mu(e,t){return JSON.stringify([e,t?.binaryPath??null,t?.sourceHome??null,t?.enabled??!0,t?.acp??null])}function hu(e,t,n){return fu.get(e)?.get(mu(t,n))?.value??null}function gu(e,t,n,r){let i=fu.get(e);i||(i=new Map,fu.set(e,i)),i.set(mu(t,r),{value:n,refreshedAt:Date.now()})}function _u(e,t,n){let r=mu(t,n),i=fu.get(e)?.get(r);if(i&&Date.now()-i.refreshedAt<pu)return{promise:Promise.resolve(i.value),release(){}};let a=du.get(e);a||(a=new Map,du.set(e,a));let o=a.get(r);if(!o){let i=new AbortController;o={controller:i,readers:0,promise:K(e,`/v1/providers/${t}/native-setup`,{method:`POST`,body:JSON.stringify({action:`capabilities`}),signal:i.signal})},a.set(r,o);let s=o,c=()=>{a.get(r)===s&&a.delete(r)};o.promise.then(o=>{a.get(r)===s&&!i.signal.aborted&&!o.error&&o.session&&gu(e,t,o,n),c()},c)}o.readers++;let s=o,c=!1;return{promise:s.promise,release(){c||(c=!0,s.readers--,s.readers===0&&a.get(r)===s&&(a.delete(r),s.controller.abort()))}}}function vu({connection:e,provider:t,providerSettings:n,disabled:r,placement:i=`top`,onSettings:a,onSetup:o}){let s=n?.providers[t],[c,l]=(0,Q.useState)(null),u=mu(t,s),d=e?hu(e,t,s):null,f=c?.connection===e&&c.provider===t&&c.instance===u?c.value:d,[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(!1),{recovery:_}=yr(e),v=p??f?.error;Y(v);let y=R(t)||[`opencode`,`grok-build`,`claude-code`].includes(t);if((0,Q.useEffect)(()=>{if(m(null),!e||!y)return;let n=_u(e,t,s),r=!0;return n.promise.then(n=>{r&&(n.error?m(n.error):(l({connection:e,provider:t,instance:u,value:n}),a({provider:t,settings:n.settings})))}).catch(e=>{r&&m(e.message)}),()=>{r=!1,n.release()}},[e,t,y,a,u,_]),!y||!e)return null;let b=s?.nativeMode??f?.session?.modes?.currentModeId??``;async function x(n){if(e){g(!0);try{let r=await K(e,`/v1/providers`,{method:`PATCH`,body:JSON.stringify({providers:{[t]:n}})});if(f){let n={...f,settings:r};gu(e,t,n,s),l({connection:e,provider:t,instance:u,value:n})}a({provider:t,settings:r}),m(null)}catch(e){m(e instanceof Error?e.message:`Could not save agent settings.`)}finally{g(!1)}}}return(0,$.jsxs)($.Fragment,{children:[s&&!s.enabled?(0,$.jsx)(`button`,{type:`button`,disabled:r||h,onClick:()=>void x({enabled:!0}),children:`Enable agent`}):null,f?.session?.modes?(0,$.jsx)(Z,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(mr,{size:14}),placement:i,label:t===`claude-code`?`Claude permissions`:`Agent mode`,disabled:r||h,value:t===`claude-code`&&b==="default"?`manual`:b,options:f.session.modes.availableModes.map(e=>({value:e.id,label:t===`claude-code`&&e.id===`manual`?`Ask`:e.name,...t===`claude-code`?{description:e.id===`plan`?`Inspect and plan before making changes.`:e.id===`bypassPermissions`?`Run tools and commands without permission prompts.`:`Ask before actions that require permission.`}:{}})),onChange:e=>void x({nativeMode:e})}):null,f?.session?.configOptions?.filter(e=>e.type===`select`&&e.category!==`model`&&e.category!==`mode`).map(e=>(0,$.jsxs)(`label`,{className:`composer-native-option`,children:[(0,$.jsx)(`span`,{children:e.name}),(0,$.jsx)(`select`,{title:`Default ${e.name.toLowerCase()} for this agent installation`,disabled:r||h,value:s?.nativeOptions?.[e.id]??e.currentValue,onChange:t=>void x({nativeOptions:{...s?.nativeOptions,[e.id]:t.target.value}}),children:e.options?.flatMap(e=>`options`in e?e.options:[e]).map(e=>(0,$.jsx)(`option`,{value:e.value,children:e.name},e.value))})]},e.id)),v?(0,$.jsxs)(`span`,{role:`status`,title:`Open agent setup`,children:[`Agent needs attention`,o?(0,$.jsx)(`button`,{type:`button`,onClick:o,children:`Open setup`}):null]}):null]})}function yu(){return!!(navigator.mediaDevices&&typeof AudioContext<`u`)}async function bu(e={}){if(!yu())throw Error(`Voice recording is not available in this browser.`);let t=await navigator.mediaDevices.getUserMedia({audio:{autoGainControl:!0,channelCount:1,echoCancellation:!0,noiseSuppression:!0}}),n=new AudioContext,r=n.createMediaStreamSource(t),i=n.createScriptProcessor(4096,1,1),a=n.createGain();a.gain.value=0;let o={audioContext:n,chunks:[],processor:i,silentGain:a,source:r,stream:t,startedAt:performance.now(),stopped:!1,onAudioLevel:e.onAudioLevel};return i.onaudioprocess=e=>{if(o.stopped)return;let t=e.inputBuffer.getChannelData(0);o.chunks.push(new Float32Array(t)),o.onAudioLevel?.(xu(t))},r.connect(i),i.connect(a),a.connect(n.destination),{stop:()=>Su(o,!0),cancel:()=>Su(o,!1).then(()=>void 0)}}function xu(e){if(e.length===0)return 0;let t=0;for(let n of e)t+=n*n;let n=Math.sqrt(t/e.length);return Math.min(1,(n*5)**.6)}async function Su(e,t){if(e.stopped)return{blob:new Blob([],{type:`audio/wav`}),durationMs:0,sampleRate:e.audioContext.sampleRate};e.stopped=!0,e.processor.disconnect(),e.silentGain.disconnect(),e.source.disconnect();for(let t of e.stream.getTracks())t.stop();await e.audioContext.close().catch(()=>void 0);let n=Math.max(0,performance.now()-e.startedAt);if(!t)return{blob:new Blob([],{type:`audio/wav`}),durationMs:n,sampleRate:e.audioContext.sampleRate};let r=Cu(e.chunks);if(r.length===0)throw Error(`No microphone audio was captured.`);return{blob:wu(r,e.audioContext.sampleRate),durationMs:n,sampleRate:e.audioContext.sampleRate}}function Cu(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Float32Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function wu(e,t){let n=e.length*2,r=new ArrayBuffer(44+n),i=new DataView(r);Tu(i,0,`RIFF`),i.setUint32(4,36+n,!0),Tu(i,8,`WAVE`),Tu(i,12,`fmt `),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,t,!0),i.setUint32(28,t*1*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),Tu(i,36,`data`),i.setUint32(40,n,!0);let a=44;for(let t of e){let e=Math.max(-1,Math.min(1,t));i.setInt16(a,e<0?e*32768:e*32767,!0),a+=2}return new Blob([r],{type:`audio/wav`})}function Tu(e,t,n){for(let r=0;r<n.length;r+=1)e.setUint8(t+r,n.charCodeAt(r))}var Eu=96,Du=Array.from({length:Eu},()=>0);function Ou(){return[...Du]}function ku(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function Au({levels:e}){let t=(0,Q.useMemo)(()=>e.length>=Eu?e.slice(-96):[...Du.slice(e.length),...e],[e]);return(0,$.jsx)(`span`,{className:`voice-recording-waveform`,role:`img`,"aria-label":`Live microphone level`,children:t.map((e,t)=>(0,$.jsx)(`span`,{className:`voice-recording-bar`,style:{"--voice-level":e},"aria-hidden":`true`},t))})}var ju=12e4,Mu=`openpond.voice.setupNoticeAcknowledged`,Nu=`Voice dictation runs locally with whisper.cpp. OpenPond uses a local whisper-cli binary and downloads the voice model on first use.`;function Pu({connection:e,buttonClassName:t,wrapperClassName:n=``,disabled:r=!1,iconSize:i=16,language:a=`en`,onActiveChange:o,showToast:s,onTranscript:c,transcriptionChannelKey:l,submitLabel:u=`Send`}){let d=(0,Q.useRef)(null),f=(0,Q.useRef)(null),p=(0,Q.useRef)(e),m=(0,Q.useRef)(r),h=(0,Q.useRef)(`idle`),g=(0,Q.useRef)(!1),_=(0,Q.useRef)(Lu());re(()=>{_.current=Lu()}),p.current=e,m.current=r;let[v,y]=(0,Q.useState)(`idle`),b=(0,Q.useRef)(!1),[x,S]=(0,Q.useState)(Ou),C=(0,Q.useCallback)(e=>sc(l,e),[l]),w=(0,Q.useCallback)(()=>ac(l),[l]),T=(0,Q.useSyncExternalStore)(C,w,w),E=(0,Q.useCallback)(()=>oc(l),[l]),D=(0,Q.useSyncExternalStore)(C,E,E)?`Transcribing · ${u.toLowerCase()} when ready`:`Transcribing`,O=T,k=v===`starting`,A=v===`recording`,j=A||T,M=k||j;h.current=v;let N=(0,Q.useCallback)(()=>{f.current!==null&&(window.clearTimeout(f.current),f.current=null)},[]),P=(0,Q.useCallback)(async()=>{N();let e=d.current;d.current=null,g.current=!1,y(`idle`),S(Ou()),e&&await e.cancel().catch(()=>void 0)},[N]),F=(0,Q.useCallback)(async(e,t,n)=>{let r=p.current;if(!r)throw Error(`Voice input is still connecting.`);let i=await vr.voiceTranscriptionStatus(r,{signal:t});if(!i.binaryPath)throw Error(i.installHint??`Install whisper.cpp to use dictation.`);let o=await vr.transcribeVoice(r,{audioBase64:await Fu(e.blob),durationMs:Math.round(e.durationMs),language:a,mimeType:`audio/wav`},{signal:t});t.aborted||await c(o.text,{submit:n()})},[a,c]),ee=(0,Q.useCallback)(()=>{cc(l),S(Ou())},[l]),I=(0,Q.useCallback)(async(e=!1)=>{N();let t=d.current;d.current=null,t&&(y(`idle`),S(Ou()),dc(l,async(e,n)=>{let r=await t.stop();e.aborted||await F(r,e,n)},{submit:e}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||s(Iu(e),`error`)}))},[N,s,F,l]),L=(0,Q.useCallback)(async()=>{if(b.current&&!m.current){if(!p.current)s(`Voice input is still connecting.`,`error`);else if(!yu())s(`Voice recording is not available in this browser.`,`error`);else{y(`starting`);try{let e=await window.openpond?.requestMicrophoneAccess?.();if(!b.current||m.current){await P();return}if(e===!1)throw Error(`Microphone access is denied.`);let t=await bu({onAudioLevel:e=>{S(t=>ku(t,e))}});if(!b.current||m.current){await t.cancel(),await P();return}if(d.current=t,S(Ou()),y(`recording`),g.current){g.current=!1,I(!0);return}f.current=window.setTimeout(()=>{I(!1)},ju)}catch(e){b.current&&s(Iu(e),`error`),await P()}}}},[P,s,I]),R=(0,Q.useCallback)(()=>{_.current?L():s(Nu,`info`,{actionLabel:`Continue`,onAction:()=>{_.current=!0,Ru(),L()}})},[L,s]);return(0,Q.useEffect)(()=>lc(l,()=>d.current?(I(!0),!0):h.current===`starting`&&(g.current=!0,!0)),[I,l]),(0,Q.useEffect)(()=>{o?.(M)},[M,o]),(0,Q.useEffect)(()=>()=>o?.(!1),[o]),(0,Q.useEffect)(()=>(b.current=!0,()=>{b.current=!1,P()}),[P]),(0,$.jsx)(`span`,{className:`voice-input-control ${n} ${k?`starting`:``} ${A?`recording`:``} ${T?`transcribing`:``}`.trim(),children:j?(0,$.jsxs)(`span`,{className:`voice-recording-strip`,children:[(0,$.jsx)(`span`,{className:`sr-only`,role:`status`,children:T?D:`Recording voice`}),(0,$.jsx)(`button`,{type:`button`,className:`voice-recording-action cancel`,"aria-label":T?`Cancel transcription`:`Cancel dictation`,onClick:()=>{T?ee():P()},children:(0,$.jsx)(Hn,{size:15})}),T?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`span`,{className:`voice-transcribing-label`,"aria-hidden":`true`,children:[D,(0,$.jsxs)(`span`,{className:`voice-transcribing-dots`,children:[(0,$.jsx)(`span`,{children:`.`}),(0,$.jsx)(`span`,{children:`.`}),(0,$.jsx)(`span`,{children:`.`})]})]}),(0,$.jsx)(`span`,{className:`voice-recording-action-spacer`,"aria-hidden":`true`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Au,{levels:x}),(0,$.jsx)(`button`,{type:`button`,className:`voice-recording-action stop`,"aria-label":`Stop and transcribe`,onClick:()=>void I(!1),children:(0,$.jsx)(Bn,{size:10,fill:`currentColor`})})]})]}):(0,$.jsx)(`button`,{type:`button`,className:`voice-input-trigger ${t} ${k?`starting`:``}`.trim(),"aria-label":k?`Starting dictation`:`Dictate`,disabled:r||O||k,onClick:R,children:(0,$.jsx)(Ta,{size:i})})})}async function Fu(e){let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768){let r=t.subarray(e,e+32768);n+=String.fromCharCode(...r)}return window.btoa(n)}function Iu(e){let t=e instanceof Error?e.message:String(e);return/NotAllowedError|Permission denied|denied/i.test(t)?`Microphone access is denied.`:/NotFoundError|Requested device not found/i.test(t)?`No microphone was found.`:t||`Voice input failed.`}function Lu(){if(typeof window>`u`)return!1;try{return B.getItem(Mu)===`true`}catch{return!1}}function Ru(){if(typeof window<`u`)try{B.setItem(Mu,`true`)}catch{}}var zu=new Set([`codex`,`openai`,`xai`,`openrouter`,`deepseek`,`zai`,`moonshot`,`together`,`groq`,`custom-openai-compatible`,`setup-provider`]);function Bu({surface:e=`chat`,teamUseModel:t=!1,teamUseModelLocked:n=!1,onTeamUseModelChange:r,addFiles:i,addMenuId:a,addMenuOpen:o,addMenuRef:s,busy:c,codexPermissionMode:l,codexReasoningEffort:u,connection:d,contextStatusStyle:f,contextStatusTooltipId:p,contextWindowStatus:m,disabled:h,dropdownPlacement:g,fileInputRef:_,modelValue:v,modelOptions:y=[],hideModelControls:b=!1,trainingControl:x,executionControl:S,allowedModelRefs:C,modelSelectionDisabled:w=!1,openPondCommandAccessMode:T,showCommandAccess:E=!0,profileTarget:D,onCodexPermissionModeChange:O,onCodexReasoningEffortChange:k,onOpenPondCommandAccessModeChange:A,onProfileTargetChange:j,onModelChange:M,onOpenFilePicker:N,onProviderChange:P,onProviderSetupOpen:F,onSend:ee,onStop:I,onToggleAddMenu:L,onTranscript:te,voiceInputChannelKey:ne,provider:z,providerSettings:B,providerOptions:re,running:ie,sendDisabled:V,hasComposerInput:oe,sendTooltip:se,showToast:ce,stopIcon:ue=`stop`,stopLabel:de=`Stop response`}){let fe=mu(z,B?.providers[z]),[me,_e]=(0,Q.useState)(null),ve=d?hu(d,z,B?.providers[z]):null,ye=me?.connection===d&&me.provider===z&&me.instance===fe?me.settings:ve?.settings??null,be=(0,Q.useMemo)(()=>ye?B?{...B,providers:{...B.providers,[z]:ye.providers[z]},statuses:{...B.statuses,[z]:ye.statuses[z]},modelCaches:{...B.modelCaches,[z]:ye.modelCaches[z]}}:ye:B,[B,ye,z]),xe=(0,Q.useCallback)(e=>{d&&_e({connection:d,provider:e.provider,instance:fe,settings:e.settings})},[d,fe]),Se=R(z)||[`claude-code`,`opencode`,`grok-build`].includes(z),Ce=z===`openpond`?v:v||ge(z,be),[we,U]=(0,Q.useState)(!1),Te=ae(z,Ce,be),Ee=(0,Q.useMemo)(()=>Ac({currentModelOptions:ye?H(z,be):y,currentProvider:z,providerOptions:re,providerSettings:be}).flatMap(e=>{if(!C)return[e];let t=e.options.filter(t=>C.some(n=>n.providerId===e.provider&&n.modelId===t.value));return t.length?[{...e,options:t,defaultModel:t.some(t=>t.value===e.defaultModel)?e.defaultModel:t[0].value}]:[]}),[y,z,re,be,ye,C]),De=(0,Q.useMemo)(()=>Ee.filter(e=>zu.has(e.provider)),[Ee]),Oe=(e,t)=>{k(le(e,t,be)),e===z?M(t):P(e,t)};return e===`team`?(0,$.jsxs)(`div`,{className:`composer-primary-controls team-chat-composer-controls ${ie?`has-running-turn`:``}`.trim(),children:[(0,$.jsx)(`button`,{type:`button`,className:`composer-icon`,"aria-label":`Add photos and files`,disabled:h,onClick:N,children:(0,$.jsx)(Rn,{size:18})}),(0,$.jsx)(`input`,{ref:_,className:`composer-file-input`,type:`file`,multiple:!0,tabIndex:-1,onChange:e=>{i(Array.from(e.currentTarget.files??[])),e.currentTarget.value=``}}),(0,$.jsxs)(`label`,{className:`team-chat-model-toggle`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:t,disabled:c||n,onChange:e=>r?.(e.currentTarget.checked)}),(0,$.jsx)(`span`,{children:`Use model`})]}),(0,$.jsx)(`div`,{className:`composer-spacer`}),t?(0,$.jsx)(Rc,{disabled:c,model:Ce,modelGroups:De,placement:g,provider:z,providerSettings:be,reasoningEffort:u,showReasoning:Te,onModelSelectionChange:Oe,onReasoningEffortChange:k}):null,S,(0,$.jsx)(Pu,{buttonClassName:`composer-icon`,connection:d,disabled:h,iconSize:16,wrapperClassName:`composer-voice-input`,onActiveChange:U,showToast:ce,onTranscript:te,transcriptionChannelKey:ne,submitLabel:se}),(0,$.jsx)(uu,{running:ie,sendDisabled:V||z===`openpond`&&!v,hasComposerInput:oe,sendTooltip:se,stopIcon:ue,stopLabel:de,voiceInputActive:we,onSend:ee,onStop:I})]}):(0,$.jsxs)(`div`,{className:`composer-primary-controls ${ie?`has-running-turn`:``}`.trim(),children:[(0,$.jsxs)(`div`,{className:`composer-add-control open-up`,ref:s,children:[(0,$.jsx)(`button`,{type:`button`,className:`composer-icon ${o?`active`:``}`,"aria-label":`Add to message`,"aria-haspopup":`menu`,"aria-expanded":o,"aria-controls":o?a:void 0,disabled:h,onMouseDown:e=>e.preventDefault(),onClick:L,children:(0,$.jsx)(Rn,{size:18})}),(0,$.jsx)(`input`,{ref:_,className:`composer-file-input`,type:`file`,multiple:!0,tabIndex:-1,onChange:e=>{i(Array.from(e.currentTarget.files??[])),e.currentTarget.value=``}})]}),!b&&Se?(0,$.jsx)(vu,{connection:d,provider:z,providerSettings:be,placement:g,onSettings:xe,onSetup:F,disabled:c||h}):null,E&&z===`codex`?(0,$.jsx)(Z,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(mr,{size:14}),placement:g,label:`Codex permissions`,tooltip:he.find(e=>e.value===l)?.label,value:l,options:he,disabled:c,onChange:e=>O(e)}):E&&!Se?(0,$.jsx)(Z,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(Vn,{size:14}),placement:g,label:`Command access`,tooltip:pe.find(e=>e.value===(T===`disabled`?`ask`:T))?.label,value:T===`disabled`?`ask`:T,options:pe,disabled:c,onChange:e=>A(e)}):null,D&&j?(0,$.jsx)(Mc,{busy:c,placement:g,state:D,onChange:j}):null,(0,$.jsx)(`div`,{className:`composer-spacer`}),!b&&(0,$.jsxs)(`span`,{className:`context-status-shell ${m.tone}`,style:f,children:[(0,$.jsx)(`span`,{className:`composer-status ${m.tone}`,role:m.maxTokens===null?`img`:`meter`,"aria-label":m.tooltip,"aria-describedby":p,"aria-valuemin":m.maxTokens===null?void 0:0,"aria-valuemax":m.maxTokens??void 0,"aria-valuenow":m.maxTokens===null?void 0:m.usedTokens,tabIndex:0}),(0,$.jsxs)(`span`,{className:`context-status-tooltip`,id:p,role:`tooltip`,children:[(0,$.jsx)(`span`,{className:`context-status-tooltip-title`,children:`Context window`}),(0,$.jsxs)(`span`,{className:`context-status-tooltip-main`,children:[(0,$.jsx)(`span`,{children:m.summary}),(0,$.jsx)(`span`,{children:m.tokensLabel})]}),m.maxTokens!==null&&(0,$.jsx)(`span`,{className:`context-status-tooltip-bar`,"aria-hidden":`true`,children:(0,$.jsx)(`span`,{})}),m.detail?(0,$.jsx)(`span`,{className:`context-status-tooltip-detail`,children:m.detail}):null]})]}),x,!b&&(0,$.jsx)(Rc,{disabled:c||w,model:Ce,modelGroups:Ee,placement:g,provider:z,providerSettings:be,reasoningEffort:u,showReasoning:Te,onModelSelectionChange:Oe,onReasoningEffortChange:k}),S,(0,$.jsx)(Pu,{buttonClassName:`composer-icon`,connection:d,disabled:h,iconSize:16,wrapperClassName:`composer-voice-input`,onActiveChange:U,showToast:ce,onTranscript:te,transcriptionChannelKey:ne,submitLabel:se}),(0,$.jsx)(uu,{running:ie,sendDisabled:V||z===`openpond`&&!v,hasComposerInput:oe,sendTooltip:se,stopIcon:ue,stopLabel:de,voiceInputActive:we,onSend:ee,onStop:I})]})}function Vu(e){return e.description||e.path}function Hu({items:e,onSelect:t,onSelectIndex:n,skillIndex:r,style:i}){let a=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{a.current?.scrollIntoView({block:`nearest`})},[e.length,r]),(0,$.jsx)(`div`,{className:`composer-project-menu composer-slash-menu composer-skill-menu`,role:`listbox`,"aria-label":`Available skills`,style:i,children:e.length>0?e.map((e,i)=>{let o=i===r;return(0,$.jsxs)(`button`,{type:`button`,className:`composer-project-option ${o?`selected`:``}`,ref:o?a:void 0,role:`option`,"aria-selected":o,onMouseEnter:()=>n(i),onMouseDown:n=>{n.preventDefault(),t(e)},children:[(0,$.jsx)(_r,{size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:Ys(e)}),(0,$.jsx)(`small`,{children:Vu(e)})]}),o?(0,$.jsx)(Sr,{size:14}):(0,$.jsx)(`span`,{"aria-hidden":`true`})]},e.name)}):(0,$.jsx)(`div`,{className:`composer-menu-empty`,role:`option`,"aria-selected":`false`,children:`No matching skills`})})}function Uu({actionCatalogCount:e,actionIndex:t,items:n,onSelect:r,onSelectIndex:i,style:a}){return(0,$.jsx)(cu,{ariaLabel:`OpenPond agents and actions`,menuIndex:t,sections:[{emptyLabel:e===0?`No matching commands or apps`:`No matching commands, apps, agents, or actions`,id:`slash`,items:n.map(e=>({kind:`slash`,item:e})),label:`/`}],style:a,variant:`typed`,onSelect:e=>{e.kind===`slash`&&r(e.item)},onSelectIndex:i})}function Wu({busy:e,initialDescription:t,open:n,onClose:r,onSubmit:i}){let[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(()=>t.trim()),l=a.trim(),u=s.trim(),d=e||!l||!u;if((0,Q.useEffect)(()=>{n&&(o(``),c(t.trim()))},[t,n]),(0,Q.useEffect)(()=>{if(!n||e)return;function t(e){e.key===`Escape`&&r()}return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,r,n]),!n)return null;async function f(){d||await i({title:l,description:u})&&(o(``),c(``))}return(0,$.jsx)(`div`,{className:`git-dialog-backdrop`,role:`presentation`,onMouseDown:e?void 0:r,children:(0,$.jsxs)(`section`,{className:`git-dialog submit-issue-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Submit GitHub issue`,onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{e.key===`Enter`&&e.target instanceof HTMLInputElement&&(e.preventDefault(),f())},children:[(0,$.jsx)(`button`,{className:`git-dialog-close`,disabled:e,type:`button`,onClick:r,children:(0,$.jsx)(Hn,{size:16})}),(0,$.jsx)(`div`,{className:`git-dialog-icon`,children:(0,$.jsx)(Pr,{size:18})}),(0,$.jsx)(`h2`,{children:`Submit issue`}),(0,$.jsxs)(`div`,{className:`git-dialog-row submit-issue-repo-row`,children:[(0,$.jsx)(`span`,{children:`Repository`}),(0,$.jsx)(`strong`,{children:Jt})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Title`}),(0,$.jsx)(`input`,{autoFocus:!0,disabled:e,placeholder:`Short issue title`,value:a,onChange:e=>o(e.target.value)})]}),(0,$.jsxs)(`label`,{className:`git-dialog-field`,children:[(0,$.jsx)(`span`,{children:`Description`}),(0,$.jsx)(`textarea`,{disabled:e,placeholder:`What happened, what you expected, and any useful context`,value:s,onChange:e=>c(e.target.value)})]}),(0,$.jsxs)(`div`,{className:`git-dialog-footer`,children:[(0,$.jsx)(`button`,{className:`git-dialog-secondary`,disabled:e,type:`button`,onClick:r,children:`Cancel`}),(0,$.jsx)(`button`,{className:`git-dialog-primary`,disabled:d,type:`button`,onClick:()=>void f(),children:`Submit issue`})]})]})})}function Gu(){let e=(0,Q.useRef)([]),t=(0,Q.useRef)([]),n=(0,Q.useRef)(!1),[r,i]=(0,Q.useState)([]),[a,o]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{e.current=r},[r]),(0,Q.useEffect)(()=>(n.current=!1,()=>{n.current=!0;for(let t of e.current)Ku(t);for(let e of t.current)Ku(e)}),[]);let s=(0,Q.useCallback)(t=>{if(t.length===0||n.current)return;let r=e.current,a=Math.max(0,xe.maxAttachments-r.length),s=[],c=0,l=0;for(let e of t){if(e.size>xe.maxAttachmentBytes){c+=1;continue}if(s.length>=a){l+=1;continue}let t=`webkitRelativePath`in e&&typeof e.webkitRelativePath==`string`&&e.webkitRelativePath.trim()?e.webkitRelativePath.trim():void 0;s.push({id:ke(),file:e,name:e.name||`Untitled file`,mediaType:e.type||`application/octet-stream`,sizeBytes:e.size,kind:De(e),...t?{relativePath:t}:{},...e.type.startsWith(`image/`)?{previewUrl:URL.createObjectURL(e)}:{}})}if(s.length>0){let t=[...r,...s];e.current=t,i(t),o(null)}if(c>0||l>0){let e=[];c>0&&e.push(`${c} file${c===1?``:`s`} exceeded ${Te(xe.maxAttachmentBytes)}`),l>0&&e.push(`maximum ${xe.maxAttachments} attachments`),o(e.join(`; `))}},[]),c=(0,Q.useCallback)(t=>{let n=e.current,r=n.find(e=>e.id===t);r&&Ku(r);let a=n.filter(e=>e.id!==t);e.current=a,i(a),a.length===0&&o(null)},[]),l=(0,Q.useCallback)(()=>{for(let t of e.current)Ku(t);e.current=[],i([]),o(null)},[]),u=(0,Q.useCallback)(()=>{let n=e.current;return n.length===0||(e.current=[],t.current=n,i([]),o(null)),n},[]),d=(0,Q.useCallback)((r,a)=>{if(r.length===0)return;let o=new Set(r.map(e=>e.id));if(t.current=t.current.filter(e=>!o.has(e.id)),a===`restore`&&!n.current)i(t=>{let n=new Set(t.map(e=>e.id)),i=[...r.filter(e=>!n.has(e.id)),...t];return e.current=i,i});else for(let e of r)Ku(e)},[]);return{attachmentError:a,attachments:r,addFiles:s,clearAttachments:l,removeAttachment:c,settleStagedAttachments:d,setAttachmentError:o,stageAttachmentsForSubmit:u,prepareAttachmentsForSubmit:(0,Q.useCallback)(async()=>{let e=u();try{return{attachments:await Promise.all(e.map(Oe)),settle:t=>d(e,t?`dispose`:`restore`)}}catch(t){throw d(e,`restore`),t}},[u,d]),restoreAttachmentPayloads:(0,Q.useCallback)(e=>{s(e.map(e=>{let t=e.contentsBase64?Uint8Array.from(atob(e.contentsBase64),e=>e.charCodeAt(0)):new TextEncoder().encode(e.text??``),n=new File([t],e.name,{type:e.mediaType});return e.relativePath&&Object.defineProperty(n,"webkitRelativePath",{value:e.relativePath}),n}))},[s])}}function Ku(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function qu(e){let t=e.current?.id===e.sessionId?e.current:null,n=e.observed?.id===e.sessionId?e.observed:null,r=[t,n].find(e=>e?.metadata?.nativeWorker===!0&&e.metadata.nativeWorkerCanResume===!1),i=r??n??t,a=typeof i?.metadata?.nativeReadOnlyReason==`string`?i.metadata.nativeReadOnlyReason:null;return{session:i,reason:r?a??`This native agent is controlled by its parent conversation. Send further instructions through the parent conversation.`:i?a:e.fallbackReason}}function Ju({connection:e,sessionId:t,events:n,fallbackReason:r,fallbackSession:i}){let a=(0,Q.useMemo)(()=>{for(let e=n.length-1;e>=0;e--){let r=n[e];if(r.sessionId!==t||![`session.started`,`session.updated`,`session.title.updated`].includes(r.name))continue;let i=r.data,a=ve.safeParse(i&&typeof i==`object`&&`session`in i?i.session:null);if(a.success)return{session:a.data,eventId:r.id}}return null},[n,t]),[o,s]=(0,Q.useState)(null),{session:c,reason:l}=qu({sessionId:t,current:i,observed:o?.connection===e&&o.session.id===t&&o.eventId===a?.eventId?o.session:a?.session??null,fallbackReason:r});return{session:c,reason:l,acceptSession:t=>s({connection:e,eventId:a?.eventId,session:t})}}function Yu({connection:e,session:t,reason:n,onRechecked:r,onOpenParent:i}){let[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null);Y(s);let l=(0,Q.useRef)(0);(0,Q.useEffect)(()=>(l.current++,o(!1),c(null),()=>{l.current++}),[e,t?.id]);let u=t?.metadata?.nativeWorker===!0&&t.metadata.nativeWorkerCanResume===!1,d=!u&&!t?.metadata?.nativeBranch&&t?.metadata?.nativeHistoryId;return(0,$.jsxs)(`div`,{className:`composer dock native-conversation-unavailable`,children:[(0,$.jsx)(`p`,{role:`status`,children:n}),u&&t?.parentSessionId&&i?(0,$.jsx)(`button`,{type:`button`,disabled:a,onClick:async()=>{o(!0),c(null);try{await i(t.parentSessionId)}catch(e){c(e instanceof Error?e.message:String(e))}finally{o(!1)}},children:`Open parent chat`}):null,e&&typeof d==`string`?(0,$.jsx)(`button`,{type:`button`,disabled:a,onClick:async()=>{let t=l.current;o(!0),c(null);try{let n=await K(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:d,retryWorkspace:!0})});t===l.current&&r(ve.parse(n))}catch(e){t===l.current&&c(e instanceof Error?e.message:`Could not reconnect to this conversation.`)}finally{t===l.current&&o(!1)}},children:a?`Checking…`:`Check again`}):null]})}function Xu(e,t){let n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\/([a-zA-Z0-9_-]*)$/.exec(n);if(!r||typeof r.index!=`number`)return null;let i=r[0].lastIndexOf(`/`);if(i<0)return null;let a=r.index+i;return{end:n.length,query:(r[1]??``).toLowerCase(),start:a}}function Zu(e,t,n=Ft){let r=e.slice(0,Math.max(0,Math.min(t,e.length))),i=/(?:^|\s)\/([a-z][a-z0-9_-]*)\s$/.exec(r);if(!i)return null;let a=n.find(e=>e.id===i[1]);if(!a)return null;let o=i[0].lastIndexOf(`/`);return o<0||typeof i.index!=`number`?null:{command:a,end:r.length,start:i.index+o}}function Qu(e,t=Ft){return It({commands:t,prompt:`/${e}`})}function $u(e,t){return e.length===0?[]:e.filter(e=>!t||[e.id,e.name??``,e.label??``,e.description??``,typeof e.implementation?.type==`string`?e.implementation.type:``].join(` `).toLowerCase().includes(t))}function ed(e,t){return e.length===0?[]:e.filter(e=>!t||[e.id,e.name,e.description??``,e.gitRepo??``,Kn(e)].join(` `).toLowerCase().includes(t)).slice(0,8)}function td({actionCatalog:e,connectedAppMentions:t,mentionApps:n,profileSkills:r,query:i,surface:a,teamMentionMembers:o}){let s=i.toLowerCase();if(a===`team`){let t=o.filter(e=>!s||[e.name,e.handle??``].map(Jn).some(e=>e.includes(s))).map(e=>({kind:`team-member`,member:e}));return[...Ht(e,s,e.length).map(e=>({kind:`action`,action:e})),...t]}let c=n.filter(e=>!s||[Jn(e.id),Jn(e.name),e.gitRepo?Jn(e.gitRepo):``,Kn(e)].some(e=>e.includes(s))).map(e=>({kind:`app`,app:e})),l=Ht(e,s,e.length).map(e=>({kind:`action`,action:e})),u=Zs(r,s).map(e=>({kind:`skill`,skill:e})),d=Qn(t,s).map(e=>({kind:`connected-app`,app:e}));return[...l,...u,...c,...d]}function nd(e,t,n){let r=t?.trim();if(!r)return e;let i=Math.max(0,Math.min(n??0,e.length)),a=e.slice(0,i),o=e.slice(i);return`${a}${a&&!/\s$/.test(a)?` `:``}${r}${o&&!/^\s/.test(o)?` `:``}${o}`.replace(/\s+/g,` `).trim()}function rd(e){let t=Jn(Pt(e)||e.name||e.id);return t?`@${t}`:null}function id(e){let t=e.trim();if(!t.startsWith(`{`)||!t.endsWith(`}`))return e;try{let n=JSON.parse(t);if(!n||Array.isArray(n)||typeof n!=`object`)return e;let r=Object.entries(n).filter(([,e])=>e!=null&&e!==``).map(([e,t])=>`${ad(e)}: ${od(e,t)}`);return r.length?r.join(` · `):e}catch{return e}}function ad(e){let t=e.replace(/Id$/,``).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replaceAll(`_`,` `).trim().toLowerCase();return t?`${t[0].toUpperCase()}${t.slice(1)}`:`Input`}function od(e,t){if(Array.isArray(t))return t.map(t=>od(e,t)).join(`, `);if(t&&typeof t==`object`)return Object.entries(t).map(([e,t])=>`${ad(e)}: ${od(e,t)}`).join(` · `);let n=String(t);return/Id$/.test(e)&&/^[a-z0-9_-]+$/i.test(n)?n.split(/[-_]+/).filter(Boolean).map(e=>`${e[0].toUpperCase()}${e.slice(1)}`).join(` `):n}function sd({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;let i=n?.trim(),a=i?.startsWith(`@`)?i:rd(e);return a?nd(id(t),a,r):null}function cd({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}var ld=new Set([`openpond-agent-authoring`,`openpond-skill-authoring`,`openpond-taskset-authoring`,`openpond-refiner-authoring`]);function ud({activeMentionKey:e,activeSkillKey:t,activeSlashKey:n,addMenuIndex:r,addMenuItems:i,addMenuOpen:a,addMenuPanelRef:o,addMenuRef:s,attachmentCount:c,composerRef:l,createImproveActive:u,goalRuntimeActive:d,inputRef:f,inputShellRef:p,mentionQuery:m,prompt:h,selectedActionId:g,selectAddMenuItem:_,setActionIndex:v,setActionMenuDismissedPrompt:y,setAddMenuIndex:b,setAddMenuOpen:x,setAddMenuQuery:S,setMentionMenuDismissedPrompt:C,setMentionIndex:w,setSkillIndex:T,setSkillMenuDismissedPrompt:E,skillMatchCount:D,skillQuery:O,slashMatchCount:k,slashQuery:A,showActionMenu:j,showMentionMenu:M,showSkillMenu:N}){let[P,F]=(0,Q.useState)({}),[ee,I]=(0,Q.useState)({}),[L,R]=(0,Q.useState)({}),[te,ne]=(0,Q.useState)({});return(0,Q.useEffect)(()=>{w(0)},[m]),(0,Q.useEffect)(()=>{T(0)},[D,O]),(0,Q.useEffect)(()=>{v(0)},[k,A]),(0,Q.useEffect)(()=>{let e=f.current?.element,t=e?.parentElement;if(!e||!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>f.current?.resize());return n.observe(t),()=>n.disconnect()},[]),(0,Q.useEffect)(()=>{if(!a)return;function c(r){let i=r.target,a=f.current?.element?.parentElement;!s.current?.contains(i)&&!o.current?.contains(i)&&!a?.contains(i)&&(x(!1),S(``),C(e),y(n),E(t))}function l(a){if(a.key===`Escape`)a.preventDefault(),x(!1),S(``),C(e),y(n),E(t);else if(i.length!==0){if(a.key===`ArrowDown`)a.preventDefault(),b(e=>(e+1)%i.length);else if(a.key===`ArrowUp`)a.preventDefault(),b(e=>(e-1+i.length)%i.length);else if(a.key===`Home`)a.preventDefault(),b(0);else if(a.key===`End`)a.preventDefault(),b(i.length-1);else if(a.key===`Enter`){a.preventDefault();let e=i[r]??i[0];e&&_(e)}}}return document.addEventListener(`pointerdown`,c),document.addEventListener(`keydown`,l),()=>{document.removeEventListener(`pointerdown`,c),document.removeEventListener(`keydown`,l)}},[e,t,n,r,i,a]),(0,Q.useLayoutEffect)(()=>{if(!a)return;let e=p.current;if(!e)return;let t=e;function n(){ne(fl(t))}return n(),window.addEventListener(`resize`,n),window.addEventListener(`scroll`,n,!0),()=>{window.removeEventListener(`resize`,n),window.removeEventListener(`scroll`,n,!0)}},[a,c,u,d]),(0,Q.useLayoutEffect)(()=>{if(!j)return;let e=f.current?.element,t=l.current;if(!e||!t)return;let n=e,r=t;function i(){R(dl(n,r))}return i(),window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0)}},[c,u,d,h,g,j]),(0,Q.useLayoutEffect)(()=>{if(!N)return;let e=f.current?.element,t=l.current;if(!e||!t)return;let n=e,r=t;function i(){I(dl(n,r))}return i(),window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0)}},[c,u,d,h,g,N]),(0,Q.useLayoutEffect)(()=>{if(!M)return;let e=f.current?.element,t=l.current;if(!e||!t)return;let n=e,r=t;function i(){F(dl(n,r))}return i(),window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0)}},[c,u,d,h,g,M]),{actionMenuStyle:L,addMenuStyle:te,mentionMenuStyle:P,skillMenuStyle:ee}}var dd=(0,Q.lazy)(()=>o(()=>import(`./ComposerCreateImproveStrip-CSngc8-V.js`).then(e=>e.n).then(e=>({default:e.ComposerCreateImproveStrip})),__vite__mapDeps([67,1,2,3,16,5,17,19,14,18,20,21,22,4,6,23,24,25,26,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,60]))),fd=Ft.find(e=>e.id===`submit-issue`),pd=[],md=[];function hd({experience:e=`development`,mode:t,surface:n=`chat`,placeholder:r,teamUseModel:i=!1,teamUseModelLocked:a=!1,teamMentionMembers:o=[],onTeamUseModelChange:s,prompt:c,composeNotice:l=null,mentionApps:u=[],connectedAppMentions:d=[],profileSkills:f=[],selectedMentionAppId:p=null,contextWindowStatus:m,goalRuntime:h=null,subagentRuntime:g=null,createImproveRuntime:_=null,busy:v,readOnlyReason:y=null,readOnlySession:b=null,onOpenNativeParent:x,running:S=v,taskSessionId:C=null,goalSessionId:w=C,taskEvents:T=md,steerActiveResponses:E=!1,submissionScopeKey:D=`default`,composerDraftStore:O,getCurrentSubmissionScopeKey:k,voiceInputChannelKey:A=D,initialSteerDrafts:j=pd,showProjectFooter:M=!0,hideModelControls:N=!1,modelSelectionDisabled:P=!1,allowedModelRefs:F,executionControl:ee,enableResourceContext:I=!0,autoFocus:L=!1,focusRequestId:R=0,attachmentRequest:te=null,connection:ne,providerSettings:z=null,provider:B,model:re,projectTarget:ie,profileTarget:ae=null,actionCatalog:V=[],requestedAction:le=null,workspaceTarget:ue,codexPermissionMode:de,codexReasoningEffort:fe,openPondCommandAccessMode:pe,onProviderChange:me,onProviderSetupOpen:he,onProjectTargetChange:ge,onProfileTargetChange:_e,onWorkspaceTargetChange:ve,onModelChange:ye,onCodexPermissionModeChange:be,onCodexReasoningEffortChange:Se,onOpenPondCommandAccessModeChange:Ce,onPromptChange:we,onMentionAppSelect:U,onSaveTaskDraft:Te,showToast:De,onSubmit:ke,onStop:je,onPauseGoal:Me}){let Ne=Ju({connection:ne,sessionId:C??b?.id??null,events:T,fallbackReason:y??null,fallbackSession:b}),Pe=Ne.reason,Fe=(0,Q.useRef)(null),Ie=(0,Q.useRef)(null),Le=(0,Q.useRef)(null),Re=O?.getScopeKey(),ze=E,Be=gc(ne,C,T),Ve=ds(n===`chat`&&I?ne:null,C??null),He=ks(n===`chat`&&I&&!Ve.selection?.model&&!Ve.selection?.training?ne:null,C??null),{resourceDrafts:Ue,onPromptChange:W,currentResourceContexts:We}=Es(D,we,He,O);qs({surface:n,voiceInputChannelKey:A,taskSessionId:C,submissionScopeKey:D,prompt:c,onPromptChange:W,showToast:De,resourceDrafts:Ue,inputRef:Le,composerDraftStore:O});let Ge=(0,Q.useRef)(null),Ke=(0,Q.useRef)(null),qe=(0,Q.useRef)(null),Je=(0,Q.useRef)(null),Ye=(0,Q.useRef)(0),Xe=le&&V.some(e=>e.id===le.actionId)?le:null,Ze=(0,Q.useRef)(!1),Qe=(0,Q.useRef)(0),$e=(0,Q.useRef)(Xe?.requestId??0),et=(0,Q.useRef)(new Set),tt=(0,Q.useRef)(new Set),[nt,rt]=(0,Q.useState)(c.length),it=(0,Q.useRef)(nt);it.current=nt;let[at,ot]=(0,Q.useState)(0),[st,ct]=(0,Q.useState)(0),[lt,ut]=(0,Q.useState)(0),[dt,ft]=(0,Q.useState)(0),[pt,mt]=(0,Q.useState)(``),[ht,gt]=(0,Q.useState)(null),[_t,vt]=(0,Q.useState)(null),[yt,G]=(0,Q.useState)(null),[bt,xt]=(0,Q.useState)(!1),[St,Ct]=(0,Q.useState)(!1),[wt,Tt]=(0,Q.useState)(Xe?.actionId??null),[K,Et]=(0,Q.useState)(null),[Dt,kt]=(0,Q.useState)(null),[At,jt]=(0,Q.useState)(null),[Mt,Nt]=(0,Q.useState)(null),[Ft,It]=(0,Q.useState)(!1),[Rt,zt]=(0,Q.useState)(()=>({[D]:j})),[Bt,Ht]=(0,Q.useState)(null),[Ut,Wt]=(0,Q.useState)(!1),[Gt,qt]=(0,Q.useState)(``),[Jt,Yt]=(0,Q.useState)(!1),{attachmentError:Xt,attachments:Zt,addFiles:Qt,removeAttachment:$t,settleStagedAttachments:en,setAttachmentError:tn,stageAttachmentsForSubmit:nn,prepareAttachmentsForSubmit:rn,restoreAttachmentPayloads:an}=Gu(),on=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{te&&on.current!==te.id&&(on.current=te.id,Qt([te.file]))},[Qt,te]);let sn=(0,Q.useCallback)(e=>{let t=Ee(e,Zt);return!t||Zt.length>=xe.maxAttachments||t.size>xe.maxAttachmentBytes?!1:(Qt([t]),!0)},[Qt,Zt]),cn=r??ql({experience:e,mode:t,surface:n}),ln=e===`development`||e===`work`&&ie.value!==`none`,un=se(B,re,z),dn=(0,Q.useId)(),fn=(0,Q.useId)(),pn=(0,Q.useId)(),mn={"--context-fill":`${Math.round((m.percent??0)/100*360)}deg`,"--context-bar-fill":`${m.percent??0}%`},hn=(0,Q.useMemo)(()=>V.find(e=>e.id===wt)??null,[V,wt]),gn=(0,Q.useMemo)(()=>Vt(B,e),[e,B]),_n=(0,Q.useMemo)(()=>ln?f:f.filter(e=>!ld.has(e.name)),[e,f]),q=(0,Q.useMemo)(()=>gn.find(e=>e.id===K)??null,[gn,K]),vn=sd({action:hn,prompt:c,selectedActionMentionText:At,selectedInvocationPosition:Dt}),yn=cd({attachmentCount:Zt.length,prompt:c,selectedAction:hn,selectedCommand:q}),bn=(0,Q.useMemo)(()=>{let e=Math.max(0,Math.min(Dt??0,c.length));return q?{icon:q.id===`agent`?`plus`:q.id===`skill`?`skill`:`workflow`,key:`command:${q.id}`,label:q.id===`agent`?`Author Agent`:q.id,position:e,onRemove:()=>{Et(null),kt(null),jt(null)}}:hn?{icon:hn.implementation?.type===`openpond-agent`?`bot`:`workflow`,key:`action:${hn.id}`,label:Pt(hn),position:e,onRemove:()=>{Tt(null),kt(null),jt(null)}}:null},[c.length,hn,q,Dt]),xn=Mt===D,Sn=xn||!yn,Cn=xn?`Preparing files`:S?ze?`Steer`:`Queue`:`Send`,wn=xn,Tn=xn||Ve.selecting,En=bs({connection:n===`chat`&&I?ne:null,sessionId:C??null,events:T,prompt:c,selectionKey:JSON.stringify(Ve.selection?.target??null),inputRef:Le,blocked:v||S||xn||Ve.selecting||Zt.length>0||!!(hn||q)||Sc(Rt,D,j).length>0||!(!Be.enabled||Be.snapshot)||!!(Be.snapshot?.activeTurnId||Be.snapshot?.inputs.some(e=>e.state===`pending`))});function Dn(e=D){if(Pe)return!1;let t=et.current;return!t.has(e)&&(t.add(e),!0)}function On(e){et.current.delete(e)}function kn(e){return et.current.has(e)}function An(){return kn(D)}function jn(e){Nt(t=>t===e?null:t)}let Mn=(0,Q.useMemo)(()=>{let e=F?[...new Set(F.map(e=>e.providerId))].map(e=>({value:e,label:ce(e,z),description:void 0})):oe(z,{enabledOnly:!0}).map(e=>({...e,description:void 0})),t=ue.value===`cloud`&&ln?e.filter(e=>e.value===`openpond`):e,n=t.some(e=>e.value===B)?t:[{value:B,label:ce(B,z),description:`Current`},...t],r={value:`setup-provider`,label:`New Model/Provider`,icon:`plus`,separatorBefore:!0};return[...n,r]},[B,z,ln,ue.value,F]),Nn=(0,Q.useMemo)(()=>H(B,z),[B,z]),Pn=(0,Q.useMemo)(()=>Yn(c,Math.min(nt,c.length)),[nt,c]),Fn=Pn?`${c}:${Pn.start}:${Math.min(nt,c.length)}`:null,In=(0,Q.useMemo)(()=>Pn?td({actionCatalog:V,connectedAppMentions:d,mentionApps:u,profileSkills:_n,query:Pn.query,surface:n,teamMentionMembers:o}):[],[V,d,u,Pn,_n,n,o]),Ln=(0,Q.useMemo)(()=>n===`team`?[]:td({actionCatalog:V,connectedAppMentions:d,mentionApps:u,profileSkills:_n,query:``,surface:n,teamMentionMembers:o}).filter(e=>e.kind!==`skill`),[V,d,u,_n,n,o]),Rn=!!(!bt&&!wn&&Pn&&Fn&&ht!==Fn&&In.length>0),zn=(0,Q.useMemo)(()=>Js(c,Math.min(nt,c.length)),[nt,c]),Bn=zn?`${c}:${zn.start}:${zn.end}`:null,Vn=(0,Q.useMemo)(()=>zn?Zs(_n,zn.query):[],[zn,_n]),Hn=!(bt||wn||!zn||!Bn||yt===Bn),J=(0,Q.useMemo)(()=>Xu(c,Math.min(nt,c.length)),[nt,c]),Y=J?`${c}:${J.start}:${J.end}`:null,Un=(0,Q.useMemo)(()=>J?$u(V,J.query):[],[V,J]),Wn=(0,Q.useMemo)(()=>J&&n!==`team`?ed(u,J.query):[],[J,u,n]),Gn=(0,Q.useMemo)(()=>J&&n!==`team`?Qu(J.query,gn):[],[J,gn,n]),Kn=(0,Q.useMemo)(()=>J&&n!==`team`?Zs(_n,J.query):[],[J,_n,n]),qn=(0,Q.useMemo)(()=>[...Un.map(e=>({kind:`action`,action:e})),...Kn.map(e=>({kind:`skill`,skill:e})),...Gn.map(e=>({kind:`command`,command:e})),...Wn.map(e=>({kind:`app-context`,app:e}))],[Un,Wn,Gn,Kn]),Qn=!(bt||wn||!J||!Y||_t===Y),er=(0,Q.useMemo)(()=>gn.map(e=>({kind:`command`,command:e})),[gn]),tr=(0,Q.useMemo)(()=>[...$u(V,``).map(e=>({kind:`action`,action:e})),...ed(u,``).map(e=>({kind:`app-context`,app:e}))],[V,u]),nr=(0,Q.useMemo)(()=>Zs(_n,``).map(e=>({kind:`skill`,skill:e})),[_n]),rr=(0,Q.useMemo)(()=>{let t=[{id:`add`,items:e===`work`?[{kind:`files`},{kind:`folder`}]:[{kind:`files`}],label:`Add`}];return tr.length>0&&t.push({id:`slash`,items:tr.map(e=>({kind:`slash`,item:e})),label:`Agents and actions`,queryScope:`slash`}),nr.length>0&&t.push({id:`skills`,items:nr.map(e=>({kind:`slash`,item:e})),label:`Skills`,queryScopes:[`slash`,`mentions`]}),t.push({id:`openpond`,items:er.map(e=>({kind:`slash`,item:e})),label:`OpenPond`,grid:!0,queryScope:`slash`}),t.push({emptyLabel:`No mentions available`,id:`mentions`,items:Ln.map(e=>({kind:`mention`,item:e})),label:`@`}),t},[Ln,er,nr,tr,e]),ir=(0,Q.useMemo)(()=>au(rr,pt),[pt,rr]),ar=(0,Q.useMemo)(()=>ir.flatMap(e=>e.items),[ir]);(0,Q.useEffect)(()=>{bt&&ft(e=>e<ar.length?e:0)},[ar.length,bt]);let or=!!h,sr=or&&h?.tone===`active`,cr=sr?`Pause goal`:`Stop response`,lr=sr?`pause`:`stop`,ur=ie.value!==`none`,dr=Sc(Rt,D,j),Z=Bt?.scopeKey===D?Bt.draftId:null;function fr(e,t){zt(n=>Cc(n,e,t,e===D?j:[]))}(0,Q.useLayoutEffect)(()=>{Le.current?.resize()},[Zt.length,Xt,_,h,c,wt,K,Dt]),(0,Q.useEffect)(()=>{if(!L){Ze.current=!1;return}if(Ze.current||wn)return;let e=window.requestAnimationFrame(()=>{Ze.current=!0;let e=document.activeElement;e&&e!==document.body&&e!==document.documentElement||Le.current?.focusAtPromptIndex(c.length)});return()=>window.cancelAnimationFrame(e)},[L,wn,c.length]),(0,Q.useEffect)(()=>{if(!R||Qe.current===R||wn)return;let e=window.requestAnimationFrame(()=>{Le.current?.element?.isConnected&&(Le.current.focusAtPromptIndex(c.length),Qe.current=R)});return()=>window.cancelAnimationFrame(e)},[R,wn,c.length]),(0,Q.useEffect)(()=>{h||It(!1)},[h]),(0,Q.useEffect)(()=>{wt&&!V.some(e=>e.id===wt)&&(Tt(null),kt(null))},[V,wt]),(0,Q.useEffect)(()=>{if(!le||le.requestId<=$e.current)return;let e=V.find(e=>e.id===le.actionId);e&&($e.current=le.requestId,Tt(e.id),Et(null),kt(0),jt(null),W(``),rt(0),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[V,W,le]),(0,Q.useEffect)(()=>{(hn||q)&&kt(e=>e===null?0:Math.max(0,Math.min(e,c.length)))},[c.length,hn,q]),(0,Q.useEffect)(()=>{if(!p||!U)return;let e=u.find(e=>e.id===p);(!e||!$n(c,e))&&U(null)},[u,U,c,p]);let{actionMenuStyle:pr,addMenuStyle:mr,mentionMenuStyle:hr,skillMenuStyle:gr}=ud({activeMentionKey:Fn,activeSkillKey:Bn,activeSlashKey:Y,addMenuIndex:dt,addMenuItems:ar,addMenuOpen:bt,addMenuPanelRef:Je,addMenuRef:qe,attachmentCount:Zt.length,composerRef:Fe,createImproveActive:!!_,goalRuntimeActive:!!h,inputRef:Le,inputShellRef:Ie,mentionQuery:Pn?.query,prompt:c,selectedActionId:wt,selectAddMenuItem:Vr,setActionIndex:ut,setActionMenuDismissedPrompt:vt,setAddMenuIndex:ft,setAddMenuOpen:xt,setAddMenuQuery:mt,setMentionMenuDismissedPrompt:gt,setMentionIndex:ot,setSkillIndex:ct,setSkillMenuDismissedPrompt:G,skillMatchCount:Vn.length,skillQuery:zn?.query,slashMatchCount:qn.length,slashQuery:J?.query,showActionMenu:Qn,showMentionMenu:Rn,showSkillMenu:Hn});function _r(){Tt(null),Et(null),kt(null),jt(null)}function vr(){_r(),W(``),rt(0)}function yr(e){qt(e.trim()),Wt(!0)}function br(){Jt||(Wt(!1),_r())}async function xr(){return await(sr&&Me?Me():je())}function Sr(e,t){let n=Math.max(0,Math.min(nt,c.length)),r=t?Math.max(0,Math.min(t.start,c.length)):n,i=t?Math.max(r,Math.min(t.end,c.length)):r,a=c.slice(0,r),o=c.slice(i),s=a&&!/\s$/.test(a)?` `:``,l=o&&!/^\s/.test(o)?` `:``,u=`${s}${`${Zn(e)} `}${l}`,d=`${a}${u}${o}`,f=a.length+u.length;return W(d),U?.(e.id),rt(f),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(f)}),f}function Cr(e){if(!Pn)return;let t=Math.max(0,Math.min(nt,c.length));Sr(e,{start:Pn.start,end:t})}function wr(e,t,n=null){let r=Math.max(0,Math.min(nt,c.length)),i=t?Math.max(0,Math.min(t.start,c.length)):r,a=t?Math.max(i,Math.min(t.end,c.length)):i,o=`${c.slice(0,i)}${c.slice(a)}`;return Tt(e.id),Et(null),kt(i),jt(n?.startsWith(`@`)?n:null),vt(null),W(o),rt(i),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(i,{afterToken:!0})}),i}function Tr(e){if(!Pn)return;let t=Math.max(0,Math.min(nt,c.length)),n=Math.max(0,Math.min(Pn.start,c.length)),r=Math.max(n,Math.min(t,c.length));wr(e,{start:n,end:r},c.slice(n,r).trim())}function Er(e,t){let n=Math.max(0,Math.min(nt,c.length)),r=t?Math.max(0,Math.min(t.start,c.length)):n,i=t?Math.max(r,Math.min(t.end,c.length)):r,a=c.slice(0,r),o=c.slice(i),s=a&&!/\s$/.test(a)?` `:``,l=o&&!/^\s/.test(o)?` `:``,u=`${s}${`${Xn(e)} `}${l}`,d=`${a}${u}${o}`,f=a.length+u.length;return W(d),rt(f),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(f)}),f}function Dr(e){if(!Pn)return;let t=Math.max(0,Math.min(nt,c.length));Er(e,{start:Pn.start,end:t})}function Or(e,t){let n=Math.max(0,Math.min(nt,c.length)),r=t?Math.max(0,Math.min(t.start,c.length)):n,i=t?Math.max(r,Math.min(t.end,c.length)):r,a=e.handle||Jn(e.name),o=c.slice(0,r),s=c.slice(i),l=`${o&&!/\s$/.test(o)?` `:``}@${a} ${s&&!/^\s/.test(s)?` `:``}`,u=`${o}${l}${s}`,d=o.length+l.length;return W(u),rt(d),window.requestAnimationFrame(()=>Le.current?.focusAtPromptIndex(d)),d}function kr(e){if(e.kind===`team-member`){if(!Pn)return;let t=Math.max(0,Math.min(nt,c.length));Or(e.member,{start:Pn.start,end:t})}else if(e.kind===`app`)Cr(e.app);else if(e.kind===`connected-app`)Dr(e.app);else if(e.kind===`skill`){if(!Pn)return;let t=Math.max(0,Math.min(nt,c.length));Fr(e.skill,{start:Pn.start,end:t})}else Tr(e.action)}function Ar(e){J&&(vt(null),Sr(e,{start:J.start,end:J.end}))}function jr(e){J&&wr(e,J)}function Mr(e,t){let n=Math.max(0,Math.min(nt,c.length)),r=t?Math.max(0,Math.min(t.start,c.length)):n,i=t?Math.max(r,Math.min(t.end,c.length)):r,a=`${c.slice(0,r)}${c.slice(i)}`;return Et(e.id),Tt(null),kt(r),jt(null),vt(null),W(a),rt(r),e.id===`submit-issue`&&yr(a),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(r,{afterToken:!0})}),r}function Nr(e){J&&Mr(e,J)}function Pr(e){if(e.kind===`command`)Nr(e.command);else if(e.kind===`app-context`)Ar(e.app);else if(e.kind===`skill`){if(!J)return;Fr(e.skill,J)}else jr(e.action)}function Fr(e,t){let n=Xs(c,t,e);return G(null),gt(null),vt(null),W(n.value),rt(n.cursor),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(n.cursor)}),n.cursor}function Ir(e){zn&&Fr(e,zn)}function Lr(){Ge.current?.click()}function Rr(){Ke.current?.click()}function zr(e){Ye.current=e,mt(``),ft(0)}function Br(){let e=Math.max(0,Math.min(nt,c.length)),t=Math.max(0,Math.min(Ye.current,c.length));return e>=t?{start:t,end:e}:{start:e,end:e}}function Vr(e){let t=Br();if(xt(!1),mt(``),e.kind===`files`||e.kind===`folder`){if(t.start!==t.end){let e=`${c.slice(0,t.start)}${c.slice(t.end)}`;W(e),rt(t.start)}zr(t.start),e.kind===`folder`?Rr():Lr()}else if(e.kind===`slash`){if(e.item.kind===`command`){zr(Mr(e.item.command,t));return}if(e.item.kind===`app-context`){zr(Sr(e.item.app,t));return}if(e.item.kind===`skill`){zr(Fr(e.item.skill,t));return}zr(wr(e.item.action,t))}else e.item.kind===`team-member`?zr(Or(e.item.member,t)):e.item.kind===`app`?zr(Sr(e.item.app,t)):e.item.kind===`connected-app`?zr(Er(e.item.app,t)):e.item.kind===`skill`?zr(Fr(e.item.skill,t)):zr(wr(e.item.action,t))}let{stageCurrentSteerDraft:Hr,submitImmediateSteer:Ur}=Ds({running:S,scope:D,inbox:Be,getPrompt:()=>Le.current?.getPrompt()??c,getResourceContexts:We,hasActions:!!(hn||q),attachmentCount:Zt.length,prepareAttachments:async()=>{Nt(Zt.length?D:null);try{return await rn()}finally{jn(D)}},provider:B,model:re,codexPermissionMode:de,codexReasoningEffort:fe,openPondCommandAccessMode:pe,getCurrentSubmissionScopeKey:k,onSubmit:ke,showToast:De,begin:e=>!tt.current.has(e)&&(tt.current.add(e),!0),finish:e=>{tt.current.delete(e)},clear:vr,setError:tn,stageLocal:(e,t,n)=>{fr(D,r=>[...r,yc(e,{resourceContexts:t,attachments:n})]),window.requestAnimationFrame(()=>Le.current?.focusAtPromptIndex(0))}});async function Wr(e){let t=D;if(Bt?.scopeKey===t)return!1;let n=Sc(Rt,t,j).find(t=>t.id===e);if(!n)return!1;Ht({draftId:e,scopeKey:t}),tn(null);try{let r=S,i=await ke(n.attachments??[],null,null,{preservePrompt:!0,promptOverride:n.prompt,turnMetadata:{...ws(n.resourceContexts??[]),...r?{interactionKind:`steer`}:{}}});return fr(t,t=>xc(t,e,i)),i}catch(e){return tn(e instanceof Error?e.message:String(e)),!1}finally{Ht(n=>n?.scopeKey===t&&n.draftId===e?null:n)}}function Gr(e){Z!==e&&fr(D,t=>bc(t,e))}function Kr(e){if(Z===e.id)return;if(wt||K){De(`Finish the current composer before editing a queued message.`,`info`);return}if(Zt.length+(e.attachments?.length??0)>xe.maxAttachments){De(`Remove some attachments before editing this message (maximum ${xe.maxAttachments}).`,`info`);return}let t;try{t=Cs(We(),e.resourceContexts??[])}catch{De(`Send or clear the current resource actions before editing this queued message.`,`info`);return}let n=Le.current?.getPrompt()??c,r=n.trim()?`${n}\n\n${e.prompt}`:e.prompt;fr(D,t=>bc(t,e.id)),Ue.current.set(D,t),an(e.attachments??[]),W(r),rt(r.length),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(r.length)})}async function qr(e={}){if(Ve.selecting)return!1;let t=D;if(!Dn(t))return!1;xt(!1),tn(null);let{contexts:n,focus:r}=Ts(Ue.current.get(t),We(),Ve.selection),i=nn();try{Nt(i.length>0?t:null);let a;try{a=await Promise.all(i.map(Oe))}finally{jn(t)}let o=hn&&vn&&!c.trim()?vn:void 0,s=e.promptOverride??o,l=await ke(a,hn,q,vn||s||e.preservePrompt||n.length||Ve.selection?{...vn?{displayPrompt:vn}:{},...s===void 0?{}:{promptOverride:s},...e.preservePrompt?{preservePrompt:!0}:{},turnMetadata:{...ws(n),...r?{chatResourceFocus:r}:{}},...Ve.selection?{sessionMetadata:{chatContextSelection:Ve.selection.target}}:{},onSessionCreated:e=>Ve.moveToSession(e.id)}:void 0);return l&&Ue.current.get(t)===n&&Ue.current.delete(t),en(i,l?`dispose`:`restore`),l&&!Ot(hn)&&_r(),l}catch(e){return en(i,`restore`),tn(e instanceof Error?e.message:String(e)),!1}finally{On(t),jn(t)}}async function Jr(){if(uc(A))return;if(S){ze?await Ur():await Hr();return}if(An())return;let e=hn||q?null:Lt(c);q?.id===`submit-issue`||e?.command===`submit-issue`?yr(e?.command===`submit-issue`?e.args:c):Sn||await qr()}async function Yr(e){if(An()||Jt||Ve.selecting)return!1;let t=D;if(!Dn(t))return!1;Yt(!0),xt(!1),tn(null);try{let t=await ke([],null,fd,{displayPrompt:`/submit-issue ${e.title.trim()}`,promptOverride:Kt(e)});return t&&(Wt(!1),_r()),t}catch(e){return tn(e instanceof Error?e.message:String(e)),!1}finally{On(t),Yt(!1)}}async function Xr(e,t){let n=k?.()??D,r=n!==D&&Re?O?.getDrafts()[Re]:void 0,i=n===D?Le.current?.getPrompt()??c:typeof r==`string`?r:r?.prompt??(O?``:c),a=Math.max(0,Math.min(it.current,i.length)),o=Qs(i,e,t.submit?i.length:a),s=await ec({appendToEnd:t.submit,currentScopeKey:n,cursorIndex:a,originScopeKey:D,prompt:i,setOriginDraft:e=>W(e),submit:t.submit,submitFromOrigin:e=>S?ze?Ur(e):Hr(e):qr({preservePrompt:!0,promptOverride:e}),transcript:e});s!==`retained`&&(s===`submitted`?n!==D&&De(S&&!ze?`Voice message queued in the chat where recording started.`:`Voice message sent to the chat where recording started.`,`success`):(rt(o.cursorIndex),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(o.cursorIndex)})))}return Pe?(0,$.jsx)(Yu,{connection:ne,session:Ne.session,reason:Pe,onRechecked:Ne.acceptSession,onOpenParent:x}):(0,$.jsxs)(`form`,{ref:Fe,className:`composer ${t} ${_?`has-create-runtime`:``} ${or?`has-goal-runtime`:``} ${Zt.length>0?`has-attachments`:``} ${hn||q?`has-selected-action`:``} ${Xt?`has-attachment-error`:``} ${bt?`has-add-menu`:``}`,onSubmit:e=>{e.preventDefault(),Jr()},children:[Ne.session?.metadata?.nativeWorkspaceRecovered===!0?(0,$.jsx)(`p`,{className:`composer-workspace-notice`,role:`status`,title:Ne.session.cwd??void 0,children:`Using an app workspace because the original folder is unavailable.`}):null,(0,$.jsx)(`input`,{webkitdirectory:``,ref:Ke,className:`composer-file-input`,type:`file`,multiple:!0,tabIndex:-1,onChange:e=>{Qt(Array.from(e.currentTarget.files??[])),e.currentTarget.value=``}}),Rn&&(0,$.jsx)(lu,{items:In,mentionIndex:at,onSelect:kr,onSelectIndex:ot,style:hr}),Hn&&(0,$.jsx)(Hu,{items:Vn,onSelect:Ir,onSelectIndex:ct,skillIndex:st,style:gr}),Qn&&(0,$.jsx)(Uu,{actionCatalogCount:V.length,actionIndex:lt,items:qn,onSelect:Pr,onSelectIndex:ut,style:pr}),(0,$.jsx)(Wu,{busy:Jt,initialDescription:Gt,open:Ut,onClose:br,onSubmit:Yr}),t===`start`&&(M||n===`chat`)&&(0,$.jsxs)(`div`,{className:`composer-footer`,children:[M?(0,$.jsx)(Nc,{busy:v||ie.busy,placement:`top`,state:ie,onChange:ge}):null,ae&&_e?(0,$.jsx)(Mc,{busy:v,placement:`top`,state:ae,onChange:_e}):null,ur?(0,$.jsx)(Fc,{busy:v,placement:`top`,state:ue,onChange:ve}):null]}),_?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(dd,{runtime:_})}):null,Be.enabled?(0,$.jsx)(Ec,{inbox:Be,canRestore:(e,t)=>{if(Zt.length+t.length>xe.maxAttachments)return De(`Remove some attachments before editing this message (maximum ${xe.maxAttachments}).`,`info`),!1;try{return Cs(Ue.current.get(D)??[],e),!0}catch{return De(`Send or clear the current resource actions before editing this queued message.`,`info`),!1}},onRestore:(e,t,n)=>{let r=!k||k()===D,i=r?Le.current?.getPrompt()??c:c;Ue.current.set(D,Cs(Ue.current.get(D)??[],t)),W(i.trim()?`${i}\n\n${e}`:e),an(n),r&&Le.current?.focusAtPromptIndex(0)}}):(0,$.jsx)(Vc,{drafts:dr,sendingDraftId:Z,onDeleteDraft:Gr,onEditDraft:Kr,onSteerDraft:e=>{Wr(e)}}),l?.tone===`warning`?(0,$.jsx)(X,{error:l.message}):l?(0,$.jsx)(`div`,{className:`composer-notice info`,role:`status`,children:l.message}):null,n===`chat`&&I?(0,$.jsx)(Ks,{context:Ve,resources:He,sessionId:C??null,busy:v},`${C}:${JSON.stringify(Ve.selection?.target)}`):null,(or||t!==`start`&&B===`codex`&&w)&&(0,$.jsx)(Bc,{connection:B===`codex`?ne:null,sessionId:w??null,running:S,onPause:xr,onResume:()=>ke([],null,null,{preservePrompt:!0,promptOverride:`Continue pursuing the current goal.`}),detailsOpen:Ft,goalRuntime:h,objectiveId:pn,subagentRuntime:g,onToggleDetails:()=>It(e=>!e)},w??D),(0,$.jsx)(Xa,{}),(0,$.jsxs)(`div`,{className:`composer-input-shell`,ref:Ie,children:[bt&&n!==`team`&&(0,$.jsx)(cu,{id:dn,ariaLabel:`Add to message`,className:`composer-add-command-menu`,menuIndex:dt,menuRef:Je,sections:ir,style:mr,variant:`add`,onSelect:Vr,onSelectIndex:ft}),Zt.length>0&&(0,$.jsx)(`div`,{className:`composer-attachments`,"aria-label":`Selected attachments`,children:Zt.map(e=>(0,$.jsx)(Ae,{attachment:e,onRemove:()=>$t(e.id)},e.id))}),Xt&&(0,$.jsx)(X,{error:Xt}),(0,$.jsxs)(`div`,{className:`composer-textarea-frame`,onCompositionStartCapture:En.onCompositionStart,onCompositionEndCapture:En.onCompositionEnd,onClick:e=>{e.target===e.currentTarget&&Le.current?.focusAtPromptIndex(nt)},children:[(0,$.jsx)(xs,{next:En}),(0,$.jsx)(Wl,{ref:Le,connectedAppMentions:d,ariaDescribedBy:En.suggestion?En.descriptionId:void 0,disabled:wn,onCursorChange:rt,onKeyDown:t=>{En.onKeyDown(t)||gs(t,bt)||_s(t,{open:Rn,matches:In,index:at,setIndex:ot,select:kr,dismiss:()=>gt(Fn)})||_s(t,{open:Hn,matches:Vn,index:st,setIndex:ct,select:Ir,dismiss:()=>G(Bn??c)})||_s(t,{open:Qn,matches:qn,index:lt,setIndex:ut,select:Pr,dismiss:()=>vt(Y??c)})||((hn||q)&&t.key===`Backspace`&&nt===(Dt??0)?(t.preventDefault(),_r()):Kl(t.key,t.ctrlKey,t.metaKey,t.shiftKey,e,n,!!Te)?(t.preventDefault(),Gl({attachmentsCount:Zt.length,hasSelectedInvocation:!!(hn||q),onSave:Te,onSaved:_r,prompt:c,saving:St,setSaving:Ct,showInfo:e=>De(e,`info`)})):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),xn||Jr()))},onPasteFiles:Qt,onPasteTextAsAttachment:sn,onPromptChange:(e,t)=>{if(bt){let n=Math.max(0,Math.min(Ye.current,e.length));t<n?(Ye.current=t,mt(``)):mt(e.slice(n,t))}let r=n===`team`?null:Zu(e,t,gn);if(r){let n=`${e.slice(0,r.start)}${e.slice(r.end)}`,i=r.start;W(e),rt(t),window.requestAnimationFrame(()=>{Et(r.command.id),Tt(null),kt(i),vt(null),W(n),rt(i),r.command.id===`submit-issue`&&yr(n),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(i,{afterToken:!0})})})}else W(e)},onTokenPositionChange:e=>{(hn||q)&&(e===null?_r():kt(e))},placeholder:En.suggestion?``:cn,prompt:c,token:bn})]}),(0,$.jsx)(Bu,{trainingControl:n===`chat`&&I?(0,$.jsx)(Ms,{context:Ve,disabled:v,placement:`top`}):null,surface:n,teamUseModel:i,teamUseModelLocked:a,onTeamUseModelChange:s,addFiles:Qt,addMenuId:dn,addMenuOpen:bt,addMenuRef:qe,busy:v,codexPermissionMode:de,codexReasoningEffort:fe,connection:ne,contextStatusStyle:mn,contextStatusTooltipId:fn,contextWindowStatus:m,disabled:Tn,dropdownPlacement:`top`,fileInputRef:Ge,modelValue:un,modelOptions:Nn,hideModelControls:N,modelSelectionDisabled:P,allowedModelRefs:F,executionControl:ee,openPondCommandAccessMode:pe,showCommandAccess:ln,profileTarget:M?null:ae,onCodexPermissionModeChange:be,onCodexReasoningEffortChange:Se,onOpenPondCommandAccessModeChange:Ce,onProfileTargetChange:_e,onModelChange:ye,onOpenFilePicker:Lr,onProviderChange:me,onProviderSetupOpen:he,onSend:()=>void Jr(),onStop:xr,onToggleAddMenu:()=>{let e=Math.max(0,Math.min(nt,c.length));bt||(Ye.current=e,mt(``),ft(0),xt(!0)),window.requestAnimationFrame(()=>{Le.current?.focusAtPromptIndex(e)})},onTranscript:Xr,voiceInputChannelKey:A,provider:B,providerSettings:z,providerOptions:Mn,running:S,sendDisabled:Sn,hasComposerInput:yn,sendTooltip:Cn,showToast:De,stopIcon:lr,stopLabel:cr})]})]})}var gd=(0,Q.memo)(function({draftStore:e,...t}){let n=vd(t.onProviderChange),r=vd(t.onProviderSetupOpen),i=vd(t.onProfileTargetChange),a=vd(t.onWorkspaceTargetChange),o=vd(t.onSubmit),s=vd(t.onStop),c=t.contextWindowStatus,l=(0,Q.useMemo)(()=>({...c}),[c.usedTokens,c.maxTokens,c.percent,c.summary,c.tokensLabel,c.detail,c.tooltip,c.tone]);return(0,$.jsx)(yd,{...t,draftStore:e,mentionApps:t.mentionApps?.length===0?_d:t.mentionApps,contextWindowStatus:l,onProviderChange:n,onProviderSetupOpen:r,onProfileTargetChange:i,onWorkspaceTargetChange:a,onSubmit:o,onStop:s})}),_d=[];function vd(e){let t=(0,Q.useRef)(e);(0,Q.useLayoutEffect)(()=>{t.current=e},[e]);let n=(0,Q.useCallback)((...e)=>t.current?.(...e),[]);return e&&n}var yd=(0,Q.memo)(function({draftStore:e,...t}){let n=zr(e),r=e.getScopeKey(),i=(0,Q.useCallback)(t=>{e.setForScope(r,t)},[r,e]);return(0,$.jsx)(jr,{id:`composer`,children:(0,$.jsx)(hd,{...t,prompt:n,onPromptChange:i})})}),bd=new Set(`div span p pre code h1 h2 h3 h4 h5 h6 br hr strong em b i ul ol li table thead tbody tfoot tr th td img section article header footer main figure figcaption`.split(` `)),xd=new Set([`style`,`title`,`aria-label`,`alt`,`width`,`height`,`colspan`,`rowspan`]);function Sd(e){let t=new DOMParser().parseFromString(e,`text/html`);for(let e of t.body.querySelectorAll(`*`))if(!bd.has(e.localName))e.remove();else for(let t=e.attributes.length-1;t>=0;t--){let n=e.attributes[t],r=e.localName===`img`&&n.name===`src`&&/^data:image\/(png|jpeg|gif|webp|avif);base64,/i.test(n.value);!xd.has(n.name)&&!r&&e.removeAttribute(n.name)}return`<!doctype html><html><head><meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:; base-uri 'none'; form-action 'none'"><style>body{margin:8px;font:13px/1.5 system-ui;color-scheme:light dark;background:Canvas;color:CanvasText}img{max-width:100%;height:auto}</style></head><body>${t.body.innerHTML}</body></html>`}function Cd({preview:e,label:t}){let n=/^\s*<[a-z][\w-]*\b[^>]*>/i.test(e),r=(0,Q.useMemo)(()=>n?Sd(e):``,[n,e]);return n?(0,$.jsx)(`iframe`,{className:`native-question-preview`,title:`${t} preview`,sandbox:``,referrerPolicy:`no-referrer`,srcDoc:r}):(0,$.jsx)(`div`,{className:`native-question-preview`,children:(0,$.jsx)(Cn,{content:e})})}function wd({id:e,value:t,disabled:n,connection:r,showToast:i,onChange:a,activeVoiceChannel:o,onVoiceActiveChange:s}){let c=`question-answer:${(0,Q.useId)()}`,l=(0,Q.useRef)(null),u=(0,Q.useRef)({value:t,disabled:n,onChange:a});u.current={value:t,disabled:n,onChange:a};let d=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>(d.current=!0,()=>{d.current=!1,cc(c)}),[c]),(0,Q.useEffect)(()=>{n&&cc(c)},[c,n]);let f=(0,Q.useCallback)(e=>s(c,e),[c,s]),p=(0,Q.useCallback)((e,{submit:t})=>{if(!d.current||u.current.disabled)return;let n=Qs(u.current.value,e,l.current?.selectionStart??u.current.value.length);u.current.onChange(n.value.slice(0,8e3),t)},[]);return(0,$.jsxs)(`div`,{className:`native-question-custom`,children:[(0,$.jsx)(`label`,{className:`sr-only`,htmlFor:e,children:`Your answer`}),(0,$.jsx)(`textarea`,{ref:l,id:e,maxLength:8e3,rows:2,value:t,placeholder:`Write your answer…`,disabled:n,onChange:e=>a(e.target.value)}),(0,$.jsx)(`div`,{className:`native-question-answer-controls`,children:n?null:(0,$.jsx)(Pu,{connection:r,showToast:i,buttonClassName:`native-question-mic`,disabled:n||!r||!!(o&&o!==c),transcriptionChannelKey:c,onActiveChange:f,onTranscript:p})})]})}function Td({questions:e,answers:t,onChange:n,onSubmit:r,...i}){let a=(0,Q.useRef)(t);return a.current=t,(0,$.jsx)(`div`,{className:`native-question-fields`,children:e.map(e=>(0,$.jsx)(Ed,{question:e,...i,onChange:(t,i=!1)=>{let o={...a.current,[e.question]:t};a.current=o,n(o),i&&r(o)}},e.question))})}function Ed({question:e,disabled:t,connection:n,showToast:r,onChange:i,activeVoiceChannel:a,onVoiceActiveChange:o}){let s=(0,Q.useId)(),[c,l]=(0,Q.useState)([]),[u,d]=(0,Q.useState)(e.options.length===0),[f,p]=(0,Q.useState)(``);function m(t){let n=e.multiSelect&&!u?c.includes(t)?c.filter(e=>e!==t):[...c,t]:[t];l(n),d(!1),i(n.map(t=>e.options[t].label).join(`, `))}return(0,$.jsxs)(`fieldset`,{disabled:t,children:[(0,$.jsxs)(`legend`,{children:[e.header?(0,$.jsx)(`small`,{children:e.header}):null,e.question]}),(0,$.jsxs)(`div`,{className:`native-question-options`,children:[e.options.map((e,t)=>(0,$.jsxs)(`button`,{type:`button`,className:`native-question-option`,"aria-pressed":!u&&c.includes(t),onClick:()=>m(t),children:[(0,$.jsx)(`span`,{children:e.label}),e.description?(0,$.jsx)(`small`,{children:e.description}):null]},t)),e.options.length?(0,$.jsx)(`button`,{type:`button`,className:`native-question-option custom`,"aria-pressed":u,onClick:()=>{d(!0),i(f)},children:`Write your own answer`}):null]}),e.multiSelect&&!u?(0,$.jsx)(`small`,{children:`Select one or more.`}):null,u?(0,$.jsx)(wd,{id:s,value:f,disabled:t,connection:n,showToast:r,activeVoiceChannel:a,onVoiceActiveChange:o,onChange:(e,t)=>{p(e),i(e,t)}},s):c.map(t=>{let n=e.options[t];return n.preview?(0,$.jsx)(Cd,{preview:n.preview,label:n.label},t):null})]})}function Dd({approval:e,questions:t,canAccept:n,canSkip:r,connection:i,showToast:a,onResolve:o}){let[s,c]=(0,Q.useState)({}),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(null),p=(0,Q.useRef)(!1),m=(0,Q.useCallback)((e,t)=>{f(n=>t?e:n===e?null:n)},[]),h=e=>t.every(t=>e[t.question]?.trim());async function g(t,i=s){if(!p.current&&(t!==`accept`||n&&h(i))&&(t!==`decline`||r)){p.current=!0,u(!0);try{await o(e.id,t,t===`accept`?i:void 0)}catch{p.current=!1,u(!1)}}}return(0,$.jsxs)(`section`,{className:`native-question-request`,"data-notification-approval":e.id,"aria-label":`Questions from agent`,"aria-busy":l,children:[(0,$.jsx)(`div`,{className:`native-question-body`,children:(0,$.jsx)(Td,{questions:t,answers:s,disabled:l,connection:i,showToast:a,onChange:c,onSubmit:e=>void g(`accept`,e),activeVoiceChannel:d,onVoiceActiveChange:m})}),(0,$.jsxs)(`div`,{className:`native-question-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`native-question-skip`,disabled:l||!r,onClick:()=>void g(`decline`),children:`Skip`}),(0,$.jsxs)(`button`,{type:`button`,className:`native-question-send`,disabled:l||!n||!d&&!h(s),onClick:()=>{d&&uc(d)||g(`accept`)},children:[(0,$.jsx)(ya,{size:14}),(0,$.jsx)(`span`,{children:l?`Sending`:`Send`})]})]})]})}function Od({approval:e,onResolve:t,connection:n,showToast:r}){let[i,a]=(0,Q.useState)(null);if((0,Q.useEffect)(()=>{a(null)},[e?.id]),!e||e.kind===`create_plan`)return null;let o=Ad(e.detail),s=typeof e.providerRequestId==`string`&&e.providerRequestId.startsWith(`native-agent:`),c=[],l=[],u=null;if(s)try{let t=JSON.parse(e.detail);c=t.options??[],l=t.questions??[],(t.toolCall?.toolName??t.toolCall?.title)===`ExitPlanMode`&&(u=typeof t.toolCall?.rawInput?.plan==`string`?t.toolCall?.rawInput.plan:``)}catch{}if(l.length)return(0,$.jsx)(Dd,{approval:e,questions:l,canAccept:c.some(e=>e.kind===`allow_once`),canSkip:c.some(e=>e.kind===`reject_once`),connection:n,showToast:r,onResolve:t},e.id);let d=s?c.some(e=>e.kind===`allow_always`):e.kind!==`subagent_patch_apply`,f=c.find(e=>e.kind===`allow_always`)?.name;async function p(n){if(e&&!i){a(n);try{await t(e.id,n)}catch{a(null)}}}return(0,$.jsx)(`div`,{"data-notification-approval":e.id,className:`approval-request-shell ${u===null?``:`native-input-shell`}`,role:`status`,"aria-live":`polite`,children:(0,$.jsxs)(`section`,{className:`approval-request-card`,"aria-label":u===null?`${kd(e.kind)} approval request`:`Plan review`,children:[(0,$.jsxs)(`div`,{className:`approval-request-copy`,children:[(0,$.jsx)(`div`,{className:`approval-request-header`,children:(0,$.jsx)(`span`,{children:u===null?kd(e.kind):`Plan review`})}),u===null?(0,$.jsx)(`code`,{className:`approval-request-title`,title:e.title,children:e.title}):null,u===null&&o&&o!==e.title&&(0,$.jsxs)(`details`,{className:`approval-request-details`,children:[(0,$.jsx)(`summary`,{children:`Details`}),(0,$.jsx)(`pre`,{children:o})]}),u===null?null:(0,$.jsx)(`div`,{className:`native-plan-review`,children:u?(0,$.jsx)(Cn,{content:u}):(0,$.jsx)(`p`,{children:`Claude is ready to leave plan mode. Review the proposed plan in the conversation before continuing.`})})]}),(0,$.jsxs)(`div`,{className:`approval-request-actions`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`approval-action primary`,disabled:!!i||s&&!c.some(e=>e.kind===`allow_once`),onClick:()=>void p(`accept`),children:[(0,$.jsx)(Sr,{size:14}),(0,$.jsx)(`span`,{children:i===`accept`?`Sending`:u===null?`Approve`:`Approve plan`})]}),d?(0,$.jsxs)(`button`,{type:`button`,className:`approval-action`,title:s?f:`Approve for the rest of this session`,disabled:!!i,onClick:()=>void p(`acceptForSession`),children:[(0,$.jsx)(xa,{size:14}),(0,$.jsx)(`span`,{children:i===`acceptForSession`?`Approving`:s?f:`Session`})]}):null,(0,$.jsxs)(`button`,{type:`button`,className:`approval-action muted`,disabled:!!i||s&&!c.some(e=>e.kind===`reject_once`),onClick:()=>void p(`decline`),children:[(0,$.jsx)(Sa,{size:14}),(0,$.jsx)(`span`,{children:i===`decline`?`Sending`:u===null?`Deny`:`Keep planning`})]}),(0,$.jsx)(`button`,{type:`button`,className:`approval-action icon-only`,title:s?`Dismiss request`:`Cancel task`,"aria-label":s?`Dismiss request`:`Cancel task`,disabled:!!i,onClick:()=>void p(`cancel`),children:(0,$.jsx)(Hn,{size:15})})]})]})})}function kd(e){return e===`create_plan`?`Plan review`:e===`subagent_patch_apply`?`Subagent patch`:e===`file_change`||e===`legacy_patch`?`File change`:e===`permissions`?`Permissions`:e===`user_input`?`Input needed`:`Command`}function Ad(e){let t=e.trim();if(!t)return``;try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}function jd({resolution:e,onSelect:t,onClose:n}){let r=(0,Q.useRef)(null),i=(0,Q.useId)();return(0,Q.useEffect)(()=>{let e=r.current;return e?.showModal(),()=>e?.close()},[]),(0,$.jsxs)(`dialog`,{ref:r,className:`chat-file-resolution`,"aria-labelledby":i,onCancel:n,children:[(0,$.jsx)(`h2`,{id:i,children:`Choose a file`}),(0,$.jsxs)(`p`,{children:[`Matches for `,(0,$.jsx)(`strong`,{children:e.requestedPath}),` in this project's folders:`]}),e.truncated?(0,$.jsx)(`p`,{children:`The search reached its limit. More matches may exist.`}):null,(0,$.jsx)(`div`,{className:`chat-file-resolution-options`,children:e.candidates.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>t(e),children:e},e))}),(0,$.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:n,children:`Cancel`})]})}var Md=/\.(?:m4v|mov|mp4|webm)$/i;function Nd(e){return Md.test(e.trim().split(/[?#]/,1)[0]??``)}function Pd(e,t){let n=e.trim();if(!n||!Nd(n))return null;if(/^file:\/\//i.test(n))try{n=decodeURIComponent(new URL(n).pathname)}catch{n=n.replace(/^file:\/\//i,``)}if(/^\//.test(n)||/^[A-Za-z]:[\\/]/.test(n))return n;let r=t?.trim().replace(/[\\/]+$/,``);return r?`${r}/${n.replace(/^\.\//,``)}`:null}function Fd({conversationKey:e,connection:t,handleOpenBrowserLink:n,activeWorkspaceAppId:r,rightSidebarUsesSandbox:i,rightSidebarSandboxId:a,onShowDiffPanel:s,showToast:c,workspaceRootPath:l,setOpenDiffFileRequest:u}){let[d,f]=(0,Q.useState)(null),p=(0,Q.useRef)(0),m=(0,Q.useRef)(0),h=(0,Q.useRef)(0),g=nn(t);(0,Q.useEffect)(()=>(p.current++,f(null),()=>{p.current++}),[g,r,e,a]),(0,Q.useEffect)(()=>(m.current++,()=>{m.current++}),[g,e]);let _=(0,Q.useCallback)(async(e,d)=>{if(/[\\/]$/.test(e)){let t=/^(?:[~/\\]|[A-Za-z]:)/.test(e)?e:l?`${l}/${e}`:e;gn(t).then(e=>{e||c(`Open this folder in the desktop app on the machine where it was created.`,`error`)});return}let f=d?.local?null:d?.sandboxId??(i?a:null),p=f??(d?.local?q(e):r);if(fn(e)&&!d?.source&&t&&p){vn(t,p,e,f?`sandbox`:`local`).then(e=>n(e)).catch(e=>c(e instanceof Error?e.message:`Could not open HTML preview.`,`error`));return}let g=Pd(e,l);if(g&&t){vr.signLocalVideoUrl(t,{path:g}).then(({url:e})=>n(e)).catch(e=>{c(e instanceof Error?e.message:`Could not open this video.`,`error`)});return}if(/\.pptx$/i.test(e)&&o(()=>import(`./WorkspacePresentationPreview-DJrjrvT0.js`),__vite__mapDeps([68,1,2,3,17,22,4,5,6,23,24,14,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,18,37,38,39,20,40,41,42,43,44,45,46,21,47,48,49,50,51,52,53,54,55,69,70,71])).catch(()=>{}),/\.docx$/i.test(e)&&(o(()=>import(`./FilePagePreview-Qc4B0vue.js`),__vite__mapDeps([72,1,2,3,17,22,4,5,6,23,24,14,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,18,37,38,39,20,40,41,42,43,44,45,46,21,47,48,49,50,51,52,53,54,55,73])).catch(()=>{}),o(()=>import(`./docx-preview-Blk_WGfs.js`),__vite__mapDeps([74,1,71])).catch(()=>{})),d?.sandboxId&&t){let n=m.current,r=++h.current;s(),u({id:++h.current,loadId:r,sandboxId:d.sandboxId,path:e,file:Mr(e),loading:!0});try{let i=await bn(t,d.sandboxId,e);if(n!==m.current)return;let a=cr(i.path)&&i.content?`data:image/${/\.jpe?g$/i.test(e)?`jpeg`:e.split(`.`).pop()};base64,${i.content}`:void 0;u({id:++h.current,loadId:r,sandboxId:d.sandboxId,path:i.path,file:i,imageUrl:a})}catch(t){n===m.current&&u({id:++h.current,loadId:r,sandboxId:d.sandboxId,path:e,file:Mr(e),error:t instanceof Error?t.message:`Could not open this file.`})}return}let _=mn(e,{workspaceRootPath:l}),v=d?.local?e:_?.path??e,y=q(v);if((d?.local||!r&&!i)&&t&&y){let e=m.current,n=++h.current;s(),u({id:++h.current,loadId:n,sandboxId:null,path:v,file:Mr(v),loading:!0});try{let r=cr(v)?await vr.signLocalImageUrl(t,{path:v}):null,i=r?Mr(v):await vr.workspaceFile(t,y,v);if(e!==m.current)return;u({id:++h.current,loadId:n,sandboxId:null,path:i.path,file:i,imageUrl:r?.url})}catch(t){e===m.current&&u({id:++h.current,loadId:n,sandboxId:null,path:v,file:Mr(v),error:t instanceof Error?t.message:`Could not open this file.`})}}else s(),u({id:++h.current,path:d?.source&&fn(e)?(_?.path??e).replace(/[?#].*$/,``):_?.path??e,source:d?.source})},[t,n,r,i,a,s,c,l,u]),v=(0,Q.useCallback)((e,a)=>{let o=++p.current;if(f(null),/^https?:\/\//i.test(e)){n(e);return}let s=!a?.sandboxId&&!!q(e)&&(!i||!/^\/workspace(?:\/|$)/.test(e));if(a?.local||a?.sandboxId||s||!t||!r||i){_(e,s?{...a,local:!0}:a);return}let l=mn(e)?.path??e,u=fn(l)?l.match(/[?#].*$/)?.[0]??``:``,d=u?l.slice(0,-u.length):l;vr.resolveWorkspaceFile(t,r,d).then(t=>{o===p.current&&(t.status===`resolved`?_(t.kind===`directory`?`${t.path}/`:`${t.path}${u}`,a):t.candidates.length?f({requestedPath:e,candidates:t.candidates.map(e=>`${e}${u}`),truncated:t.truncated,source:a?.source}):c(t.truncated?`The project search reached its limit. Open this file using its full path.`:`Could not find ${e} in this project's folders. Try its full path.`,`error`))}).catch(e=>{o===p.current&&c(e instanceof Error?e.message:`Could not locate this file.`,`error`)})},[t,r,i,_,n,c]);return{handleOpenFileInSidebar:v,fileResolution:d,dismissFileResolution:(0,Q.useCallback)(()=>f(null),[]),selectFileResolution:(0,Q.useCallback)(e=>{let t=d?.source;f(null),v(e,{source:t})},[d,v])}}function Id(e){let t=[];if(e.localWorkspaceId&&t.push({value:`local`,label:`Local`}),(e.sandboxSourceAvailable??!!e.sandboxWorkspaceId)&&t.push({value:`sandbox`,label:`Sandbox`}),t.length===0)return{source:null,options:t};let n=new Set(t.map(e=>e.value));if(e.override&&n.has(e.override))return{source:e.override,options:t};let r=e.workspaceTarget===`local`?`local`:`sandbox`;return n.has(r)?{source:r,options:t}:{source:t[0].value,options:t}}var Ld=new Set([`create`,`edit`,`help`,`list`]);function Rd(e,t,n=null){return zd(e)}function zd(e){let t=e.trim();if(!t)return`/skill`;let[n=``]=t.split(/\s+/,1);return Ld.has(n.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function Bd(e){let t=e.session?.currentProfile??null,n=e.session?await e.patchSession(e.session.id,e.ref):null;try{return{selected:await e.selectProfile(e.ref),session:n}}catch(r){if(n)try{await e.patchSession(n.id,t)}catch{}throw r}}function Vd(e,t){if(!e||!t)return null;let n=new Set(e.sources.filter(e=>e.sessionId===t).map(e=>e.id));return n.size?e.creations.find(e=>e.request.sourceIds.some(e=>n.has(e)))??null:null}function Hd(e){let[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(0),p=(0,Q.useCallback)(async(t,n={})=>{if(!e){i(null),c(`OpenPond App server is not connected.`);return}let r=f.current+1;f.current=r,n.silent||o(!0),c(null);try{let n=await vr.getCreateImproveCandidateDiff(e,t.runId,t.candidateId),a=d.current;if(r!==f.current||a?.runId!==t.runId||a.candidateId!==t.candidateId)return;i(n)}catch(e){if(r!==f.current)return;c(e instanceof Error?e.message:String(e))}finally{r===f.current&&!n.silent&&o(!1)}},[e]),m=(0,Q.useCallback)(e=>{let t=d.current;e&&t?.runId===e.runId&&t.candidateId===e.candidateId||(d.current=e,n(e),u(null),e?(i(t=>t?.appId===Ud(e)?t:null),p(e)):(f.current+=1,i(null),c(null),o(!1)))},[p]),h=(0,Q.useCallback)(async(e={})=>{let t=d.current;t&&await p(t,e)},[p]),g=(0,Q.useCallback)(e=>{u({id:Date.now(),path:e})},[]);return(0,Q.useEffect)(()=>{e||m(null)},[m,e]),{selection:t,diff:r,loading:a,error:s,openFileRequest:l,activate:m,refresh:h,openFile:g}}function Ud(e){return`candidate:${e.runId}:${e.candidateId}`}function Wd(e){let{activeModel:t,activeProvider:n,bootstrap:r,codexPermissionMode:i,codexReasoningEffort:a,connection:o,onOpenRightChatForSession:s,onPayload:c}=e,l=(0,Q.useCallback)(async e=>{if(!o||!r)throw Error(`OpenPond is still connecting.`);let i=r.profile;if(i.mode!==`local`||!i.repoPath)throw Error(`A local Git-backed Profile is required to change an Agent.`);let l=e.authoringModel??_e(n,t,r.providers);if(!l)throw Error(`Choose a model before changing an Agent.`);let u=await vr.createSession(o,{provider:l.providerId,modelRef:l,systemKind:`openpond.lab`,hiddenFromDefaultSidebar:!0,title:`${e.operation===`create`?`New`:`Improve`} Agent · ${e.objective.slice(0,80)}`,cwd:i.repoPath,metadata:{source:e.operation===`create`?`lab_agent_create`:`lab_agent_improve`,profileId:i.activeProfile??`default`,targetAgentId:e.agentId??null}}),d=e.objective.trim();if(!d)throw Error(e.operation===`create`?`Describe what the Agent should do.`:`Describe what the Agent could do better.`);if(l.providerId===`codex`)throw Error(`Agent authoring uses OpenPond's bundled authoring skill. Choose a hosted model.`);let f=e.operation===`create`?`/agent create ${d}`:`/agent improve ${e.agentId??``} ${d}`,p=await vr.sendTurn(o,u.id,{prompt:f,model:l.modelId,modelRef:l,approvalPolicy:`never`,sandbox:`workspace-write`,codexPermissionMode:`default`,codexReasoningEffort:a});if(p.status===`failed`)throw Error(p.error??`OpenPond could not complete the Agent authoring turn.`);c(await vr.bootstrap(o)),s(u.id,u)},[t,n,r,i,a,o,s,c]);return{createAgentFromLab:(0,Q.useCallback)((e,t,n)=>l({objective:e,operation:`create`,authoringRunId:t,authoringModel:n}),[l]),improveAgentFromLab:(0,Q.useCallback)((e,t,n,r,i)=>l({agentId:e,agentName:n,objective:t,operation:`improve`,authoringRunId:r,authoringModel:i}),[l])}}function Gd(e,t,n=!0){let r=c(),i=[`ponder-hosted-sandboxes`,nn(e),t],a=h({queryKey:i,enabled:n,staleTime:5e3,refetchInterval:n?3e4:!1,queryFn:({signal:t})=>K(e,`/v1/ponder/local/hosted-sandboxes`,{signal:t})}),o=Gr({mutationFn:async t=>{if(!a.data)throw Error(`Wait for hosted sandbox availability to load.`);return K(e,`/v1/ponder/local/hosted-sandboxes`,{method:`POST`,body:JSON.stringify({enabled:t,revision:a.data.revision,...t?{teamId:a.data.account?.teamId??null,accountId:a.data.account?.id,apiBaseUrl:a.data.account?.apiBaseUrl}:{}})})},onSuccess:e=>r.setQueryData(i,e),onError:()=>{r.invalidateQueries({queryKey:i})}});return Y(a.error),Y(o.error),{state:a.data,loading:a.isPending,saving:o.isPending,setEnabled:e=>o.mutate(e),refetch:a.refetch}}function Kd({connection:e,accountScopeKey:t}){let n=Gd(e,t),r=!n.state||n.saving||!n.state.available&&!n.state.enabled;return(0,$.jsxs)(`div`,{className:`ponder-setup-card`,children:[(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`strong`,{children:`Hosted sandboxes`}),(0,$.jsx)(`input`,{type:`checkbox`,role:`switch`,"aria-label":`Hosted sandboxes`,checked:n.state?.enabled??!1,disabled:r,onChange:e=>n.setEnabled(e.currentTarget.checked)})]}),(0,$.jsx)(`p`,{children:`Allow Pal to send selected assignments and their required project context to hosted Work environments. Hosted usage may incur charges.`}),(0,$.jsx)(`small`,{children:n.loading?`Checking availability…`:n.state?.enabled?`Enabled for this account. Turning this off prevents new hosted assignments; existing work stays available.`:n.state?.reason??`Off. Turn on to allow hosted assignments.`}),!n.state&&!n.loading?(0,$.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:()=>void n.refetch(),children:`Check availability`}):null]})}function qd(e){let t=[],n=new Map,r=new Map;for(let i of e){if(i.source===`ponder-recommendation`)continue;let e=_t.safeParse(i.metadata.ponderLocalMessage),a=e.success?e.data:null,o=i.metadata.ponderMessage;if(a||o){let e=a??o,s=a?.sessionId??o.conversationId,c=e.status===`resolved`||e.status===`completed`?`resolved`:e.status===`consumed`||e.status===`included`?`included`:e.status===`cancelled`?`cancelled`:e.status===`failed`||e.status===`rejected`?`rejected`:`pending`;if(t.push({id:i.id,role:`task_message`,content:e.body,timestamp:i.createdAt,taskMessagePresentation:{input:{body:e.body,state:c,error:null},direction:e.direction,peer:{sessionId:s,title:e.title,provider:a?`local`:`openpond`}}}),a&&r.set(s,a),a?.outputs.length||o?.outputFileIds.length){let e=`${i.id}:outputs`;t.push({id:e,role:`resources`,timestamp:i.createdAt}),n.set(e,i)}}else(i.role===`user`||i.role===`assistant`&&i.text.trim())&&t.push({id:i.id,role:i.role,content:i.text,timestamp:i.createdAt,finalAnswer:i.role===`assistant`,footerCacheSummary:i.metadata.kvCacheSummary})}return{messages:t,sources:n,localPeers:r}}function Jd(e){return e.state===`proposed`&&[`waiting_input`,`waiting_approval`,`cancelled`].includes(e.target.status)}function Yd({items:e,busy:t,editingId:n,onEdit:r,onSend:i,onDismiss:a,onOpen:o}){return e.length?(0,$.jsx)(`section`,{className:`ponder-recommendations`,"aria-label":`Pal recommendations`,children:e.map(e=>(0,$.jsxs)(`article`,{className:`ponder-recommendation`,"data-state":e.state,children:[(0,$.jsx)(`button`,{type:`button`,className:`ponder-recommendation-target`,onClick:()=>o(e.target.conversationId),children:e.target.title}),(0,$.jsx)(`p`,{children:e.summary}),e.submittedText||e.proposedText?(0,$.jsx)(`blockquote`,{children:e.submittedText??e.proposedText}):null,(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Why Pal suggested this`}),e.evidence.map(e=>(0,$.jsx)(`p`,{children:e.excerpt},e.id))]}),[`proposed`,`failed`,`stale`,`submitting`].includes(e.state)?(0,$.jsxs)(`div`,{className:`ponder-recommendation-actions`,children:[e.state===`proposed`&&e.proposedText?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,disabled:!!t,onClick:()=>r(e),children:n===e.id?`Editing below`:`Edit`}),(0,$.jsx)(`button`,{type:`button`,disabled:!!t||Jd(e),onClick:()=>i(e),children:t===e.id?`Sending…`:n===e.id?`Send edited message`:`Send`})]}):null,(e.state===`failed`||e.state===`submitting`)&&e.submittedText&&e.submissionRevision!==null?(0,$.jsx)(`button`,{type:`button`,disabled:!!t,onClick:()=>i(e),children:t===e.id?`Retrying…`:`Retry reviewed message`}):null,Jd(e)?(0,$.jsx)(`small`,{role:`status`,children:`Resolve this task's wait or cancellation before sending a new message.`}):null,e.state===`submitting`?(0,$.jsx)(`small`,{role:`status`,children:`Awaiting task acknowledgment`}):(0,$.jsx)(`button`,{type:`button`,disabled:!!t,onClick:()=>a(e),children:`Dismiss`}),e.state===`stale`?(0,$.jsx)(`small`,{role:`status`,children:`Task changed — review its latest state`}):null]}):(0,$.jsx)(`small`,{role:`status`,children:e.state===`submitted`?`Message submitted to the task`:e.state===`stale`?`Task changed — review the latest task before sending`:e.state.replaceAll(`_`,` `)}),e.error?(0,$.jsx)(`p`,{role:`alert`,children:e.error}):null]},e.id))}):null}function Xd(e,t){let[n,r]=(0,Q.useState)([]),[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(null),c=(0,Q.useRef)({connection:e,bindingId:t});c.current={connection:e,bindingId:t};let l=(0,Q.useRef)(!1),u=(0,Q.useRef)(!0),d=(0,Q.useCallback)(async n=>{if(!t)return;let i=await K(e,`/v1/ponder/recommendations`,{signal:n});u.current&&!n?.aborted&&c.current.connection===e&&c.current.bindingId===t&&i.bindingId===t&&(r(i.items),a(null))},[e,t]);return(0,Q.useEffect)(()=>{if(u.current=!0,r([]),a(null),s(null),!t)return()=>{u.current=!1};let e=new AbortController,n=!1,i=async()=>{if(!n){n=!0;try{await d(e.signal)}catch(t){e.signal.aborted||a(t instanceof Error?t.message:`Unable to read recommendations.`)}finally{n=!1}}};i();let o=window.setInterval(()=>void i(),5e3);return()=>{u.current=!1,e.abort(),window.clearInterval(o)}},[t,d]),{items:n,error:i,busy:o,action:(0,Q.useCallback)(async(n,r,i)=>{if(l.current||!t)return!1;if(r===`send`&&Jd(n))return a(`Resolve this task's wait or cancellation before sending a new message.`),!1;let o=r===`send`&&(n.state===`submitting`||n.state===`failed`);if(o&&(!n.submittedText||n.submissionRevision===null))return!1;let f=o?n.submissionRevision:n.revision,p=o?n.submittedText:i;l.current=!0,s(n.id);try{return await K(e,`/v1/ponder/recommendations/${encodeURIComponent(n.id)}/action`,{method:`POST`,body:JSON.stringify({action:r,expectedRevision:f,...p===void 0?{}:{message:p}})}),!u.current||c.current.connection!==e||c.current.bindingId!==t?!1:(await d(),u.current&&c.current.connection===e&&c.current.bindingId===t)}catch(n){return c.current.connection===e&&c.current.bindingId===t&&a(n instanceof Error?n.message:`Recommendation action failed.`),!1}finally{l.current=!1,c.current.connection===e&&c.current.bindingId===t&&s(null)}},[t,e,d]),refresh:d}}function Zd({connection:e,work:t,localWork:n,busy:r,onOpenWork:i,onOpenLocalWork:a,onOpenLocalOutput:o,onOpenOutput:s}){let[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(null),f=(0,Q.useRef)({connection:e,mounted:!0,inFlight:!1});f.current.connection!==e&&(f.current={connection:e,mounted:!0,inFlight:!1}),(0,Q.useEffect)(()=>{let e=f.current;return e.mounted=!0,l(null),d(null),()=>{e.mounted=!1}},[e]);let p=[...t.flatMap(e=>e.deliveries.filter(e=>e.status===`attention`&&e.attentionAt).map(t=>({task:e,delivery:t,kind:`hosted`}))),...n.flatMap(e=>e.deliveries.filter(e=>e.status===`attention`&&e.attentionAt).map(t=>({task:e,delivery:t,kind:`local`})))];async function m(t){let n=f.current;if(!t.attentionAt||n.inFlight)return;let r=()=>n.mounted&&f.current===n;n.inFlight=!0,l(t.inputId),d(null);try{await K(e,`/v1/ponder/results/retry`,{method:`POST`,body:JSON.stringify({inputId:t.inputId,attentionAt:t.attentionAt,priorTurnId:t.ponderTurnId})})}catch(e){r()&&d(e instanceof Error&&e.message===`hosted_work_model_not_available`?`The selected model is unavailable. Choose an available model, then retry.`:`The discussion could not be started. Refresh and try again.`)}finally{n.inFlight=!1,r()&&l(null)}}return p.length===0?null:(0,$.jsxs)(`section`,{"aria-label":`Saved results needing discussion`,"aria-live":`polite`,children:[p.map(e=>(0,$.jsxs)(`div`,{className:`ponder-desktop-attention`,children:[(0,$.jsxs)(`p`,{children:[`The result from`,` `,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.kind===`hosted`?i(e.task.conversationId):a(e.task),children:e.task.title}),` `,`is saved.`,e.delivery.attentionReason===`model_unavailable`?` The selected model was unavailable.`:e.delivery.attentionReason===`chat_cancelled`?` The discussion was cancelled.`:` The discussion failed.`]}),e.delivery.outputs.map(t=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.kind===`local`?o({...e.task,turnId:e.delivery.localTurnId},t.id):s(t.id),children:[t.title,` · Download`]},t.id)),(0,$.jsx)(`button`,{type:`button`,disabled:r||c!==null,onClick:()=>void m(e.delivery),children:c===e.delivery.inputId?`Starting discussion…`:`Retry discussion`})]},e.delivery.inputId)),u?(0,$.jsx)(X,{error:u}):null]})}function Qd({message:e,work:t,onOpenOutput:n,onOpenLocalOutput:r}){let i=_t.safeParse(e.metadata.ponderLocalMessage),a=i.success?i.data:null;return(0,$.jsxs)(`div`,{className:`ponder-message-destination`,children:[e.metadata.ponderMessage?.outputFileIds.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>n(e),children:t.flatMap(e=>e.deliveries.flatMap(e=>e.outputs)).find(t=>t.id===e)?.title??`Saved file`},e)),a?.outputs.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(a,e.id),children:[e.title,` · Download`]},e.id))]})}function $d(e){let t=e.deliveries[0]?.outcome;if(t===`completed`)return`Completed`;if(t===`failed`)return`Failed`;if(t===`cancelled`)return`Stopped`;switch(e.status){case`ready`:return`Waiting to start on desktop`;case`dispatching`:return`Starting on desktop`;case`admitted`:return`Waiting for result`;case`completed`:return`Completed`;case`failed`:return`Failed to start`;case`cancelled`:return`Stopped`;case`expired`:return`Couldn’t start before the request expired`;case`attention`:return`Needs attention`;default:return`Checking task status`}}function ef({items:e,workflow:t,sessions:n,onOpenTask:r}){let i=t?new Set([t.prerequisite.sessionId,t.successor.sessionId,t.workflow?.preparationSessionId]):null,a=[...new Map([...e].reverse().filter(e=>e.sessionId&&(!i||i.has(e.sessionId))).map(e=>[e.sessionId,e])).values()].reverse();if(!a.length)return null;let o=new Map(n.map(e=>[e.id,e]));return(0,$.jsxs)(`div`,{className:`assistant-sources ponder-agent-sources`,"aria-label":`Conversations started`,children:[(0,$.jsx)(`h3`,{children:`Conversations started`}),(0,$.jsx)(`div`,{className:`assistant-source-stack`,children:a.map(e=>{let t=o.get(e.sessionId);return(0,$.jsxs)(`button`,{type:`button`,className:`assistant-source-pill`,title:`${e.title} · ${$d(e)}`,"aria-label":`Open ${e.title}`,onClick:()=>r(e),children:[t?(0,$.jsx)(kr,{session:t}):(0,$.jsx)(En,{size:14,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:e.title})]},e.sessionId)})})]})}async function tf(e,t,n,r){if(!t.turnId)throw Error(`This local result has no completed task turn.`);if(await Ua(e,t),!r())return;let i=await K(e,`/v1/ponder/desktop/outputs`,{method:`POST`,body:JSON.stringify({operationId:t.operationId,turnId:t.turnId,outputId:n})});if(!r())return;let a=Uint8Array.from(atob(i.contentsBase64),e=>e.charCodeAt(0)),o=URL.createObjectURL(new Blob([a],{type:i.contentType})),s=document.createElement(`a`);s.href=o,s.download=i.filename,document.body.append(s),s.click(),s.remove(),setTimeout(()=>URL.revokeObjectURL(o),3e4)}function nf(e){if(e instanceof Et&&(e.message===`public_api_route_not_found`||e.message===`product_route_not_found`))return`Pal is available in this app, but the connected OpenPond service has not been updated yet.`;let t=e instanceof Error?e.message:String(e);return/<(?:!doctype|html|head|body)\b/i.test(t)||/\b50[234]\b/.test(t)?`Pal is temporarily unavailable. Please try again.`:t.length>240?`Pal couldn’t complete this action. Please try again.`:t}function rf({connection:e,accountScopeKey:t,localSessions:n,composer:r,onOpenWork:i,onOpenLocalWork:a,navigationVersion:o=0}){let[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),[h,g]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)(0),[y,b]=(0,Q.useState)(null);Y(y?nf(y):null);let x=sr(e,!!s,t,!1),S=x.data?.items??[],C=x.data?.localItems??[],w=x.data?.localHandoffs??[],T=Xd(e,s?.bindingId??null);Y(T.error?nf(T.error):null),Y(l?.activeTurn?.status===`failed`?nf(l.activeTurn.errorText??`Pal couldn’t complete this request. Please try again.`):null);let[E,D]=(0,Q.useState)(null),O=E?T.items.find(e=>e.id===E.id):null,k=!(!E||O&&O.state===`proposed`&&O.revision===E.revision&&!Jd(O)),A=(0,Q.useRef)(``),j=(0,Q.useRef)({connection:e,bindingId:s?.bindingId,destination:E?.id??`chat`,draft:d});j.current={connection:e,bindingId:s?.bindingId,destination:E?.id??`chat`,draft:d};let M=(0,Q.useRef)(!1),N=(0,Q.useRef)(!0);function P(){D(null),f(A.current)}function F(e){E||(A.current=d),D(e),f(e.proposedText??``)}async function ee(e,t){let n=j.current,r=E?.id===e.id;await T.action(e,t,t===`send`?r?d:e.proposedText??void 0:void 0)&&r&&j.current.connection===n.connection&&j.current.bindingId===n.bindingId&&j.current.destination===n.destination&&(j.current.draft===n.draft?P():D(null))}(0,Q.useEffect)(()=>{N.current=!0;let t=!0;return c(null),u(null),b(null),f(``),A.current=``,g(!1),m(``),D(null),K(e,`/v1/ponder`,{method:`POST`,body:`{}`}).then(e=>{t&&(c(e),b(null))}).catch(e=>{t&&b(nf(e))}),()=>{t=!1,N.current=!1}},[e]),(0,Q.useEffect)(()=>{if(!s)return;let t=!0,n=!1,r=async()=>{if(!n){n=!0;try{let n=await K(e,`/v1/ponder/conversations/${encodeURIComponent(s.conversationId)}`);t&&u(n)}catch(e){t&&b(nf(e))}finally{n=!1}}};r();let i=window.setInterval(()=>void r(),3e3);return()=>{t=!1,window.clearInterval(i)}},[e,s]),(0,Q.useEffect)(()=>{x.error&&b(nf(x.error))},[x.error]);async function I(t){let n=t.contentsBase64?Uint8Array.from(atob(t.contentsBase64),e=>e.charCodeAt(0)):t.text===void 0?null:new TextEncoder().encode(t.text);if(!n)throw Error(`Attachment ${t.name} has no content to upload.`);let r=await crypto.subtle.digest(`SHA-256`,n),i=btoa(String.fromCharCode(...new Uint8Array(r))),a=await K(e,`/v1/ponder/work-inputs`,{method:`POST`,body:JSON.stringify({name:t.name,contentType:t.mediaType,sizeBytes:n.byteLength,sha256Base64:i})}),o=await fetch(a.upload.url,{method:a.upload.method,headers:a.upload.headers,body:new Blob([n],{type:t.mediaType})});if(!o.ok)throw Error(`Attachment upload failed (${o.status})`);return K(e,`/v1/ponder/work-inputs/${encodeURIComponent(a.input.id)}/finalize`,{method:`POST`,body:`{}`})}async function L(t=[],n){let r=(n?.promptOverride??d).trim();if(!s||!r||M.current)return!1;let i=j.current,a=()=>N.current&&j.current.connection===i.connection&&j.current.bindingId===i.bindingId&&j.current.destination===i.destination;M.current=!0,g(!0);try{if(E){if(k)throw Error(`Review the latest task state before sending this proposed message.`);if(t.length)throw Error(`Send task messages as text. Attachments can be sent in the task's own conversation.`);let e=await T.action(E,`send`,r);return a()?(e&&j.current.draft===i.draft&&P(),e):!1}let n=await Promise.all(t.map(I));if(!a())return!1;let o=await K(e,`/v1/ponder/conversations/${encodeURIComponent(s.conversationId)}/turns`,{method:`POST`,headers:{"idempotency-key":crypto.randomUUID()},body:JSON.stringify({prompt:r,attachments:n})});return a()?(u(e=>e?{...e,activeTurn:o}:{id:s.conversationId,messages:[],activeTurn:o}),v(e=>e+1),j.current.draft===i.draft&&f(``),b(null),!0):!1}catch(e){return a()&&b(nf(e)),!1}finally{M.current=!1,g(!1)}}async function R(t,n){if(t.wait)try{await K(e,`/v1/ponder/turns/${encodeURIComponent(t.id)}/waits/${encodeURIComponent(t.wait.id)}/resolve`,{method:`POST`,body:JSON.stringify(n)}),m(``)}catch(e){b(nf(e))}}async function te(t){try{await K(e,`/v1/ponder/turns/${encodeURIComponent(t.id)}/cancel`,{method:`POST`,body:`{}`})}catch(e){b(nf(e))}}async function ne(t){let n=window.open(`about:blank`,`_blank`);try{let r=await K(e,`/v1/ponder/work-outputs/${encodeURIComponent(t)}`);if(!r.downloadURL)throw Error(`This output is not available for download.`);n?n.location.replace(r.downloadURL):window.location.assign(r.downloadURL)}catch(e){n?.close(),b(nf(e))}}async function z(t){if(!t.sessionId)return;let n=j.current,r=()=>N.current&&j.current.connection===n.connection&&j.current.bindingId===n.bindingId;try{if(await Ua(e,t),!r())return;a(t.sessionId)}catch(e){r()&&b(nf(e))}}async function B(t,n){let r=j.current,i=()=>N.current&&j.current.connection===r.connection&&j.current.bindingId===r.bindingId;try{await tf(e,t,n,i)}catch(e){i()&&b(nf(e))}}let re=!!(l?.activeTurn&&[`queued`,`running`,`retry_scheduled`].includes(l.activeTurn.status)),ie=!!(l?.activeTurn&&[`queued`,`running`,`retry_scheduled`,`waiting_approval`,`waiting_input`].includes(l.activeTurn.status)),ae=(0,$.jsx)(ef,{items:C,workflow:w[0],sessions:n,onOpenTask:e=>void z(e)}),V=(0,Q.useMemo)(()=>qd(l?.messages??[]),[l?.messages]);return(0,$.jsx)(Lo,{scroll:{navigationVersion:o,browserConversationId:l?.id??null,chatSubmissionVersion:_,chatMessages:V.messages,chatHistoryHasMore:!1,chatHistoryLoading:!1,pendingApproval:null,showChatThread:!0,showThinkingIndicator:re,turnRunning:ie,view:`chat`},thread:{connection:e,usageSessionId:null,label:`Pal conversation`,loading:!l,onOpenSession:e=>{let t=V.localPeers.get(e);t?z(t):i(e)},renderMessage:e=>{let t=V.sources.get(e.message.id);return t?(0,$.jsx)(Qd,{message:t,work:S,onOpenOutput:e=>void ne(e),onOpenLocalOutput:(e,t)=>void B(e,t)}):void 0},beforeMessages:(0,$.jsxs)($.Fragment,{children:[!l&&!y&&(0,$.jsx)(`article`,{className:`activity-group thinking-row`,role:`status`,children:(0,$.jsx)(La,{running:!0,children:`Loading conversation…`})}),(0,$.jsx)(Zd,{connection:e,work:S,localWork:C,onOpenWork:i,onOpenLocalWork:e=>void z(e),onOpenLocalOutput:(e,t)=>void B(e,t),onOpenOutput:e=>void ne(e),busy:h||ie})]}),afterMessages:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yd,{items:T.items,busy:T.busy,editingId:E?.id??null,onEdit:F,onSend:e=>{ee(e,`send`)},onDismiss:e=>{ee(e,`dismiss`)},onOpen:i}),ae,l?.activeTurn?.wait&&(0,$.jsxs)(`section`,{className:`ponder-desktop-attention`,children:[(0,$.jsx)(`strong`,{children:l.activeTurn.wait.title}),l.activeTurn.wait.kind===`approval`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>void R(l.activeTurn,{decision:`accepted`}),children:`Approve`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void R(l.activeTurn,{decision:`declined`}),children:`Decline`})]}):l.activeTurn.wait.options.length>0?l.activeTurn.wait.options.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>void R(l.activeTurn,{value:e}),children:e},e)):(0,$.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),R(l.activeTurn,{value:p})},children:[(0,$.jsx)(`input`,{"aria-label":`Response to Pal`,value:p,onChange:e=>m(e.target.value)}),(0,$.jsx)(`button`,{type:`submit`,disabled:!p.trim(),children:`Send response`})]})]}),l?.activeTurn?.outputs?.map(e=>e.downloadURL?(0,$.jsx)(`a`,{href:e.downloadURL,target:`_blank`,rel:`noreferrer`,children:e.name},e.id):(0,$.jsx)(`button`,{type:`button`,onClick:()=>void ne(e.id),children:e.name},e.id))]})},composerPrefix:(0,$.jsx)($.Fragment,{children:E?(0,$.jsxs)(`div`,{className:`ponder-message-destination`,role:`status`,children:[(0,$.jsxs)(`span`,{children:[`Message to `,E.target.title,k?` — review the latest task state before sending`:``]}),(0,$.jsx)(`button`,{type:`button`,onClick:P,children:`Return to Pal chat`})]}):null}),composer:(0,$.jsx)(hd,{...r,experience:`chat`,mode:`dock`,showProjectFooter:!1,hideModelControls:!0,connection:e,prompt:d,onPromptChange:f,busy:h||k||!!T.busy||!s,running:re&&!E,submissionScopeKey:`ponder:${s?.conversationId??`loading`}:${E?.id??`chat`}`,voiceInputChannelKey:`ponder:${s?.conversationId??`loading`}`,onSubmit:(e,t,n,r)=>L(e,r?.promptOverride?{promptOverride:r.promptOverride}:void 0),onStop:()=>l?.activeTurn?te(l.activeTurn):void 0})})}function af({state:e,connection:t,accountScopeKey:n,onSetup:r}){let i=(0,Q.useId)(),a=(0,Q.useRef)(null),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)({}),u=Gd(t,n,o),d=h({queryKey:[`account-remote-access`,nn(t)],enabled:o,staleTime:5e3,refetchInterval:o?1e4:!1,queryFn:({signal:e})=>K(t,`/v1/account-remote-access`,{signal:AbortSignal.any([e,AbortSignal.timeout(15e3)])})});Y(d.error?.message??null);let f=d.data?{connected:`Connected`,connecting:`Connecting`,reconnecting:`Reconnecting`,offline:`Offline`,off:`Off`,signed_out:`Sign in required`,update_required:`Update required`}[d.data.state]:d.isPending?`Checking connection…`:`Unknown`;return(0,Q.useEffect)(()=>{if(!o)return;function e(){let e=a.current?.getBoundingClientRect();if(!e)return;let t=Math.min(320,window.innerWidth-24);l({left:Math.max(12,Math.min(e.left,window.innerWidth-t-12)),bottom:window.innerHeight-e.top+8,width:t,maxHeight:Math.max(100,e.top-24)})}return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[o]),(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{ref:a,type:`button`,className:`ponder-execution-control`,popoverTarget:i,children:`Pal`}),(0,$.jsxs)(`div`,{id:i,popover:`auto`,className:`ponder-connections`,style:c,onToggle:e=>s(e.newState===`open`),role:`dialog`,"aria-label":`Pal connections`,children:[(0,$.jsx)(`h3`,{children:`Connections`}),(0,$.jsxs)(`section`,{className:`ponder-access-section`,"aria-label":`Desktop and remote access`,children:[(0,$.jsxs)(`label`,{children:[(0,$.jsxs)(`span`,{children:[`This desktop`,(0,$.jsx)(`small`,{children:e?.session?`Pal runs here`:`Set up Pal to start`})]}),(0,$.jsx)(`input`,{type:`checkbox`,role:`switch`,"aria-label":`This desktop execution`,checked:!!e?.session,readOnly:!0,disabled:!0})]}),[`Web access`,`iOS access`].map(e=>(0,$.jsxs)(`div`,{className:`ponder-connection-card`,role:`group`,"aria-label":e,children:[(0,$.jsxs)(`span`,{children:[e,(0,$.jsx)(`small`,{children:f})]}),(0,$.jsx)(`span`,{className:`ponder-connection-dot${d.data?.state===`connected`?` connected`:``}`,role:`img`,"aria-label":`${e}: ${f}`,title:`Shared desktop relay connection`})]},e))]}),(0,$.jsxs)(`label`,{className:`ponder-hosted-sandboxes`,children:[(0,$.jsxs)(`span`,{children:[`Hosted sandboxes`,(0,$.jsx)(`small`,{children:u.loading?`Checking availability…`:u.state?.enabled?`Selected assignments may run in hosted Work.`:u.state?.reason??`Allow selected assignments and required project context to run in hosted Work. Usage may incur charges.`})]}),(0,$.jsx)(`input`,{type:`checkbox`,role:`switch`,"aria-label":`Hosted sandboxes enabled`,checked:u.state?.enabled??!1,disabled:!u.state||u.saving||!u.state.available&&!u.state.enabled,onChange:e=>u.setEnabled(e.currentTarget.checked)})]}),(0,$.jsx)(`button`,{type:`button`,onClick:r,children:`Pal settings`})]})]})}function of({children:e,onClose:t}){let n=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{let e=document.activeElement;return n.current?.showModal(),()=>{n.current?.close(),e instanceof HTMLElement&&e.isConnected&&e.focus()}},[]),(0,$.jsx)(`dialog`,{ref:n,className:`git-dialog ponder-setup`,"aria-labelledby":`ponder-setup-title`,onCancel:e=>{e.preventDefault(),t()},children:e})}function sf(e){let{connection:t,composer:n}=e,r=(0,Q.useMemo)(()=>t,[t.serverUrl,t.token,t.platform,t.arch]),i=JSON.stringify([nn(r),e.accountScopeKey]),a=(0,Q.useRef)(i);a.current=i;let o=c(),s=[`ponder-local`,nn(r),e.accountScopeKey],l=[...s,`snapshot`],u=h({queryKey:l,staleTime:3e4,queryFn:()=>K(r,`/v1/ponder/local?catalog=0`)}),d=h({queryKey:s,staleTime:3e4,queryFn:()=>K(r,`/v1/ponder/local`)}),f=u.data,p=(0,Q.useMemo)(()=>f&&(!d.data||f.coordinator.revision>d.data.coordinator.revision)?{...f,supportedModelRefs:d.data?.supportedModelRefs??[]}:d.data??null,[f,d.data]);function m(e){o.setQueryData(s,e),o.setQueryData(l,e)}Y(d.error?.message??null),Y(u.error?.message??null);let[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=(0,Q.useRef)(null),[x,S]=(0,Q.useState)(null);Y(x);let[C,w]=(0,Q.useState)(!1),[T,E]=(0,Q.useState)(0),[D,O]=(0,Q.useState)(``),[k,A]=(0,Q.useState)(`openai`),[j,M]=(0,Q.useState)(``),N=qo(r,g?null:p?.session?.id??null),P=gc(r,g?null:p?.session?.id??null,N.events);Y(N.error),Y(P.error);let F=P.snapshot?!(!P.snapshot.activeTurnId||P.snapshot.paused):N.running;(0,Q.useEffect)(()=>{let e=P.acknowledgedInput;if(!e||e.sessionId!==p?.session?.id)return;let t=b.current;t&&typeof t==`object`&&t.scope!==i||(t?.acknowledge?.(!0),b.current=null,w(!1),O(t=>t.trim()===e.body.trim()?``:t),P.acknowledgeRetainedInput())},[P.acknowledgedInput,p?.session?.id,i]),(0,Q.useEffect)(()=>{_(!1),S(null),O(``),w(!1),b.current=null},[i]),(0,Q.useEffect)(()=>{p&&(y(!p.session),p.coordinator.modelRef&&(A(p.coordinator.modelRef.providerId),M(p.coordinator.modelRef.modelId)))},[p]);async function ee(e=k,t=j){w(!0);try{let n=await K(r,`/v1/ponder/local`,{method:`POST`,body:JSON.stringify({modelRef:{providerId:e,modelId:t}})});if(a.current!==i)return;m(n),A(e),M(t),y(!1),S(null)}catch(e){a.current===i&&S(to(e))}finally{a.current===i&&w(!1)}}async function I(e,t){let r=p?.session,o=(t??D).trim();if(!r||!o||C||b.current)return!1;let s={scope:i,acknowledge:void 0};b.current=s;let c=new Promise(e=>{s.acknowledge=e});w(!0);try{let t={prompt:o,attachments:e,modelRef:p.coordinator.modelRef??void 0,approvalPolicy:`on-request`,sandbox:`workspace-write`,codexPermissionMode:`default`,codexReasoningEffort:n.codexReasoningEffort};return!await Promise.race([P.queue(t),c])||a.current!==i?!1:(E(e=>e+1),O(e=>e===D?``:e),S(null),!0)}catch(e){return a.current===i&&S(to(e)),!1}finally{b.current===s&&(b.current=null),a.current===i&&w(!1)}}let L=Object.values(n.providerSettings?.statuses??{}).filter(e=>e.available&&e.enabled&&p?.supportedModelRefs?.some(t=>t.providerId===e.id)).map(e=>({value:e.id,label:e.displayName})),R=H(k,n.providerSettings).filter(e=>p?.supportedModelRefs?.some(t=>t.providerId===k&&t.modelId===e.value));(0,Q.useEffect)(()=>{if(p?.session||!p?.supportedModelRefs.length)return;let e=p.supportedModelRefs,t=e.find(e=>e.providerId===`openai`&&e.modelId===`gpt-6.1-sol`)??e.find(e=>e.providerId===`anthropic`&&e.modelId===n.providerSettings?.statuses.anthropic?.defaultModel)??e.find(e=>e.providerId===n.provider&&e.modelId===n.model)??e[0];A(t.providerId),M(t.modelId)},[p,n.providerSettings,n.provider,n.model]);let te=en(N.events),ne=Zt({provider:p?.session?.provider??k,snapshot:te?.model===p?.coordinator.modelRef?.modelId?te:null,preferences:e.contextCompaction});return(0,$.jsxs)(`div`,{className:`ponder-workspace`,children:[(0,$.jsx)(`div`,{className:`ponder-main`,children:g?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`ponder-connection-bar`,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>_(!1),children:`Return to local Pal`})}),(0,$.jsx)(rf,{...e})]}):(0,$.jsx)(Lo,{scroll:{navigationVersion:e.navigationVersion,browserConversationId:p?.session?.id??null,chatSubmissionVersion:T,chatMessages:N.messages,chatHistoryHasMore:N.hasMore,chatHistoryLoading:N.loading,onLoadMoreChatHistory:N.loadOlder,pendingApproval:null,showChatThread:!0,showThinkingIndicator:F,turnRunning:F,view:`chat`},thread:{...e.messageContext,connection:r,label:`Pal conversation`,loading:!p||N.loading,onOpenSession:t=>e.onOpenAgents(t),beforeMessages:(0,$.jsxs)($.Fragment,{children:[!p&&u.isError?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void u.refetch(),children:`Retry opening Pal`}):null,p&&!p.session?(0,$.jsxs)(`div`,{className:`ponder-empty`,children:[(0,$.jsx)(`h2`,{children:`Meet Pal`}),(0,$.jsx)(`p`,{children:`Delegate work and keep your agents coordinated in one conversation.`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>y(!0),children:`Set up local Pal`})]}):null,p?.session&&!N.loading&&N.messages.length===0?(0,$.jsxs)(`div`,{className:`ponder-empty`,children:[(0,$.jsx)(`h2`,{children:`What would you like to work on?`}),(0,$.jsx)(`p`,{children:`Tell Pal what you need. Delegated agents will appear on the right, and you can take control whenever you want.`})]}):null]})},composer:(0,$.jsx)(hd,{...n,connection:r,experience:`chat`,mode:`dock`,placeholder:`Ask Pal to coordinate work…`,showProjectFooter:!1,provider:p?.session?.provider??k,model:p?.coordinator.modelRef?.modelId??j,contextWindowStatus:ne,allowedModelRefs:p?.supportedModelRefs??[],modelSelectionDisabled:F,onProviderChange:(e,t)=>{t&&ee(e,t)},onModelChange:e=>{ee(p?.session?.provider??k,e)},executionControl:(0,$.jsx)(af,{state:p,connection:r,accountScopeKey:e.accountScopeKey,onSetup:()=>y(!0)}),goalSessionId:null,enableResourceContext:!1,taskSessionId:p?.session?.id,taskEvents:N.events,prompt:D,onPromptChange:O,busy:C||!p?.session,running:F,submissionScopeKey:`ponder-local:${p?.session?.id??`setup`}`,onSubmit:(e,t,n,r)=>I(e??[],r?.promptOverride),onStop:async()=>{if(p?.session)try{await Rr.interruptTurn(r,p.session.id)}catch(e){S(to(e))}}})})}),v&&p?(0,$.jsxs)(of,{onClose:()=>y(!1),children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`h2`,{id:`ponder-setup-title`,children:`Welcome to Pal`}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close setup`,onClick:()=>y(!1),children:(0,$.jsx)(Hn,{size:16})})]}),(0,$.jsx)(`p`,{children:`Pal stands for Ponder Assisted Learning. It coordinates your agents. Start on this desktop and keep your conversation here.`}),(0,$.jsxs)(`div`,{className:`ponder-setup-card`,children:[(0,$.jsx)(`h3`,{children:`On this desktop`}),(0,$.jsx)(`p`,{children:`Use your configured model. Your provider’s inference charges may apply.`}),(0,$.jsx)(Z,{label:`Pal provider`,value:k,options:L,onChange:e=>{A(e),M(H(e,n.providerSettings)[0]?.value??``)}}),(0,$.jsx)(Z,{label:`Pal model`,value:j,options:R,onChange:M}),d.isError?(0,$.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:()=>void d.refetch(),children:`Retry loading models`}):null,(0,$.jsx)(`button`,{type:`button`,className:`git-dialog-primary`,disabled:C||!j||!L.some(e=>e.value===k),onClick:()=>void ee(k,j),children:p.session?`Save local model`:`Start locally`}),(0,$.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:()=>{y(!1),n.onProviderSetupOpen?.()},children:`Configure a provider`})]}),(0,$.jsx)(Kd,{connection:r,accountScopeKey:e.accountScopeKey}),[[`remoteAccess`,`Web and iOS access`,`Access local Pal without a subscription while your desktop stays online.`],[`hostedCoordinator`,`Hosted Pal`,`Keep your coordinator available in the cloud. Activation uploads this Pal conversation.`]].map(([e,t,n])=>(0,$.jsxs)(`div`,{className:`ponder-setup-card`,children:[(0,$.jsxs)(`label`,{children:[(0,$.jsx)(`strong`,{children:t}),(0,$.jsx)(`input`,{type:`checkbox`,role:`switch`,checked:!1,disabled:!0,"aria-label":t})]}),(0,$.jsx)(`p`,{children:n}),(0,$.jsx)(`small`,{children:p.capabilities[e].reason??`Setup is not available yet.`})]},e)),(0,$.jsx)(`button`,{type:`button`,className:`git-dialog-secondary`,onClick:()=>{_(!0),y(!1)},children:`Open existing hosted Pal`})]}):null]})}function cf({accountBaseUrl:e,onOpenBrowserLink:t,...n}){function r(r){if(!e)n.composer.showToast(`OpenPond account URL is unavailable for this Work task.`,`error`);else try{t(new URL(`/tasks/${encodeURIComponent(r)}`,e).toString(),{newTab:!0})}catch{n.composer.showToast(`OpenPond account URL is invalid for this Work task.`,`error`)}}return(0,$.jsx)(sf,{...n,onOpenWork:r})}function lf(e){return JSON.stringify({account:e?.account.activeProfile??null,baseUrl:e?.account.baseUrl??null,owner:e?.account.profile?.id??null,state:e?.account.state??null,teamId:e?.preferences.defaultTeamId??null})}function uf({expanded:e,terminalOpen:t,sideChatAvailable:n,onOpenFiles:r,onOpenAgents:i,onOpenReview:a,onOpenSideChat:o,onOpenTrainingDraft:s,trainingDraftAvailable:c,onResizeStart:l,onToggleExpanded:u,onToggleTerminal:d}){return(0,$.jsxs)(`aside`,{className:`workspace-diff-panel right-sidebar-home-panel ${e?`expanded`:``}`,"aria-label":`Right sidebar`,children:[e?null:(0,$.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize right sidebar`,onPointerDown:l}),(0,$.jsxs)(`div`,{className:`workspace-diff-topbar right-sidebar-home-topbar`,children:[(0,$.jsx)(`div`,{className:`workspace-diff-tabs`,role:`tablist`,"aria-label":`Right sidebar views`,children:(0,$.jsxs)(`button`,{type:`button`,className:`workspace-diff-tab active`,role:`tab`,"aria-selected":!0,children:[(0,$.jsx)(hr,{size:14}),(0,$.jsx)(`span`,{children:`Workspace`})]})}),(0,$.jsx)(`div`,{className:`workspace-diff-toolbar-actions`,children:(0,$.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:e?`Dock sidebar`:`Expand sidebar`,"aria-label":e?`Dock sidebar`:`Expand sidebar`,onClick:u,children:e?(0,$.jsx)(dn,{size:14}):(0,$.jsx)(Pn,{size:14})})})]}),(0,$.jsx)(`div`,{className:`right-sidebar-home-body`,children:(0,$.jsx)(df,{terminalOpen:t,sideChatAvailable:n,onOpenFiles:r,onOpenAgents:i,onOpenReview:a,onOpenSideChat:o,onOpenTrainingDraft:s,trainingDraftAvailable:c,onToggleTerminal:d})})]})}function df({terminalOpen:e,sideChatAvailable:t,onOpenFiles:n,onOpenFile:r,onOpenReview:i,onOpenExperiments:a,onOpenAgents:o,onOpenSideChat:s,onOpenTrainingDraft:c,trainingDraftAvailable:l,onToggleTerminal:u}){let d=[{id:`review`,label:`Review`,meta:`Diffs`,icon:on,onSelect:i},{id:`files`,label:`Files`,meta:`Workspace`,icon:Mn,onSelect:n},{id:`side-chat`,label:`Side chat`,meta:`Context`,icon:Fn,onSelect:s,disabled:!t},{id:`training-draft`,label:`Task draft`,meta:`Training`,icon:Tr,onSelect:c,disabled:!l},{id:`terminal`,label:e?`Hide terminal`:`Terminal`,meta:`Shell`,icon:Vn,onSelect:u}];return o&&d.push({id:`agents`,label:`Agents`,icon:Fn,onSelect:o}),a&&d.unshift({id:`experiments`,label:`Ponder`,meta:`Experiments and models`,icon:Tr,onSelect:a}),r&&d.splice(a?3:2,0,{id:`open-file`,label:`Open file`,icon:Mn,onSelect:r}),(0,$.jsx)(`div`,{className:`right-sidebar-home-actions`,role:`menu`,"aria-label":`Workspace actions`,children:d.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`right-sidebar-home-row`,role:`menuitem`,disabled:e.disabled,onClick:e.onSelect,children:[(0,$.jsx)(e.icon,{size:15}),(0,$.jsx)(`span`,{children:e.label}),e.meta?(0,$.jsx)(`span`,{className:`right-sidebar-home-chip`,children:e.meta}):null]},e.id))})}var ff=[];function pf(e){let t=window.openpond?.browser,[n,r]=(0,Q.useState)(()=>({conversationId:e,activeTabId:null,tabs:ff}));(0,Q.useEffect)(()=>{if(r({conversationId:e,activeTabId:null,tabs:ff}),!t)return;let n=!1,i=!1;t.getState({conversationId:e}).then(e=>{!n&&!i&&r(e)});let a=t.onState(t=>{t.conversationId===e&&(i=!0,r(t))});return()=>{n=!0,a()}},[t,e]);let i=(0,Q.useMemo)(()=>n.tabs.find(e=>e.id===n.activeTabId)??null,[n.activeTabId,n.tabs]),a=(0,Q.useCallback)(async(n,r={})=>{if(!t)return!1;let i=er(n,{explicitFile:r.explicitFile});if(!i)return!1;let a=r.newTab?await t.newTab({conversationId:e,url:i,explicitFile:r.explicitFile}):await t.open({conversationId:e,url:i,explicitFile:r.explicitFile});if(!a.ok)throw Error(a.error||`Could not open browser.`);return!0},[t,e]),o=i?{conversationId:e,tabId:i.id}:null;return{activeTab:i,available:!!t,bridge:t,state:n,back:()=>t&&o?t.back(o):Promise.resolve({ok:!1}),clearData:()=>t?t.clearData({conversationId:e}):Promise.resolve({ok:!1}),closeTab:n=>t?t.closeTab({conversationId:e,tabId:n}):Promise.resolve({ok:!1}),forward:()=>t&&o?t.forward(o):Promise.resolve({ok:!1}),newTab:n=>t?t.newTab({conversationId:e,url:n}):Promise.resolve({ok:!1}),open:a,openExternal:()=>t&&o?t.openExternal(o):Promise.resolve({ok:!1}),reload:()=>t&&o?t.reload(o):Promise.resolve({ok:!1}),snapshot:(n={})=>t?t.snapshot({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),moveCursor:n=>t?t.moveCursor({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),click:n=>t?t.click({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),typeText:n=>t?t.typeText({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),key:n=>t?t.key({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),scroll:n=>t?t.scroll({conversationId:e,...n}):Promise.resolve({ok:!1,output:`Desktop browser bridge unavailable.`}),selectTab:n=>t?t.selectTab({conversationId:e,tabId:n}):Promise.resolve({ok:!1}),setBounds:n=>t?t.setBounds({conversationId:e,bounds:n}):Promise.resolve({ok:!1}),stop:()=>t&&o?t.stop(o):Promise.resolve({ok:!1})}}function mf({activeTab:e,documentName:t,snapshotActions:n,available:r,onBack:i,onClearData:a,onForward:o,onNavigate:s,onOpenExternal:c,onReload:l,onStop:u}){let[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{f(t??e?.url??``)},[e?.id,e?.url,t]);function h(e){e.preventDefault(),!t&&s(d)}return(0,$.jsxs)(`div`,{className:`browser-toolbar`,children:[(0,$.jsxs)(`div`,{className:`browser-nav-actions`,children:[(0,$.jsx)(`button`,{type:`button`,title:`Back`,"aria-label":`Back`,disabled:!e?.canGoBack,onClick:i,children:(0,$.jsx)(Lr,{size:15})}),(0,$.jsx)(`button`,{type:`button`,title:`Forward`,"aria-label":`Forward`,disabled:!e?.canGoForward,onClick:o,children:(0,$.jsx)(_n,{size:15})}),(0,$.jsx)(`button`,{type:`button`,title:e?.loading?`Stop`:`Reload`,"aria-label":e?.loading?`Stop`:`Reload`,disabled:!e,onClick:e?.loading?u:l,children:e?.loading?(0,$.jsx)(Bn,{size:13}):(0,$.jsx)(zn,{size:14})})]}),(0,$.jsx)(`form`,{className:`browser-address-form`,onSubmit:h,children:(0,$.jsx)(`input`,{"aria-label":`Browser address`,disabled:!r&&!t,readOnly:!!t,placeholder:`Search or enter address`,spellCheck:!1,value:d,onChange:e=>f(e.target.value)})}),(0,$.jsxs)(`div`,{className:`browser-panel-actions`,children:[n,(0,$.jsx)(`button`,{type:`button`,title:`Open external`,"aria-label":`Open external`,disabled:!e||!!t,onClick:c,children:(0,$.jsx)(jn,{size:14})}),(0,$.jsxs)(`div`,{className:`browser-menu-anchor`,children:[(0,$.jsx)(`button`,{type:`button`,title:`Browser actions`,"aria-label":`Browser actions`,onClick:()=>m(e=>!e),children:(0,$.jsx)(gr,{size:15})}),p&&(0,$.jsx)(`div`,{className:`browser-options-menu`,role:`menu`,children:(0,$.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{m(!1),a()},children:`Clear Browser Data...`})})]})]})]})}function hf({conversationId:e,onOpenBrowser:t}){let n=pf(e),r=J();return(0,$.jsx)(mf,{activeTab:null,available:n.available,onBack:()=>{},onForward:()=>{},onReload:()=>{},onStop:()=>{},onOpenExternal:()=>{},onClearData:()=>{window.confirm(`Clear shared browser data? Cookies, logins, cache, and site storage will be removed for all chats. This chat's browser tabs will also close.`)&&n.clearData()},onNavigate:e=>{n.open(e,{explicitFile:!0,newTab:!0}).then(e=>{e&&t()}).catch(e=>r?.(e instanceof Error?e.message:`Could not open browser.`,`error`))}})}var gf=(0,Q.lazy)(()=>o(()=>import(`./FilePagePreview-Qc4B0vue.js`),__vite__mapDeps([72,1,2,3,17,22,4,5,6,23,24,14,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,18,37,38,39,20,40,41,42,43,44,45,46,21,47,48,49,50,51,52,53,54,55,73])));function _f({path:e,connection:t,workspaceId:n,sandboxId:r,revision:i}){let a=(0,Q.useRef)(null),[o,s]=(0,Q.useState)(!1),c=cr(e),l=q(e)||n,u=`${nn(t)}:${l}:${r??``}:${e}`,d=cn(t,o&&c&&!r?l:null,e);(0,Q.useEffect)(()=>{let e=a.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(s(!0),t.disconnect())});return t.observe(e),()=>t.disconnect()},[]);let f=h({queryKey:[`file-thumbnail`,u,i],enabled:!(!o||!t||c&&!r||!l&&!r),queryFn:()=>r?bn(t,r,e):vr.workspaceFile(t,l,e),staleTime:i?1/0:15e3,gcTime:6e4}).data,p=c&&r&&f?.contentEncoding===`base64`&&f.content?`data:image/${/\.jpe?g$/i.test(e)?`jpeg`:e.split(`.`).pop()?.toLowerCase()};base64,${f.content}`:null;return(0,$.jsx)(`span`,{ref:a,className:`workspace-file-thumbnail`,children:d||p?(0,$.jsx)(`img`,{alt:``,src:d||p,loading:`lazy`}):f?.content&&(pr(f)||/\.(?:docx|pdf)$/i.test(f.path))?(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(_r,{size:28}),children:(0,$.jsx)(gf,{file:f})}):f?.content&&f.contentEncoding!==`base64`?(0,$.jsx)(`pre`,{children:f.content.slice(0,1200)}):(0,$.jsx)(_r,{size:28})})}function vf({chatMessages:e,connection:t,contextWindowStatus:n,expanded:r,runtimeEvents:i,sessionId:a,showToast:o,onResizeStart:s,onToggleExpanded:c,onUseOutput:l,onHandoffOutput:u,onReviseOutput:d,onAgentPackageInstalled:f}){let[p,m]=(0,Q.useState)(`outputs`),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(``),[x,S]=(0,Q.useState)({}),C=(0,Q.useMemo)(()=>xf(i),[i]),w=(0,Q.useMemo)(()=>Cf(C),[C]),T=(0,Q.useMemo)(()=>yf(e),[e]),E=(0,Q.useMemo)(()=>bf(e),[e]),D=(0,Q.useMemo)(()=>Tf(e),[e]);(0,Q.useEffect)(()=>()=>{_?.objectUrl&&URL.revokeObjectURL(_.objectUrl)},[_?.objectUrl]);async function O(e){if(!t||!a||e.kind!==`file`)return null;g(Sf(e));try{let n=await vr.workspaceTool(t,a,{action:`work_output_read`,source:`ui_button`,args:{outputId:e.id,revision:e.revision}});if(!n.ok)throw Error(n.output);let r=Mf(n.data),i=typeof r.contentsBase64==`string`?r.contentsBase64:``;if(!i)throw Error(`The output did not include file data.`);return new File([kf(i)],e.title,{type:e.contentType})}catch(e){return o(e instanceof Error?e.message:`Could not load the output.`,`error`),null}finally{g(null)}}async function k(e){let t=await O(e);if(!t)return;_?.objectUrl&&URL.revokeObjectURL(_.objectUrl);let n=e.kind===`file`&&(e.contentType.startsWith(`text/`)||e.contentType===`application/json`);b(``),v({output:e,file:t,text:n?await t.text():null,objectUrl:n?null:URL.createObjectURL(t)})}async function A(e){let t=await O(e);t&&(l(t),o(`Added the output to the task as input.`,`success`))}async function j(e,t){let n=t.kind===`file`?await O(t):null;(t.kind!==`file`||n)&&await u(e,t,n)}async function M(e){if(t&&a&&window.confirm(`Delete ${e.title} revision ${e.revision} from this device?`)){g(Sf(e));try{let n=await vr.workspaceTool(t,a,{action:`work_output_delete`,source:`ui_button`,args:{outputId:e.id,revision:e.revision}});if(!n.ok)throw Error(n.output);_?.output.id===e.id&&v(null),o(`Work output deleted.`,`success`)}catch(e){o(e instanceof Error?e.message:`Could not delete the output.`,`error`)}finally{g(null)}}}async function N(e){if(!t||!a||!window.confirm(`Add ${e.title} version ${e.versionId} to your active Agents profile?`))return;let n=async n=>vr.workspaceTool(t,a,{action:`work_agent_package_install`,source:`ui_button`,args:{outputId:e.id,revision:e.revision,overwrite:n}});g(Sf(e));try{let t;try{t=await n(!1)}catch(r){if(!(r instanceof Error?r.message:`Agent installation failed.`).includes(`already exists`)||!window.confirm(`${e.agentId} already exists. Replace its active checkout with this immutable version?`))throw r;t=await n(!0)}if(!t.ok)throw Error(t.output);await f?.(),o(`${e.title} was added to Agents. Its package remains available in this Work task.`,`success`)}catch(e){o(e instanceof Error?e.message:`Could not add the Agent package.`,`error`)}finally{g(null)}}return(0,$.jsxs)(`aside`,{className:`workspace-diff-panel work-sidebar-panel ${r?`expanded`:``}`,"aria-label":`Thread details`,children:[r?null:(0,$.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize Thread details`,onPointerDown:s}),(0,$.jsxs)(`div`,{className:`workspace-diff-topbar`,children:[(0,$.jsx)(`div`,{className:`workspace-diff-tabs`,role:`tablist`,"aria-label":`Thread details`,children:[[`outputs`,`Outputs`],[`activity`,`Activity`],[`context`,`Context`]].map(([e,t])=>(0,$.jsx)(`button`,{type:`button`,className:`workspace-diff-tab ${p===e?`active`:``}`,role:`tab`,"aria-selected":p===e,onClick:()=>m(e),children:t},e))}),(0,$.jsx)(`div`,{className:`workspace-diff-toolbar-actions`,children:(0,$.jsx)(`button`,{type:`button`,className:`diff-icon-button`,title:r?`Dock sidebar`:`Expand sidebar`,"aria-label":r?`Dock sidebar`:`Expand sidebar`,onClick:c,children:r?(0,$.jsx)(dn,{size:14}):(0,$.jsx)(Pn,{size:14})})})]}),(0,$.jsxs)(`div`,{className:`work-sidebar-body`,children:[p===`outputs`?_?(0,$.jsxs)(`div`,{className:`work-output-preview`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>{_.objectUrl&&URL.revokeObjectURL(_.objectUrl),v(null)},children:`Outputs`}),(0,$.jsxs)(`strong`,{children:[_.output.title,` · revision `,_.output.revision]})]}),_.text===null?_.output.kind===`file`&&_.output.contentType.startsWith(`image/`)&&_.objectUrl?(0,$.jsx)(`img`,{src:_.objectUrl,alt:_.output.title}):_.output.kind===`file`&&_.output.contentType===`application/pdf`&&_.objectUrl?(0,$.jsx)(`iframe`,{src:_.objectUrl,title:_.output.title}):_.output.kind===`file`&&_.output.contentType.startsWith(`audio/`)&&_.objectUrl?(0,$.jsx)(`audio`,{controls:!0,src:_.objectUrl}):_.output.kind===`file`&&_.output.contentType.startsWith(`video/`)&&_.objectUrl?(0,$.jsx)(`video`,{controls:!0,src:_.objectUrl}):(0,$.jsx)(`p`,{children:`This file type uses its native application for detailed review.`}):(0,$.jsx)(Cn,{content:_.text}),(0,$.jsxs)(`section`,{className:`work-output-annotation`,children:[(0,$.jsx)(`label`,{htmlFor:`work-output-revision-note`,children:`Revision note`}),(0,$.jsx)(`textarea`,{id:`work-output-revision-note`,value:y,onChange:e=>b(e.target.value),placeholder:`Describe the exact change to make in the next revision.`}),(0,$.jsx)(`button`,{type:`button`,disabled:!y.trim(),onClick:()=>{d(_.output,_.file,y.trim()),o(`Prepared revision ${_.output.revision+1}.`,`success`)},children:`Revise this version`})]})]}):w.length>0?(0,$.jsx)(`div`,{className:`work-output-list`,children:w.map(e=>{let t=e.revisions.find(t=>t.revision===x[e.id])??e.revisions[0];return(0,$.jsxs)(`article`,{className:`work-output-card`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(_r,{size:16}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.title}),e.revisions.length>1?(0,$.jsxs)(`label`,{className:`work-output-version`,children:[(0,$.jsx)(`span`,{children:`Version`}),(0,$.jsx)(`select`,{value:t.revision,onChange:t=>S(n=>({...n,[e.id]:Number(t.target.value)})),children:e.revisions.map(e=>(0,$.jsxs)(`option`,{value:e.revision,children:[`Revision `,e.revision]},Sf(e)))})]}):(0,$.jsxs)(`small`,{children:[`Revision `,t.revision]}),(0,$.jsx)(`small`,{children:Df(t)})]})]}),t.validation.length>0?(0,$.jsxs)(`div`,{className:`work-output-validation`,children:[(0,$.jsx)(Fr,{size:13}),(0,$.jsxs)(`span`,{children:[t.validation.filter(e=>e.status===`passed`).length,` `,`checks passed`]})]}):null,(0,$.jsxs)(`div`,{className:`work-output-actions`,children:[t.kind===`file`&&t.location.kind===`local`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void gn(Af(t)),children:[(0,$.jsx)(Mn,{size:13}),`Reveal`]}),(0,$.jsx)(`button`,{type:`button`,onClick:async()=>{let e=await sn(Af(t),t.title);e.ok?o(`Saved a copy of the Work output.`,`success`):e.canceled||o(`Could not save a copy of the Work output.`,`error`)},children:`Save as`})]}):null,t.kind===`file`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,disabled:h===Sf(t),onClick:()=>void k(t),children:`Preview`}),(0,$.jsxs)(`button`,{type:`button`,disabled:h===Sf(t),onClick:()=>void A(t),children:[(0,$.jsx)(In,{size:13}),`Use as input`]})]}):t.kind===`agent_package`?(0,$.jsx)(`button`,{type:`button`,disabled:h===Sf(t),onClick:()=>void N(t),children:`Add to Agents`}):`url`in t&&t.url?(0,$.jsx)(`button`,{type:`button`,onClick:()=>window.open(t.url,`_blank`,`noopener,noreferrer`),children:`Open`}):null,t.kind===`file`&&t.location.kind===`local`?(0,$.jsxs)(`button`,{type:`button`,className:`danger`,disabled:h===Sf(t),onClick:()=>void M(t),children:[(0,$.jsx)(ln,{size:13}),`Delete`]}):null,(0,$.jsx)(`button`,{type:`button`,disabled:h===Sf(t),onClick:()=>void j(`work`,t),children:`Continue in new thread`})]})]},e.id)})}):E.length>0?(0,$.jsx)(`div`,{className:`work-output-list`,children:E.map(e=>(0,$.jsxs)(`article`,{className:`work-output-card`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(_r,{size:16}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`small`,{children:Of(e.sizeBytes)})]})]}),(0,$.jsx)(`div`,{className:`work-output-actions`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void gn(e.path),children:[(0,$.jsx)(Mn,{size:13}),`Reveal`]})})]},e.path))}):(0,$.jsx)(Ef,{icon:_r,title:`No saved outputs yet`,detail:`Finished files and connected results will appear here.`}):null,p===`activity`?T.length>0?(0,$.jsx)(`div`,{className:`work-activity-list`,children:T.map(e=>(0,$.jsxs)(`details`,{className:`work-activity-row ${e.state??``}`,children:[(0,$.jsxs)(`summary`,{children:[(0,$.jsx)(Br,{size:14}),(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`small`,{children:e.state??`completed`})]}),(0,$.jsx)(`p`,{children:e.content}),e.detail?(0,$.jsx)(`pre`,{children:e.detail}):null]},e.id))}):(0,$.jsx)(Ef,{icon:Br,title:`No activity yet`,detail:`Commands, tool receipts, and checks appear while the thread runs.`}):null,p===`context`?(0,$.jsxs)(`div`,{className:`work-context`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{children:`Model context`}),(0,$.jsx)(`p`,{children:n.summary}),(0,$.jsx)(`small`,{children:n.tokensLabel})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{children:`Task inputs and sources`}),D.length>0?(0,$.jsx)(`ul`,{children:D.map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(In,{size:13}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`small`,{children:e.detail})]})]},e.key))}):(0,$.jsx)(`p`,{children:`No attached files or cited sources yet.`})]})]}):null]})]})}function yf(e){return e.flatMap(e=>e.activities??[]).filter(e=>e.kind!==`reasoning`).reverse()}function bf(e){let t=new Map;for(let n of e)for(let e of n.activities??[])for(let n of e.artifacts??[])n.path&&n.sizeBytes!==null&&(t.delete(n.path),t.set(n.path,{path:n.path,title:n.title,sizeBytes:n.sizeBytes}));return[...t.values()].reverse()}function xf(e){let t=new Map,n=new Set;for(let r of e){let e=wf(r.data);if(r.action===`work_output_delete`&&r.status===`completed`)for(let r of e){let e=Sf(r);n.add(e),t.delete(e)}else if(r.action!==`work_output_read`)for(let r of e){let e=Sf(r);n.has(e)||t.set(e,r)}}return[...t.values()].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)||t.revision-e.revision)}function Sf(e){return`${e.id}:${e.revision}`}function Cf(e){let t=new Map;for(let n of e){let e=t.get(n.id)??[];e.push(n),t.set(n.id,e)}return[...t.entries()].map(([e,t])=>({id:e,revisions:t.sort((e,t)=>t.revision-e.revision||t.createdAt.localeCompare(e.createdAt))})).sort((e,t)=>t.revisions[0].createdAt.localeCompare(e.revisions[0].createdAt))}function wf(e,t=[],n=new Set,r=0){if(r>8||e==null)return t;let i=je.safeParse(e);if(i.success){let e=`${i.data.id}:${i.data.revision}`;return n.has(e)||(n.add(e),t.push(i.data)),t}if(Array.isArray(e)){for(let i of e)wf(i,t,n,r+1);return t}if(typeof e==`object`)for(let i of Object.values(e))wf(i,t,n,r+1);return t}function Tf(e){let t=new Map;for(let n of e){for(let e of n.attachments??[])t.set(`attachment:${e.id}`,{key:`attachment:${e.id}`,title:e.name,detail:`${e.mediaType} · ${Of(e.sizeBytes)}`});for(let e of n.sources??[])t.set(`source:${e.id}`,{key:`source:${e.id}`,title:e.title,detail:e.sourceName??jf(e.url)})}return[...t.values()]}function Ef({icon:e,title:t,detail:n}){return(0,$.jsxs)(`div`,{className:`work-sidebar-empty`,children:[(0,$.jsx)(e,{size:22}),(0,$.jsx)(`strong`,{children:t}),(0,$.jsx)(`p`,{children:n})]})}function Df(e){return e.kind===`deployment`?`Deployment`:e.kind===`source_change`?`Source change`:e.kind===`external_resource`?e.provider:e.kind===`agent_package`?`${e.actions.length} action${e.actions.length===1?``:`s`}`:e.location.kind===`local`?Of(e.sizeBytes):e.location.kind===`managed`?`Managed file`:e.location.provider}function Of(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1048576).toFixed(1)} MB`}function kf(e){let t=window.atob(e),n=new ArrayBuffer(t.length),r=new Uint8Array(n);for(let e=0;e<t.length;e+=1)r[e]=t.charCodeAt(e);return n}function Af(e){return e.kind===`file`&&e.location.kind===`local`?e.location.path:``}function jf(e){try{return new URL(e).hostname||e}catch{return e}}function Mf(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Nf({messages:e,events:t,actions:n,onOpenFile:r,connection:i,workspaceId:a,sandboxId:o,sessionId:s,conversationId:c,onOpenBrowser:l}){let u=(0,Q.useContext)(Ra),d=nn(i),f=t.filter(e=>e.name===`visual.published`||e.name===`workspace_action_result`||e.name===`tool.completed`||e.name===`turn.completed`).at(-1)?.id??``,p=h({queryKey:[`thread-html-visuals`,d,s,f],enabled:!!(i&&s),queryFn:async()=>ur.array().parse((await K(i,`/v1/sessions/${encodeURIComponent(s)}/visuals`)).visuals),staleTime:15e3,refetchInterval:5e3}),m=(0,Q.useMemo)(()=>{let t=new Map;for(let e of p.data??[])t.set(e.visualId,e);for(let n of e)if(n.visual){let e=t.get(n.visual.visualId);(!e||e.output.revision<n.visual.output.revision)&&t.set(n.visual.visualId,n.visual)}return[...t.values()]},[e,p.data]),g=(0,Q.useMemo)(()=>xf(t),[t]),_=h({queryKey:[`thread-output-files`,d,s,f],placeholderData:(e,t)=>t?.queryKey[1]===d&&t.queryKey[2]===s?e:void 0,enabled:!!(i&&s),queryFn:async()=>(await vr.sessionFiles(i,s)).files,staleTime:15e3,refetchOnWindowFocus:!0,refetchInterval:5e3}),v=(0,Q.useMemo)(()=>{if(_.data)return _.data;let t=new Map(bf(e).map(e=>[`${o??`local`}:${e.path}`,{...e,contentType:`application/octet-stream`,sandboxId:o??null}])),n=new Set;for(let e of g)n.has(e.id)||(n.add(e.id),e.kind===`file`&&e.location.kind===`local`&&t.set(`local:${e.location.path}`,{path:e.location.path,title:e.title,sizeBytes:e.sizeBytes,contentType:e.contentType,sandboxId:null}));return[...t.values()]},[e,g,o,_.data]);return(0,$.jsxs)(`div`,{className:`right-sidebar-new-tab`,children:[(0,$.jsx)(hf,{conversationId:c,onOpenBrowser:l}),(0,$.jsxs)(`div`,{className:`right-sidebar-overview`,children:[(0,$.jsxs)(`section`,{className:`right-sidebar-overview-files`,"aria-label":`Outputs`,children:[(0,$.jsx)(`h3`,{children:`Outputs`}),v.length||m.length?(0,$.jsxs)($.Fragment,{children:[m.map(e=>(0,$.jsxs)(`div`,{className:`activity-artifact`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`activity-artifact-name`,onClick:()=>u?.(e),"aria-label":`Open ${e.output.title} in browser panel`,children:[(0,$.jsx)(wn,{size:14,"aria-hidden":!0}),(0,$.jsx)(`strong`,{children:e.output.title})]}),(0,$.jsxs)(`span`,{className:`activity-artifact-actions`,children:[`HTML`,e.output.revision>1?` · Revision ${e.output.revision}`:``]})]},e.publicationId)),v.map(e=>(0,$.jsx)(Za,{artifact:e,onOpenFileInSidebar:t=>r(t,{sandboxId:e.sandboxId,local:!e.sandboxId}),preview:(0,$.jsx)(_f,{revision:e.revision,path:e.path,connection:i,workspaceId:a,sandboxId:e.sandboxId})},`${e.sandboxId??`local`}:${e.path}`))]}):(0,$.jsx)(`p`,{className:`right-sidebar-output-empty`,children:`Outputs from this chat will appear here.`})]}),(0,$.jsxs)(`section`,{className:`right-sidebar-overview-tools`,"aria-label":`Tools`,children:[(0,$.jsx)(`h3`,{children:`Tools`}),n]})]})]})}function Pf({input:e,id:t}){let n=typeof e.prompt==`string`?e.prompt:typeof e.request==`string`?e.request:null,r=Object.fromEntries(Object.entries(e).filter(([e])=>e!==`prompt`&&e!==`request`)),i=Object.keys(r).length>0;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{tabIndex:0,"aria-label":`Input for ${t}`,children:i?JSON.stringify(r,null,2):n??JSON.stringify(e,null,2)}),i&&n?(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Full prompt`}),(0,$.jsx)(`pre`,{children:n})]}):null]})}function Ff({connection:e,dataset:t}){let[n,r]=(0,Q.useState)(0),i=h({queryKey:[`training-dataset-rows`,nn(e),Vs(t),t.revision],staleTime:6e4,queryFn:async({signal:n})=>{let r=await Vr(e,`dataset`,{action:`read`,id:t.id,expectedRevision:t.revision},n);if(Vs(r.summary)!==Vs(t)||r.summary.revision!==t.revision)throw Error(`Dataset rows do not match the selected revision.`);return r}}),a=i.data?.record.workspace.draft.tasks??[],o=Math.max(1,Math.ceil(a.length/5)),s=Math.min(n,o-1);return(0,$.jsxs)(`section`,{className:`dataset-row-preview`,"aria-label":`Examples from ${t.name}, revision ${t.revision}`,children:[(0,$.jsx)(X,{error:i.error?.message,children:i.error?(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void i.refetch(),children:`Retry rows`}):null}),(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Example`}),(0,$.jsx)(`th`,{children:`Input`}),(0,$.jsx)(`th`,{children:`Split`})]})}),(0,$.jsx)(`tbody`,{children:a.slice(s*5,s*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.id}),(0,$.jsxs)(`td`,{children:[(0,$.jsx)(Pf,{input:e.input,id:e.id}),e.expectedOutput?(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Expected output`}),(0,$.jsx)(`pre`,{children:JSON.stringify(e.expectedOutput,null,2)})]}):null]}),(0,$.jsx)(`td`,{children:e.split})]},e.id))})]})}),i.isPending?(0,$.jsx)(`p`,{role:`status`,children:`Loading examples…`}):!a.length&&!i.error?(0,$.jsx)(`p`,{children:`No saved examples.`}):null,o>1?(0,$.jsxs)(`div`,{className:`training-rollout-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:!s,onClick:()=>r(s-1),children:`Previous`}),(0,$.jsxs)(`span`,{children:[s*5+1,`–`,Math.min(a.length,(s+1)*5),` of `,a.length]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:s+1===o,onClick:()=>r(s+1),children:`Next`})]}):null]})}function If({title:e,children:t,open:n=!1,onOpenChange:r}){return(0,$.jsxs)(`details`,{className:`training-workspace-section`,open:n,onToggle:e=>r?.(e.currentTarget.open),children:[(0,$.jsx)(`summary`,{children:e}),(0,$.jsx)(`div`,{className:`training-workspace-section-content`,children:t})]})}function Lf({dataset:e,graders:t,model:n,connection:r}){let[i,a]=(0,Q.useState)(!1),o=n?[{role:`Training`,dataset:n.trainingDataset},{role:`Evaluation`,dataset:n.evaluationDataset}].filter(e=>e.dataset):[];return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(If,{title:`Dataset`,open:i,onOpenChange:a,children:[(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[n?(0,$.jsx)(`th`,{children:`Use`}):null,(0,$.jsx)(`th`,{children:`Dataset`}),(0,$.jsx)(`th`,{children:`Revision`}),n?null:(0,$.jsx)(`th`,{children:`Examples`})]})}),(0,$.jsx)(`tbody`,{children:n?o.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.role}),(0,$.jsx)(`td`,{children:e.dataset.name}),(0,$.jsx)(`td`,{children:e.dataset.revision})]},e.role)):e?(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.name}),(0,$.jsx)(`td`,{children:e.revision}),(0,$.jsx)(`td`,{children:e.taskCount??`—`})]}):null})]})}),i&&e&&r&&!n?(0,$.jsx)(Ff,{connection:r,dataset:e},`${e.id}:${e.revision}`):null,n?(0,$.jsx)(`p`,{className:`chat-context-note`,children:`Model configuration. Each training run retains its own input snapshot.`}):null,!e&&!o.length?(0,$.jsx)(`p`,{children:`No dataset configured.`}):null]}),(0,$.jsx)(If,{title:`Graders`,children:t.length?(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Grader`}),(0,$.jsx)(`th`,{children:`Type`}),(0,$.jsx)(`th`,{children:`Checks`})]})}),(0,$.jsx)(`tbody`,{children:t.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:e.name}),(0,$.jsx)(`td`,{children:e.graderType??`—`}),(0,$.jsx)(`td`,{children:e.checkState??e.state})]},e.id))})]})}):(0,$.jsx)(`p`,{children:n?`Inspect the model’s training dataset for its grader definitions.`:`No graders configured for this dataset revision.`})})]})}Va.default.extend(Ha.default);var Rf=e=>(0,Va.default)(e).isValid()?(0,Va.default)(e).fromNow():`Unknown time`;function zf({status:e,iconOnly:t=!1}){let n=e.toLowerCase(),r=[`completed`,`passed`,`ready`,`published`,`scored`].includes(n),i=[`failed`,`error`,`rejected`].includes(n),a=[`queued`,`running`,`cancelling`,`checking`,`pending`].includes(n),o=r?Sr:i?Hn:a?Nn:ka;return(0,$.jsxs)(`span`,{title:e.replaceAll(`_`,` `),"aria-label":e.replaceAll(`_`,` `),className:`evaluation-status evaluation-status-${r?`success`:i?`error`:a?`progress`:`neutral`}`,children:[(0,$.jsx)(o,{size:13,"aria-hidden":`true`}),t?null:e.replaceAll(`_`,` `)]})}function Bf({name:e,onOpen:t}){let n=V(me(e));return t?(0,$.jsx)(`button`,{type:`button`,title:n,className:`evaluation-model`,onClick:e=>{e.stopPropagation(),t()},children:n}):(0,$.jsx)(`span`,{title:n,className:`evaluation-model`,children:n})}function Vf({value:e}){let t=(0,Q.useRef)(null),n=(0,Q.useId)(),[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),l=r||a;(0,Q.useEffect)(()=>{if(!l)return;let e=()=>{let e=t.current?.getBoundingClientRect();if(!e)return;let n=Math.min(360,window.innerWidth-24);c({left:Math.max(12,Math.min(e.left,window.innerWidth-n-12)),top:window.innerHeight-e.bottom<80?Math.max(12,e.top-72):e.bottom+8})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[l]);let u=e?(0,Va.default)(e):null;if(!u?.isValid())return(0,$.jsx)(`span`,{children:`Unknown`});let d=`${u.format(`MMM D, YYYY h:mm:ss A Z`)} (${Intl.DateTimeFormat().resolvedOptions().timeZone})`;return(0,$.jsxs)(`span`,{ref:t,className:`evaluation-time`,tabIndex:0,"aria-label":d,"aria-describedby":l?n:void 0,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onFocus:()=>o(!0),onBlur:()=>o(!1),onKeyDown:e=>{e.key===`Escape`&&(i(!1),o(!1))},children:[(0,$.jsx)(`time`,{dateTime:u.toISOString(),children:u.fromNow()}),l&&s?(0,Ba.createPortal)((0,$.jsx)(`span`,{id:n,className:`evaluation-time-tooltip`,role:`tooltip`,style:s,children:d}),document.body):null]})}function Hf({title:e,children:t}){return(0,$.jsxs)(`section`,{className:`evaluation-card`,children:[(0,$.jsx)(`h3`,{children:e}),t]})}var Uf=(0,Q.createContext)(null);function Wf({targets:e}){let t=(0,Q.useContext)(Uf);return t&&e?.length?(0,$.jsx)(Gf,{...t,targets:e}):null}function Gf({connection:e,teamId:t,jobId:n,targets:r}){let[i,a]=(0,Q.useState)(()=>JSON.stringify(r[0])),o=r.find(e=>JSON.stringify(e)===i)??r[0],s=h({queryKey:[`retained-run-feedback`,nn(e),t,n,o.kind,o.id,o.taskId??null],queryFn:async({signal:r})=>{let i=new URLSearchParams({teamId:t,kind:o.kind,id:o.id,...o.taskId?{taskId:o.taskId}:{}}),a=yt.parse(await K(e,`/v1/training/hosted-jobs/${encodeURIComponent(n)}/feedback?${i}`,{signal:r}));if(a.jobId!==n||a.id!==o.id||a.kind!==o.kind||a.taskId!==o.taskId)throw Error(`Grader feedback belongs to another run or attempt.`);return a},staleTime:1/0,gcTime:3e5,retry:!1});return(0,$.jsxs)(`section`,{className:`retained-run-feedback`,children:[(0,$.jsx)(`h3`,{children:`Retained grader feedback`}),r.length>1?(0,$.jsx)(Z,{label:`Feedback record`,value:JSON.stringify(o),options:r.map(e=>({value:JSON.stringify(e),label:e.kind===`trajectory`?`Trajectory ${e.id.slice(0,6)}…`:`Task ${e.taskId?.slice(0,6)}… · evaluation ${e.id.slice(0,6)}…`})),onChange:a}):null,(0,$.jsx)(X,{error:s.error}),s.isPending?(0,$.jsx)(`p`,{role:`status`,children:`Loading verified grader receipt…`}):null,s.isError?(0,$.jsx)(`button`,{className:`training-button secondary`,type:`button`,onClick:()=>void s.refetch(),children:`Retry grader feedback`}):null,s.data?(0,$.jsx)(qf,{value:s.data}):null]})}var Kf=e=>typeof e==`object`&&e&&!Array.isArray(e)?e:{};function qf({value:e}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`p`,{children:[`Training reward: `,e.training.status,` · score `,e.training.score??`not retained`]}),(0,$.jsxs)(`p`,{children:[`Evaluation graders: `,e.evaluation.status,` · score `,e.evaluation.score??`not retained`,` · recorded aggregate acceptance `,e.evaluation.passed===null?`not retained`:String(e.evaluation.passed)]}),(0,$.jsxs)(`p`,{className:`training-muted`,children:[`Verified composition `,e.compositionSha256.slice(0,12),`…`]}),e.graders.length?null:(0,$.jsx)(`p`,{className:`training-muted`,children:`No grader records retained in this receipt; quality is not established.`}),e.graders.map(e=>(0,$.jsxs)(`article`,{children:[(0,$.jsxs)(`h4`,{children:[e.graderId,` · `,e.role]}),(0,$.jsxs)(`p`,{children:[e.status,` · raw score `,e.rawScore??`not retained`,` · normalized score `,e.normalizedScore??`not retained`,` · grader verdict `,e.passed===!0?`Passed`:e.passed===!1?`Failed`:`No verdict retained`]}),e.message?(0,$.jsx)(`p`,{children:e.message}):null,e.failureClass?(0,$.jsxs)(`p`,{children:[`Recorded failure: `,e.failureClass]}):null,e.feedback.map((e,t)=>(0,$.jsx)(Jf,{text:e},t)),e.feedback.length?null:(0,$.jsx)(`p`,{className:`training-muted`,children:`No feedback text retained by this grader.`})]},`${e.role}:${e.graderId}`))]})}function Jf({text:e}){let t={};try{t=Kf(JSON.parse(e))}catch{}let n=Kf(t.diagnostics).differences;return Array.isArray(n)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`dl`,{children:n.slice(0,80).map((e,t)=>{let n=Kf(e);return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`dt`,{children:[typeof n.kind==`string`?n.kind.replaceAll(`_`,` `):`Retained difference`,` · `,typeof n.path==`string`?n.path:`Path not retained`]}),(0,$.jsx)(`dd`,{children:(0,$.jsxs)(`pre`,{children:[`Expected: `,JSON.stringify(n.expected)??`Not retained`,`
|
|
9
|
-
`,`Actual: `,JSON.stringify(n.actual)??`Not retained`]})})]},t)})}),(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Full retained grader message`}),(0,$.jsx)(`pre`,{children:e})]})]}):(0,$.jsx)(`pre`,{children:e})}var Yf=(0,Q.createContext)(null);function Xf({title:e,status:t,facts:n,feedback:r}){return(0,$.jsxs)(`section`,{"aria-label":`${e} evidence`,className:`run-evidence-panel`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsxs)(`h3`,{children:[e,` evidence`]}),(0,$.jsx)(`span`,{className:`training-muted`,children:t})]}),(0,$.jsx)(`p`,{className:`training-muted`,children:`Execution records describe what ran. Task acceptance and learning quality come from retained grader evidence.`}),n?.length?(0,$.jsx)(`dl`,{children:n.map((e,t)=>(0,$.jsxs)(`div`,{"data-severity":e.severity,children:[(0,$.jsx)(`dt`,{children:e.label}),(0,$.jsx)(`dd`,{children:e.value.length>360?(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Inspect retained details`}),(0,$.jsx)(`pre`,{children:e.value})]}):(0,$.jsx)(`pre`,{children:e.value})})]},`${e.label}:${t}`))}):(0,$.jsx)(`p`,{className:`training-muted`,children:`No additional diagnostic receipt retained for this stage.`}),(0,$.jsx)(Wf,{targets:r})]})}var Zf=new Map([[`Grade`,`Rollouts`],[`Save checkpoint`,`Update adapter`]]);function Qf({nodes:e,live:t,loopLabel:n=`Training groups`,inference:r,groupLabel:i,policyLabel:a,continuation:o}){let s=(0,Q.useContext)(Yf),[c,l]=(0,Q.useState)(null),u=e.filter(t=>!Zf.has(t.label)||!e.some(e=>e.label===Zf.get(t.label))),d=u.filter(e=>!e.inLoop&&u.indexOf(e)<u.findIndex(e=>e.inLoop)),f=u.filter(e=>e.inLoop),p=u.filter(e=>!e.inLoop&&!d.includes(e)),m=t&&e.some(e=>e.inLoop&&e.state===`active`),h=n=>{let i=e.find(e=>Zf.get(e.label)===n.label);return(0,$.jsxs)(`li`,{className:`sidebar-run-cluster ${i?`has-branch`:``}`,children:[i?(0,$.jsxs)(`div`,{className:`sidebar-run-branch`,children:[(0,$.jsx)($f,{node:{...i,compute:`cpu`},live:t}),(0,$.jsx)(ya,{className:`sidebar-run-branch-arrow`,size:14,"aria-hidden":!0})]}):null,n.label===`Finish`&&o?(0,$.jsx)(Ct,{continuation:o}):null,(0,$.jsx)($f,{node:n,live:t}),n.label===`Prepare`&&r?(0,$.jsxs)(`div`,{className:`sidebar-run-worker`,children:[(0,$.jsx)(ya,{size:14,"aria-hidden":!0}),(0,$.jsx)($f,{node:{...r,compute:`gpu`},live:t})]}):null]},n.label)};return(0,$.jsxs)(Yf.Provider,{value:s??l,children:[(0,$.jsxs)(`div`,{className:`run-flow sidebar-run-flow ${t?`live`:``}`,"aria-label":`Run stages`,children:[(0,$.jsxs)(`div`,{className:`run-flow-compute-legend`,"aria-label":`Compute colors`,children:[(0,$.jsx)(`span`,{className:`compute-gpu`,children:`GPU`}),(0,$.jsx)(`span`,{className:`compute-cpu`,children:`CPU`})]}),d.length?(0,$.jsx)(`ol`,{className:`sidebar-run-path`,children:d.map(h)}):null,f.length?(0,$.jsxs)($.Fragment,{children:[d.length?(0,$.jsx)(va,{className:`sidebar-run-next`,size:16,"aria-hidden":!0}):null,(0,$.jsxs)(`section`,{className:`sidebar-run-loop ${m?`active`:``}`,"aria-label":n,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`span`,{children:n}),a?(0,$.jsxs)(`span`,{className:`training-policy-label`,children:[a,(0,$.jsx)(xt,{continuation:o})]}):null]}),(0,$.jsx)(`ol`,{className:`sidebar-run-path`,children:f.map(h)}),(0,$.jsx)(`div`,{className:`sidebar-run-return`,children:(0,$.jsx)(`span`,{children:i??`Repeat for each group`})})]})]}):null,p.length?(0,$.jsxs)($.Fragment,{children:[d.length||f.length?(0,$.jsx)(va,{className:`sidebar-run-next`,size:16,"aria-hidden":!0}):null,(0,$.jsx)(`ol`,{className:`sidebar-run-path sidebar-run-final`,children:p.map(h)})]}):null]}),c&&!s?(0,$.jsx)(Xf,{...c}):null]})}function $f({node:e,live:t}){let[n,r]=(0,Q.useState)(!1),i=(0,Q.useContext)(Yf),a=e.diagnostics?.filter(e=>e.severity!==`info`)??[],o=e.error&&!a.some(t=>t.value.includes(e.error))?e.error:null,s=a.length+ +!!o,c=[e.detail,...a.slice(0,2).map(e=>`${e.label}: ${e.value.slice(0,180)}`),o?.slice(0,200)].filter(Boolean).join(`. `),{triggerProps:l,tooltip:u,hideTooltip:d}=St((0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`strong`,{children:e.label}),(0,$.jsx)(`span`,{children:e.status}),c?(0,$.jsx)(`span`,{children:c}):null,(0,$.jsx)(`small`,{children:`Select to inspect retained evidence.`})]})),f={title:e.label,status:e.status,feedback:e.feedback,facts:[...e.diagnostics??[],...e.error?[{label:`Recorded stage failure`,value:e.error,severity:`error`}]:[]]},p=e.compute??([`Baseline evaluation`,`Rollouts`,`Update adapter`,`Activate policy`,`Evaluate`].includes(e.label)?`gpu`:void 0),m=t&&e.state===`active`,h=e.progress===void 0?void 0:Math.round(Math.min(1,Math.max(0,e.progress))*100);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`sidebar-run-card ${e.state} ${p?`compute-${p}`:``}`,"aria-current":m?`step`:void 0,children:[(0,$.jsx)(`button`,{...l,type:`button`,className:`sidebar-run-inspect`,onClick:()=>{d(),i?i(f):r(!0)},"aria-label":`Inspect ${e.label} evidence`}),(0,$.jsxs)(`div`,{className:`sidebar-run-card-heading`,children:[(0,$.jsx)(`strong`,{children:e.label}),p?(0,$.jsx)(`span`,{children:p.toUpperCase()}):null]}),(0,$.jsx)(`span`,{className:`sidebar-run-status`,children:e.status}),e.detail?(0,$.jsx)(`span`,{className:`sidebar-run-detail`,children:e.detail}):null,s?(0,$.jsxs)(`span`,{className:`sidebar-run-detail`,children:[s,` retained warnings or failures`]}):null,m||h!==void 0?(0,$.jsx)(`div`,{className:`sidebar-run-progress ${m&&h===void 0?`indeterminate`:``}`,role:h===void 0?void 0:`progressbar`,"aria-label":`${e.label} progress`,"aria-valuemin":h===void 0?void 0:0,"aria-valuemax":h===void 0?void 0:100,"aria-valuenow":h,children:(0,$.jsx)(`span`,{style:h===void 0?void 0:{width:`${h}%`}})}):null]}),u,n&&!i?(0,$.jsx)(Xf,{...f}):null]})}function ep(e){return(0,$.jsx)(Qf,{...e})}var tp=[{label:`Prepare`,state:`pending`,status:`Not started`},{label:`Rollouts`,compute:`gpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Grade`,compute:`cpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Update adapter`,compute:`gpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Save checkpoint`,compute:`cpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Activate policy`,compute:`gpu`,state:`pending`,status:`Not started`,inLoop:!0},{label:`Evaluate`,compute:`gpu`,state:`pending`,status:`Not started`},{label:`Finish`,state:`pending`,status:`Not started`}];function np(){return(0,$.jsx)(ep,{nodes:tp,live:!1,loopLabel:`Training groups`,inference:{label:`GPU worker`,compute:`gpu`,state:`pending`,status:`Not allocated`}})}function rp({path:e}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`path`,{d:e,className:`run-flow-stream`}),[0,.6].map(t=>(0,$.jsx)(`circle`,{r:2.5,className:`run-flow-packet`,children:(0,$.jsx)(`animateMotion`,{dur:`1.2s`,begin:`-${t}s`,repeatCount:`indefinite`,path:e})},t))]})}function ip({node:e,x:t,y:n,width:r,animated:i}){let[a,o]=(0,Q.useState)(!1),s=(0,Q.useContext)(Yf),c={title:e.label,status:e.status,feedback:e.feedback,facts:[...e.diagnostics??[],...e.error?[{label:`Recorded stage failure`,value:e.error,severity:`error`}]:[]]},l=()=>{p(),s?s(c):o(!0)},u=e.diagnostics?.filter(e=>e.severity!==`info`).slice(0,2).map(e=>`${e.label}: ${e.value.slice(0,180)}`).join(`. `),{triggerProps:d,tooltip:f,hideTooltip:p}=St((0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`strong`,{children:e.label}),(0,$.jsxs)(`span`,{children:[e.status,e.detail?` · ${e.detail}`:``]}),u||e.error?(0,$.jsx)(`span`,{children:u||e.error?.slice(0,240)}):null,(0,$.jsx)(`small`,{children:`Select to inspect retained evidence.`})]})),m=e.diagnostics?.filter(e=>e.severity!==`info`)??[],h=(0,Q.useId)().replace(/[^\w-]/g,``),g=r-28,_=e.state===`active`,v=e=>e.length>Math.floor((r-24)/6)?`${e.slice(0,Math.floor((r-24)/6)-1)}…`:e,y=e.compute??([`Grade`,`Save checkpoint`].includes(e.label)?`cpu`:[`Baseline evaluation`,`Rollouts`,`Update adapter`,`Activate policy`,`Evaluate`].includes(e.label)?`gpu`:void 0);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`g`,{...d,role:`button`,tabIndex:0,onClick:l,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l())},"aria-label":`Inspect ${e.label} execution evidence`,className:`run-flow-node ${e.state} ${y?`compute-${y}`:``}`,"aria-current":_?`step`:void 0,children:[(0,$.jsx)(`rect`,{className:`run-flow-box`,x:t,y:n,width:r,height:72,rx:10}),m.length?(0,$.jsx)(`text`,{className:`run-flow-label`,x:t+r-31,y:n+13,children:`!`}):null,(0,$.jsx)(`text`,{className:`run-flow-label`,x:t+12,y:n+20,children:v(e.label)}),(0,$.jsx)(`text`,{className:`run-flow-status`,x:t+12,y:n+37,children:v(e.status)}),e.detail?(0,$.jsx)(`text`,{className:`run-flow-detail`,x:t+12,y:n+53,children:v(e.detail)}):null,_||e.progress!==void 0?(0,$.jsxs)(`g`,{clipPath:`url(#${h})`,children:[(0,$.jsx)(`clipPath`,{id:h,children:(0,$.jsx)(`rect`,{x:t+14,y:n+64,width:g,height:2,rx:1})}),(0,$.jsx)(`rect`,{className:`run-flow-track`,x:t+14,y:n+64,width:g,height:2}),e.progress===void 0?null:(0,$.jsx)(`rect`,{className:`run-flow-fill`,x:t+14,y:n+64,width:g*Math.min(1,Math.max(0,e.progress)),height:2}),_&&i?(0,$.jsx)(`rect`,{className:`run-flow-shimmer`,x:t+14,y:n+64,width:g/3,height:2,children:(0,$.jsx)(`animate`,{attributeName:`x`,from:t+14-g/3,to:t+14+g,dur:`1.4s`,repeatCount:`indefinite`})}):null]}):null]}),f,a&&!s?(0,$.jsx)(Xf,{...c}):null]})}function ap({nodes:e,inference:t,live:n,loopLabel:r,groupLabel:i,policyLabel:a,continuation:o}){let s=(0,Q.useId)().replace(/[^\w-]/g,``),c=8,l=e.map((e,t)=>{let n=[`Grade`,`Save checkpoint`].includes(e.label);return!n&&t&&(c+=176),{x:c,y:n?40:140}}),u=c+140+8,d=l[e.findIndex(e=>e.label===`Finish`)],f=e.flatMap((e,t)=>e.inLoop?[t]:[]),p=f[0],m=f.at(-1),h=n&&f.some(t=>e[t]?.state===`active`),g=e.slice(1).map((e,t)=>{let r=l[t],i=l[t+1];return{id:`stage-${t}`,path:r.x===i.x?`M${r.x+70} ${r.y} V${i.y+72}`:`M${r.x+140} ${r.y+36} H${r.x+140+18} V${i.y+36} H${i.x}`,active:n&&e.state===`active`}});return t&&l[0]&&g.push({id:`gpu-prepare`,path:`M${l[0].x+70} 236 V212`,active:n&&t.state===`active`&&e[0]?.state===`active`}),p!==void 0&&m!==void 0&&h&&g.push({id:`loop`,path:`M${l[m].x+70} 212 V228 H${l[p].x+70} V212`,active:!0}),(0,$.jsxs)(`div`,{className:`console-run-flow`,"aria-label":`Training rollout flow`,children:[(0,$.jsxs)(`div`,{className:`run-flow-compute-legend`,"aria-label":`Compute colors`,children:[(0,$.jsx)(`span`,{className:`compute-gpu`,children:`GPU`}),(0,$.jsx)(`span`,{className:`compute-cpu`,children:`CPU`})]}),(0,$.jsxs)(`svg`,{className:`run-flow-diagram`,viewBox:`0 0 ${u} 320`,style:{minWidth:u*.75,maxWidth:u*1.35},role:`group`,"aria-label":e.map(e=>`${e.label}: ${e.status}`).join(`. `),children:[(0,$.jsx)(`defs`,{children:(0,$.jsx)(`marker`,{id:s,viewBox:`0 0 8 8`,refX:`6`,refY:`4`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,$.jsx)(`path`,{d:`M1 1 L7 4 L1 7`,className:`run-flow-arrow`})})}),p!==void 0&&m!==void 0?(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`rect`,{className:`run-flow-loop ${h?`live`:``}`,x:l[p].x-20,y:4,width:l[m].x-l[p].x+140+40,height:228,rx:14}),(0,$.jsx)(`text`,{className:`run-flow-caption`,x:l[p].x-6,y:22,children:r}),(0,$.jsxs)(`text`,{className:`run-flow-caption`,x:l[m].x+140+6,y:22,textAnchor:`end`,children:[a,o?.optimizerMode===`reset`?(0,$.jsx)(`tspan`,{"aria-label":`Optimizer reset for this run`,children:` · optimizer reset`}):null]})]}):null,g.map(e=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`path`,{className:`run-flow-wire`,d:e.path,markerEnd:`url(#${s})`}),e.active?(0,$.jsx)(rp,{path:e.path}):null]},e.id)),o&&d?(0,$.jsxs)(`g`,{className:`run-flow-adapter-stack`,"aria-label":`Continual adapter lineage`,children:[(0,$.jsx)(`rect`,{className:`run-flow-box`,x:d.x-12,y:4,width:132,height:64,rx:10}),(0,$.jsx)(`text`,{className:`run-flow-status`,x:d.x,y:24,children:`Frozen parent`}),(0,$.jsx)(`text`,{className:`run-flow-detail`,x:d.x,y:42,children:o.parentRank?`Rank ${o.parentRank}`:`Rank unavailable`}),(0,$.jsx)(`rect`,{className:`run-flow-box`,x:d.x,y:54,width:132,height:66,rx:10}),(0,$.jsx)(`text`,{className:`run-flow-label`,x:d.x+12,y:76,children:`Continual learning`}),(0,$.jsx)(`text`,{className:`run-flow-status`,x:d.x+12,y:93,children:`This update`}),(0,$.jsx)(`text`,{className:`run-flow-detail`,x:d.x+12,y:109,children:o.trainableRank?`Rank ${o.trainableRank}`:`Rank unavailable`}),(0,$.jsx)(`path`,{className:`run-flow-wire`,d:`M${d.x+70} 128 V140`,markerEnd:`url(#${s})`})]}):null,e.map((e,t)=>(0,$.jsx)(ip,{node:e,...l[t],width:140,animated:n},e.label)),t?(0,$.jsx)(ip,{node:{...t,compute:`gpu`},x:l[0]?.x??8,y:236,width:140,animated:n}):null]}),e.some(e=>e.error)?(0,$.jsxs)(`details`,{className:`sidebar-run-error`,children:[(0,$.jsx)(`summary`,{children:`Recorded stage failures`}),e.filter(e=>e.error).map(e=>(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:e.label}),`: `,e.error]},e.label))]}):null,(0,$.jsx)(`span`,{className:`training-muted`,children:i})]})}function op({run:e,view:t,loading:n,error:r,onRefresh:i}){let a=Us(e.state),o=t?.cases??[],s=e.taskCount??o.length,c=o.filter(e=>e.output!==null).length,l=o.filter(e=>e.score!==null).length,u=o.filter(e=>![`pending`,`running`].includes(e.status)).length,d=o.filter(e=>e.status===`failed`),f=d.filter(e=>e.output===null),p=o.filter(e=>e.status===`cancelled`).length,m=/^failed$/i.test(e.state),h=e=>e.length?e.slice(0,3).map(e=>`${e.taskId}: ${e.error??e.status}`).join(`
|
|
10
|
-
`)+(e.length>3?`\n${e.length-3} more failures in the retained results.`:``):void 0,g=a&&!o.some(e=>e.status!==`pending`),_=a&&!g&&c<s,v=a&&!g&&!_&&l<s,y=[{label:`Prepare`,state:g?`active`:o.length?`done`:`pending`,status:g?`Starting`:o.length?`Recorded`:`Waiting`},{label:`Rollouts`,state:f.length?`failed`:_?`active`:s>0&&c===s?`done`:a?`pending`:`missing`,status:f.length?`Error recorded`:_?`Generating answers`:`Model outputs`,error:h(f),detail:`${c}/${s} generated`,progress:s?c/s:0},{label:`Grade`,state:v?`active`:s>0&&l===s?`done`:a?`pending`:`missing`,status:v?`Scoring`:`Dataset graders`,detail:`${l}/${s} graded`,progress:s?l/s:0},{label:`Results`,state:m?`failed`:!a&&e.state===`completed`?`done`:a&&u===s?`active`:a?`pending`:`missing`,status:a?`Waiting for evidence`:m?`Failed`:e.state,error:m?h(d)??`The run ended with a failure. Inspect its retained cases and logs.`:void 0,detail:(e.score==null?`Score unavailable`:`Mean score ${e.score.toFixed(3)}`)+(m&&o.length?` · ${d.length} execution failure${d.length===1?``:`s`} · ${p} cancelled`:``)}];return(0,$.jsxs)(`section`,{className:`dataset-workspace-run`,"aria-label":`Selected experiment progress`,children:[(0,$.jsx)(ep,{nodes:y,live:a&&!r}),r?(0,$.jsx)(X,{error:r.message,children:(0,$.jsx)(`button`,{className:`training-text-button`,onClick:i,children:`Retry`})}):n?(0,$.jsx)(`p`,{role:`status`,children:`Loading retained run evidence…`}):null]})}function sp({connection:e,run:t,view:n}){let r=n?.cases??[],i=r.filter(e=>e.score!==null).length;return r.length?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`dataset-workspace-attempts`,"aria-label":`Rollout attempts`,children:r.map((e,t)=>(0,$.jsx)(`span`,{className:`dataset-workspace-attempt ${e.status===`running`?`active`:e.error?`failed`:e.score===null?`pending`:`scored`}`,style:e.score===null?void 0:{opacity:.35+.65*Math.max(0,Math.min(1,e.score))},title:`${e.taskId}: ${e.error??(e.score===null?e.status:`score ${e.score}`)}`,"aria-label":`Case ${t+1}: ${e.taskId}, ${e.score===null?e.status:`score ${e.score}`}`},e.id))}),i?(0,$.jsxs)(`details`,{className:`dataset-workspace-charts`,children:[(0,$.jsx)(`summary`,{children:`Score chart`}),(0,$.jsx)(wt,{series:[{id:`evaluation.score`,label:`Case score`,xLabel:`Case`,bounds:r.every(e=>e.score===null||e.score>=0&&e.score<=1)?[0,1]:void 0,points:r.flatMap((e,t)=>e.score===null?[]:[{step:t+1,value:e.score}])}]})]}):null,(0,$.jsxs)(`details`,{className:`dataset-workspace-cases`,children:[(0,$.jsx)(`summary`,{children:`Answers and grader scores`}),(0,$.jsx)(`p`,{children:`Each row shows the model’s answer to one dataset task and the score given by its graders.`}),(0,$.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Example`}),(0,$.jsx)(`th`,{children:`Status`}),(0,$.jsx)(`th`,{children:`Score`})]})}),(0,$.jsx)(`tbody`,{children:r.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsxs)(`td`,{children:[e.taskId,e.output===null?null:(0,$.jsxs)(`details`,{className:`dataset-workspace-example-answer`,children:[(0,$.jsx)(`summary`,{children:`Model answer`}),(0,$.jsx)(`pre`,{children:e.output})]})]}),(0,$.jsxs)(`td`,{children:[(0,$.jsx)(zf,{status:e.status}),e.error?(0,$.jsx)(`small`,{children:e.error}):null]}),(0,$.jsx)(`td`,{className:`evaluation-numeric`,children:e.score?.toFixed(3)??`—`})]},e.id))})]})})]}),(0,$.jsx)(cp,{connection:e,run:t,cases:r},Vs(t))]}):null}function cp({connection:e,run:t,cases:n}){let[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(n[0]?.id??``),s=t.location===`local`&&!t.owner&&!t.profileRef,c=Kr({queryKey:[`dataset-workspace-logs`,nn(e),Vs(t),a],enabled:r&&s&&!!a,initialPageParam:void 0,getNextPageParam:e=>e.trace.nextCursor??void 0,queryFn:async({signal:n,pageParam:r})=>ca.parse(await Vr(e,`experiment`,{action:`case`,payload:{id:t.id,receiptId:a,limit:100,...r?{afterSequence:r}:{}}},n)),refetchInterval:Us(t.state)?2e3:!1});return(0,$.jsxs)(`details`,{className:`dataset-workspace-logs`,onToggle:e=>i(e.currentTarget.open),children:[(0,$.jsx)(`summary`,{children:`Logs`}),s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{compact:!0,floating:!0,label:`Log case`,value:a,options:n.map(e=>({value:e.id,label:e.taskId})),onChange:o}),c.error?(0,$.jsx)(X,{error:c.error.message}):c.isPending?(0,$.jsx)(`p`,{role:`status`,children:`Loading case trace…`}):(0,$.jsx)(`ol`,{children:c.data?.pages.flatMap(e=>e.trace.items).map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:e.type.replaceAll(/[._]/g,` `)}),(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Details`}),(0,$.jsx)(`pre`,{children:JSON.stringify(e.payload,null,2)})]})]},e.sequence))}),c.hasNextPage?(0,$.jsx)(`button`,{className:`training-button secondary`,disabled:c.isFetchingNextPage,onClick:()=>void c.fetchNextPage(),children:`More logs`}):null]}):(0,$.jsx)(`ol`,{children:n.map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`strong`,{children:e.taskId}),(0,$.jsx)(`span`,{children:e.error??e.status}),e.output?(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Output`}),(0,$.jsx)(`pre`,{children:e.output})]}):null]},e.id))})]})}var lp=E({job:rt,events:x(ot).max(1e4),outputs:dt,evals:gi.nullable(),flow:bt.nullable(),flowError:A().nullable()}).strict(),up=new Set([`completed`,`succeeded`,`failed`,`cancelled`,`budget_exhausted`]);function dp(e,t,n,r,i=!1){let a=c(),o=[`hosted-training-run`,nn(e),t,n,r??null],s=`/v1/training/hosted-jobs/${encodeURIComponent(n)}`,l=h({queryKey:[...o,`summary`],queryFn:async({signal:i})=>{let a=rt.parse(await K(e,`${s}/summary?teamId=${encodeURIComponent(t)}`,{signal:i}));if(a.id!==n||a.teamId!==t||r&&a.modelProjectId!==r)throw Error(`Run summary belongs to another workspace.`);return a},staleTime:3e4,gcTime:3e5,refetchInterval:e=>e.state.data&&!up.has(e.state.data.state)?5e3:!1,refetchIntervalInBackground:!1}),u=h({queryKey:[...o,`logs`],queryFn:async({signal:n})=>bt.shape.logs.parse(await K(e,`${s}/logs?teamId=${encodeURIComponent(t)}`,{signal:n})),enabled:i,staleTime:3e4,gcTime:3e5,refetchInterval:i&&l.data&&!up.has(l.data.state)?5e3:!1,refetchIntervalInBackground:!1}),d=h({queryKey:[...o,`core`],queryFn:async({signal:i})=>{let a=lp.parse(await K(e,`${s}?teamId=${encodeURIComponent(t)}&graph=false`,{signal:i}));if(a.job.id!==n||a.job.teamId!==t||r&&a.job.modelProjectId!==r)throw Error(`Run does not belong to this Model Project and workspace.`);return a},staleTime:3e4,gcTime:3e5,refetchInterval:e=>e.state.data&&(!up.has(e.state.data.job.state)||vi(e.state.data.evals))?5e3:!1,refetchIntervalInBackground:!1}),f=h({queryKey:[...o,`flow`],queryFn:async({signal:i})=>{let a=bt.parse(await K(e,`${s}/flow?teamId=${encodeURIComponent(t)}`,{signal:i}));if(a.jobId!==n||a.teamId!==t||r&&a.modelProjectId!==r)throw Error(`Run stages do not belong to this Model Project and workspace.`);return a},staleTime:3e4,gcTime:3e5,refetchInterval:e=>e.state.data?.live?5e3:!1,refetchIntervalInBackground:!1}),p=f.data&&(!d.data||f.data.modelProjectId===d.data.job.modelProjectId)?f.data:null,m=l.data&&(!d.data||l.data.version>=d.data.job.version)?l.data:d.data?.job??null;return{detail:d.data?{...d.data,flow:p}:null,flow:p,summary:m,logs:u.data??[],logsLoading:u.isPending,logsError:u.error?.message??null,loading:d.isPending,graphLoading:f.isPending,error:(!d.data&&!l.data?l.error?.message:null)??d.error?.message??f.error?.message??null,refresh:()=>Promise.all([l.refetch(),d.refetch(),f.refetch(),...i?[u.refetch()]:[]]),setDetail:e=>a.setQueryData([...o,`core`],e)}}function fp(e){let t=new Map;for(let n of e){let e=n.data,r=n.type===`rollout_metric`?[[`rollout.reward`,`Rollout reward`,e.reward??e.rewardMean]]:typeof e.metricId==`string`?[[e.metricId,e.metricId.replaceAll(/[._]/g,` `),e.value]]:[];for(let[i,a,o]of r){if(typeof o!=`number`||!Number.isFinite(o))continue;let r=typeof e.step==`number`?e.step:typeof e.rolloutGroupIndex==`number`?e.rolloutGroupIndex+1:n.sequence,s=t.get(i)??{id:i,label:a,xLabel:`Recorded step`,points:[]};s.points.push({step:r,value:o}),t.set(i,s)}}return[...t.values()]}function pp({evidence:e}){let t=(0,Q.useContext)(Yf),[n,r]=(0,Q.useState)(null),i=t??r,a=e.groups.flatMap(e=>e.attempts.flatMap(e=>e.reward===null?[]:[e.reward])),o=Math.min(...a),s=Math.max(...a);return(0,$.jsxs)(`div`,{className:`training-rollout-groups`,"aria-label":`Attempts by rollout group`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsx)(`span`,{children:`Attempts by rollout group`}),(0,$.jsx)(`div`,{className:`training-rollout-legend`,children:[[`scored`,`Scored`],[`active`,`Running`],[`failed`,`Failed`],[``,`Planned`]].map(([e,t])=>(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`i`,{className:`training-rollout-cell ${e}`,"aria-hidden":!0}),t]},t))})]}),(0,$.jsx)(`ol`,{children:e.groups.map(t=>{let n=t.inherited,r=new Set(t.attempts.map(e=>e.slot)),a=Array.from({length:Math.min(1e3,t.plannedSlots)},(e,t)=>t).filter(e=>!r.has(e));return(0,$.jsxs)(`li`,{children:[(0,$.jsx)(mp,{group:t,onSelect:()=>i({title:`Rollouts`,groupIndex:t.index,status:t.state,facts:t.diagnostics})}),(0,$.jsxs)(`div`,{children:[t.replay?(0,$.jsxs)(`span`,{className:`training-muted`,children:[t.state===`consumed`?`Replayed`:`Replay pending`,` · prior output not restored`]}):null,n?(0,$.jsxs)(`span`,{className:`training-muted`,children:[`Inherited · `,n.optimizerDisposition===`applied`?`Update applied`:`Skipped · no signal`]}):t.optimizerDisposition?(0,$.jsx)(`span`,{className:`training-muted`,children:t.optimizerDisposition===`applied`?`Update applied`:`Skipped · no signal`}):null,t.attempts.map(n=>{let r=n.state.endsWith(`failed`)||[`cancelled`,`expired`,`timed_out`].includes(n.state),a=e.live&&[`running`,`leased`,`scoring`].includes(n.state),c=`Group ${t.index+1}, slot ${n.slot+1}, attempt ${n.attempt}: ${n.state}${n.reward===null?``:`, reward ${n.reward.toFixed(3)}`}`;return(0,$.jsx)(hp,{label:c,attempt:n,failed:r,active:a,opacity:n.reward===null?void 0:s>o?.35+.65*(n.reward-o)/(s-o):.8,onSelect:()=>i({title:`Rollouts`,groupIndex:t.index,status:c,facts:n.diagnostics,feedback:n.feedback})},n.id)}),a.map(e=>(0,$.jsx)(`span`,{role:`img`,"aria-label":`Group ${t.index+1}, slot ${e+1}: planned`,className:`training-rollout-cell`},`pending-${e}`))]}),(0,$.jsx)(`span`,{children:n?n.outputPolicyVersion===void 0?`v${n.inputPolicyVersion} unchanged`:`v${n.inputPolicyVersion} → v${n.outputPolicyVersion}`:t.meanReward===null?t.state:`avg ${t.meanReward.toFixed(3)}`})]},t.index)})}),n&&!t?(0,$.jsx)(Xf,{...n}):null,e.groupCount>e.groups.length?(0,$.jsxs)(`p`,{children:[`Showing `,e.groups.length,` of `,e.groupCount,` rollout groups.`]}):null]})}function mp({group:e,onSelect:t}){let{triggerProps:n,tooltip:r,hideTooltip:i}=St((0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`strong`,{children:[`Group `,e.index+1]}),(0,$.jsx)(`span`,{children:e.inherited?`Inherited source group · ${e.inherited.optimizerDisposition===`applied`?`Update applied`:`Skipped · no signal`}. No attempts were rerun here.`:`${e.state} · ${e.attempts.length} retained attempts · reward ${e.meanReward??`not scored`}`}),(0,$.jsx)(`small`,{children:`Select this group context.`})]}));return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{...n,className:`training-rollout-group-link`,type:`button`,onClick:()=>{i(),t()},children:[`Group `,e.index+1]}),r]})}function hp({label:e,attempt:t,failed:n,active:r,opacity:i,onSelect:a}){let o=t.diagnostics?.find(e=>e.severity!==`info`),{triggerProps:s,tooltip:c,hideTooltip:l}=St((0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`strong`,{children:e}),o?(0,$.jsxs)(`span`,{children:[o.label,`: `,o.value.slice(0,220)]}):null,(0,$.jsx)(`small`,{children:`Select to inspect retained attempt evidence.`})]}));return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{...s,type:`button`,onClick:()=>{l(),a()},"aria-label":e,className:`training-rollout-cell ${n?`failed`:r?`active`:t.reward===null?``:`scored`}`,style:{opacity:i}}),c]})}function gp({groups:e}){let[t,n]=(0,Q.useState)(!1),[r,i]=(0,Q.useState)(0),a=e.reduce((e,t)=>e+t.attempts.length,0);if(!a)return null;let o=Math.ceil(a/100)-1,s=Math.min(r,o),c=t?e.flatMap(e=>e.attempts.map(t=>({group:e.index,...t}))).slice(s*100,(s+1)*100):[];return(0,$.jsxs)(`details`,{className:`training-rollout-attempts`,onToggle:e=>n(e.currentTarget.open),children:[(0,$.jsxs)(`summary`,{children:[`Recorded attempts · `,a]}),t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`training-table-wrap`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Group / slot`}),(0,$.jsx)(`th`,{children:`Attempt`}),(0,$.jsx)(`th`,{children:`State`}),(0,$.jsx)(`th`,{children:`Reward`}),(0,$.jsx)(`th`,{children:`Retained feedback`})]})}),(0,$.jsx)(`tbody`,{children:c.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsxs)(`td`,{children:[e.group+1,` / `,e.slot+1]}),(0,$.jsx)(`td`,{children:e.attempt}),(0,$.jsx)(`td`,{children:e.state.replaceAll(`_`,` `)}),(0,$.jsx)(`td`,{children:e.reward===null?`—`:e.reward.toFixed(3)}),(0,$.jsx)(`td`,{children:(0,$.jsx)(_p,{attempt:e})})]},e.id))})]})}),o>0?(0,$.jsxs)(`div`,{className:`training-rollout-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:!s,onClick:()=>i(s-1),children:`Previous`}),(0,$.jsxs)(`span`,{"aria-live":`polite`,children:[s*100+1,`–`,Math.min(a,(s+1)*100),` of `,a]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:s===o,onClick:()=>i(s+1),children:`Next`})]}):null]}):null]})}function _p({attempt:e}){let[t,n]=(0,Q.useState)(!1);return!e.diagnostics?.length&&!e.feedback?.length?(0,$.jsx)($.Fragment,{children:`No grading receipt retained`}):(0,$.jsxs)(`details`,{onToggle:e=>n(e.currentTarget.open),children:[(0,$.jsx)(`summary`,{children:`Inspect`}),t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`dl`,{children:e.diagnostics?.map((e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:e.label}),(0,$.jsx)(`dd`,{children:(0,$.jsx)(`pre`,{children:e.value})})]},t))}),(0,$.jsx)(Wf,{targets:e.feedback})]}):null]})}function vp({evidence:e,stage:t,onStage:n,inspection:r,groupIndex:i,logs:a=[],logsLoading:o,logsError:s}){let c=[`Logs`,...e.nodes.map(e=>e.label)];c.includes(t)||c.push(t);let l=e.nodes.find(e=>e.label===t)??(e.inference?.label===t?e.inference:void 0),u=i!==void 0&&!l?.inLoop,d=e.groups.find(e=>e.index===i),f=d?.inherited,p=d?.replay;return(0,$.jsxs)(`section`,{className:`training-evidence-workspace`,children:[(0,$.jsx)(`nav`,{className:`evaluation-workspace-tabs`,"aria-label":`Run evidence tabs`,children:c.map(e=>(0,$.jsx)(`button`,{type:`button`,"aria-pressed":t===e,onClick:()=>n(e),children:e},e))}),t===`Logs`?(0,$.jsxs)(`section`,{"aria-label":`Run-wide logs`,children:[(0,$.jsx)(`p`,{className:`training-muted`,children:`Run-wide logs · entries retain their recorded context.`}),(0,$.jsx)(X,{error:s}),o?(0,$.jsx)(`p`,{role:`status`,children:`Loading retained logs…`}):null,!a.length&&!o?(0,$.jsx)(`p`,{className:`training-muted`,children:`No retained log entries loaded.`}):null,(0,$.jsx)(`ol`,{className:`training-evidence-logs`,children:a.map((e,t)=>(0,$.jsxs)(`li`,{"data-level":e.level,children:[(0,$.jsx)(`time`,{children:xn(e.at)}),(0,$.jsx)(`strong`,{children:e.source}),(0,$.jsx)(`span`,{children:e.message})]},`${e.id}:${t}`))})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`training-muted`,children:u?`Run-wide evidence. Baseline and final evaluations assess the run; they are not attributed to an individual group.`:i===void 0?`All retained groups`:`Group ${i+1} retained evidence`}),p&&e.recovery&&l?.inLoop?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`training-muted`,children:`Replaying after checkpoint restore. Prior undurable output was not restored; current records belong to this attempt.`}),(0,$.jsx)(vt,{recovery:e.recovery,sourceJobId:p.sourceJobId,compact:!0})]}):null,f&&e.recovery&&l?.inLoop?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`training-muted`,children:`Inherited source evidence. Attempts and optimizer records were not re-executed in this recovery run.`}),(0,$.jsx)(vt,{recovery:e.recovery,sourceJobId:f.sourceJobId,compact:!0})]}):null,r?(0,$.jsx)(Xf,{...r}):l?(0,$.jsx)(Xf,{title:l.label,status:l.status,facts:[...l.diagnostics??[],...l.error?[{label:`Recorded stage failure`,value:l.error,severity:`error`}]:[]],feedback:l.feedback}):(0,$.jsx)(`p`,{className:`training-muted`,children:`No retained evidence for this selection.`}),t===`Rollouts`?(0,$.jsx)(gp,{groups:e.groups}):null]})]})}function yp(e){return(0,$.jsx)(bp,{...e},`${e.teamId}:${e.jobId}`)}function bp({connection:e,teamId:t,projectId:n,jobId:r,onOpenRun:i,compact:a=!1,initialStatus:o}){let[s,c]=(0,Q.useState)(`Logs`),[l,u]=(0,Q.useState)(),[d,f]=(0,Q.useState)(null),{detail:p,flow:m,summary:h,logs:g,logsLoading:_,logsError:v,error:y}=dp(e,t,r,n,s===`Logs`),b=m?.groups.find(e=>e.index===l),x=m&&l!==void 0?{...m,groups:b?[b]:[],groupCount:+!!b,nodes:m.nodes.map(e=>e.inLoop?b?.nodes?.find(t=>t.label===e.label)??{label:e.label,inLoop:!0,state:`missing`,status:`Not recorded`,detail:`No linked group evidence`,diagnostics:[]}:{...e,detail:`Run-wide${e.detail?` · ${e.detail}`:``}`})}:m,S=e=>{e.groupIndex!==void 0&&u(e.groupIndex),c(e.title),f(e.groupIndex===void 0?null:e)},C=h??p?.job,w=C?.executionMode===`qualification`,T=C?.rolloutProgress,E=[...p?.events??[]].reverse().find(e=>e.type===`rollout_metric`&&typeof e.data.rolloutGroupIndex==`number`)?.data.rolloutGroupIndex,D=p?.events.at(-1),O=a?ep:ap,k=m?.nodes.find(e=>e.state===`active`)?.label??(m&&!m.live?Sn(m.state):C?Sn(C.phase):o?Sn(o):`Training journey`);return(0,$.jsx)(Uf.Provider,{value:{connection:e,teamId:t,jobId:r},children:(0,$.jsx)(Yf.Provider,{value:S,children:(0,$.jsxs)(`section`,{className:`model-journey ${a?`compact`:``}`,"aria-label":`Training run stages`,children:[(0,$.jsxs)(`div`,{className:`model-journey-heading`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:`model-journey-eyebrow`,children:w?`Qualification run`:`Training journey`}),(0,$.jsxs)(`div`,{className:`model-journey-title-row`,children:[(0,$.jsx)(`h3`,{children:k}),(0,$.jsx)(G,{continuation:m?.continuation,recovery:m?.recovery,compact:!0})]})]}),(0,$.jsx)(`button`,{className:`training-button secondary`,onClick:i,type:`button`,children:`View run`})]}),m&&x?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{label:`Training group context`,value:l===void 0?`all`:String(l),options:[{value:`all`,label:`All groups · run overview`},...m.groups.map(e=>({value:String(e.index),label:`Group ${e.index+1} · ${e.replay?`Replay · ${e.state}`:e.inherited?`Inherited · ${e.inherited.optimizerDisposition===`applied`?`Update applied`:`Skipped · no signal`}`:e.optimizerDisposition===`skipped_no_signal`?`Skipped · no signal`:e.state}`}))],onChange:e=>{u(e===`all`?void 0:Number(e)),f(null)}}),(0,$.jsx)(`p`,{className:`training-muted`,children:l===void 0?`Run overview · all retained groups`:`Group scope · preparation and evaluations remain run-wide`}),(0,$.jsx)(vt,{recovery:m.recovery}),(0,$.jsx)(O,{nodes:x.nodes,continuation:m.continuation,inference:m.inference,live:m.live&&!y,loopLabel:w?`Rollout + grading`:`Training loop`,groupLabel:l===void 0?`group ${m.groupsCompleted} of ${m.groupsTarget}`:`Group ${l+1} snapshot`,policyLabel:l===void 0?`policy v${m.policyVersion}`:`group ${l+1}`}),(0,$.jsx)(pp,{evidence:{...x,live:m.live&&!y}})]}):p?.flowError?(0,$.jsx)(X,{error:p.flowError}):null,(0,$.jsxs)(`div`,{className:`model-journey-facts`,"aria-live":`polite`,children:[(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:b?`Group ${b.index+1}`:T?`${T.groupsCompleted} / ${T.groupsTarget}`:`—`}),` `,b?b.state:`groups complete`,l===void 0&&typeof E==`number`?` · latest recorded group ${E+1}`:``]}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:b?b.nodes?.find(e=>e.label===`Update adapter`)?.detail??`No linked optimizer evidence`:T?Math.max(0,T.optimizerUpdatesApplied-(m?.recovery?.optimizerUpdatesApplied??0)):`—`}),` `,b?`optimizer outcome`:m?.recovery?`new weight updates`:`weight updates`]}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:T?.optimizerUpdatesSkipped??`—`}),` run-wide updates skipped`]}),(0,$.jsxs)(`span`,{children:[C?Sn(C.state):`Connecting`,(0,$.jsxs)(`small`,{className:`training-continual-status`,children:[(0,$.jsx)(Tt,{enabled:m?!!m.continuation:void 0}),m?.recovery?(0,$.jsx)(`span`,{children:` · Checkpoint recovery`}):null]})]})]}),(0,$.jsx)(X,{error:y}),(0,$.jsx)(`p`,{className:`model-journey-note`,children:y?p||h||m?`Showing last received evidence.`:`No run evidence received yet.`:C?.terminalReason??D?.message??`Stages update from recorded run events and artifacts.`}),C?(0,$.jsxs)(`p`,{className:`model-journey-time`,children:[`Updated `,xn(C.updatedAt),` · Stages reflect recorded evidence, not estimated progress.`]}):null,a&&p?(0,$.jsx)(wt,{series:fp(l===void 0?p.events:p.events.filter(e=>e.data.rolloutGroupIndex===l))}):null,x?(0,$.jsx)(vp,{evidence:x,stage:s,groupIndex:l,inspection:d,onStage:e=>{c(e),f(null)},logs:g,logsLoading:_,logsError:v}):null]})})})}function xp(e,t=[]){let n=t.filter(e=>e.split===`train`),r=new Map(n.map(e=>[e.id,e])),i=new Map,a=new Set,o=new Map,s=new Set;for(let t of e){if(t.type!==`metric`)continue;let e=t.payload;if(e.metricKind===`rollout_trajectory`){let a=Ep(e.rolloutGroupId)??`group-0`,o=i.get(a),s=Tp(e.rolloutGroupIndex)??o?.groupIndex??i.size,c=Ep(e.taskId),l=(c?r.get(c):null)??(n.length?n[s%n.length]??null:null),u=Op(l?.metadata),d={id:t.id,rolloutIndex:Tp(e.rolloutIndex),workerSlot:Tp(e.workerSlot),attempt:Tp(e.attempt)??1,policyVersion:Tp(e.policyVersion),reward:wp(e.reward),rewardEligible:e.rewardEligible===!0,terminalClass:Ep(e.terminalClass),failure:Ep(e.failureCode)??Ep(e.failureClass),inputTokens:Tp(e.inputTokens)??0,outputTokens:Tp(e.outputTokens)??0,components:Sp(e)};i.set(a,{id:a,groupIndex:s,taskId:c??l?.id??o?.taskId??null,taskLabel:Ap(l)??o?.taskLabel??null,taskFamily:Ep(e.taskFamily)??Ep(e.scenarioFamily)??l?.clusterKey??Ep(u.scenarioFamily)??o?.taskFamily??null,policyVersion:Tp(e.policyVersion)??o?.policyVersion??null,trajectories:[...o?.trajectories??[],d]})}else if(e.metricKind===`optimizer_disposition`){let t=Ep(e.rolloutGroupId);if(!t)continue;let n=Ep(e.optimizerDisposition)??Ep(e.disposition)??Ep(e.remotePhase);n?.includes(`skipped`)&&a.add(t),n===`applied`&&o.set(t,Tp(e.step))}else if(e.metricKind===`policy_optimization`){let t=Tp(e.step),n=Ep(e.rolloutGroupId);t!==null&&s.add(t),n&&o.set(n,t)}}return[...i.values()].sort((e,t)=>e.groupIndex-t.groupIndex).map(e=>{let t=e.trajectories.flatMap(e=>e.rewardEligible&&e.reward!==null?[e.reward]:[]),n=o.get(e.id),r=n===void 0?null:n;if(r===null&&!a.has(e.id)){let t=e.groupIndex+1;s.has(t)&&(r=t)}return{...e,optimizerDisposition:a.has(e.id)?`skipped`:r===null?`pending`:`applied`,optimizerStep:r,mean:Cp(t),minimum:t.length?Math.min(...t):null,maximum:t.length?Math.max(...t):null}})}function Sp(e){let t=[e.rewardComponents,e.rubricComponents,e.components].find(Dp);return t?Object.entries(t).flatMap(([e,t])=>{if(typeof t==`number`&&Number.isFinite(t))return[{id:e,label:kp(e),score:t,passed:null,feedback:null}];if(!Dp(t))return[];let n=[t.score,t.reward,t.value,t.rewardContribution].map(wp).find(e=>e!==null);return n===void 0?[]:[{id:e,label:Ep(t.label)??Ep(t.name)??kp(e),score:n,passed:typeof t.passed==`boolean`?t.passed:null,feedback:Ep(t.feedback)}]}):[]}function Cp(e){return e.length?e.reduce((e,t)=>e+t,0)/e.length:null}function wp(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Tp(e){let t=wp(e);return t!==null&&Number.isInteger(t)?t:null}function Ep(e){return typeof e==`string`&&e.trim()?e.trim():null}function Dp(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Op(e){return Dp(e)?e:{}}function kp(e){return e.replaceAll(/[._-]+/g,` `).replace(/^./,e=>e.toUpperCase())}function Ap(e){if(!e)return null;let t=Op(e.input),n=[t.title,t.name,t.prompt,t.instruction,t.question,t.query].find(e=>typeof e==`string`&&!!e.trim());if(!n)return null;let r=n.trim().split(/\n\s*\n/,1)[0].replaceAll(/\s+/g,` `);return r.length>110?`${r.slice(0,107).trimEnd()}…`:r}var jp=new Set([`optimizer.reward`,`rollout.reward`]),Mp=[{key:`meanReward`,id:`optimizer.reward`,label:`Mean reward`},{key:`meanReturn`,id:`optimizer.return`,label:`Mean return`},{key:`learningRate`,id:`optimizer.learning_rate`,label:`Learning rate`,format:`scientific`},{key:`policyLoss`,id:`optimizer.policy_loss`,label:`Policy loss`},{key:`valueLoss`,id:`optimizer.value_loss`,label:`Value loss`},{key:`gradientNorm`,id:`optimizer.gradient_norm`,label:`Gradient norm`},{key:`kl`,id:`optimizer.kl`,label:`Policy update KL`},{key:`behaviorPolicyKlPreUpdate`,id:`optimizer.behavior_policy_kl`,label:`Behavior-policy KL (pre-update)`},{key:`entropy`,id:`optimizer.entropy`,label:`Entropy`},{key:`policyClipFraction`,id:`optimizer.policy_clip_fraction`,label:`Post-update clip fraction`,format:`percent`},{key:`behaviorPolicyClipFractionPreUpdate`,id:`optimizer.behavior_policy_clip_fraction`,label:`Behavior-policy clip fraction (pre-update)`,format:`percent`},{key:`valueClipFraction`,id:`optimizer.value_clip_fraction`,label:`Value clip fraction`,format:`percent`},{key:`explainedVariance`,id:`optimizer.explained_variance`,label:`Explained variance`}],Np=[{key:`loss`,id:`optimizer.loss`,label:`Loss`},{key:`reward`,id:`optimizer.reward`,label:`Reward`},{key:`policyLoss`,id:`optimizer.policy_loss`,label:`Policy loss`},{key:`advantageLoss`,id:`optimizer.advantage_loss`,label:`Advantage loss`},{key:`learningRate`,id:`optimizer.learning_rate`,label:`Learning rate`,format:`scientific`},{key:`gradientNorm`,id:`optimizer.gradient_norm`,label:`Gradient norm`},{key:`meanTokenAccuracy`,id:`train.token_accuracy`,label:`Token accuracy`,format:`percent`},{key:`preferenceAccuracy`,id:`train.preference_accuracy`,label:`Preference accuracy`,format:`percent`},{key:`preferenceMargin`,id:`train.preference_margin`,label:`Preference margin`},{key:`chosenReward`,id:`train.chosen_reward`,label:`Chosen reward`},{key:`rejectedReward`,id:`train.rejected_reward`,label:`Rejected reward`},{key:`entropy`,id:`optimizer.entropy`,label:`Entropy`}];function Pp({detail:e,loading:t,error:n,taskset:r=null}){Y(n,{prefix:`Training metrics`});let i=(0,Q.useMemo)(()=>e?xp(e.events,r?.tasks):[],[e,r]),a=(0,Q.useMemo)(()=>e?Ip(Lp(e),i):[],[e,i]);if(n&&!e)return(0,$.jsx)(`div`,{className:`training-run-placeholder`,children:`Training metrics are unavailable.`});if(!e&&!t)return(0,$.jsx)(`div`,{className:`training-run-placeholder`,children:`Select a training run to inspect its metrics.`});let o=e?[`queued`,`starting`,`running`,`reconciling`].includes(e.job.status):!1;return(0,$.jsx)(wt,{live:o,loading:t&&!e,series:a})}function Fp(e){let t=e.flatMap((e,t)=>e.mean===null?[]:[{step:t+1,value:e.mean}]);return t.length?{id:`optimizer.reward`,label:`Mean reward`,points:t,xLabel:`rollout group`}:null}function Ip(e,t){let n=Fp(t);return n?[n,...e.filter(e=>!jp.has(e.id))]:e}function Lp(e){let t=Gp(e.job.metadata.rolloutProgress),n=Hp(e.job.metadata.optimizerUpdatesObserved)??Hp(t.optimizerUpdatesApplied),r=Wp(e)===`grpo`&&n!==null?Math.max(0,n):null,i=Bp(e.stepMetrics).filter(e=>r===null||e.step<=r),a=[...zp(Bp(e.policyMetrics),Mp),...zp(i,Np),...Vp(e.events)],o=new Map;for(let e of a){let t=o.get(e.id);(!t||e.points.length>t.points.length)&&o.set(e.id,e)}let s=[`optimizer.reward`,`rollout.reward`,`optimizer.kl`,`optimizer.loss`,`optimizer.learning_rate`];return[...o.values()].sort((e,t)=>Rp(e.id,s)-Rp(t.id,s)||e.label.localeCompare(t.label))}function Rp(e,t){let n=t.indexOf(e);return n<0?999:n}function zp(e,t){return t.flatMap(t=>{let n=e.flatMap(e=>{let n=e[t.key];return typeof n==`number`&&Number.isFinite(n)?[{step:e.step,value:n}]:[]});return n.length?[{id:t.id,label:t.label,points:n,format:t.format}]:[]})}function Bp(e){let t=new Map;for(let n of e)t.set(n.step,n);return[...t.values()].sort((e,t)=>e.step-t.step)}function Vp(e){let t=new Map,n=new Map,r=(e,r,i,a)=>{t.set(e,[...t.get(e)??[],{step:i,value:a}]),n.set(e,r)},i=new Map;for(let t of e)if(t.type===`metric`){if(t.payload.metricKind===`managed_telemetry`){let e=typeof t.payload.metricId==`string`?t.payload.metricId:null,n=Hp(t.payload.value),i=Hp(t.payload.step)??t.sequence;e&&n!==null&&r(e,Up(e),i,n)}if(t.payload.metricKind===`rollout_trajectory`){let e=Hp(t.payload.rolloutIndex)??t.sequence,n=Hp(t.payload.reward);n!==null&&r(`rollout.reward`,`Rollout reward`,e,n);let a=typeof t.payload.rolloutGroupId==`string`?t.payload.rolloutGroupId:`group-0`,o=t.payload.rewardEligible===!1||typeof t.payload.failureClass==`string`||typeof t.payload.failureCode==`string`;i.set(a,[...i.get(a)??[],{reward:n,eligible:t.payload.rewardEligible===!0,resolved:n!==null||o,attempt:Hp(t.payload.attempt)??1,input:Hp(t.payload.inputTokens)??0,output:Hp(t.payload.outputTokens)??0}])}}return[...i.values()].forEach((e,t)=>{let n=e.filter(e=>e.resolved);if(!n.length)return;let i=n.flatMap(e=>e.eligible&&e.reward!==null?[e.reward]:[]),a=i.length?i.reduce((e,t)=>e+t,0)/i.length:0,o=i.length?i.reduce((e,t)=>e+(t-a)**2,0)/i.length:0,s=i.length?Math.max(...i):0;r(`attempt.valid_rate`,`Valid attempt rate`,t,i.length/n.length),r(`attempt.failure_count`,`Attempt failures`,t,n.length-i.length),r(`attempt.retry_count`,`Attempt retries`,t,n.reduce((e,t)=>e+Math.max(0,t.attempt-1),0)),r(`reward.variance`,`Reward variance`,t,o),r(`reward.best`,`Best reward`,t,s),r(`tokens.input`,`Input tokens`,t,e.reduce((e,t)=>e+t.input,0)),r(`tokens.output`,`Output tokens`,t,e.reduce((e,t)=>e+t.output,0))}),[...t].map(([e,t])=>({id:e,label:n.get(e)??Up(e),points:t,format:e.endsWith(`rate`)||e.includes(`fraction`)?`percent`:`number`}))}function Hp(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Up(e){return e.replaceAll(/[._]/g,` `).replace(/^./,e=>e.toUpperCase())}function Wp(e){let t=e.job.metadata.trainingMethod;if(typeof t==`string`)return t;let n=Gp(e.job.metadata.sourceSnapshot);return typeof n.method==`string`?n.method:null}function Gp(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Kp({connection:e,sessionId:t,resources:n,onRequest:r}){let i=n.focus.dataset,a=n.focus.scopeContext&&i?[...new Map(at(n.focus.scopeContext).filter(e=>e.id===n.scope?.id&&e.dataset&&Vs(e.dataset)===Vs(i)).flatMap(e=>e.training??[]).map(e=>[ct(e),e])).values()]:[],o=ds(e,t),[s,c]=(0,Q.useState)(null),l=a.find(e=>ct(e)===n.scope?.selectedTrainingKey)??a.find(e=>e.location===`cloud`?![`completed`,`failed`,`cancelled`,`budget_exhausted`].includes(e.job.state):e.executionState===`running`)??a.at(-1);async function u(e){let t=a.find(t=>ct(t)===e);if(t){c(null);try{await o.select({kind:`training`,id:t.jobId,location:t.location,...t.location===`cloud`?{teamId:t.owner.teamId,apiOrigin:t.apiOrigin}:{}})}catch(e){c(e instanceof Error?e.message:`Run selection failed.`)}}}return(0,$.jsxs)(`section`,{className:`dataset-workspace-section`,"aria-label":`Dataset training`,children:[(0,$.jsxs)(`header`,{className:`dataset-workspace-section-heading`,children:[(0,$.jsxs)(`div`,{className:`dataset-workspace-title`,children:[(0,$.jsx)(`h2`,{children:a.length?`Training runs`:`Planned stages`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary icon-only`,"aria-label":`New training`,title:`New training`,onClick:()=>r(`New training`),children:(0,$.jsx)(Rn,{size:15})})]}),l?(0,$.jsx)(zf,{status:l.location===`cloud`?l.job.state:l.executionState}):null]}),(0,$.jsx)(X,{error:s}),a.length?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{compact:!0,floating:!0,label:`Training run`,value:l?ct(l):``,disabled:o.selecting,options:a.map(e=>({value:ct(e),label:e.location===`cloud`?`Hosted run ${e.jobId.slice(-8)}`:e.modelId,description:e.location===`cloud`?e.job.state:e.executionState})),onChange:e=>void u(e)}),l?.location===`cloud`?(0,$.jsx)(yp,{compact:!0,connection:e,teamId:l.owner.teamId,projectId:l.job.modelProjectId,jobId:l.jobId,onOpenRun:()=>r(`Check training`,void 0,l)},ct(l)):l?(0,$.jsx)(qp,{connection:e,training:l},ct(l)):null]}):(0,$.jsx)(`div`,{"aria-label":`Planned training stages`,children:(0,$.jsx)(np,{})})]})}function qp({connection:e,training:t}){let n=h({queryKey:[`dataset-workspace-training`,nn(e),ct(t)],queryFn:async()=>{let n=Ze.parse(await vr.trainingRunDetail(e,t.jobId));if(n.job.id!==t.jobId)throw Error(`Training evidence does not match the attached job.`);return n},refetchInterval:e=>[`queued`,`starting`,`running`,`reconciling`,`cancelling`].includes(e.state.data?.job.status??t.executionState)?3e3:!1}),r=n.data,i=!!(r&&[`queued`,`starting`,`running`,`reconciling`].includes(r.job.status)&&!n.error);if(!r)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{error:n.error?.message}),(0,$.jsx)(`p`,{role:`status`,children:`Loading training evidence…`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void n.refetch(),children:`Refresh`})]});let a=r.managedEvidence?.progress.committedOptimizerSteps??r.job.metadata.optimizerUpdatesObserved,o=typeof a==`number`&&a>0,s=r.events.some(e=>e.type===`metric`&&e.payload.metricKind===`rollout_trajectory`),c=r.job.status===`succeeded`,l=r.events.filter(e=>e.type===`metric`&&e.payload.metricKind===`rollout_trajectory`&&typeof e.payload.reward==`number`&&Number.isFinite(e.payload.reward)).length,u=r.events.some(e=>e.type===`checkpoint`)||!!r.managedEvidence?.checkpoint?.sha256,d=!!r.evaluation||!!r.managedEvidence?.evaluations.some(e=>e.kind===`candidate`),f=i?`pending`:`missing`,p=s||o||u||d;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Bf,{name:t.modelId}),(0,$.jsx)(X,{error:n.error?.message}),(0,$.jsx)(ep,{live:i,loopLabel:`Training loop`,nodes:[{label:`Prepare`,state:p?`done`:i?`active`:f,status:p?`Recorded`:r.job.startedAt?`Worker started`:`Waiting`},{label:`Rollouts`,state:s?`done`:f,status:s?`Recorded`:`Waiting for attempts`,inLoop:!0},{label:`Grade`,compute:`cpu`,state:l?`done`:f,status:l?`Recorded`:`No recorded grades`,detail:l?`${l} graded attempts`:void 0,inLoop:!0},{label:`Update adapter`,state:o?`done`:f,status:o?`Recorded`:`No recorded updates`,detail:o?`${a} updates`:void 0,inLoop:!0},{label:`Save checkpoint`,compute:`cpu`,state:u?`done`:f,status:u?`Recorded`:`No saved checkpoint recorded`,inLoop:!0},{label:`Evaluate`,state:d?`done`:f,status:d?`Recorded`:`No candidate evaluation recorded`},{label:`Finish`,state:c?`done`:r.job.status===`failed`?`failed`:f,status:r.job.status,error:r.job.error??void 0}]}),(0,$.jsx)(wt,{series:Lp(r)}),(0,$.jsxs)(`details`,{className:`dataset-workspace-logs`,children:[(0,$.jsx)(`summary`,{children:`Training events`}),(0,$.jsx)(`ol`,{children:r.events.slice(-100).map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`time`,{children:new Date(e.timestamp).toLocaleTimeString()}),(0,$.jsx)(`span`,{children:typeof e.payload.message==`string`?e.payload.message:e.type})]},e.id))})]})]})}function Jp(e){return e===`small`||e===`small_experiment`}function Yp(e){return{maxSteps:1,trainingExamples:e===`grpo`?1:e===`sft`?4:2,rolloutGroupSize:4,rolloutConcurrency:1}}function Xp(e,t,n){if(!Jp(e))return n;let r=Yp(t);return{maxSteps:r.maxSteps,rolloutGroupSize:r.rolloutGroupSize,rolloutConcurrency:r.rolloutConcurrency}}function Zp(e){let t=Yp(`grpo`);return{...e,dataset:{...e.dataset,maxExamples:t.trainingExamples},rollout:{...e.rollout,groupSize:t.rolloutGroupSize,concurrency:t.rolloutConcurrency},optimizer:{...e.optimizer,maxSteps:t.maxSteps,iterations:2,gradientAccumulationSteps:t.rolloutGroupSize},resourceLimits:{...e.resourceLimits,maxRollouts:t.rolloutGroupSize},policyOptimization:null}}function Qp(e){return[{id:`standard`,label:`Full run`,description:`Pre-fill the full training configuration, then adjust its limits.`},{id:e===`grpo`||e===`ppo`?`small_experiment`:`small`,label:`Smoke`,description:e===`grpo`?`Start with 1 prompt, 4 rollouts, 1 group, and 2 optimizer iterations.`:`Start with a small training batch and 1 optimizer step.`},{id:`custom`,label:`Custom`,description:`Choose prompts, rollouts, groups, and optimizer iterations.`}]}function $p(e,t,n){if(!Jp(e))return null;let r=Yp(t);return n.maxSteps>r.maxSteps||n.trainingExamples>r.trainingExamples||(t===`grpo`||t===`ppo`)&&(n.rolloutGroupSize>r.rolloutGroupSize||n.rolloutConcurrency>r.rolloutConcurrency||(n.optimizerIterations??2)>2||(n.maximumRollouts??4)>4)?`These settings exceed the training smoke test limits. Reduce them or select Custom.`:null}function em({method:e,methods:t,onMethodChange:n,value:r,onChange:i,disabled:a,recommendedAvailable:o=!0,sizing:s,onSizingChange:c}){let l=Qp(e).filter(e=>o||e.id!==`standard`),u=Jp(r)?l.find(e=>Jp(e.id)).id:r;return(0,$.jsxs)(`div`,{className:`model-build-field training-run-configuration`,children:[(0,$.jsx)(`span`,{children:`Run configuration`}),(0,$.jsx)(Z,{floating:!0,label:`Run configuration`,value:u,options:l.map(e=>({value:e.id,label:e.label})),onChange:e=>i(e),disabled:a}),s&&c?(0,$.jsxs)(`div`,{className:`training-run-quantities`,children:[[[`prompts`,`Prompts`,`Training prompts`,1,1e5],[`rollouts`,`Rollouts`,`Rollouts per prompt`,2,16],[`groups`,`Groups`,`Rollout groups`,1,1e5],[`iterations`,`Iterations`,`Optimizer iterations`,e===`grpo`?2:1,e===`grpo`?16:100],[`concurrency`,`Concurrent`,`Concurrent rollouts`,1,s.rollouts]].map(([e,t,n,r,i])=>(0,$.jsxs)(`label`,{title:n,children:[(0,$.jsx)(`span`,{children:t}),(0,$.jsx)(`input`,{"aria-label":n,type:`number`,min:r,max:i,step:1,value:Number.isFinite(s[e])?s[e]:``,disabled:a,onChange:t=>c({...s,[e]:t.target.valueAsNumber||r})})]},e)),(0,$.jsxs)(`div`,{className:`training-run-method`,children:[(0,$.jsx)(`span`,{children:`Method`}),(0,$.jsx)(Z,{compact:!0,floating:!0,floatingMenuWidth:140,label:`Training method`,value:e??``,options:(t??(e?[e]:[])).map(e=>({value:e,label:e.toUpperCase()})),disabled:a||!n||!t?.length,onChange:e=>n?.(e)})]})]}):null]})}function tm({connection:e,resources:t,onAddToChat:n,initialPreset:r}){let[i,a]=(0,Q.useState)({prompts:Jp(r)?1:Math.max(1,t.focus.dataset?.taskCount??1),rollouts:4,groups:Jp(r)?1:Math.max(1,t.focus.dataset?.taskCount??1),iterations:2,concurrency:1}),[o,s]=(0,Q.useState)(r),[c,l]=(0,Q.useState)(`grpo`),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),m=h({queryKey:[`dataset-training-catalog`,nn(e)],queryFn:async()=>Vi.parse(await vr.portableTrainingCatalog(e))}),g=(m.data?.targets??[]).find(e=>e.destinationId===`openpond_managed`),_=(m.data?.models??[]).filter(e=>e.compatibilities.some(e=>e.targetId===g?.id&&e.methods.includes(c)&&e.state!==`unsupported`)),v=_.find(e=>e.selectionKey===u),y=(g?.methods??[]).filter(e=>[`sft`,`dpo`,`grpo`,`ppo`].includes(e));(0,Q.useEffect)(()=>{if(m.data&&y.length&&!y.includes(c)){let e=y[0];l(e),s(t=>Jp(t)?e===`grpo`||e===`ppo`?`small_experiment`:`small`:t),d(``)}},[m.data,c]);let b=g?.approvalPolicy?.minimumSpendUsd??.01,x=g?.approvalPolicy?.maximumSpendUsd,S=Number(f),C=!!(g?.available&&g.methods.includes(c)&&v&&f.trim()&&Number.isFinite(S)&&S>=b&&(x===void 0||S<=x)),w=t.focus.dataset,T=`Use ${i.prompts} training prompts, ${i.rollouts} rollouts per prompt, ${i.groups} rollout groups, ${i.iterations} optimizer iterations per group, and concurrency ${i.concurrency}. Retain held-out evaluation, tools, grading, checkpoint export, and the existing token/context limits.`,E=Object.values(i).every(e=>Number.isInteger(e)&&e>0)&&i.prompts<=1e5&&i.groups<=1e5&&i.iterations>=(c===`grpo`?2:1)&&i.iterations<=(c===`grpo`?16:100)&&i.rollouts>=2&&i.rollouts<=16&&Number.isInteger(i.concurrency)&&i.concurrency>=1&&i.concurrency<=16&&i.rollouts%i.concurrency===0,D=!!(w&&g?.available&&v&&E),O=`using ${c.toUpperCase()} for ${w?.name}, revision ${w?.revision}, using ${v?.modelId} on OpenPond Managed`;return(0,$.jsxs)(`div`,{className:`dataset-training-plan`,children:[m.error?(0,$.jsx)(X,{error:m.error.message,children:(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void m.refetch(),children:`Retry`})}):null,(0,$.jsx)(em,{method:c,methods:y.length?y:[`grpo`],onMethodChange:e=>{l(e),s(Jp(o)?e===`grpo`||e===`ppo`?`small_experiment`:`small`:o),d(``)},value:o,sizing:i,onSizingChange:a,onChange:e=>{s(e),e!==`custom`&&a({prompts:Jp(e)?1:Math.max(1,w?.taskCount??1),rollouts:4,groups:Jp(e)?1:Math.max(1,w?.taskCount??1),iterations:2,concurrency:1})}}),(0,$.jsx)(`span`,{className:`dataset-training-field-label`,children:`Starting model`}),(0,$.jsx)(Z,{floating:!0,searchable:!0,label:`Training model`,value:v?.selectionKey??``,options:[{value:``,label:m.isPending?`Loading models…`:`Choose training model`,disabled:!0},..._.map(e=>({value:e.selectionKey,label:e.label,description:e.reason??e.modelId}))],onChange:d,disabled:m.isPending}),(0,$.jsxs)(`label`,{children:[`Maximum spend (USD)`,(0,$.jsxs)(`div`,{className:`training-spend-estimate`,children:[(0,$.jsx)(`input`,{"data-autofocus":!0,type:`number`,min:b,max:x,step:`0.01`,"aria-label":`Maximum training spend`,value:f,onChange:e=>p(e.target.value)}),(0,$.jsx)(`button`,{type:`button`,disabled:!D,onClick:()=>n(`Review the training cost ${O}. ${T} Keep this review attached to the selected experiment and inspect the pinned examples, splits, graders, and recipe before estimating. ${C?`Use $${S.toFixed(2)} as the maximum spend.`:`Ask me to choose a hard spend cap before any submission.`} Show the current provider estimate or exact quote when supported, its assumptions, what is included, and any separately billed preparation, evaluation, idle, or serving costs. If an estimate is unavailable, explain why and the next step. Do not upload data, start training, or allocate serving capacity.`),children:`Review cost in chat`})]})]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:!D||!C,onClick:()=>n(`Prepare a training plan ${O}, with a maximum spend of $${S.toFixed(2)}. ${T} Keep it attached to the selected experiment. Inspect its examples, splits, graders, and data permissions; show the recipe, required changes, and cost for review. Do not upload data or start training.`),children:`Prepare in chat`})]})}function nm({dialog:e,connection:t,resources:n,onClose:r,onAddToChat:i}){let[a,o]=(0,Q.useState)(e.text??``);return(0,$.jsxs)(Gn,{ariaLabel:e.title,className:`training-dialog dataset-workspace-dialog`,onClose:r,children:[(0,$.jsxs)(`header`,{className:`training-dialog-header`,children:[(0,$.jsx)(`h2`,{children:e.title}),(0,$.jsx)(`button`,{className:`training-icon-button`,type:`button`,"aria-label":`Close dialog`,onClick:r,children:(0,$.jsx)(Hn,{size:18})})]}),e.title===`Add grader`?(0,$.jsx)(Fs,{kind:`grader`,resources:n,busy:!1,onDraft:i}):e.title===`New training`?(0,$.jsx)(tm,{connection:t,resources:n,onAddToChat:i,initialPreset:`standard`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{children:`Review the request, then add it to chat.`}),(0,$.jsx)(`textarea`,{"data-autofocus":!0,"aria-label":`Chat request`,rows:6,value:a,onChange:e=>o(e.target.value)}),(0,$.jsxs)(`div`,{className:`training-dialog-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:r,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:!a.trim(),onClick:()=>i(a),children:`Add to chat`})]})]})]})}function rm(e,t,n,r){let i=nn(e),a=c(),o=Kr({queryKey:[`dataset-workspace-runs`,i,t?Vs(t):null],enabled:!(!e||!t||t.owner||t.profileRef),initialPageParam:void 0,getNextPageParam:e=>e.nextCursor??void 0,queryFn:async({signal:t,pageParam:n})=>{let r=await Vr(e,`experiment`,{action:`list`,payload:{limit:100,...n?{afterId:n}:{}}},t);if(n&&r.nextCursor===n)throw Error(`Experiment history did not advance to its next page.`);return{...r,summaries:Ws(r.summaries)}},refetchInterval:e=>e.state.data?.pages.some(e=>e.summaries.some(e=>t&&Hs(e,t)&&Us(e.state)))?2e3:1e4});(0,Q.useEffect)(()=>{o.hasNextPage&&!o.isFetchingNextPage&&!o.isFetchNextPageError&&o.fetchNextPage()},[o.hasNextPage,o.isFetchingNextPage,o.isFetchNextPageError,o.fetchNextPage]);let s=r.filter(e=>[`workspace_action_result`,`turn.completed`].includes(e.name)).at(-1)?.id;(0,Q.useEffect)(()=>{s&&a.invalidateQueries({queryKey:[`dataset-workspace-runs`,i]})},[s,i,a]);let l=new Map(o.data?.pages.flatMap(e=>e.items?.map(e=>[e.id,Date.parse(e.createdAt)])??[])??[]);return{rows:t?[...new Map([...n,...o.data?.pages.flatMap(e=>e.summaries)??[]].filter(e=>Hs(e,t)).map(e=>[Vs(e),e])).values()].sort((e,t)=>Number(Us(t.state))-Number(Us(e.state))||(l.get(t.id)??0)-(l.get(e.id)??0)):[],history:o}}function im({connection:e,sessionId:t,resources:n,events:r,selectedExperiment:i,experimentName:a}){let o=n.focus.dataset,s=o?Vs(o):``,[c,l]=(0,Q.useState)(null),u=rm(i===void 0?e:null,o,n.experiments,r),d=n.scope,f=d?.ordinal!==null&&d?.ordinal!==void 0,p=f?u.rows.filter(e=>d.runs.some(t=>Vs(t)===Vs(e))):u.rows,m=f&&!d.runs.length?d:null,h=i===void 0?m?null:p.find(e=>e.id===d?.selectedRunId)??p.find(e=>Us(e.state))??p[0]??(f?d.runs.at(-1)??null:null):i,g=am(e,h),_=g.data?.summary??h;(0,Q.useEffect)(()=>{l(null)},[s,d?.id]);let v=d?.ordinal,y=a??i?.name??(i===null?`Experiment draft`:v?`Experiment ${v}`:`Experiment`),b=o?`${o.name}, revision ${o.revision}`:`the selected Dataset`;function x(e,t,r){if([`Add grader`,`New training`].includes(e)){l({title:e});return}let i=t?`${o?.name}, revision ${t.datasetRevision}, run ${t.id}`:b,a=e===`Check graders`?`Test the graders for ${b} against their saved fixtures and known-good and known-bad answers. Report missing coverage and failures separately from model evaluation scores. Do not change the dataset, graders, or start training.`:e===`Diagnose`?`Diagnose ${i}. Inspect its retained results and failures, explain the cause and the next useful step without changing it.`:e===`Improve`?`Improve ${i}. Inspect its retained results, make a targeted change, validate it, and evaluate a comparison within the agreed budget. Preserve the original run and its inputs.`:e===`Run experiment`?`Run an experiment on ${b} with its Dataset graders${n.scope?.evaluationModel?` against ${n.scope.evaluationModel}`:``}. Use the selected execution destination and agreed budget; ask for any missing model or spending limit before starting.`:`Check this training job and show its progress, results, and any model it produced.`;l({title:e,text:a,run:t,training:r})}function S(e){ys({sessionId:t,text:e,contexts:Gs(n,c?.run,c?.training)}),l(null)}return(0,$.jsxs)(`div`,{className:`dataset-workspace`,"aria-label":`Experiment workspace`,children:[(0,$.jsxs)(`header`,{className:`dataset-workspace-section-heading`,children:[(0,$.jsx)(`div`,{className:`dataset-workspace-title`,children:(0,$.jsx)(`h2`,{children:y})}),(0,$.jsxs)(`div`,{className:`dataset-workspace-actions dataset-workspace-header-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:!o,onClick:()=>x(`Run experiment`),children:`Evaluate`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary dataset-action`,disabled:!o||!_,onClick:()=>x(`Diagnose`,_??void 0),children:`Diagnose`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary dataset-action`,disabled:!o||!_||Us(_.state),onClick:()=>x(`Improve`,_??void 0),children:`Improve`}),(0,$.jsxs)(`button`,{type:`button`,className:`training-button secondary dataset-action`,disabled:!o,onClick:()=>x(`Add grader`),children:[(0,$.jsx)(Rn,{size:13}),` Add grader`]})]})]}),n.error?(0,$.jsx)(X,{error:n.error}):null,o?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`p`,{className:`dataset-workspace-context`,children:[(0,$.jsx)(`span`,{children:`Dataset:`}),` `,o.name,` · revision `,o.revision]}),_?(0,$.jsx)(op,{run:_,view:g.data?.view,loading:g.isPending,error:g.error,onRefresh:()=>void g.refetch()},`progress:${Vs(_)}`):(0,$.jsx)(`p`,{children:`Evaluate this experiment, or configure a training run below.`}),u.history.error?(0,$.jsx)(X,{error:u.history.error.message,children:(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void u.history.refetch(),children:`Retry`})}):null,(0,$.jsx)(Lf,{connection:e,dataset:o,graders:n.graders}),_?(0,$.jsx)(If,{title:`Results`,children:(0,$.jsx)(sp,{connection:e,run:_,view:g.data?.view},`evidence:${Vs(_)}`)}):null,(0,$.jsx)(If,{title:`Training`,children:(0,$.jsx)(Kp,{connection:e,sessionId:t,resources:n,onRequest:x})})]}):(0,$.jsx)(`p`,{children:`Choose an experiment, or create one from a dataset.`}),c?(0,$.jsx)(nm,{dialog:c,connection:e,resources:n,onClose:()=>l(null),onAddToChat:S},c.title):null]})}function am(e,t){return h({queryKey:[`dataset-workspace-run`,nn(e),t?Vs(t):null],enabled:!!t,queryFn:async({signal:n})=>{let r=await Vr(e,`experiment`,{action:`result`,payload:{id:t.id}},n),i=st.parse(r.summary),a=ut.parse(r.view);if(Vs(i)!==Vs(t)||i.datasetId!==t.datasetId||i.datasetRevision!==t.datasetRevision)throw Error(`Run evidence changed its Dataset pin.`);return{summary:i,view:a}},refetchInterval:e=>Us(e.state.data?.summary.state??t?.state??``)?2e3:!1})}function om({connection:e,sessionId:t,events:n}){let r=ds(e,t),i=ks(r.selection?.resource?e:null,t),[a,o]=(0,Q.useState)(null),s=r.selection,c=s?.training,l=s?.resource?.kind===`experiment`?s.resource:null,u=l?i.focus.experiment:i.focus.dataset,d=!!(s?.resource&&u&&Vs(s.resource)===Vs(u)&&s.resource.revision===u.revision),{select:f}=r,p=r.runs.data?.runs[0],m=c?JSON.stringify(s.target):``,h=(r.runs.data?.runs??[]).map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}));c&&!h.some(e=>e.value===m)&&h.unshift({value:m,label:`${(c.location===`cloud`?c.job.createdAt:c.updatedAt).slice(0,16).replace(`T`,` `)} UTC`,description:c.location===`cloud`?c.job.state:c.executionState}),(0,Q.useEffect)(()=>{s?.target.kind===`model`&&p&&f(p.target).catch(e=>o(e instanceof Error?e.message:`Run selection failed.`))},[s?.target.kind,s?.target.id,p,f]);async function g(e){try{o(null),await f(JSON.parse(e))}catch(e){o(String(e))}}let _=s?.resource?{...i,focus:{...i.focus,dataset:s.dataset??(s.resource.kind===`dataset`?s.resource:null),experiment:l},scope:d&&l||s.target.scopeId===i.scope?.id?i.scope:null,graders:s.graders??[]}:i;return(0,$.jsxs)(`div`,{className:`chat-experiment-tool`,children:[(0,$.jsx)(`header`,{className:`chat-experiment-tool-header`,children:(0,$.jsx)(Ms,{context:r})}),(0,$.jsx)(X,{error:a}),s?.model?(0,$.jsxs)(`div`,{className:`chat-experiment-tool-content`,children:[(0,$.jsxs)(`dl`,{className:`training-context-facts`,children:[(0,$.jsx)(`dt`,{children:`Base model`}),(0,$.jsx)(`dd`,{children:s.model.baseModel??`—`})]}),(0,$.jsx)(Z,{floating:!0,label:`Training run`,value:m,disabled:r.runs.isPending||r.selecting,options:[...h.length?[]:[{value:``,label:r.runs.isFetching?`Loading training runs…`:r.runs.error?`Choose training run`:`No training runs`,disabled:!0}],...h],onChange:e=>void g(e)}),(0,$.jsx)(X,{error:r.runs.error,children:r.runs.error?(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void r.runs.refetch(),children:`Retry training history`}):null}),c?c.location===`cloud`?(0,$.jsx)(yp,{compact:!0,connection:e,teamId:c.owner.teamId,projectId:c.job.modelProjectId,jobId:c.jobId,onOpenRun:()=>window.location.assign(Un(Wn(`runs`,null,{area:`console`,resourceId:`hosted-run:${c.jobId}`})))}):(0,$.jsx)(qp,{connection:e,training:c}):(0,$.jsx)(np,{}),(0,$.jsx)(Lf,{connection:e,dataset:s.dataset,graders:s.graders??[],model:s.model}),(0,$.jsx)(If,{title:`Experiments`,children:(0,$.jsx)(Z,{floating:!0,label:`Experiment`,value:``,options:[{value:``,label:`Experiment`,disabled:!0},...(r.catalog.data?.options??[]).filter(e=>e.target.kind===`experiment`).map(e=>({value:JSON.stringify(e.target),label:e.label,description:e.detail}))],onChange:e=>void g(e)})})]}):s?.resource?(0,$.jsx)(im,{connection:e,sessionId:t,resources:_,events:n,selectedExperiment:l,experimentName:s.target.kind===`dataset`?`Experiment draft`:s.label},JSON.stringify(s.target)):(0,$.jsx)(`div`,{className:`chat-experiment-tool-content`,children:(0,$.jsx)(`p`,{children:`Choose an experiment or model in Training. Start a new experiment there to choose its dataset.`})})]})}function sm(e){return e.connection?(0,$.jsx)(om,{connection:e.connection,sessionId:e.sessionId??null,events:e.events}):(0,$.jsx)(`p`,{children:`Connect to OpenPond to browse experiments.`})}function cm({activeTabId:e,tabs:t,onCloseTab:n,onNewTab:r,onSelectTab:i}){return(0,$.jsxs)(`div`,{className:`browser-tabs`,role:`tablist`,"aria-label":`Browser tabs`,children:[t.length?null:(0,$.jsxs)(`div`,{className:`browser-tab active`,children:[(0,$.jsx)(Cr,{size:13,"aria-hidden":!0}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-main`,role:`tab`,"aria-selected":!0,children:`New tab`})]}),(0,$.jsx)(lm,{activeTabId:e,tabs:t,onSelectTab:i,onCloseTab:n}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-add`,title:`New tab`,"aria-label":`New tab`,onClick:r,children:(0,$.jsx)(Rn,{size:14})})]})}function lm({activeTabId:e,tabs:t,onCloseTab:n,onSelectTab:r}){return(0,$.jsx)($.Fragment,{children:t.map(t=>(0,$.jsxs)(`div`,{className:`browser-tab ${t.id===e?`active`:``}`,children:[(0,$.jsx)(`span`,{className:`browser-tab-favicon`,"aria-hidden":`true`,children:t.faviconUrl?(0,$.jsx)(`img`,{alt:``,referrerPolicy:`no-referrer`,src:t.faviconUrl}):(0,$.jsx)(Cr,{size:13})}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-main`,role:`tab`,"aria-selected":t.id===e,title:t.url,onClick:()=>r(t.id),children:um(t)}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-close`,title:`Close tab`,"aria-label":`Close tab`,onClick:()=>n(t.id),children:(0,$.jsx)(Hn,{size:12})})]},t.id))})}function um(e){if(!e.url||e.url===`about:blank`)return`New tab`;if(e.title?.trim())return e.title.trim();try{return new URL(e.url).host||e.url}catch{return e.url||`New tab`}}var dm=(0,Q.lazy)(()=>o(()=>import(`./WorkspaceDiffPanel-B5rlW7bA.js`).then(e=>e.n).then(e=>({default:e.WorkspaceDiffPanel})),__vite__mapDeps([75,1,2,3,4,5,24,23,6,14,25,16,36,17,18,19,20,21,22,26,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,58,76,77,69]))),fm=(0,Q.lazy)(()=>o(()=>import(`./AppTerminalPanel-YcnBD5DF.js`).then(e=>({default:e.AppTerminalPanel})),__vite__mapDeps([78,1,2,3]))),pm=(0,Q.lazy)(()=>o(()=>import(`./RightSidebarHomePanel-CCVQ9LMB.js`).then(e=>({default:e.RightSidebarHomePanel})),[]));(0,Q.lazy)(()=>o(()=>import(`./WorkSidebarPanel-u87uptH0.js`).then(e=>({default:e.WorkSidebarPanel})),[]));var mm=(0,Q.lazy)(()=>o(()=>import(`./CollaborationTabs-CFCpk2Ck.js`).then(e=>({default:e.CollaborationTabs})),__vite__mapDeps([79,2,1,3,17,22,4,5,6,23,24,14,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,18,37,38,39,20,40,41,42,43,44,45,46,21,47,48,49,50,51,52,53,54,55,80]))),hm=(0,Q.lazy)(()=>o(()=>import(`./AppsView-Dtte4h6e.js`).then(e=>({default:e.AppsView})),__vite__mapDeps([81,1,2,3,4,5,25,23,6,8,14,17,39,18,40,82,19,20,21,22,24,26,16,11,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,77,83,84,85,86]))),gm=(0,Q.lazy)(()=>o(()=>import(`./GetStartedView-DGFPQ1We.js`).then(e=>({default:e.GetStartedView})),__vite__mapDeps([87,1,2,3,24,5,23,6,14,17,19,18,20,21,22,4,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,60,88]))),_m=(0,Q.lazy)(()=>o(()=>import(`./LabsRoute-BV7ZJGEw.js`).then(e=>({default:e.LabsRoute})),__vite__mapDeps([89,1,2,3,4,5,6,25,23,11,8,9,28,12,13,29,10,7,90,17,18,56,48,22,24,14,26,16,27,30,31,32,33,34,35,36,37,38,39,20,40,41,42,43,44,45,46,21,47,49,50,51,52,53,54,55,91,19,92,76,63,67,60,93]))),vm=(0,Q.lazy)(()=>o(()=>import(`./ScheduledWorkPage-Cw1ja2GF.js`).then(e=>({default:e.ScheduledWorkPage})),__vite__mapDeps([94,1,2,3,24,5,23,6,14,26,16,11,95,17,19,18,20,21,22,4,25,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,64,65,59,60,77,96]))),ym=(0,Q.lazy)(()=>o(()=>import(`./OutputsPage-jzx93QQ3.js`).then(e=>({default:e.OutputsPage})),__vite__mapDeps([97,1,2,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,65,58,59]))),bm=(0,Q.lazy)(()=>o(()=>import(`./ProjectsPage-DZrjlMp2.js`).then(e=>({default:e.ProjectsPage})),__vite__mapDeps([98,1,2,3,25,23,5,6,17,92,18,40,22,4,24,14,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,20,41,42,43,44,45,46,21,47,48,49,50,51,52,53,54,55,99]))),xm=(0,Q.lazy)(()=>o(()=>import(`./LabSkillSidebar-BwtlThO7.js`).then(e=>({default:e.LabSkillSidebar})),__vite__mapDeps([100,1,2,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,59,101]))),Sm=(0,Q.lazy)(()=>o(()=>import(`./BrowserSidebar-BUqDvEv9.js`).then(e=>({default:e.BrowserSidebar})),__vite__mapDeps([102,1,2,3,17,18,19,14,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,61,62]))),Cm=(0,Q.lazy)(()=>o(()=>import(`./RightChatPanelStack-BsxJg9sy.js`).then(e=>({default:e.RightChatPanelStack})),__vite__mapDeps([103,1,2,3,31,24,5,23,6,14,25,32,33,34,16,35,17,58,18,15,19,20,21,22,4,26,11,8,27,9,28,12,13,29,10,30,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,59,60,61,62,63,64,65,66]))),wm=(0,Q.lazy)(()=>o(()=>import(`./NativeSkillSidebar-BEJvt5_H.js`).then(e=>({default:e.NativeSkillSidebar})),__vite__mapDeps([104,1,2,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,105]))),Tm=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-OprnSKLF.js`).then(e=>({default:e.TeamChatView})),__vite__mapDeps([106,1,2,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,107]))),Em=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-OprnSKLF.js`).then(e=>({default:e.TeamChatProView})),__vite__mapDeps([106,1,2,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,107]))),Dm=(0,Q.lazy)(()=>o(()=>import(`./CommunityView-Okydjpqm.js`).then(e=>({default:e.CommunityView})),__vite__mapDeps([108,1,2,3,95,26,5,6,23,16,11,17,19,14,18,20,21,22,4,24,25,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,64,65,59,109,110,111]))),Om=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-OprnSKLF.js`).then(e=>({default:e.TeamAiThreadPanel})),__vite__mapDeps([106,1,2,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,107]))),km=(0,Q.lazy)(()=>o(()=>import(`./TeamChatView-OprnSKLF.js`).then(e=>({default:e.TeamAgentConversationPanel})),__vite__mapDeps([106,1,2,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,107]))),Am=(0,Q.lazy)(()=>o(()=>import(`./TrainingDraftPanel-Mpb5e7t5.js`).then(e=>({default:e.TrainingDraftPanel})),__vite__mapDeps([112,2,1,3,17,19,14,18,20,21,22,4,5,6,23,24,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]))),jm=(0,Q.lazy)(()=>o(()=>import(`./TrainingCreationPanel-Cyn6R6I6.js`).then(e=>({default:e.TrainingCreationPanel})),__vite__mapDeps([113,1,2,3,17,41,18,21,22,4,5,6,23,24,14,25,26,16,11,8,27,9,28,12,13,29,10,30,31,32,33,34,35,36,37,38,39,20,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55])));function Mm({ponderNavigationVersion:e=0,ponderMode:t=null,onPonderModeChange:n,experience:r,view:i,teamChat:a,community:o,bootstrap:s,runtimeEvents:c,chatMessages:l,pendingUserMessage:u,contextWindowStatus:d,goalRuntime:f,subagentRuntime:p,selectedSessionId:m,composerDraftStore:h,mainComposerFocusRequestId:g,labCloseDetailRequestId:_,labCloseDetailKind:v,sideChatTrainingLaunchRequest:y,onSideChatTrainingLaunchHandled:b,mentionApps:x,connectedAppMentions:S,profileSkills:C,selectedMentionAppId:w,busy:T,turnRunning:E,activeProvider:D,activeModel:O,codexPermissionMode:k,codexReasoningEffort:A,openPondCommandAccessMode:j,pendingApproval:M,activeWorkspaceAppId:N,activeWorkspaceId:P,activeWorkspaceKind:F,projectTarget:ee,actionCatalog:I,workspaceTarget:L,connection:R,workspaceName:te,workspaceState:ne,workspaceDiff:z,workspaceBusy:B,diffBusy:re,forceChatThread:ae=!1,diffPanelOpen:V,diffPanelExpanded:oe,rightPanelMode:se,rightPanelTabRequest:ce,rightChatPanels:le,runtimeEventStore:ue,nativeSkillSidebar:de,extensionSkillSidebar:fe,workspaceDiffPanelViewState:pe,sidebarFileOpenRequest:me,sidebarFileBookmarks:he,onSetSidebarFileStatus:ge,browserConversationId:H,terminalScope:_e,terminalTabs:ve,terminalCwd:be,pendingTerminalCommand:xe,terminalOpen:Se,onToggleTerminal:Ce,onWorkspaceDiffPanelViewStateChange:we,training:U,trainingSessions:Te,trainingChatHandoff:Ee,trainingDetailTasksetId:De,onTrainingDetailTasksetIdChange:Oe,onTrainingChatTaskSelect:ke,onTrainingChatHandoffDismiss:Ae,onOpenSession:je,cloudProjects:Me,projects:Ne,projectsAccountBaseUrl:Pe,projectsTeamName:Fe,projectTaskCounts:Ie,onNewCloudProject:Le,onNewLocalProject:Re,onNewProjectTask:ze,onToggleProjectPinned:Be,onUploadLocalProject:Ve,chatHistoryHasMore:He=!1,chatHistoryLoading:Ue=!1,onDiffPanelResizeStart:W,canSyncWorkspace:We,startMessage:Ge,onPayload:Ke,onError:qe,setView:Je,onOpenProfileSettings:Ye,onOpenProviderSettings:Xe,onOpenTrainingSettings:Ze,onOpenDatasetStorageSettings:Qe,changeDraftProvider:$e,changeProjectTarget:et,changeWorkspaceTarget:tt,setDraftProvider:nt,setDraftModel:rt,onBeginNewChatWithModel:it,changeCodexPermissionMode:at,changeCodexReasoningEffort:ot,changeOpenPondCommandAccessMode:st,resolveApproval:ct,answerCreateImproveQuestion:lt,approveCreateImproveRun:ut,applyCreateImproveCandidate:dt,cancelCreateImproveRun:ft,openCreateImprovePullRequest:pt,pauseCreateImproveRun:mt,reconcileCreateImprovePullRequest:ht,rejectCreateImproveCandidate:gt,resumeCreateImproveRun:_t,reviseCreateImproveRun:vt,setMentionedAppId:yt,showToast:G,onSaveTaskDraft:bt,sendPrompt:xt,stopTurn:St,syncWorkspaceLocally:Ct,refreshWorkspaceDiff:wt,onToggleDiffPanelExpanded:Tt,onShowDiffPanel:K,onShowFilePreview:Et,onShowBrowserPanel:Dt,onShowTrainingDraftPanel:Ot,onShowFilesPanel:kt,onShowExperimentsPanel:jt,onShowAgentsPanel:Mt,onShowRightChatPanel:Pt,onAddRightChat:Ft,onOpenRightChatForSession:It,onLabDetailOpenChange:Rt,evaluationSidebarActive:zt,onEvaluationSidebarControl:Vt,scheduledDetailOpen:Ht,onScheduledDetailOpenChange:Gt,onTerminalTabsChange:Kt,onCloseRightChatPanel:qt,onCloseNativeSkillSidebar:Jt,onActivateRightChatPanel:Zt,onRightChatModelChange:Qt,onRightChatPromptChange:en,onRightChatScrollStateChange:nn,onRightChatProviderChange:rn,onSubmitRightChat:on,onStopRightChat:sn,onCloseTerminal:cn,onLoadMoreChatHistory:ln}){let un=pf(H),[dn,pn]=(0,Q.useState)(),[mn]=(0,Q.useState)(()=>new Bo),hn=(0,Q.useRef)(null),gn=m&&!lr(m)?m:null,_n=ms(ue,gn),q=(0,Q.useMemo)(()=>gn?xr(c,_n.events):c,[gn,_n.events,c]),vn=(0,Q.useMemo)(()=>gn?$t(mn.project(q),u):l,[mn,gn,u,q,l]),[bn,xn]=(0,Q.useState)(null),[Sn,Cn]=(0,Q.useState)(0),wn=(0,Q.useRef)(``),Tn=(0,Q.useCallback)(()=>wn.current,[]),[En,Dn]=(0,Q.useState)(null),On=ps(H),[kn,An]=(0,Q.useState)(null),[jn,Mn]=(0,Q.useState)(null),[Nn,Pn]=(0,Q.useState)(null),[Fn,In]=(0,Q.useState)(null),[Ln,Rn]=(0,Q.useState)(null),[zn,Bn]=(0,Q.useState)(null),[Vn,Hn]=(0,Q.useState)([]);(0,Q.useEffect)(()=>{Dn(null)},[H]);let J=(0,Q.useMemo)(()=>s?.sessions.find(e=>e.id===m)??null,[s?.sessions,m]),Y=Te.find(e=>e.id===m)??J,Un=J?.currentProfile??s?.profileLibrary?.lastUsed??null,Wn=lf(s),Gn=fs({connection:R,sessionId:m,accountScope:Wn,active:i===`chat`,onOpen:jt}),Kn=Nr(s?.profileLibrary??{lastUsed:null,profiles:[]},Un)??s?.profile??null,qn=(0,Q.useMemo)(()=>tr(Kn,s?.extensionCatalog),[s?.extensionCatalog,Kn]),Jn=(0,Q.useMemo)(()=>Xt(Kn),[Kn]),Yn=(0,Q.useCallback)(async(e,t=m)=>{if(!R||!s)return;let n=wr(s.profileLibrary??{lastUsed:null,profiles:[]},e);if(n)try{let e=await Bd({ref:n,session:t&&!lr(t)?s.sessions.find(e=>e.id===t)??null:null,selectProfile:e=>vr.profileSelect(R,e),patchSession:(e,t)=>vr.patchSession(R,e,{currentProfile:t})}),r=s.sessions;e.session&&(r=r.map(t=>t.id===e.session.id?e.session:t)),Ke({...s,profile:e.selected.profile,profileLibrary:e.selected.library,sessions:r})}catch(e){let t=e instanceof Error?e.message:String(e);qe(t),G(t,`error`)}},[s,R,qe,Ke,m,G]);(0,Q.useEffect)(()=>{if(!Or(me,H))return;let{file:e,id:t}=me;if(Dn({id:t,path:e.path}),!R)return;let n=!1;return(e.workspaceKind===`local`?vr.workspaceFile(R,e.workspaceId,e.path).then(e=>e.content??``):vr.sandboxDownloadFile(R,e.workspaceId,e.path).then(e=>{if(e.file.isBinary)throw Error(`Binary files cannot be attached to chat.`);return e.contents})).then(r=>{if(n)return;let i=e.path.split(`/`).at(-1)??e.path;xn({id:t,file:new File([r],i,{type:Nm(e)})})}).catch(e=>{n||G(e instanceof Error?e.message:String(e),`error`)}),()=>{n=!0}},[H,R,G,me]);let Xn=r===`development`||r===`work`&&ee.value!==`none`,Zn=(0,Q.useMemo)(()=>{if(!Xn)return[];let e=new Map(I.filter(e=>!Yt(e)).map(e=>[e.id,e]));for(let t of Jn)e.set(t.id,t);for(let t of Vn)e.set(t.id,t);return[...e.values()]},[I,r,Xn,Vn,Jn]),Qn=Hd(R),$n=(0,Q.useCallback)(e=>{e?Qn.activate({runId:e.run.id,candidateId:e.candidate.id,title:e.run.objective,fileRootPath:e.fileRootPath,initialPath:e.initialPath}):Qn.activate(null)},[Qn.activate]),er=(0,Q.useCallback)(()=>{Qn.selection?.initialPath&&Qn.openFile(Qn.selection.initialPath),K()},[Qn.openFile,Qn.selection?.initialPath,K]),nr=(0,Q.useCallback)(e=>{Mn(e),e&&K()},[K]),rr=(0,Q.useCallback)(()=>{Mn(null),oe&&Tt()},[oe,Tt]);(0,Q.useEffect)(()=>{i!==`labs`&&Mn(null)},[i]);let X=(0,Q.useCallback)((e,t)=>{let n=Date.now(),r=I.find(t=>t.id===e)??null;h.set(``),yt(null),Je(`chat`);let i=r=>{if(!(r.find(t=>t.id===e)??null))return!1;let i=r.map(n=>n.id===e?{...n,label:t}:n);return Hn(i),window.requestAnimationFrame(()=>{Bn({actionId:e,requestId:Math.max(Date.now(),n+1)})}),!0};R?vr.profileCurrent(R).then(t=>{let n=t.actionCatalog.map(e=>Nt(e));!i(n)&&r?i([r]):n.some(t=>t.id===e)||G(`This Agent is ready, but its default chat action is unavailable.`,`error`)}).catch(e=>{r||G(e instanceof Error?e.message:String(e),`error`)}):r?i([r]):G(`The Agent action catalog is still loading. Try Use again.`,`error`)},[I,h,R,yt,Je,G]),ir=(0,Q.useCallback)((e,t)=>{h.set(e),yt(null),t&&$e(t),Je(`chat`)},[$e,h,yt,Je]),ar=(0,Q.useMemo)(()=>ie(s?.preferences),[s?.preferences]),or=ar.training,{createAgentFromLab:sr,improveAgentFromLab:cr}=Wd({activeModel:O,activeProvider:D,bootstrap:s,codexPermissionMode:k,codexReasoningEffort:A,connection:R,onOpenRightChatForSession:It,onPayload:Ke}),ur=(0,Q.useMemo)(()=>{let e=U.payload?.tasksets??[];return e.some(e=>e.id===Fn)?Fn:e[0]?.id??null},[Fn,U.payload?.tasksets]),Z=i===`labs`&&ur?`profiles/${s?.profile.activeProfile??`default`}/tasksets/${ur}`:null,fr=(0,Q.useMemo)(()=>{if(i!==`labs`||!ur||!U.payload)return null;let e=U.payload.tasksets.find(e=>e.id===ur);if(!e)return null;let t=U.payload.plans.filter(t=>t.tasksetId===e.id),n=new Set(t.map(e=>e.id)),r=U.payload.jobs.filter(e=>n.has(e.planId)).sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),a=r.find(e=>e.id===Ln)??r[0]??null;return{taskset:e,plan:a?t.find(e=>e.id===a.planId)??null:t.sort((e,t)=>t.createdAt.localeCompare(e.createdAt))[0]??null,job:a,lineage:a?U.payload.models.find(e=>e.jobId===a.id)??null:null,artifacts:a?U.payload.artifacts.filter(e=>e.jobId===a.id):[]}},[ur,Ln,U.payload,i]),pr=(0,Q.useMemo)(()=>Vd(U.payload,m),[m,U.payload]),mr=(0,Q.useMemo)(()=>To(vn),[vn]),hr=!!f||!!mr||!!p,gr=i===`labs`&&!!Qn.selection,_r=i===`labs`&&V&&se===`changes`&&!!jn,yr=(i===`chat`||i===`labs`)&&!!(N||En?.file),br=i===`chat`&&V&&se===`chat`&&le.length===0,Sr=dr(F)?P??ko(te):null,Cr=i===`chat`&&!!Sr,Tr=Sr,Er=!!Tr||L.value===`cloud`||L.value===`hybrid`,Dr=(0,Q.useMemo)(()=>Id({workspaceTarget:L.value,localWorkspaceId:N,sandboxSourceAvailable:Er,sandboxWorkspaceId:Tr,override:kn}),[N,Er,Tr,kn,L.value]),kr=Dr.source,Ar=kr===`sandbox`,jr=(0,Q.useMemo)(()=>kr&&Dr.options.length>1?{value:kr,options:Dr.options,onChange:An}:null,[kr,Dr.options]);(0,Q.useEffect)(()=>{An(null)},[N,H,Tr,L.value]);let Mr=!_r&&(gr||i===`chat`||yr||Cr)&&V&&(se===`changes`||se===`home`&&i===`chat`||se===`goal`&&hr||br),Pr=i===`chat`&&V&&se===`browser`,Fr=(i===`chat`||i===`labs`)&&V&&se===`chat`&&le.length>0,Ir=i===`chat`&&V&&se===`training`,Lr=i===`chat`&&V&&!!de,zr=i===`chat`&&V&&!!fe,Br=i===`team`&&V&&se===`chat`&&!!a.aiThread,Hr=i===`team`&&V&&se===`chat`&&!!a.agentConversation,Ur=so({supportedView:i===`chat`&&Xn||i===`labs`,open:V,hasContentPanel:Mr||_r||Pr||Fr||Ir||Lr||Br||Hr}),Wr=!zt&&(Mr||_r||Pr||Fr||Ir||Lr||Br||Hr||Ur),Gr=Wr&&se!==`chat`&&oe,Kr=s?.account.baseUrl??s?.account.activeProfile?.baseUrl??null,qr=go({activeWorkspaceId:P,cloudProjects:Me}),Jr=i===`chat`&&E&&!M&&Ia(vn),Yr=ae||vn.length>0||Jr,Xr=m??`draft:${i}:${F??`none`}:${P??N??`none`}`;wn.current=Xr;let Zr=(0,$.jsx)(io,{activeModel:O,activeProvider:D,busy:E,handoff:Ee,onDismiss:Ae,onSelectTask:ke}),Qr=(0,Q.useMemo)(()=>({onAnswerQuestion:lt,onApprove:ut,onApplyCandidate:dt,onCancel:ft,onOpenPullRequest:pt,onPause:mt,onReconcilePullRequest:ht,onRejectCandidate:gt,onResume:_t,onRevise:vt}),[lt,ut,dt,ft,pt,mt,ht,gt,_t,vt]),$r=(0,Q.useMemo)(()=>mr?{...mr,...Qr}:null,[Qr,mr]),ei=co(i,Yr),ti=(0,Q.useCallback)(async(e=[],t=null,n=null,i={})=>{let a=i.promptOverride??h.getSnapshot(),o=()=>{i.preservePrompt||(h.set(``),yt(null))};if(!t){let t=n?{command:n.id,args:a.trim()}:Lt(a);if(t){if(!Wt({id:t.command},r))return G(`/${t.command} isn't available in ${r}.`,`info`),!1;if(t.command===`train`)return e.length>0?(G(`/train uses the selected chat; add other chats from Models.`,`error`),!1):m?(o(),Pn({id:Date.now(),objective:t.args.trim()||null,initialSessionIds:[m]}),Je(`labs`),!0):(o(),Pn({id:Date.now(),objective:t.args.trim()||null,initialSessionIds:[]}),Je(`labs`),!0);if(!t.args&&t.command!==`skill`&&t.command!==`sync-cloud`)return G(`Add instructions after /${t.command}.`,`info`),!1;if(e.length>0)return G(`/${t.command} tasks do not accept attachments yet. Add file context in the task thread.`,`error`),!1;if(t.command===`submit-issue`)return Bt(S)?(Cn(e=>e+1),xt([],null,Ut(t.args),{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:Do(t,n?`composer_selection`:`prompt_parse`)})):(G(`Connect the GitHub app before using /submit-issue.`,`error`),!1);if(Oo(t)){let e=t.command===`skill`?Rd(t.args,D,s?.profile.sourcePath??null):Eo(t);return Cn(e=>e+1),xt([],null,e,{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:Do(t,n?`composer_selection`:`prompt_parse`)})}return Cn(e=>e+1),xt([],null,Eo(t),{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:Do(t,n?`composer_selection`:`prompt_parse`)})}}return Cn(e=>e+1),xt(e,t,i.promptOverride,{clearPrompt:i.preservePrompt?()=>void 0:void 0,displayPrompt:i.displayPrompt,turnMetadata:i.turnMetadata,sessionMetadata:i.sessionMetadata,onSessionCreated:i.onSessionCreated})},[O,D,F,s?.profile,S,h,r,xt,m,yt,Je,G,U,i]),ni=(0,Q.useCallback)(e=>{Ee&&e!==Ee.model.modelId&&Ae(),At(D,e),nt(D),rt(e)},[D,Ae,rt,nt,Ee]),ri=(0,Q.useCallback)((e,t)=>{Ee&&e!==Ee.model.providerId&&Ae(),$e(e,t)},[$e,Ae,Ee]),ii=(0,Q.useCallback)((e,t)=>{tn({conversationId:H,href:e,explicitFile:t?.explicitFile,newTab:t?.newTab}).then(e=>{e&&window.openpond?.browser&&(On.showBrowser(),Dt())}).catch(e=>G(e instanceof Error?e.message:`Could not open browser.`,`error`))},[H,On.showBrowser,Dt,G]),ai=yn({projectTargetDetail:ee.detail,projectTargetValue:ee.value,workspaceRepoPath:ne?.repoPath,workspaceTargetValue:L.value}),{handleOpenFileInSidebar:oi,fileResolution:si,dismissFileResolution:ci,selectFileResolution:li}=Fd({conversationKey:H,connection:R,handleOpenBrowserLink:ii,activeWorkspaceAppId:N,rightSidebarUsesSandbox:Ar,rightSidebarSandboxId:Tr,onShowDiffPanel:Et,showToast:G,workspaceRootPath:ai,setOpenDiffFileRequest:Dn});eo(ue,i===`chat`?gn:null,oi);let ui=(0,Q.useCallback)(async e=>{if(!R||!e.filePreview&&!e.imagePreview)G(`File content is not available for this attachment.`,`error`);else try{let t=e.name.trim().replace(/[\\/]+/g,`-`)||`attachment.txt`,n=`Attachments/${e.id.replace(/[^a-zA-Z0-9._-]+/g,`-`)||`file`}/${t}`,r={path:n,status:``,additions:0,deletions:0,patch:``,content:null},i,a;if(e.filePreview){let n=await vr.chatAttachmentFile(R,e.filePreview);r.content=n.content,fn(t)&&(a=await an(R,t,n.content))}else e.imagePreview&&(i=(await vr.signChatAttachmentImageUrl(R,e.imagePreview)).url);a?ii(a):Et(),Dn({id:Date.now(),path:n,source:!!a,file:r,...i?{imageUrl:i}:{}})}catch(e){G(e instanceof Error?e.message:`Could not open this attachment.`,`error`)}},[R,ii,Et,G]),di=B&&!!N&&!ne;(0,Q.useEffect)(()=>{let e=q.filter(e=>e.sessionId===m&&e.source===`server`&&e.name===`workspace_action_result`).at(-1),t=e?`${m}:${e.id}`:null;if(!hn.current||hn.current.sessionId!==m){hn.current={sessionId:m,eventId:t};return}if(t===hn.current.eventId)return;hn.current={sessionId:m,eventId:t};let n=e?.data;i===`chat`&&n?.chatResourcePresentation!==`context`&&n?.chatResource?.kind===`experiment`&&Us(n.chatResource.state??``)&&jt()},[q,m,i,jt]);let fi=Qn.selection?`candidate:${Qn.selection.runId}:${Qn.selection.candidateId}`:null,pi=i===`chat`?(e,n)=>n===-2&&R?(0,$.jsx)(rs,{selectionRequest:t?dn:void 0,connection:R,accountScopeKey:Wn,ponder:!!t,parentSessionId:m,sessions:Te,onOpenChat:je}):(0,$.jsx)(n===-1?sm:Nf,{conversationId:H,onOpenBrowser:Dt,sessionId:m,connection:R,workspaceId:N,sandboxId:Ar?Tr:null,messages:vn,events:q,onOpenFile:oi,actions:(0,$.jsx)(df,{terminalOpen:Se,sideChatAvailable:!0,onOpenFile:e,onOpenFiles:kt,onOpenAgents:Mt,onOpenExperiments:jt,onOpenReview:K,onOpenSideChat:Ft,onOpenTrainingDraft:Ot,trainingDraftAvailable:!!m,onToggleTerminal:Ce})}):null,mi=(0,Q.useMemo)(()=>se===`home`&&i===`chat`?{id:-1,tab:`outputs`,overview:`new`}:ce,[i,se,ce]),hi=Mr?(0,$.jsx)(dm,{appId:gr?fi:Ar?null:N,workspaceId:gr?fi:Ar?Tr:N,workspaceKind:gr?`local_project`:Ar?null:`local_project`,connection:R,runtimeEvents:q,diff:gr?Qn.diff:Ar?null:z,fileRootPath:gr?Qn.selection?.fileRootPath??null:Ar?null:Z,filesWithPreview:gr,editorPreferences:s?.preferences.editor??null,loading:gr?Qn.loading:Ar?B:re||di,openFileRequest:gr?Qn.openFileRequest:se===`home`?null:En,sidebarFileBookmarks:he,sidebarFileSourceSessionId:m,onSetSidebarFileStatus:ge,readOnly:gr,sideChatTabs:le.map(e=>({id:e.id,title:e.title,running:e.running})),sourceSwitcher:gr?null:jr,tabRequest:mi,additionalTabs:i===`chat`?(0,$.jsx)(lm,{tabs:un.state.tabs,activeTabId:null,onSelectTab:e=>{un.selectTab(e),On.showBrowser(),Dt()},onCloseTab:e=>void un.closeTab(e)}):void 0,renderOutputs:pi??void 0,outputsLabel:Gn,viewState:pe,workspaceName:gr?Qn.selection?.title??`Change`:Ar?te??`Sandbox`:te,workspaceInitialized:gr?!0:Ar?!!Tr:!!ne?.initialized,workspaceError:gr?Qn.error:Ar?null:ne?.error??z?.error??null,expanded:oe,onResizeStart:W,onRefresh:e=>void(gr?Qn.refresh(e):wt(e)),onToggleExpanded:Tt,onOpenBrowser:Dt,onOpenBrowserUrl:ii,onViewStateChange:we,onCloseSideChat:qt,onOpenSideChat:i===`chat`?Ft:void 0,onSelectSideChat:e=>{Zt(e),Pt()},goalDetails:{active:se===`goal`,createRuntime:$r,goalRuntime:f,subagentRuntime:p},sandboxFileSource:Ar?{sandboxId:Tr,emptyMessage:`No sandbox filesystem yet.`}:null,trainingSummary:fr}):null,gi=(0,Q.useCallback)(e=>{On.open(e),Dt()},[On.open,Dt]),_i=(0,Q.useCallback)(async(e,t,n)=>{if(!R||e.sessionId!==m)throw Error(`Open the originating conversation to select this resource.`);let r=await Vr(R,`dataset`,{action:`context`,payload:{sessionId:e.sessionId}}),i=await Vr(R,`dataset`,{action:`set_focus`,payload:{sessionId:e.sessionId,kind:t.kind,id:t.id,...t.revision?{revision:t.revision}:{},operationId:n,visualPublicationId:e.publicationId,expectedSelectionVersion:r.focus.scopeContext?.selectionVersion}}),a=t.kind===`dataset`?i.dataset:i.experiment;if(!a)throw Error(`Selected resource is unavailable.`);let o=`Selected ${t.kind}: ${a.name}${t.kind===`dataset`?` V${a.revision}`:``}.`;return await Rr.queueTaskInput(R,e.sessionId,ye.parse({prompt:o,metadata:{chatExperimentScopeId:i.scopeContext?.activeScopeId,chatExperimentSelectionVersion:i.scopeContext?.selectionVersion,chatResourceFocus:{dataset:i.dataset,experiment:i.experiment},resourceSelection:{kind:t.kind,id:a.id,revision:a.revision,visualPublicationId:e.publicationId}}}),n),window.dispatchEvent(new CustomEvent(`openpond-resource-focus-changed`,{detail:{sessionId:e.sessionId}})),o},[R,m]),vi=Pr?(0,$.jsx)(Sm,{conversationId:H,connection:R,visualTabs:On,expanded:oe,onResizeStart:W}):null,yi=Br?(0,Q.createElement)(Om,{...a,key:a.aiThread?.conversationId,onResizeStart:W}):null,bi=Hr?(0,Q.createElement)(km,{...a,key:a.agentConversation?.run.id,onResizeStart:W}):null,xi=Fr?(0,$.jsx)(Cm,{panels:le,runtimeEventStore:ue,actionCatalog:Zn,createImproveActions:Qr,contextCompaction:ar.contextCompaction,steerActiveResponses:ar.steerActiveResponses,busy:T,codexPermissionMode:k,codexReasoningEffort:A,openPondCommandAccessMode:j,connection:R,connectedAppMentions:S,mentionApps:x,codexPersonalSkills:s?.codexPersonalSkills??[],profileSkills:C,profileLibrary:s?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:s?.extensionCatalog??null,projectTarget:ee,providerSettings:s?.providers??null,accountBaseUrl:Kr,billingOrganizationSlug:qr.organizationSlug,billingTeamId:qr.teamId,showToast:G,workspaceTarget:L,onAddChat:Ft,onActivatePanel:Zt,onClosePanel:qt,onCodexPermissionModeChange:at,onCodexReasoningEffortChange:ot,onOpenPondCommandAccessModeChange:st,onModelChange:Qt,onOpenAttachmentInSidebar:ui,onOpenFileInSidebar:oi,onOpenProfileSettings:Ye,onOpenSession:je,onOpenPonder:()=>n?.(`clean`),onProviderChange:rn,onProviderSetupOpen:Xe,onPromptChange:en,onProfileTargetChange:(e,t)=>void Yn(t,e),onScrollStateChange:nn,onProjectTargetChange:et,onResolveApproval:ct,onResizeStart:W,onSelectFiles:kt,onShowBrowserPanel:Dt,onStop:sn,onSubmit:on,onWorkspaceTargetChange:e=>void tt(e)}):null,Si=bi??yi??xi??(Lr&&de?(0,$.jsx)(wm,{expanded:oe,skill:de,onClose:Jt,onResizeStart:W,onToggleExpanded:Tt}):null)??(zr&&fe?(0,$.jsx)(xm,{connection:R,expanded:oe,selection:fe,onClose:Jt,onResizeStart:W,onToggleExpanded:Tt}):null)??(_r&&jn?(0,$.jsx)(xm,{connection:R,expanded:oe,selection:jn,onClose:rr,onResizeStart:W,onToggleExpanded:Tt}):null)??hi??vi??(Ir?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Am,{training:U,sessionId:m,expanded:oe,onOpenTraining:()=>Je(`labs`),onResizeStart:W,onToggleExpanded:Tt})}):null)??(Ur?(0,$.jsx)(pm,{expanded:oe,terminalOpen:Se,sideChatAvailable:i===`chat`||i===`labs`,onOpenFiles:kt,onOpenAgents:Mt,onOpenReview:K,onOpenSideChat:Ft,onOpenTrainingDraft:Ot,trainingDraftAvailable:!!m,onResizeStart:W,onToggleExpanded:Tt,onToggleTerminal:Ce}):null),Ci=(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(fm,{open:Se,connection:R,scope:_e,tabs:ve,onTabsChange:Kt,cwd:be,appId:N,workspaceName:te,queuedCommand:xe,onClose:cn})});return(0,$.jsx)(is.Provider,{value:Wn,children:(0,$.jsx)(Ra.Provider,{value:gi,children:(0,$.jsx)(za.Provider,{value:_i,children:(0,$.jsxs)(`main`,{tabIndex:-1,"data-thread-session":i===`chat`&&!t?m??void 0:void 0,className:`main-pane ${ei} ${Se?`terminal-open`:``} ${Wr?`diff-open`:``} ${Gr?`diff-expanded`:``}`,children:[si?(0,$.jsx)(jd,{resolution:si,onClose:ci,onSelect:li}):null,i===`team`||i===`community`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(mm,{onSelect:Je,view:i})}):null,i===`chat`&&t&&R&&s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(cf,{navigationVersion:e,messageContext:{accountBaseUrl:Kr,activeWorkspaceAppId:N,billingOrganizationSlug:qr.organizationSlug,billingTeamId:qr.teamId,onOpenBrowserLink:ii,onOpenAttachmentInSidebar:ui,onOpenFileInSidebar:oi,onOpenProfileSettings:Ye,workspaceRootPath:ai},onOpenAgents:e=>{e&&pn(t=>({sessionId:e,version:(t?.version??0)+1})),Mt()},contextCompaction:ar.contextCompaction,accountScopeKey:Wn,connection:R,presentation:t,localSessions:Te,composer:{contextWindowStatus:d,providerSettings:s.providers??null,provider:D,model:O,projectTarget:ee,workspaceTarget:L,codexPermissionMode:k,codexReasoningEffort:A,openPondCommandAccessMode:j,onProviderChange:ri,onProviderSetupOpen:Xe,onProjectTargetChange:et,onWorkspaceTargetChange:e=>{tt(e)},onModelChange:ni,onCodexPermissionModeChange:at,onCodexReasoningEffortChange:ot,onOpenPondCommandAccessModeChange:st,showToast:G},accountBaseUrl:Pe,onOpenBrowserLink:ii,onOpenLocalWork:je},Wn),Ci,(0,$.jsx)(Q.Suspense,{fallback:null,children:Si})]}):i===`apps`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(hm,{payload:s,onPayload:Ke,account:s?.account??null,connection:R,defaultTeamId:s?.preferences.defaultTeamId??null,onToast:G})}):i===`team`?(0,$.jsxs)(Q.Suspense,{fallback:null,children:[a.teamId?(0,$.jsx)(Tm,{...a}):(0,$.jsx)(Em,{}),Wr?Si:null]}):i===`community`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Dm,{...o})}):i===`get-started`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(gm,{})}):i===`scheduled`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(vm,{connection:R,selectedProfileKey:Un?JSON.stringify(Un):null,onOpenSession:je,detailOpen:Ht,detailExpanded:oe,onDetailOpenChange:Gt,onDetailResizeStart:W,onToggleDetailExpanded:Tt},Wn)}):i===`outputs`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(ym,{connection:R,onViewChat:je})}):i===`projects`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(bm,{accountBaseUrl:Pe,connection:R,onNewCloudProject:Le,onNewLocalProject:Re,onNewTask:ze,onTogglePinned:Be,onUploadLocalProject:Ve,projects:Ne,taskCountByProjectId:Ie,teamName:Fe},Wn)}):i===`labs`?Gr?(0,$.jsx)(Q.Suspense,{fallback:null,children:Si}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(_m,{account:s?.account??null,closeDetailRequestId:_,closeDetailKind:v,onNewModel:(e,t,n)=>{Pn({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:e,learnedPreferenceReward:t,initialModelId:n})},onUseAgent:X,onCreateAgent:sr,onImproveAgent:cr,onDetailOpenChange:Rt,onEvaluationSidebarControl:Vt,onSkillSelectionChange:nr,onOpenRunConversation:It,onAnswerQuestion:lt,onApplyCandidate:dt,onApprove:ut,onCancel:ft,candidateReview:{diff:Qn.diff,error:Qn.error,loading:Qn.loading},onCandidateReviewChange:$n,onOpenPullRequest:pt,onOpenCandidateFiles:er,onPause:mt,onReconcilePullRequest:ht,onRejectCandidate:gt,onResume:_t,onRevise:vt,profileView:{payload:s,connection:R,onPayload:Ke,onError:qe,onToast:G,onSkillCommand:ir},training:{training:U,sessions:Te,localProjects:s?.localProjects??[],connection:R,defaultModel:{providerId:D,modelId:O},onError:qe,onToast:G,onSettingsPreferences:e=>{s&&Ke({...s,preferences:e.preferences})},onOpenTrainingSettings:Ze,onOpenProviderSettings:Xe,onOpenDatasetStorageSettings:Qe,onOpenChat:je,onChatWithModel:it,onOpenTasksetFiles:kt,launchRequest:y??Nn,onLaunchHandled:e=>{y?.id===e?b(e):Pn(t=>t?.id===e?null:t)},preferences:or,settingsPreferences:ar,providerSettings:s?.providers??null,reasoningEffort:A,selectedTasksetId:ur,onSelectedTasksetIdChange:In,onSelectedTrainingJobIdChange:Rn,detailTasksetId:De,onDetailTasksetIdChange:Oe}})}),Ci,Wr?(0,$.jsx)(Q.Suspense,{fallback:null,children:Si}):null]}):Gr?(0,$.jsx)(Q.Suspense,{fallback:null,children:Si}):Yr?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Lo,{hasApproval:!!M,scroll:{browserConversationId:H,chatSubmissionVersion:Sn,chatHistoryHasMore:He,chatHistoryLoading:Ue,chatMessages:vn,onLoadMoreChatHistory:ln,pendingApproval:M,showChatThread:Yr,showThinkingIndicator:Jr,turnRunning:E,view:i},thread:{formalReviewTeamId:ar.defaultTeamId??null,formalReviewActorId:s?.account.profile?.id??null,formalReviewScopeKey:Wn,onFormalReviewOpen:()=>Je(`labs`),accountBaseUrl:Kr,activeWorkspaceAppId:N,billingOrganizationSlug:qr.organizationSlug,billingTeamId:qr.teamId,connection:R,creation:pr,onOpenBrowserLink:ii,onOpenAttachmentInSidebar:ui,onOpenFileInSidebar:oi,onOpenProfileSettings:Ye,onResolveUserQuestion:async(e,t)=>{let n=t.action===`answer`?t.text:`Dismiss this question`;if(!await xt([],null,n,{displayPrompt:n,turnMetadata:{userQuestionResolution:t}}))throw Error(`The question response could not be sent.`)},onOpenSession:je,onOpenPonder:()=>n?.(`clean`),userAttachmentDisplay:D===`codex`?`compact`:`full`,workspaceRootPath:ai},composerPrefix:(0,$.jsxs)($.Fragment,{children:[pr?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(jm,{compact:!0,creation:pr,training:U,onOpenTraining:()=>Je(`labs`)})}):null,Zr,(0,$.jsx)(Od,{connection:R,showToast:G,approval:M,onResolve:ct})]}),composer:(0,$.jsx)(gd,{experience:r,readOnlyReason:typeof Y?.metadata?.nativeReadOnlyReason==`string`?Y.metadata.nativeReadOnlyReason:null,readOnlySession:Y,onOpenNativeParent:je,draftStore:h,attachmentRequest:bn,mode:`dock`,focusRequestId:g,mentionApps:Xn?x:[],connectedAppMentions:S,profileSkills:D===`codex`?s?.codexPersonalSkills??[]:qn,selectedMentionAppId:w,contextWindowStatus:d,goalRuntime:f,subagentRuntime:p,createImproveRuntime:Xn?$r:null,busy:E,running:E,steerActiveResponses:ar.steerActiveResponses,taskSessionId:gn,goalSessionId:m,taskEvents:q,submissionScopeKey:Xr,composerDraftStore:h,getCurrentSubmissionScopeKey:Tn,voiceInputChannelKey:`main-composer:${Xr}`,showProjectFooter:!0,connection:R,providerSettings:s?.providers??null,provider:D,model:O,projectTarget:ee,profileTarget:null,actionCatalog:Zn,requestedAction:zn,workspaceTarget:L,codexPermissionMode:k,codexReasoningEffort:A,openPondCommandAccessMode:j,onProviderChange:ri,onProviderSetupOpen:Xe,onProjectTargetChange:et,onProfileTargetChange:e=>void Yn(e),onWorkspaceTargetChange:e=>void tt(e),onModelChange:ni,onCodexPermissionModeChange:at,onCodexReasoningEffortChange:ot,onOpenPondCommandAccessModeChange:st,onMentionAppSelect:yt,onSaveTaskDraft:bt,showToast:G,onSubmit:ti,onStop:St})}),Ci,(0,$.jsx)(Q.Suspense,{fallback:null,children:Si})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`section`,{className:`start-panel`,children:[(0,$.jsxs)(`div`,{className:`start-welcome`,children:[(0,$.jsx)(`h1`,{children:Ge}),We&&(0,$.jsx)(oo,{busy:B,onSync:()=>void Ct()})]}),(0,$.jsxs)(`div`,{className:`composer-stack start`,children:[Zr,(0,$.jsx)(Od,{connection:R,showToast:G,approval:M,onResolve:ct}),(0,$.jsx)(gd,{experience:r,draftStore:h,attachmentRequest:bn,mode:`start`,autoFocus:!0,focusRequestId:g,mentionApps:Xn?x:[],connectedAppMentions:S,profileSkills:D===`codex`?s?.codexPersonalSkills??[]:qn,selectedMentionAppId:w,contextWindowStatus:d,goalRuntime:f,subagentRuntime:p,createImproveRuntime:Xn?$r:null,busy:E,running:E,steerActiveResponses:ar.steerActiveResponses,taskSessionId:gn,goalSessionId:m,taskEvents:q,submissionScopeKey:Xr,composerDraftStore:h,getCurrentSubmissionScopeKey:Tn,voiceInputChannelKey:`main-composer:${Xr}`,connection:R,providerSettings:s?.providers??null,provider:D,model:O,showProjectFooter:!0,projectTarget:ee,profileTarget:null,actionCatalog:Zn,requestedAction:zn,workspaceTarget:L,codexPermissionMode:k,codexReasoningEffort:A,openPondCommandAccessMode:j,onProviderChange:ri,onProviderSetupOpen:Xe,onProjectTargetChange:et,onProfileTargetChange:e=>void Yn(e),onWorkspaceTargetChange:e=>void tt(e),onModelChange:ni,onCodexPermissionModeChange:at,onCodexReasoningEffortChange:ot,onOpenPondCommandAccessModeChange:st,onMentionAppSelect:yt,onSaveTaskDraft:bt,showToast:G,onSubmit:ti,onStop:St})]})]}),Ci,(0,$.jsx)(Q.Suspense,{fallback:null,children:Si})]})]})})})})}function Nm(e){let t=e.path.toLowerCase();return t.endsWith(`.md`)||t.endsWith(`.mdx`)?`text/markdown`:t.endsWith(`.json`)?`application/json`:t.endsWith(`.yaml`)||t.endsWith(`.yml`)?`application/yaml`:`text/plain`}export{la as $,ms as A,za as B,df as C,Gr as Ct,_u as D,hd as E,Ya as F,Ma as G,Fa as H,Ka as I,wa as J,Aa as K,Wa as L,Po as M,Mm as MainPane,eo as N,gu as O,Za as P,fa as Q,Ua as R,pf as S,Kr as St,Od as T,Pa as U,La as V,Ia as W,ya as X,Ca as Y,ca as Z,vf as _,ei as _t,Qp as a,Xi as at,xf as b,$r as bt,Zp as c,bi as ct,dp as d,_i as dt,Yi as et,Hf as f,gi as ft,Rf as g,si as gt,Vf as h,pi as ht,Xp as i,na as it,Bo as j,Wl as k,Pp as l,yi as lt,zf as m,vi as mt,em as n,ea as nt,$p as o,ua as ot,Bf as p,di as pt,Ea as q,Jp as r,oa as rt,Yp as s,xi as st,cm as t,ta as tt,yp as u,fi as ut,bf as v,Xr as vt,uf as w,mf as x,Yr as xt,yf as y,Qr as yt,Ra as z};
|