openpond 0.2.61 → 0.2.63
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/README.md +2 -0
- package/dist/app-server.d.ts +4713 -477
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-FUAWCKBH.js → acp-H3MJCPHX.js} +1 -1
- package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-DWA7272M.js} +1 -1
- package/dist/chunks/actions-command-IIYOO4LL.js +2 -0
- package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-K7H2WJ56.js} +1 -1
- package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +2 -0
- package/dist/chunks/{app-server-evaluations-HAAYVEXB.js → app-server-evaluations-XGMGS67X.js} +1 -1
- package/dist/chunks/app-server-harness-services-BHD6S5II.js +2 -0
- package/dist/chunks/app-server-runtime-LFIL6F7D.js +2 -0
- package/dist/chunks/apps-QKAHJGQ4.js +2 -0
- package/dist/chunks/chunk-25XXZS3E.js +2 -0
- package/dist/chunks/chunk-27JGS3KB.js +12 -0
- package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
- package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-2HAWOMZK.js} +1 -1
- package/dist/chunks/chunk-2LJCJOJ7.js +2 -0
- package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
- package/dist/chunks/{chunk-CN5OXQ7A.js → chunk-3YXYBYWK.js} +1 -1
- package/dist/chunks/{chunk-LHENAWLH.js → chunk-42V4NV2F.js} +1 -1
- package/dist/chunks/{chunk-DW3GJRY3.js → chunk-4FNCBA3Y.js} +1 -1
- package/dist/chunks/{chunk-TXBIZDXG.js → chunk-4L6DU6Z2.js} +1 -1
- package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
- package/dist/chunks/{chunk-MLTKB5G3.js → chunk-4SZ3HKHU.js} +1 -1
- package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
- package/dist/chunks/chunk-5EP2DZLJ.js +2 -0
- package/dist/chunks/chunk-5FU5RLML.js +2 -0
- package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-5MHYGMJG.js} +1 -1
- package/dist/chunks/chunk-6EBCS57F.js +2 -0
- package/dist/chunks/chunk-6RS4NAOY.js +2 -0
- package/dist/chunks/chunk-6XSSM4WT.js +3 -0
- package/dist/chunks/{chunk-NVHZRKXB.js → chunk-7HRLWPPZ.js} +1 -1
- package/dist/chunks/chunk-7O6Z3VOZ.js +2 -0
- package/dist/chunks/{chunk-BQUWZRWU.js → chunk-7WYL2IDD.js} +1 -1
- package/dist/chunks/chunk-7YLXGILH.js +2 -0
- package/dist/chunks/chunk-7ZLXFKRI.js +2 -0
- package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
- package/dist/chunks/{chunk-TTN63EAM.js → chunk-AH26AQN7.js} +1 -1
- package/dist/chunks/chunk-AHOBCBVZ.js +2 -0
- package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
- package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
- package/dist/chunks/chunk-B5R53U74.js +2 -0
- package/dist/chunks/chunk-BKEDG3A4.js +22 -0
- package/dist/chunks/{chunk-CO3OJFPU.js → chunk-BPZOABMC.js} +1 -1
- package/dist/chunks/{chunk-5VPU7OS7.js → chunk-BSPFY3Y5.js} +1 -1
- package/dist/chunks/{chunk-U4HZD2GM.js → chunk-BU27SLZP.js} +2 -2
- package/dist/chunks/chunk-C2AXMKK4.js +2 -0
- package/dist/chunks/{chunk-SIV5P6JO.js → chunk-C2LAEGOW.js} +2 -2
- package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-CZ5R4JXZ.js} +1 -1
- package/dist/chunks/{chunk-D4JZALZ4.js → chunk-DABBHWSF.js} +1 -1
- package/dist/chunks/{chunk-ROE24PN5.js → chunk-DLANLLKH.js} +1 -1
- package/dist/chunks/{chunk-57RY3LSR.js → chunk-DQI5TE6A.js} +2 -2
- package/dist/chunks/chunk-DTTFUANI.js +12 -0
- package/dist/chunks/{chunk-VBW2X42G.js → chunk-DUL6DXOI.js} +1 -1
- package/dist/chunks/{chunk-OQUKSRU3.js → chunk-ELX7VRSU.js} +1 -1
- package/dist/chunks/chunk-ERL2M773.js +3 -0
- package/dist/chunks/chunk-ERT32RZA.js +86 -0
- package/dist/chunks/{chunk-RPOD6I64.js → chunk-EZRUWIP6.js} +1 -1
- package/dist/chunks/{chunk-MCIIGQT7.js → chunk-F6UQ6PPK.js} +1 -1
- package/dist/chunks/chunk-F7QTIHXX.js +2 -0
- package/dist/chunks/chunk-FAKDGLZQ.js +8 -0
- package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FVRII5XO.js} +1 -1
- package/dist/chunks/{chunk-GEXKTGLY.js → chunk-FYYYECHE.js} +50 -48
- package/dist/chunks/chunk-G32BO6M5.js +4 -0
- package/dist/chunks/{chunk-TSAW2QVU.js → chunk-G6OR5NB6.js} +1 -1
- package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GGJUWIGR.js} +1 -1
- package/dist/chunks/{chunk-Q66LWQGF.js → chunk-GPL2Z65R.js} +1 -1
- package/dist/chunks/{chunk-LNRFRAV5.js → chunk-GS6ZUSIN.js} +2 -2
- package/dist/chunks/{chunk-OFVUN4KI.js → chunk-GVARQXYI.js} +1 -1
- package/dist/chunks/chunk-GXCUH2VV.js +17 -0
- package/dist/chunks/{chunk-IUGK6BBY.js → chunk-GXZCMO6S.js} +1 -1
- package/dist/chunks/{chunk-CLFYRN46.js → chunk-H6C4MAUN.js} +1 -1
- package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
- package/dist/chunks/{chunk-I3W27VK4.js → chunk-HUCBKXTU.js} +1 -1
- package/dist/chunks/{chunk-P4XM7LUT.js → chunk-IHB5GTOJ.js} +2 -2
- package/dist/chunks/{chunk-U447MS3Y.js → chunk-IWWXIUAQ.js} +1 -1
- package/dist/chunks/chunk-J572ANHX.js +13 -0
- package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-J7ZTPXRQ.js} +1 -1
- package/dist/chunks/chunk-JCLTFDVW.js +2 -0
- package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
- package/dist/chunks/{chunk-ELYRVTTG.js → chunk-JORRZ4BB.js} +1 -1
- package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
- package/dist/chunks/chunk-JSQRLLN6.js +2 -0
- package/dist/chunks/chunk-KCOTDUGW.js +2 -0
- package/dist/chunks/{chunk-NK4JKB7C.js → chunk-KHTAAVC2.js} +1 -1
- package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
- package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
- package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LK2K3SPM.js} +2 -2
- package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-LKKMLBOH.js} +1 -1
- package/dist/chunks/{chunk-BNZTJPK7.js → chunk-LSZJ5M3X.js} +1 -1
- package/dist/chunks/chunk-M3FLEZ4E.js +4 -0
- package/dist/chunks/{chunk-4LZLO4OW.js → chunk-M3SCON53.js} +1 -1
- package/dist/chunks/{chunk-VPDG2V2R.js → chunk-MEGKXGW3.js} +1 -1
- package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
- package/dist/chunks/chunk-MPNJ2BB4.js +2 -0
- package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-N33D7KCW.js} +1 -1
- package/dist/chunks/chunk-N42HT64M.js +2 -0
- package/dist/chunks/{chunk-L3GA2CQI.js → chunk-N4VHLJBZ.js} +1 -1
- package/dist/chunks/chunk-NEJLJ2XY.js +2 -0
- package/dist/chunks/chunk-NG2L6D7G.js +2 -0
- package/dist/chunks/{chunk-7EAWLYYB.js → chunk-NLYZ5K7U.js} +2 -2
- package/dist/chunks/{chunk-B47JMAVW.js → chunk-NT7N6KLE.js} +1 -1
- package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
- package/dist/chunks/{chunk-PAZDQRYU.js → chunk-NZTCH6K5.js} +1 -1
- package/dist/chunks/{chunk-CQF6QZEL.js → chunk-OG33QAG6.js} +1 -1
- package/dist/chunks/chunk-OTUBJV6C.js +6 -0
- package/dist/chunks/{chunk-TMMFF6DO.js → chunk-PBTXLQAU.js} +1 -1
- package/dist/chunks/chunk-Q34IF4PW.js +2 -0
- package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-QJ6KUVAR.js} +1 -1
- package/dist/chunks/{chunk-SID4X3YN.js → chunk-QU4UE73E.js} +1 -1
- package/dist/chunks/{chunk-I7JCARVH.js → chunk-R6VJDOQM.js} +3 -3
- package/dist/chunks/{chunk-6RVF2J47.js → chunk-R6WMY6AH.js} +1 -1
- package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-RDSVU6F6.js} +1 -1
- package/dist/chunks/{chunk-R4PDSOB4.js → chunk-RFMME46Z.js} +1 -1
- package/dist/chunks/{chunk-GQUS7MCH.js → chunk-RZUCVF2Q.js} +1 -1
- package/dist/chunks/chunk-SFKZITAG.js +9 -0
- package/dist/chunks/{chunk-MF35MALN.js → chunk-SHJY5RLU.js} +1 -1
- package/dist/chunks/chunk-SI5W5LBV.js +2 -0
- package/dist/chunks/chunk-SO42ZB5K.js +2 -0
- package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
- package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
- package/dist/chunks/{chunk-ZISYLRH6.js → chunk-TCOTXCV6.js} +1 -1
- package/dist/chunks/{chunk-QCSLEMZF.js → chunk-U2K7QJCG.js} +1 -1
- package/dist/chunks/{chunk-ISIXFK6U.js → chunk-UH4JSSRL.js} +28 -28
- package/dist/chunks/chunk-UPWJSNL5.js +2 -0
- package/dist/chunks/chunk-URNMC46H.js +157 -0
- package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
- package/dist/chunks/{chunk-WFVOG5PU.js → chunk-V7KR74NO.js} +1 -1
- package/dist/chunks/{chunk-QDBYLJGH.js → chunk-VHXDWAEH.js} +1 -1
- package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-W2TICQ62.js} +1 -1
- package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
- package/dist/chunks/chunk-WP2L2NY2.js +2 -0
- package/dist/chunks/chunk-WSOUMXH3.js +24 -0
- package/dist/chunks/chunk-WWQNMC7C.js +6 -0
- package/dist/chunks/chunk-XMHIQ3SK.js +5 -0
- package/dist/chunks/{chunk-5MTN6KXV.js → chunk-XNOMIWEY.js} +1 -1
- package/dist/chunks/{chunk-T4LLJC5N.js → chunk-XOB6FKQV.js} +1 -1
- package/dist/chunks/chunk-Y766IN7Y.js +2 -0
- package/dist/chunks/chunk-YCZZ62C2.js +2 -0
- package/dist/chunks/chunk-YM4PSVFW.js +4 -0
- package/dist/chunks/chunk-YNQWJWIC.js +10 -0
- package/dist/chunks/{chunk-LBBXVOVR.js → chunk-Z3BWCFLV.js} +1 -1
- package/dist/chunks/{chunk-WRQEYW3V.js → chunk-ZG6353RM.js} +1 -1
- package/dist/chunks/{chunk-PE7UKJXK.js → chunk-ZPTKR3GB.js} +1 -1
- package/dist/chunks/{chunk-2VXL6AU3.js → chunk-ZYVHOVKL.js} +1 -1
- package/dist/chunks/chunk-ZZHXQCNB.js +22 -0
- package/dist/chunks/cli-PSXMIJTF.js +2 -0
- package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-XYKMXIWF.js} +1 -1
- package/dist/chunks/connected-app-executor-6G2LA3PQ.js +2 -0
- package/dist/chunks/connected-evidence-IRXYN6YD.js +2 -0
- package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-JONPTII6.js} +1 -1
- package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
- package/dist/chunks/{continual-CJUZM5ZQ.js → continual-Z7MO2PF6.js} +1 -1
- package/dist/chunks/core-commands-WWN7X3XC.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +4 -0
- package/dist/chunks/datasets-2PC2HP7N.js +2 -0
- package/dist/chunks/desktop-test-VU6AFAMO.js +3 -0
- package/dist/chunks/dist-47AYOIH6.js +2 -0
- package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
- package/dist/chunks/{dist-DCSLPBO2.js → dist-MXBEBM4D.js} +1 -1
- package/dist/chunks/evaluation-coordination-UOWZHHC5.js +2 -0
- package/dist/chunks/experiment-improvements-EB2CV5RA.js +2 -0
- package/dist/chunks/experiments-SZQYR6MH.js +2 -0
- package/dist/chunks/experiments-signal-2KJCP25D.js +2 -0
- package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
- package/dist/chunks/{help-M2VQGPVC.js → help-7HXFWIKS.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +2 -0
- package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +2 -0
- package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +3 -0
- package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +2 -0
- package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +3 -0
- package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +3 -0
- package/dist/chunks/{hosted-profile-evaluation-preparation-ZAOGDQXO.js → hosted-profile-evaluation-preparation-2LSMZQNA.js} +1 -1
- package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-WGXGXJ7E.js} +1 -1
- package/dist/chunks/human-review-M26UKGJL.js +2 -0
- package/dist/chunks/{import-WLLUIDS6.js → import-6SI4BEKS.js} +2 -2
- package/dist/chunks/learning-HM3NWOV5.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +2 -0
- package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +2 -0
- package/dist/chunks/model-projects-YUAMBQTO.js +2 -0
- package/dist/chunks/opchat-AG4CWVY4.js +3 -0
- package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +2 -0
- package/dist/chunks/organizations-KDKX77XZ.js +2 -0
- package/dist/chunks/{profile-JRS3JNRC.js → profile-O5HL5DTQ.js} +1 -1
- package/dist/chunks/project-action-payload-QA24HYGF.js +2 -0
- package/dist/chunks/project-agent-XBOOM5TS.js +2 -0
- package/dist/chunks/published-experiment-source-GZGN354O.js +2 -0
- package/dist/chunks/refiner-profile-service-BJMOYKTC.js +2 -0
- package/dist/chunks/{runtime-CBJF5GMB.js → runtime-XBA744HJ.js} +2 -2
- package/dist/chunks/sandbox-command-5ECGS7DG.js +2 -0
- package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-27U3FQN7.js} +1 -1
- package/dist/chunks/saved-work-KUNVTJ7O.js +2 -0
- package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-FIPWOXWV.js} +1 -1
- package/dist/chunks/src-BLWX6DRG.js +424 -0
- package/dist/chunks/{src-4YZF6L6H.js → src-PU7QTFO5.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +2 -0
- package/dist/chunks/store-chat-resources-YOEJ2BI6.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-FOMYYS25.js} +1 -1
- package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-K324SQTO.js} +1 -1
- package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-3LQMIYAP.js} +1 -1
- package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-3KSX7RSO.js} +1 -1
- package/dist/chunks/store-evaluation-results-LHCCNNE6.js +7 -0
- package/dist/chunks/{store-harness-evaluation-review-settings-I2R3HPO3.js → store-harness-evaluation-review-settings-AAN7KKJ5.js} +1 -1
- package/dist/chunks/{store-harness-refinement-candidates-SUT45FQX.js → store-harness-refinement-candidates-3PHL3BUY.js} +1 -1
- package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +2 -0
- package/dist/chunks/store-human-review-QJY3ZPPF.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +2 -0
- package/dist/chunks/{store-learning-MFS4DGQR.js → store-learning-DW3QLQXU.js} +1 -1
- package/dist/chunks/{store-learning-credentials-BECWEG2Y.js → store-learning-credentials-67QNTPA7.js} +1 -1
- package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-QTVHJAEP.js} +1 -1
- package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +2 -0
- package/dist/chunks/store-model-configuration-3SU73CMS.js +3 -0
- package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +2 -0
- package/dist/chunks/store-ponder-history-WDLMXBIJ.js +2 -0
- package/dist/chunks/store-ponder-hosted-DX6E2BVW.js +4 -0
- package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-DWV5XSMY.js} +1 -1
- package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-2KUY4T6M.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-A4XCS7RM.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-V2PKRXUZ.js} +1 -1
- package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-UGVEFA6M.js} +1 -1
- package/dist/chunks/store-task-inbox-QABI4ZAH.js +33 -0
- package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-GEQIZELY.js} +1 -1
- package/dist/chunks/store-taskset-drafts-GXABQR5G.js +9 -0
- package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-CQV7PL3V.js} +1 -1
- package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-XKN6K66J.js} +18 -10
- package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-Q7DTTR4S.js} +1 -1
- package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-XGAX7NLB.js} +1 -1
- package/dist/chunks/{taskset-NYLUYX6K.js → taskset-ARKJQKYQ.js} +1 -1
- package/dist/chunks/taskset-packages-X4K65DTW.js +2 -0
- package/dist/chunks/taskset-packages-XK7FSD45.js +2 -0
- package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-UTQAJA6H.js} +1 -1
- package/dist/chunks/training-3IWW4256.js +2 -0
- package/dist/chunks/{training-UBX6E7SK.js → training-RVIESURJ.js} +1 -1
- package/dist/chunks/training-error-2EWDOQ4G.js +2 -0
- package/dist/chunks/training-hosted-PFJHYTEU.js +2 -0
- package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +2 -0
- package/dist/chunks/training-hosted-feedback-5B2KJGOT.js +2 -0
- package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +2 -0
- package/dist/chunks/training-hosted-report-UVGTPDOK.js +2 -0
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
- package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +2 -0
- package/dist/chunks/training-hosted-workers-LST4ZUXN.js +2 -0
- package/dist/chunks/training-model-start-ROLS3E4V.js +2 -0
- package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
- package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-7FBUBZ66.js} +1 -1
- package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-G3CMY7ZA.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/hosted-chat.d.ts +28 -0
- package/dist/index.js +1 -1
- package/dist/sandbox/url.d.ts +3 -1
- package/dist/skills/LICENSE +21 -0
- package/dist/skills/manifest.json +168 -0
- package/dist/skills/openpond-agent-authoring/SKILL.md +9 -3
- package/dist/skills/openpond-agent-authoring/references/profile-layout.md +1 -1
- package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +2 -2
- package/dist/skills/openpond-cli/SKILL.md +24 -7
- package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
- package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
- package/dist/skills/openpond-cli/references/experiments-and-training.md +156 -11
- package/dist/skills/openpond-refiner-authoring/SKILL.md +4 -0
- package/dist/skills/openpond-skill-authoring/SKILL.md +5 -1
- package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
- package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
- package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
- package/dist/web/assets/App-DY2R8Z6r.js +53 -0
- package/dist/web/assets/App-DpFKLxuA.css +1 -0
- package/dist/web/assets/AppDialog-8Y0FYalT.js +1 -0
- package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +2 -0
- package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-BiQbbVxq.js} +1 -1
- package/dist/web/assets/AppsView-Dtte4h6e.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-DgADV7dn.js} +1 -1
- package/dist/web/assets/BrowserSidebar-BUqDvEv9.js +1 -0
- package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-J4ChOjvG.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +8 -0
- package/dist/web/assets/ChatTimelineEntry-DztFb85D.css +1 -0
- package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-CFCpk2Ck.js} +1 -1
- package/dist/web/assets/CommandMenu-EPPjB14H.js +1 -0
- package/dist/web/assets/CommunityView-Okydjpqm.js +1 -0
- package/dist/web/assets/ComposerAttachments-RXCiE88M.js +2 -0
- package/dist/web/assets/ComposerCreateImproveStrip-CSngc8-V.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-DS73kyfj.js +1 -0
- package/dist/web/assets/FilePagePreview-Qc4B0vue.js +2 -0
- package/dist/web/assets/GetStartedView-DGFPQ1We.js +1 -0
- package/dist/web/assets/GettingStartedDialog-DFBYQdHz.js +1 -0
- package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
- package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-BDu3FlcU.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-CHaTHwC8.js +1 -0
- package/dist/web/assets/HtmlVisual-C7GlEVfH.css +1 -0
- package/dist/web/assets/HtmlVisual-D9Mh7xds.js +81 -0
- package/dist/web/assets/LabModelVersionDetailPage-DgY7lAu5.js +1 -0
- package/dist/web/assets/LabSkillSidebar-BwtlThO7.js +1 -0
- package/dist/web/assets/LabsRoute-BV7ZJGEw.js +101 -0
- package/dist/web/assets/MainChatThread-pzHKd_YN.js +2 -0
- package/dist/web/assets/MainPane-6OlLiKKb.js +10 -0
- package/dist/web/assets/MainPane-Dje-hfUM.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-BEJvt5_H.js +1 -0
- package/dist/web/assets/NewProjectDialog-CjrjgkTN.js +1 -0
- package/dist/web/assets/OutputsPage-jzx93QQ3.js +1 -0
- package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-C1M13qG2.js} +1 -1
- package/dist/web/assets/ProjectsPage-DZrjlMp2.js +1 -0
- package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Cw1ja2GF.js +1 -0
- package/dist/web/assets/{SettingsView-Y8f98GSE.css → SettingsView-Cc0376pY.css} +1 -1
- package/dist/web/assets/SettingsView-CckoIki3.js +5 -0
- package/dist/web/assets/TasksetDraftEditorPrimitives-ByC8bDjp.js +1 -0
- package/dist/web/assets/TeamChatView-OprnSKLF.js +1 -0
- package/dist/web/assets/TerminalOverlay-d7A2F9Lx.js +16 -0
- package/dist/web/assets/TrainingCreationPanel-Cyn6R6I6.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-Mpb5e7t5.js} +1 -1
- package/dist/web/assets/TrainingRunLineage-PXzWR65d.css +1 -0
- package/dist/web/assets/TrainingRunLineage-VcKz7dIR.js +1 -0
- package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-FhYymrfc.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-C8y3537a.js +35 -0
- package/dist/web/assets/WorkspaceFileLocation-LrEWj4UK.js +1 -0
- package/dist/web/assets/WorkspaceGitDialogs-NRIMXnkS.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-CvDGjKAL.js} +3 -3
- package/dist/web/assets/WorkspacePdfPreview-BZ0BbnHv.js +2 -0
- package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-DJrjrvT0.js} +1 -1
- package/dist/web/assets/app-models-CUA9XB9U.js +1 -0
- package/dist/web/assets/bot-6OhUEmkE.js +1 -0
- package/dist/web/assets/browser-sidebar-links-ZyYiYBBd.js +1 -0
- package/dist/web/assets/chat-resources-CI8KFVO5.js +1 -0
- package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-jmVA1BIf.js} +1 -1
- package/dist/web/assets/chevron-right-BYmDQ7ti.js +1 -0
- package/dist/web/assets/chevron-up-CstyLXH3.js +1 -0
- package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ONGOAEY6-C__DQmRT.js} +5 -5
- package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-SQBYHWZU-DumrB9SB.js} +1 -1
- package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-BdQ_YDuk.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-Ck1ufAr8.js} +1 -1
- package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
- package/dist/web/assets/contracts-BLiqJxBv.js +1 -0
- package/dist/web/assets/copy-CPkbMfXt.js +1 -0
- package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-CXQny8HU.js} +1 -1
- package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-CYxYl_om.js} +1 -1
- package/dist/web/assets/external-link-CDKOLG_v.js +1 -0
- package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-CEtOb_lK.js} +1 -1
- package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-CVMYZs3e.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-DDyhPjxS.js} +1 -1
- package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-DoY4V_j0.js} +1 -1
- package/dist/web/assets/icons-D7jkCa2d.js +1 -0
- package/dist/web/assets/{image-C7HVlg3X.js → image-B-PjDSwU.js} +1 -1
- package/dist/web/assets/{index-BsPUniZy.js → index-D9WbJMSq.js} +2 -2
- package/dist/web/assets/index-g7UqJhnX.css +1 -0
- package/dist/web/assets/{info-BLWDShaz.js → info-CCnw-K3b.js} +1 -1
- package/dist/web/assets/intake-contracts-BW0Y0C2R.js +1 -0
- package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-CeOpZdPj.js} +1 -1
- package/dist/web/assets/loader-circle-CPaJeTDy.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-DAbgLCqZ.js} +1 -1
- package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-BZX38cpr.js} +1 -1
- package/dist/web/assets/message-square-CvgSecgD.js +1 -0
- package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-CF2JDhi4.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-cbDqt48m.js} +2 -2
- package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-m2ze2EsL.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-yeyow_-Q.js} +2 -2
- package/dist/web/assets/{monitor-B6OuAu13.js → monitor-By0s4hxb.js} +1 -1
- package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-BJ2QgJLa.js} +1 -1
- package/dist/web/assets/{pdf-RXlFwNte.js → pdf-C4x-1jjP.js} +1 -1
- package/dist/web/assets/pdf.worker.min-BrEVksTu.js +1 -0
- package/dist/web/assets/play-D_SuGDBM.js +1 -0
- package/dist/web/assets/plus-yw95Iaj8.js +1 -0
- package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-I86G1Gd9.js} +1 -1
- package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
- package/dist/web/assets/{python-BQXo7wMt.js → python-CqFTPj8r.js} +1 -1
- package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-Dga35Eay.js} +1 -1
- package/dist/web/assets/requests-BCbaFiqV.js +1 -0
- package/dist/web/assets/{reward-checks-5AOStF27.js → reward-checks-Bcq9ETCA.js} +1 -1
- package/dist/web/assets/{save-BxXc21N6.js → save-BLKjYtzR.js} +1 -1
- package/dist/web/assets/settings-D7C-Auyi.js +21 -0
- package/dist/web/assets/settings-lists-DMKA1lCN.js +5 -0
- package/dist/web/assets/square-BY5lG2Ol.js +1 -0
- package/dist/web/assets/square-terminal-B-n7vUex.js +1 -0
- package/dist/web/assets/submit-issue-command-B7Hrt2tU.js +3 -0
- package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-BhmBE5XE.js} +1 -1
- package/dist/web/assets/training-QrdkRQZQ.js +2 -0
- package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-DB-jg6L_.js} +12 -12
- package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-BSWEII2p.js} +1 -1
- package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
- package/dist/web/assets/{upload-NXasN1wU.js → upload-C4MPhQn8.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-9oqWdRLs.js} +1 -1
- package/dist/web/assets/useAgentInventory-isO79ui9.js +1 -0
- package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CZX6PxoK.js} +1 -1
- package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-BD0Uexmh.js} +1 -1
- package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-Cloe0WuQ.js} +1 -1
- package/dist/web/assets/{workers-u92Boudu.js → workers-BXagz5eg.js} +1 -1
- package/dist/web/assets/x-Dqpel42h.js +1 -0
- package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-sBdvVbCc.js} +1 -1
- package/dist/web/index.html +12 -3
- package/docs/command-reference.md +49 -5
- package/package.json +6 -2
- package/dist/chunks/actions-command-LOHNQUWP.js +0 -2
- package/dist/chunks/app-server-connected-apps-Q2VWWJNX.js +0 -2
- package/dist/chunks/app-server-harness-services-2PSZBT7U.js +0 -2
- package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
- package/dist/chunks/apps-7PIBF32Q.js +0 -2
- package/dist/chunks/chunk-3TYCIYW6.js +0 -17
- package/dist/chunks/chunk-4GZ2FPB5.js +0 -2
- package/dist/chunks/chunk-4M3YW3EQ.js +0 -13
- package/dist/chunks/chunk-4N3UF3U5.js +0 -2
- package/dist/chunks/chunk-4P3X2RXA.js +0 -2
- package/dist/chunks/chunk-4RHM4WN2.js +0 -2
- package/dist/chunks/chunk-6DCXAXVD.js +0 -22
- package/dist/chunks/chunk-AWPYTDH4.js +0 -4
- package/dist/chunks/chunk-BLKTUFGB.js +0 -2
- package/dist/chunks/chunk-BN5AVRUG.js +0 -2
- package/dist/chunks/chunk-D5ADDBS5.js +0 -2
- package/dist/chunks/chunk-DGPGOBYZ.js +0 -5
- package/dist/chunks/chunk-E3EKBPCB.js +0 -2
- package/dist/chunks/chunk-E67M5WGY.js +0 -2
- package/dist/chunks/chunk-EIIGTADO.js +0 -2
- package/dist/chunks/chunk-F5JDBDYL.js +0 -2
- package/dist/chunks/chunk-FWIPHEVA.js +0 -12
- package/dist/chunks/chunk-GLVR74PX.js +0 -2
- package/dist/chunks/chunk-HZLV773Y.js +0 -22
- package/dist/chunks/chunk-JEVA7YQL.js +0 -3
- package/dist/chunks/chunk-KC7I6E6W.js +0 -2
- package/dist/chunks/chunk-M4ZRCRJM.js +0 -10
- package/dist/chunks/chunk-N663LL27.js +0 -2
- package/dist/chunks/chunk-NR5VASQB.js +0 -2
- package/dist/chunks/chunk-OJSK4NSW.js +0 -151
- package/dist/chunks/chunk-OZ6LRNRE.js +0 -2
- package/dist/chunks/chunk-Q324ZA5M.js +0 -2
- package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
- package/dist/chunks/chunk-UJBEWIR3.js +0 -8
- package/dist/chunks/chunk-V67IFV26.js +0 -86
- package/dist/chunks/chunk-VSUHJ46L.js +0 -18
- package/dist/chunks/chunk-VWJ5IYQP.js +0 -2
- package/dist/chunks/chunk-X3WEQL3O.js +0 -2
- package/dist/chunks/chunk-XK7SPL63.js +0 -2
- package/dist/chunks/chunk-XLULTQLZ.js +0 -12
- package/dist/chunks/chunk-YR5ID2SS.js +0 -2
- package/dist/chunks/chunk-ZBBVRYU3.js +0 -6
- package/dist/chunks/chunk-ZHFH2TZN.js +0 -2
- package/dist/chunks/chunk-ZZWAQBA2.js +0 -2
- package/dist/chunks/cli-WC45SI7E.js +0 -2
- package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
- package/dist/chunks/connected-evidence-4J3YXU4O.js +0 -2
- package/dist/chunks/core-commands-JGXU6B4C.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-DFGJBMVF.js +0 -4
- package/dist/chunks/datasets-MNHZAZIB.js +0 -2
- package/dist/chunks/desktop-test-P23MHAIG.js +0 -3
- package/dist/chunks/dist-IIFTZWNR.js +0 -2
- package/dist/chunks/evaluation-coordination-6NQEH5WU.js +0 -2
- package/dist/chunks/experiment-improvements-M27Z5OF4.js +0 -2
- package/dist/chunks/experiments-IWSCFDBB.js +0 -2
- package/dist/chunks/experiments-signal-R3NNH7WR.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
- package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
- package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
- package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
- package/dist/chunks/hosted-profile-candidate-37ZFY2LH.js +0 -3
- package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-UQBMML6K.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-YASS4T6L.js +0 -3
- package/dist/chunks/human-review-IJETDOWB.js +0 -2
- package/dist/chunks/learning-KVLTMRLD.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
- package/dist/chunks/model-projects-AVBQDNYG.js +0 -2
- package/dist/chunks/opchat-KSOJEL4W.js +0 -3
- package/dist/chunks/organizations-DJRJWC5I.js +0 -2
- package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
- package/dist/chunks/project-agent-2KNJFNZI.js +0 -2
- package/dist/chunks/published-experiment-source-LFYHKFAO.js +0 -2
- package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
- package/dist/chunks/sandbox-command-IIGTPYN3.js +0 -2
- package/dist/chunks/saved-work-QA46KCME.js +0 -2
- package/dist/chunks/src-E7NWAN5B.js +0 -420
- package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
- package/dist/chunks/store-chat-resources-CGW7PDCG.js +0 -2
- package/dist/chunks/store-evaluation-results-V5J6L4NV.js +0 -7
- package/dist/chunks/store-harness-workspaces-HHMM6GNK.js +0 -2
- package/dist/chunks/store-human-review-V5H4QDHR.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
- package/dist/chunks/store-model-batch-review-KMYPYWJR.js +0 -2
- package/dist/chunks/store-model-configuration-UXNC4PGY.js +0 -3
- package/dist/chunks/store-task-inbox-LNDCZOYE.js +0 -33
- package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
- package/dist/chunks/taskset-packages-I7I5KBFP.js +0 -2
- package/dist/chunks/training-error-AYOGHHL2.js +0 -2
- package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
- package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
- package/dist/chunks/training-hosted-workers-KI767T4Y.js +0 -2
- package/dist/skills/openpond-desktop-harness/SKILL.md +0 -113
- package/dist/skills/openpond-desktop-harness/agents/openai.yaml +0 -4
- package/dist/web/assets/App-Df7uYQGj.css +0 -1
- package/dist/web/assets/App-Yy3l2sdD.js +0 -56
- package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
- package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
- package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
- package/dist/web/assets/ChatTimelineEntry-IKzZsHoI.js +0 -1
- package/dist/web/assets/CommandMenu-CBY2AJxV.js +0 -1
- package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
- package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
- package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
- package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
- package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
- package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
- package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
- package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
- package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
- package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
- package/dist/web/assets/LabsRoute-DOnw39du.js +0 -101
- package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
- package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
- package/dist/web/assets/MainPane-CuBUBA9F.css +0 -1
- package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
- package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
- package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
- package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
- package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
- package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
- package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
- package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
- package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
- package/dist/web/assets/TrainingMetricWorkbench-BmzHLwIP.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
- package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
- package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
- package/dist/web/assets/app-models-BviS9b7U.js +0 -1
- package/dist/web/assets/browser-sidebar-links-ujSvTf5h.js +0 -1
- package/dist/web/assets/chat-resources-CItQ4mZD.js +0 -1
- package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
- package/dist/web/assets/contracts-BHTOD1nd.js +0 -1
- package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
- package/dist/web/assets/icons-kaq6k88m.js +0 -1
- package/dist/web/assets/index-DUMDOdB2.css +0 -1
- package/dist/web/assets/play-BPPQoqMl.js +0 -1
- package/dist/web/assets/plus-D18vYzHF.js +0 -1
- package/dist/web/assets/settings-BKmRueaw.js +0 -21
- package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
- package/dist/web/assets/square-Da8RuqW4.js +0 -1
- package/dist/web/assets/training-managed-adapter-81RrdT1k.js +0 -1
- package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
- package/dist/web/assets/useAgentInventory-BV4CUWzJ.js +0 -1
- /package/dist/chunks/{chunk-GLDYJM7O.js → chunk-T4QXKU5Y.js} +0 -0
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ComposerCreateImproveStrip-ViJ5E0We.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-BsPUniZy.js","assets/index-DUMDOdB2.css","assets/create-pipeline-CyUZrbbO.js","assets/schemas-lO3MoWQr.js","assets/icons-kaq6k88m.js","assets/training-model-data-CmVo80ZR.js","assets/api-client-Dgz-fOMl.js","assets/createLucideIcon-C4b2afqG.js","assets/App-Yy3l2sdD.js","assets/useQuery-ByaRC9SK.js","assets/common-BMjyKlX-.js","assets/settings-BKmRueaw.js","assets/client-choice-storage-BuNdhYSV.js","assets/app-models-BviS9b7U.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/work-outputs-CK0nHe4g.js","assets/contracts-BHTOD1nd.js","assets/training-managed-adapter-81RrdT1k.js","assets/chunk-GAIDBPFY-BLuHpurI.js","assets/reward-checks-5AOStF27.js","assets/chat-resources-CItQ4mZD.js","assets/ponder-desktop-Dm7tOkKo.js","assets/browser-sidebar-links-ujSvTf5h.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/chevron-down-Bnma8EMP.js","assets/chevron-right-Cxv_xBz5.js","assets/maximize-2-DUWvLap6.js","assets/plus-D18vYzHF.js","assets/refresh-cw-NXOER_CD.js","assets/AppToastContext-BB_2hRfw.js","assets/models-route-Bl_TmMl6.js","assets/PageChrome-BBnWAENV.js","assets/organization-types-PP-yuR2J.js","assets/ui-theme.generated-R0MY_Jy0.js","assets/App-Df7uYQGj.css","assets/play-BPPQoqMl.js","assets/WorkspacePresentationPreview-WuS_B45u.js","assets/WorkspaceFileLocation-Ai8Tz2Mz.js","assets/aiden0z-pptx-renderer.es-Bo43EjzT.js","assets/jszip.min-BWcKrrYP.js","assets/FilePagePreview-CTHuPzJt.js","assets/docx-preview-Blk_WGfs.js","assets/WorkspaceDiffPanel-D0dzFgzW.js","assets/folder-open-wJwCoIDs.js","assets/info-BLWDShaz.js","assets/save-BxXc21N6.js","assets/AppTerminalPanel-Dqr6VS3I.js","assets/CollaborationTabs-DNoknVMD.js","assets/CollaborationTabs-CU-9Shwu.css","assets/AppsView-27Fl_-49.js","assets/settings-lists-DMNPkGYk.js","assets/settings-lists-CBaz4cGG.css","assets/useAgentInventory-BV4CUWzJ.js","assets/AppsView-DNHWzJb2.css","assets/settings-forms-DLe1dTYN.css","assets/GetStartedView-DvV_RMgM.js","assets/GetStartedView-idp5pnnE.css","assets/LabsRoute-DOnw39du.js","assets/chunk-24N6A6SF-BUjzKvRC.js","assets/cloud-upload-DOftANif.js","assets/LabsRoute-CE45yAXJ.css","assets/ScheduledWorkPage-Cp0Hf-hs.js","assets/ComposerAttachments-BdjBddKf.js","assets/AttachmentTypeIcon-DOAsVQjt.js","assets/presentation-C9WnPDVr.js","assets/image-C7HVlg3X.js","assets/useLocalAgentSchedules-Cc0M_qax.js","assets/OutputsPage-Dl63CVrw.js","assets/ProjectsPage-BNF1TiyR.js","assets/ProjectsPage-BPoAzc-Z.css","assets/LabSkillSidebar-gjbl9Nlv.js","assets/LabSkillSidebar-Uy4vA6fy.css","assets/BrowserSidebar-bnI3sSZO.js","assets/RightChatPanelStack-CxVAAbp-.js","assets/ChatTimelineEntry-IKzZsHoI.js","assets/NativeSkillSidebar-Br5Lk6iU.js","assets/NativeSkillSidebar-D4DVkqqR.css","assets/TeamChatView-BmxTJ9E5.js","assets/TeamChatView-BMZ8S7Sj.css","assets/git-dialogs-C631EFyO.css","assets/CommunityView-CFKM7FTY.js","assets/wifi-off-aVJ3AvT_.js","assets/paperclip-DSHxP9CY.js","assets/CommunityView-C5uLqiF2.css","assets/TrainingDraftPanel-HznyNCJ4.js","assets/MainChatThread-BUKup-JB.js","assets/TrainingCreationPanel-CwfNPj_G.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{c as t,g as n,h as r,m as i,t as a,u as o}from"./index-BsPUniZy.js";import{T as s,a as c,n as l,o as u,r as d,t as f}from"./useQuery-ByaRC9SK.js";import{S as p,T as m,a as h,b as g,c as _,d as v,g as y,m as b,o as x,p as S,r as C,v as w,x as T}from"./schemas-lO3MoWQr.js";import{a as E,c as D,d as O,i as k,n as A,o as j,s as M}from"./common-BMjyKlX-.js";import{D as N,O as P,k as F}from"./settings-BKmRueaw.js";import{n as ee,o as te}from"./client-choice-storage-BuNdhYSV.js";import{C as ne,D as I,N as L,O as re,S as ie,c as ae,d as oe,f as se,k as ce,l as R,o as z,s as le,t as ue,u as de,v as fe,y as pe}from"./app-models-BviS9b7U.js";import{n as me}from"./create-pipeline-CyUZrbbO.js";import{t as he}from"./profile-ref-DSNkG6Ol.js";import{D as ge,h as _e}from"./chunk-H3JZ3P5T-B0SCoPw4.js";import{a as B,i as V,n as ve,o as ye,r as be,t as xe}from"./ComposerAttachments-BdjBddKf.js";import{n as Se}from"./work-outputs-CK0nHe4g.js";import{A as Ce,D as we,E as Te}from"./contracts-BHTOD1nd.js";import{$ as Ee,G as De,H as Oe,K as ke,U as H,V as Ae,q as je,z as Me}from"./training-managed-adapter-81RrdT1k.js";import{a as Ne,d as Pe,i as Fe,l as Ie,n as Le,o as Re,s as ze,t as Be,u as Ve}from"./chat-resources-CItQ4mZD.js";import{A as He,E as Ue,M as We,j as Ge}from"./chunk-GAIDBPFY-BLuHpurI.js";import{r as Ke}from"./ponder-desktop-Dm7tOkKo.js";import{i as U,n as W,t as qe}from"./api-client-Dgz-fOMl.js";import{n as Je,s as Ye,t as Xe}from"./browser-sidebar-links-ujSvTf5h.js";import{t as Ze}from"./query-scope-BRpcgljO.js";import"./icons-kaq6k88m.js";import{t as Qe}from"./createLucideIcon-C4b2afqG.js";import{A as $e,B as et,C as tt,D as nt,E as rt,F as it,H as at,I as ot,L as st,M as ct,N as lt,O as ut,P as dt,S as ft,T as pt,U as mt,V as ht,b as gt,j as _t,k as vt,m as yt,n as bt,o as xt,w as St,x as G,z as Ct}from"./training-model-data-CmVo80ZR.js";import{Ut as wt}from"./CartesianChart-DO76yfJb.js";import{t as Tt}from"./chevron-down-Bnma8EMP.js";import{t as Et}from"./chevron-right-Cxv_xBz5.js";import{t as Dt}from"./cloud-upload-DOftANif.js";import{t as Ot}from"./folder-open-wJwCoIDs.js";import{t as kt}from"./image-C7HVlg3X.js";import{t as At}from"./maximize-2-DUWvLap6.js";import{t as jt}from"./paperclip-DSHxP9CY.js";import{t as Mt}from"./play-BPPQoqMl.js";import{t as Nt}from"./plus-D18vYzHF.js";import{t as Pt}from"./refresh-cw-NXOER_CD.js";import{t as Ft}from"./square-Da8RuqW4.js";import{n as It,r as Lt}from"./AppToastContext-BB_2hRfw.js";import{a as Rt,i as zt}from"./models-route-Bl_TmMl6.js";import{t as Bt}from"./browser-url-LACq2Ngu.js";import{$ as Vt,An as Ht,B as Ut,Bn as Wt,Cr as Gt,Dt as Kt,Et as qt,F as Jt,Fn as Yt,G as Xt,Gn as Zt,Hn as Qt,In as $t,J as en,Jn as tn,Kn as nn,Ln as rn,Lt as an,M as on,Mn as sn,Mr as cn,Mt as ln,N as un,Nn as dn,Nr as fn,Ot as pn,P as mn,Pn as hn,Q as gn,Qn as _n,R as vn,Rt as yn,S as bn,Sn as xn,Sr as Sn,U as Cn,Un as wn,V as Tn,Vn as En,W as K,Wn as Dn,X as On,Y as kn,Yt as An,Z as jn,Zn as Mn,Zt as Nn,_ as Pn,_n as q,_r as Fn,_t as In,a as Ln,an as Rn,at as zn,b as Bn,bn as Vn,br as Hn,cn as Un,ct as Wn,d as Gn,et as Kn,f as qn,g as Jn,gn as J,gr as Yn,h as Xn,hn as Y,i as Zn,ir as Qn,it as X,jn as $n,jr as er,jt as tr,kn as nr,ln as rr,lr as ir,lt as ar,m as or,nr as sr,nt as cr,o as lr,on as ur,or as dr,ot as fr,p as pr,q as mr,qn as hr,r as gr,rr as Z,rt as _r,sn as vr,sr as yr,st as br,tr as xr,tt as Sr,u as Cr,v as wr,vn as Tr,w as Er,wn as Dr,x as Or,xn as kr,xr as Ar,xt as jr,y as Mr,z as Nr,zn as Pr}from"./App-Yy3l2sdD.js";import{r as Fr,t as Ir}from"./AttachmentTypeIcon-DOAsVQjt.js";import{t as Lr}from"./TrainingMetricWorkbench-BmzHLwIP.js";var Rr=class extends d{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,l=n.fetchMeta?.fetchMore?.direction,d=o&&l===`forward`,f=i&&l===`forward`,p=o&&l===`backward`,m=i&&l===`backward`;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:c(t,n.data),hasPreviousPage:u(t,n.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:s&&!d&&!p,isRefetching:a&&!f&&!m}}};function zr(e,t){return l(e,Rr,t)}var Br=b({schemaVersion:v(`openpond.optimizerTrainingSample.v1`),tokenIds:h(S().int().nonnegative()).min(2).max(32768),mask:h(x()).min(2).max(32768),logprobs:h(S().finite()).min(2).max(32768),temperatures:h(S().positive().finite()).min(2).max(32768),envName:w().trim().min(1).max(200),modelRequestId:w().trim().min(1).max(1e3),promptTokenCount:S().int().positive(),completionTokenCount:S().int().positive(),servedPolicyVersion:S().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`})}),Vr=b({id:M,environmentRelease:k,status:C([`completed`,`failed`,`timed_out`,`cancelled`]),startedAt:D,completedAt:D,traceRefs:h(A).max(1e4),metadata:E}).strict(),Hr=b({receiptRef:k,status:We,value:S().min(0).max(1).nullable(),learningEligible:x(),passed:x(),outcomeClass:He,failureOwner:Ge.nullable(),components:y(M,S().min(0).max(1).nullable())}).strict(),Ur=b({schemaVersion:v(`openpond.canonicalRolloutRecord.v1`),id:M,attemptRef:k,artifactManifestRef:k,tasksetRelease:k,environmentRelease:k,verifierSetRelease:k,harnessRelease:k,taskId:M,split:ge,model:N,seed:w().trim().min(1).max(500),reward:Hr,traceRef:A,optimizerSample:Br.nullable(),environmentExecutions:h(Vr).min(1).max(1e5),startedAt:D,completedAt:D,metadata:E}).strict();function Wr(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.`})}Ur.superRefine(Wr),b({...Ur.shape,contentHash:j}).strict().superRefine(Wr);var Gr=w().trim().min(1).max(200),Kr=b({operationId:Gr,request:De,maximumCostUsd:S().finite().positive().max(1e4),graders:h(Oe).min(1).max(100).optional(),sourceExperimentId:Gr.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.`})}),qr=C([`trajectory`,`reward`,`demonstration`,`preference`,`correction`,`critique`,`targeted_feedback`,`grader_evidence`,`infrastructure_failure`]),Jr=b({datasetRelease:k,harnessRelease:k,evidenceSetRelease:k.nullable(),profileRelease:k.nullable(),model:b({source:w().trim().min(1).max(200),revision:w().trim().min(1).max(500),artifactHash:j.nullable()}).strict(),environmentHash:j,graderHash:j,toolContractHash:j,verificationReceiptHash:j.nullable()}).strict(),Yr=b({schemaVersion:v(`openpond.learningSignal.v1`),id:M,taskId:M.nullable(),episodeId:M.nullable(),policyVersion:S().int().nonnegative().nullable(),lineage:Jr,approved:x(),verifier:C([`deterministic`,`model_judge`,`human`,`none`]),createdAt:D,contentHash:j,metadata:y(w(),T()).default({})}).strict(),Xr=Yr.extend({kind:v(`trajectory`),payload:b({traceRef:w().trim().min(1).max(2e3),traceHash:j,terminal:x(),failureClass:C([`policy_failure`,`grader_failure`,`environment_failure`,`infrastructure_failure`,`timeout`,`cancelled`]).nullable(),optimizerSample:Br.nullable().optional()}).strict()}).strict(),Zr=Yr.extend({kind:v(`reward`),payload:b({reward:S().finite(),components:y(w(),S().finite()),eligible:x(),graderEvidenceRefs:h(M).max(1e3)}).strict()}).strict(),Qr=Yr.extend({kind:v(`demonstration`),payload:b({prompt:w().max(5e5),response:w().max(1e6)}).strict()}).strict(),$r=Yr.extend({kind:v(`preference`),payload:b({prompt:w().max(5e5),chosen:w().max(1e6),rejected:w().max(1e6),rationale:w().max(5e5).nullable()}).strict()}).strict(),ei=Yr.extend({kind:v(`correction`),payload:b({original:w().max(1e6),corrected:w().max(1e6),rationale:w().max(5e5).nullable()}).strict()}).strict(),ti=Yr.extend({kind:v(`critique`),payload:b({response:w().max(1e6),critique:w().max(5e5),severity:C([`note`,`warning`,`error`])}).strict()}).strict(),ni=Yr.extend({kind:v(`targeted_feedback`),payload:b({turnIndex:S().int().nonnegative(),target:C([`reasoning`,`tool`,`answer`,`policy`]),feedback:w().max(5e5)}).strict()}).strict(),ri=Yr.extend({kind:v(`grader_evidence`),payload:b({graderId:M,score:S().finite().nullable(),passed:x(),privilegedArtifactRefs:h(w().trim().min(1).max(2e3))}).strict()}).strict(),ii=Yr.extend({kind:v(`infrastructure_failure`),approved:v(!1),verifier:v(`none`),payload:b({code:M,phase:M,retryable:x(),rewardEligible:v(!1)}).strict()}).strict(),ai=_(`kind`,[Xr,Zr,Qr,$r,ei,ti,ni,ri,ii]);b({schemaVersion:v(`openpond.learningSignalBatch.v1`),manifestId:M,manifestHash:j,sequence:S().int().nonnegative(),signals:h(ai).min(1).max(1e5),contentHash:j}).strict();var oi=b({schemaVersion:v(`openpond.trainingEngineCapabilities.v1`),adapterId:M,available:x(),methods:h(w().trim().min(1).max(100)),signalKinds:h(qr),modelFamilies:h(w().trim().min(1).max(200)),precisions:h(C([`fp32`,`fp16`,`bf16`,`tf32`,`int8`,`int4`])),topologies:h(w().trim().min(1).max(200)),workerProtocolVersion:w().trim().min(1).max(200),upstreamRevision:w().trim().min(1).max(500),workerImageDigest:w().regex(/^sha256:[a-f0-9]{64}$/).nullable().default(null),capabilityReceipt:j,checkedAt:D,unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict(),si=b({schemaVersion:v(`openpond.computeTargetCapabilities.v1`),adapterId:M,kind:C([`local`,`ssh`,`managed`,`custom`]),provider:M.nullable(),available:x(),devices:h(b({id:M,kind:C([`cpu`,`gpu`,`accelerator`]),vendor:w().trim().min(1).max(200),name:w().trim().min(1).max(500),memoryBytes:S().int().nonnegative().nullable(),runtime:w().trim().min(1).max(200)}).strict()),supportsWorkerImages:x(),supportsArtifactTransfer:x(),supportsCancellation:x(),capabilityReceipt:j,checkedAt:D,unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict(),ci=b({schemaVersion:v(`openpond.harnessRuntimeCapabilities.v1`),adapterId:M,available:x(),placements:h(C([`local`,`remote`,`colocated`,`provider_native`])),lifecycle:h(C([`create`,`reset`,`step`,`grade`,`collect`,`destroy`])),deterministicReplay:x(),privilegedIsolation:x(),capabilityReceipt:j,checkedAt:D,unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict();b({schemaVersion:v(`openpond.resolvedTrainingPlan.v1`),manifest:Ar,recipe:Yn,runtime:Sn,compute:Hn,engine:Gt,execution:b({trainingPlanId:M,approvalId:M}).strict().nullable(),maximumSpendUsd:S().nonnegative().nullable(),approvalHash:j,contentHash:j}).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`})}),b({schemaVersion:v(`openpond.adapterValidationReceipt.v1`),adapterId:M,valid:x(),issues:h(b({code:M,path:w().trim().max(2e3).nullable(),message:w().trim().min(1).max(5e3)}).strict()),capabilityReceipt:j,planHash:j,createdAt:D,contentHash:j}).strict(),b({runId:M,adapterId:M,protocolVersion:C([`openpond.training.v2`,`adapter.native.v1`]).default(`adapter.native.v1`),routeFamily:C([`training_v2`,`adapter_native`]).default(`adapter_native`),routeId:M.optional(),providerJobId:w().trim().min(1).max(1e3).nullable(),tenantId:M.optional(),leaseId:M.nullable(),manifestHash:j.optional(),inputBundleHash:j.optional(),createdAt:D}).strict(),b({runId:M,state:C([`queued`,`preparing`,`running`,`cancelling`,`cancelled`,`succeeded`,`failed`]),phase:w().trim().min(1).max(200),progress:S().min(0).max(1).nullable(),rolloutProgress:b({groupsCompleted:S().int().nonnegative(),groupsTarget:S().int().nonnegative(),optimizerUpdatesApplied:S().int().nonnegative(),optimizerUpdatesSkipped:S().int().nonnegative()}).strict().optional(),updatedAt:D,errorCode:M.nullable()}).strict(),b({runId:M,manifestHash:j,artifacts:h(b({kind:C([`checkpoint`,`adapter`,`metrics`,`trace`,`evaluation`,`receipt`]),objectRef:w().trim().min(1).max(2e3),sha256:j,sizeBytes:S().int().nonnegative(),metadata:y(w(),T()).optional()}).strict()),contentHash:j}).strict();var li=C([`ready`,`model_download_required`,`compute_setup_required`,`provider_managed`,`unsupported`]),ui=b({id:M,label:w().trim().min(1).max(500),description:w().trim().min(1).max(2e3),destinationId:M,computeAdapterId:M,runtimeAdapterId:M,engineAdapterId:M,methods:h(w().trim().min(1).max(100)),capabilityPills:h(w().trim().min(1).max(100)),executionMode:C([`local_worker`,`provider_native`]),approvalPolicy:b({providerId:P,providerLabel:w().trim().min(1).max(200),settingsActionLabel:w().trim().min(1).max(500).nullable(),exportApprovalRequired:x(),exportDescription:w().trim().min(1).max(2e3).nullable(),preparationRequired:x(),minimumSpendUsd:S().nonnegative(),maximumSpendUsd:S().positive(),defaultMaximumSpendUsd:S().positive(),minimumRetentionDays:S().int().positive(),maximumRetentionDays:S().int().positive(),defaultRetentionDays:S().int().positive(),methodRequirement:w().trim().min(1).max(2e3).nullable()}).strict().nullable(),limits:b({maximumSequenceLength:S().int().positive(),maximumOutputTokens:S().int().positive(),maximumTrainingExamples:S().int().positive().nullable()}).strict(),defaults:b({loraRank:S().int().positive(),maxSteps:S().int().positive(),rolloutGroupSize:S().int().min(2).max(32),rolloutConcurrency:S().int().positive().max(32),rolloutOutputTokens:S().int().positive()}).strict(),available:x(),unavailableReason:w().trim().min(1).max(5e3).nullable()}).strict(),di=b({selectionKey:M,label:w().trim().min(1).max(500),source:C([`local`,`builtin`,`huggingface`,`managed`,`search`]),modelId:w().trim().min(1).max(1e3),revision:w().trim().min(1).max(500).nullable(),tokenizerRevision:w().trim().min(1).max(500).nullable(),chatTemplateHash:j.nullable(),modelAssetId:M.nullable(),expectedBytes:S().int().nonnegative().nullable(),cached:x(),known:x(),searchResolved:x(),computeAdapterIds:h(M),engineAdapterIds:h(M),preparationState:li,reason:w().trim().min(1).max(5e3).nullable(),compatibilities:h(b({targetId:M,methods:h(w().trim().min(1).max(100)),state:li,reason:w().trim().min(1).max(5e3).nullable()}).strict())}).strict(),fi=b({schemaVersion:v(`openpond.trainingCatalog.v1`),models:h(di).max(1e5),engines:h(oi),compute:h(si),runtimes:h(ci),targets:h(ui),generatedAt:D,contentHash:j}).strict();b({schemaVersion:v(`openpond.trainingPreparationPlan.v1`),modelRunId:M,state:li,reason:w().trim().min(1).max(5e3).nullable(),runtime:Sn.nullable(),compute:Hn.nullable(),engine:Gt.nullable(),downloads:h(b({kind:v(`model`),label:w().trim().min(1).max(500),expectedBytes:S().int().nonnegative(),digest:w().trim().min(8).max(500),cached:x(),state:C([`ready`,`required`,`downloading`,`cancelled`,`failed`]),progress:S().min(0).max(1).nullable(),cancellable:x(),diskImpactBytes:S().int().nonnegative()}).strict()),dataMovement:h(b({direction:C([`upload`,`download`,`none`]),label:w().trim().min(1).max(500),bytes:S().int().nonnegative().nullable()}).strict()),quoteUsd:S().nonnegative().nullable(),maximumSpendUsd:S().nonnegative().nullable(),retentionDays:S().int().nonnegative().nullable(),sideEffectsStarted:v(!1),contentHash:j}).strict();var pi=w().trim().min(1).max(200),mi=w().regex(/^[a-f0-9]{64}$/),hi=C([`queued`,`running`,`cancelling`,`completed`,`failed`,`cancelled`,`interrupted`]),gi=b({providerId:C([`openpond`,`custom-openai-compatible`,`claude-code`,`codex`]),modelId:w().trim().min(1).max(500),configurationHash:mi,maxOutputTokens:S().int().positive().max(262144),temperature:S().min(0).max(2).optional(),topP:S().positive().max(1).optional(),messages:h(b({role:C([`system`,`user`,`assistant`]),content:w().max(262144)}).strict()).max(200)}).strict();b({configuration:H,package:Ue}).strict(),b({configuration:H,expectedPackageHash:mi.optional()}).strict(),b({schemaVersion:v(`openpond.localExperimentDefinition.v1`),location:v(`local`),id:pi,teamId:pi,ownerActorId:pi,revision:S().int().positive(),configuration:H,model:gi,packageHash:mi,graders:h(Ae).min(1).max(100),availableGraders:h(Ae).min(1).max(1e3),createdAt:m(),updatedAt:m(),contentHash:mi}).strict(),b({operationId:pi,definition:Me}).strict(),b({teamId:pi,id:pi}).strict(),b({teamId:pi,projectId:pi.optional(),status:hi.optional(),datasetHash:mi.optional(),search:w().max(100).optional(),afterId:pi.optional(),limit:S().int().min(1).max(100).default(30)}).strict();var _i=b({schemaVersion:v(`openpond.localExperimentExecution.v1`),location:v(`local`),id:pi,teamId:pi,ownerActorId:pi,operationId:pi,definition:Me,kind:C([`target`,`scoring`]),executionHash:mi,sourceExecution:b({id:pi,executionHash:mi}).strict().nullable(),packageHash:mi,maximumCostUsd:S().finite().positive(),status:hi,createdAt:m(),completedAt:m().nullable(),counts:b({pending:S().int().nonnegative(),running:S().int().nonnegative(),completed:S().int().nonnegative(),failed:S().int().nonnegative(),cancelled:S().int().nonnegative(),unknown:S().int().nonnegative()}).strict(),usage:b({knownCostUsd:S().finite().nonnegative(),costUsd:S().finite().nonnegative().nullable(),heldUsd:S().finite().nonnegative(),uncertainRequests:S().int().nonnegative()}).strict(),cleanupComplete:x(),error:w().max(2e3).nullable()}).strict(),vi=_i.omit({definition:!0});function yi(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.`})}_i.superRefine(yi);var bi=vi.superRefine(yi);b({configuration:Kr,package:Ue}).strict();var xi=b({configuration:Kr,expectedPackageHash:w().regex(/^[a-f0-9]{64}$/).optional()}).strict(),Si=b({configuration:Kr,model:gi,packageHash:w().regex(/^[a-f0-9]{64}$/),graders:h(Ae).min(1).max(100),availableGraders:h(Ae).min(1).max(1e3),retainedConfigurationHash:w().regex(/^[a-f0-9]{64}$/).optional(),configurationHash:w().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((e,t)=>{let{configurationHash:n,...r}=e;O(r)!==n&&t.addIssue({code:`custom`,message:`Local configuration snapshot bytes changed.`})}),{definition:Ci,...wi}=_i.shape,Ti=b({...wi,kind:v(`target`),...Si.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};yi(e,t),Si.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.`})}),Ei=b({items:h(Ti).max(100),nextCursor:w().nullable()}).strict();b({teamId:w().min(1).max(200),id:w().min(1).max(200),configurationHash:w().regex(/^[a-f0-9]{64}$/).optional()}).strict();var Di=b({operationId:pi,execution:b({id:pi,executionHash:mi}).strict(),graderPackage:Ue,graders:h(Oe).min(1).max(100),maximumCostUsd:S().finite().positive().max(1e4)}).strict().omit({graderPackage:!0}),Oi=Ee,ki=b({sessionId:pi,turnId:pi,source:_e,profileRef:he,admissionHash:mi,modelConfigurationHash:mi,traceHash:mi,runtimeEventRefs:h(pi).max(1e4),startedAt:m(),completedAt:m(),outputHash:mi,partialOutputAvailable:x()}).strict(),Ai=b({receiptId:pi,taskId:pi,seed:w(),status:C([`pending`,`running`,`completed`,`failed`,`cancelled`,`unknown`]),input:y(w(),T()),policyVisibleContext:y(w(),T()),output:w().nullable(),messages:h(T()).max(4002),grade:je.nullable(),error:w().nullable(),native:Oi.optional(),profileNative:ki.optional(),externalProcess:ke.optional()}).strict(),ji=b({execution:g([Ti,bi]),cases:h(Ai).max(1e4),contentHash:mi}).strict(),Mi=b({items:h(b({sequence:S().int().positive(),type:w().min(1),payload:T()}).strict()).max(500),nextCursor:S().int().positive().nullable()}).strict(),Ni=b({location:v(`local`),execution:g([Ti,bi]),case:Ai,trace:Mi}).strict(),Pi=b({items:h(bi).max(100),nextCursor:pi.nullable()}).strict(),Fi=b({execution:bi,graders:h(Ae).min(1).max(100),graderPackageHash:mi}).strict(),Ii=b({execution:bi,manifest:Te,result:we}).strict().superRefine((e,t)=>{try{if(Ce(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.`})}}),Li=b({location:v(`local`),baseline:Ii,candidate:Ii}).strict(),Ri=b({label:w(),state:C([`done`,`active`,`pending`,`missing`]),status:w(),detail:w().optional(),progress:S().min(0).max(1).optional(),inLoop:x().optional()}).strict(),zi=b({jobId:w(),teamId:w(),modelProjectId:w(),state:w(),policyVersion:S().int().nonnegative(),groupsCompleted:S().int().nonnegative(),groupsTarget:S().int().nonnegative(),live:x(),nodes:h(Ri).max(10),inference:Ri.nullable(),groups:h(b({index:S().int().nonnegative(),state:w(),meanReward:S().nullable(),plannedSlots:S().int().nonnegative(),attempts:h(b({id:w(),slot:S().int().nonnegative(),attempt:S().int().positive(),state:w(),reward:S().nullable()}).strict()).max(1e3)}).strict()).max(50),groupCount:S().int().nonnegative(),logs:h(b({id:w(),at:w(),source:w(),message:w(),level:w()}).strict()).max(200)}).strict(),Bi=b({kind:C([`dataset`,`experiment`,`model`,`training`]),id:w().trim().min(1).max(240),revision:S().int().positive().optional(),location:C([`local`,`cloud`]).default(`local`),teamId:w().min(1).max(240).optional(),apiOrigin:p().max(2e3).optional(),scopeId:w().min(1).max(240).optional(),sessionId:w().min(1).max(240).optional()}).strict(),Vi=b({target:Bi,label:w().max(500),detail:w().max(2e3)}).strict(),Hi=Vi.extend({resource:Le.optional(),dataset:Le.optional(),graders:h(Le).optional(),training:Ne.optional(),model:b({id:w(),name:w(),portableProjectId:w(),baseModel:w().nullable(),trainingDataset:b({id:w(),revision:S().int().positive(),name:w()}).nullable(),evaluationDataset:b({id:w(),revision:S().int().positive(),name:w()}).nullable()}).strict().optional()}).strict(),Ui=Qe(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Wi=Qe(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Gi=Qe(`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`}]]),Ki=Qe(`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`}]]),qi=Qe(`ban`,[[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Ji=Qe(`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`}]]),Yi=Qe(`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`}]]),Xi=Qe(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Zi=Qe(`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`}]]),Qi=Qe(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),$i=Qe(`reply`,[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`,key:`5vmcpk`}],[`path`,{d:`m9 17-5-5 5-5`,key:`nvlc11`}]]),ea=Qe(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ta=Qe(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Q=e(n(),1),$=i();function na(e){let t=da(e);if(t)return t;let n=ua(),r=``,i=[],a=[],o=[];for(let t of e)!r&&t.label&&(r=t.label),Na(a,t.label),Pa(o,t),t.kind===`command`&&t.content?pa(n,ha(t.content)):ma(n,t)||Ma(i,t.label);let s=[...xa(n),...a,...o],c=n.runCount>0?ka(n.runCount):``,l=Ra(i),u=(e.length===1&&e[0]?.kind===`command`&&e[0].content&&a.length===0&&o.length===0?ra(e[0].content,`completed`):null)||ja(s,c)||l||r||`Ran command`;return{kind:Oa(n,c),text:u}}function ra(e,t=`completed`){let n=Wa(e);if(n.length===0)return null;let r=t===`running`||t===`pending`;if(n[0]===`$OPENPOND_CLI_NODE`&&n[1]===`$OPENPOND_CLI_ENTRY`){if(n.some(Ka))return r?`Running OpenPond CLI commands`:`Ran OpenPond CLI commands`;let e=n[3],t=n[2]===`datasets`?{context:`selected dataset`,read:`dataset`,"list-graders":`graders`,"read-grader":`grader`}[e??``]:n[2]===`experiments`&&e===`list`?`experiments`:null;return t?`${r?`Reading`:`Read`} ${t}`:r?`Running OpenPond CLI`:`Ran OpenPond CLI`}if(n.some(Ka))return r?`Running shell command`:`Ran shell command`;let i=ga(n);if(!i)return null;let[a,o]=i;if(a===`cat`){let e=qa(o);return e.length===0?r?`Reading standard input`:`Read standard input`:`${r?`Reading`:`Read`} ${Ya(e)}`}if(a===`sed`)return la(Ha([a,...o]),r);if(a===`rg`)return Ua([a,...o],r);if([`grep`,`ag`].includes(a)||a===`git`&&o[0]===`grep`)return r?`Searching code`:`Searched code`;if([`ls`,`find`,`tree`,`fd`].includes(a)){let e=a===`ls`?qa(o):[];return e.length===0?r?`Listing files`:`Listed files`:`${r?`Listing`:`Listed`} files in ${Ya(e)}`}if([`head`,`tail`,`nl`,`wc`,`awk`,`jq`].includes(a)){let e=ya(a,o);return e.length===0?r?`Running ${a}`:`Ran ${a}`:`${r?`Reading`:`Read`} ${Ya(e)}`}if(a===`apply_patch`)return r?`Editing files`:`Edited files`;if(a===`write_stdin`)return r?`Continuing command`:`Continued command`;if(a===`wait`)return r?`Waiting for command`:`Waited for command`;if(a===`js`)return r?`Running JavaScript`:`Ran JavaScript`;if(a===`exec_command`)return r?`Running shell command`:`Ran shell command`;if(a===`read_file`)return r?`Reading file`:`Read file`;if(a===`view_image`)return r?`Viewing image`:`Viewed image`;if(a===`update_plan`)return r?`Updating plan`:`Updated plan`;if(a===`tool_search`)return r?`Searching tools`:`Searched tools`;if(a===`rm`)return r?`Removing files`:`Removed files`;if(a===`mv`)return r?`Moving files`:`Moved files`;if(a===`cp`)return r?`Copying files`:`Copied files`;if(a===`mkdir`)return r?`Creating directories`:`Created directories`;if(a===`touch`)return r?`Creating files`:`Created files`;if(a===`git`)return ia(o,r);if(sa(a))return aa(a,o,r);if(va(a))return oa(a,r);if([`curl`,`wget`].includes(a))return r?`Fetching URL`:`Fetched URL`;if([`node`,`tsx`,`python`,`python3`,`bash`,`sh`,`zsh`].includes(a))return r?`Running ${ca(a)} script`:`Ran ${ca(a)} script`;let s=ca(a);return r?`Running ${s} command`:`Ran ${s} command`}function ia(e,t){let n=e.find(e=>!e.startsWith(`-`))??``;return n===`status`?t?`Checking Git status`:`Checked Git status`:n===`diff`?t?`Reviewing changes`:`Reviewed changes`:n===`show`||n===`log`?t?`Reading Git history`:`Read Git history`:n===`add`?t?`Staging changes`:`Staged changes`:n===`commit`?t?`Committing changes`:`Committed changes`:n===`push`?t?`Pushing changes`:`Pushed changes`:n===`pull`||n===`fetch`?t?`Fetching changes`:`Fetched changes`:n===`checkout`||n===`switch`?t?`Switching branches`:`Switched branches`:n===`branch`?t?`Listing branches`:`Listed branches`:t?`Running Git command`:`Ran Git command`}function aa(e,t,n){let r=t.join(` `).toLowerCase();return/\b(typecheck|tsc)\b/.test(r)?n?`Checking types`:`Checked types`:/\b(lint|eslint|prettier)\b/.test(r)?n?`Running lint`:`Ran lint`:/\b(test|vitest|jest|playwright)\b/.test(r)?n?`Running tests`:`Ran tests`:/\bbuild\b/.test(r)?n?`Building project`:`Built project`:/\b(install|add)\b/.test(r)?n?`Installing dependencies`:`Installed dependencies`:n?`Running ${ca(e)} command`:`Ran ${ca(e)} command`}function oa(e,t){return e===`tsc`?t?`Checking types`:`Checked types`:e===`eslint`||e===`prettier`?t?`Running lint`:`Ran lint`:t?`Running tests`:`Ran tests`}function sa(e){return[`bun`,`npm`,`pnpm`,`yarn`].includes(e)}function ca(e){let t=e.split(`/`).filter(Boolean).at(-1)??e;return t===`python`||t===`python3`?`Python`:t===`node`||t===`tsx`?`Node`:[`bash`,`sh`,`zsh`].includes(t)?`shell`:t===`git`?`Git`:t}function la(e,t){return!e||!t?e:e.startsWith(`Read `)?`Reading ${e.slice(5)}`:e.startsWith(`Run `)?`Running ${e.slice(4)}`:e}function ua(){return{approvals:0,controlCount:0,editCount:0,goalContextUpdates:0,imageCount:0,listedFiles:0,readFileCount:0,readFiles:new Set,reasoningCount:0,runCount:0,searchedCode:0,subagentStatuses:new Map,testsOrChecks:0,turnInterruptions:0,webSearches:0}}function da(e){if(e.length===0)return null;let t=e.map(e=>e.subagentMessage).filter(e=>!!e);if(t.length===0||t.length!==e.length)return null;if(t.length===1){let e=t[0];return{kind:`subagent`,text:`${e.direction===`received`?`Child Message Received`:`Child Message Sent`}: ${e.summary}`}}let n=t.filter(e=>e.direction===`received`).length,r=t.length-n;return{kind:`subagent`,text:Va(Ba([n>0?fa(n,`received`):null,r>0?fa(r,`sent`):null].filter(e=>!!e)))}}function fa(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function pa(e,t){e.editCount+=t.editCount??0,e.listedFiles+=t.listedFiles??0,e.searchedCode+=t.searchedCode??0,e.testsOrChecks+=t.testsOrChecks??0;for(let n of t.readFiles??[])e.readFiles.add(n);t.readFiles?.length&&(e.readFileCount+=t.readFiles.length),t.countedAsRun&&(e.runCount+=1)}function ma(e,t){let n=t.label.toLowerCase();if(t.controlKind)return e.controlCount+=1,t.controlKind===`goal_context`&&(e.goalContextUpdates+=1),t.controlKind===`turn_aborted`&&(e.turnInterruptions+=1),!0;if(n===`reasoning`)return e.reasoningCount+=1,!0;if(n.includes(`approval`))return e.approvals+=1,!0;if(n.includes(`subagent`))return wa(e,t,r(n)),!0;if(n.includes(`image`))return e.imageCount+=1,!0;function r(e){return e.includes(`failed`)?`failed`:e.includes(`blocked`)?`blocked`:e.includes(`stale`)?`stale`:e.includes(`needs revision`)?`needs revision`:e.includes(`archived`)?`archived`:e.includes(`accepted`)?`accepted`:e.includes(`submitted`)?`submitted`:e.includes(`completed`)?`completed`:`running`}return n.includes(`web`)?(e.webSearches+=1,!0):/\b(searching|searched)\b/.test(n)?(e.searchedCode+=1,!0):/\b(listing|listed)\b/.test(n)?(e.listedFiles+=1,!0):/\b(reading|read)\b/.test(n)?(e.readFileCount+=1,!0):/\b(editing|edited|writing|wrote|deleting|deleted|moving|moved|uploading|uploaded|creating|created)\b/.test(n)?(e.editCount+=1,!0):!1}function ha(e){let t=Wa(e);if(t.length===0||t.some(Ka))return{countedAsRun:!0};let n=ga(t);if(!n)return{countedAsRun:!0};let[r,i]=n;if(r===`apply_patch`||[`rm`,`mv`,`cp`,`mkdir`,`touch`].includes(r))return{countedAsRun:!1,editCount:1};if(_a(r,i)||va(r))return{countedAsRun:!1,testsOrChecks:1};if(r===`rg`)return i.includes(`--files`)?{countedAsRun:!1,listedFiles:1}:{countedAsRun:!1,searchedCode:1};if([`grep`,`ag`].includes(r)||r===`git`&&i[0]===`grep`)return{countedAsRun:!1,searchedCode:1};if([`ls`,`find`,`tree`,`fd`].includes(r))return{countedAsRun:!1,listedFiles:1};let a=ya(r,i);return a.length>0?{countedAsRun:!1,readFiles:a}:{countedAsRun:!0}}function ga(e){let t=0;for(;/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e[t]??``);)t+=1;let n=e[t];if(!n)return null;if(n===`bunx`||n===`npx`){let r=e[t+1];return r?[r,e.slice(t+2)]:[n,[]]}return[n,e.slice(t+1)]}function _a(e,t){if(![`bun`,`npm`,`pnpm`,`yarn`].includes(e))return!1;let n=t.join(` `).toLowerCase();return/\b(test|typecheck|check|lint|vitest|jest|playwright|tsc)\b/.test(n)}function va(e){return[`eslint`,`jest`,`playwright`,`prettier`,`tsc`,`vitest`].includes(e)}function ya(e,t){if(e===`cat`||e===`nl`||e===`head`||e===`tail`||e===`wc`)return ba(qa(t));if(e===`sed`){let e=t.findIndex(e=>e!==`-n`&&!e.startsWith(`--`));return ba(e>=0?qa(t.slice(e+1)):[])}return e===`awk`||e===`jq`?ba(qa(t.slice(1))):[]}function ba(e){return e.filter(e=>!(!e||e===`.`||e===`-`||/^\d+$/.test(e)))}function xa(e){let t=[],n=Ca(e);n&&t.push(n),e.editCount>0&&t.push(`made edits`);let r=e.readFiles.size||e.readFileCount;return r>0&&t.push(Aa(`read`,r,`file`)),e.searchedCode>0&&t.push(`searched code`),e.listedFiles>0&&t.push(`listed files`),e.testsOrChecks>0&&t.push(e.testsOrChecks===1?`ran checks`:`ran ${e.testsOrChecks} checks`),e.webSearches>0&&t.push(`searched web`),e.imageCount>0&&t.push(Aa(`read`,e.imageCount,`image`)),e.reasoningCount>0&&t.length===0&&t.push(`thought through the request`),e.approvals>0&&t.push(`requested approval`),t.push(...Sa(e)),t}function Sa(e){let t=[];e.goalContextUpdates===1&&t.push(`goal context updated`),e.goalContextUpdates>1&&t.push(`${e.goalContextUpdates} goal context updates`),e.turnInterruptions===1&&t.push(`turn interrupted`),e.turnInterruptions>1&&t.push(`${e.turnInterruptions} turns interrupted`);let n=e.controlCount-e.goalContextUpdates-e.turnInterruptions;return n===1&&t.push(`context updated`),n>1&&t.push(`${n} context updates`),t}function Ca(e){let t=Ta(e);return t.failed>0?Da(t.failed,`failed`):t.blocked>0?Da(t.blocked,`blocked`):t.stale>0?Da(t.stale,`stale`):t[`needs revision`]>0?Da(t[`needs revision`],`needs revision`):t.submitted>0?Da(t.submitted,`submitted`):t.running>0&&t.completed===0&&t.accepted===0?Da(t.running,`running`):t.accepted>0?Da(t.accepted,`accepted`):t.completed>0?Da(t.completed,`completed`):t.archived>0?Da(t.archived,`archived`):null}function wa(e,t,n){let r=t.openSession?.sessionId??(t.content.trim()||t.id),i=e.subagentStatuses.get(r);(!i||Ea(n)>Ea(i))&&e.subagentStatuses.set(r,n)}function Ta(e){let t={accepted:0,archived:0,blocked:0,completed:0,failed:0,"needs revision":0,running:0,stale:0,submitted:0};for(let n of e.subagentStatuses.values())t[n]+=1;return t}function Ea(e){return e===`running`?1:e===`submitted`?2:e===`accepted`||e===`completed`||e===`archived`?3:e===`needs revision`?4:e===`blocked`?5:e===`stale`?6:7}function Da(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function Oa(e,t){let n=[];return e.subagentStatuses.size>0&&n.push(`subagent`),e.editCount>0&&n.push(`edit`),(e.readFiles.size>0||e.readFileCount>0)&&n.push(`read`),e.searchedCode>0&&n.push(`search`),e.listedFiles>0&&n.push(`list`),e.webSearches>0&&n.push(`web`),e.imageCount>0&&n.push(`image`),e.reasoningCount>0&&n.push(`reasoning`),e.approvals>0&&n.push(`approval`),e.controlCount>0&&n.push(`control`),(e.testsOrChecks>0||t)&&n.push(`command`),n[0]??`command`}function ka(e){return e===1?`ran a command`:`ran ${e} commands`}function Aa(e,t,n){return t===1?`${e} a ${n}`:`${e} ${t} ${n}s`}function ja(e,t){return e.length===0?t?Va(t):``:Va(Ba(t?[...e,t]:e))}function Ma(e,t){let n=t.trim();n&&(e.includes(n)||e.push(n))}function Na(e,t){let n=Fa(t);n&&!e.includes(n)&&e.push(n)}function Pa(e,t){let n=t.receipt;if(!n)return;let r=`${n.status} receipt ${La(n.id)} ${Ia(n.totalUsd)}`;e.includes(r)||e.push(r)}function Fa(e){switch(e.trim().toLowerCase()){case`applied locally`:return`applied locally`;case`apply locally failed`:return`apply locally failed`;case`exported sandbox patch`:return`exported patch`;case`patch export failed`:return`patch export failed`;case`preserved sandbox source`:return`preserved sandbox source`;case`preserve failed`:return`preserve failed`;case`stopped sandbox`:return`stopped sandbox`;case`sandbox stop failed`:return`sandbox stop failed`;default:return null}}function Ia(e){let t=e.trim();return t.startsWith(`$`)?t:`$${t}`}function La(e){let t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function Ra(e){return e.length===0?``:Va(Ba(e.map(za)))}function za(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function Ba(e){return e.length===0?``:e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(`, `)}, and ${e[e.length-1]}`}function Va(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function Ha(e){let t=e.findIndex((e,t)=>t>0&&e!==`-n`&&!e.startsWith(`--`)),n=t>=0?e[t]??``:``,r=t>=0?qa(e.slice(t+1)):[],i=/^(\d+)(?:,(\d+))?p$/.exec(n);if(i){let e=i[1],t=i[2],n=t?`lines ${e}-${t}`:`line ${e}`;return r.length>0?`Read ${n} of ${Ya(r)}`:`Read ${n}`}return r.length>0?`Read ${Ya(r)} with sed`:`Run sed`}function Ua(e,t=!1){let n=e.slice(1);if(n.includes(`--files`)){let e=qa(n.filter(e=>e!==`--files`));return e.length>0?`${t?`Listing`:`Listed`} files matching ${Ya(e)}`:t?`Listing files`:`Listed files`}let r=qa(n),i=r[0],a=r.slice(1);return i?a.length>0?`${t?`Searching`:`Searched`} for ${Xa(i)} in ${Ya(a)}`:`${t?`Searching`:`Searched`} for ${Xa(i)}`:t?`Searching files`:`Searched files`}function Wa(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(e=>Ga(e)).filter(Boolean)}function Ga(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function Ka(e){return[`|`,`&&`,`||`,`;`,`>`,`>>`,`<`,`(`,`)`].includes(e)}function qa(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];r.startsWith(`-`)?Ja(r)&&n+1<e.length&&(n+=1):t.push(r)}return t}function Ja(e){return[`-e`,`-f`,`-g`,`--glob`,`--type`,`-t`,`--context`,`-C`,`-A`,`-B`,`-m`,`-n`,`-c`].includes(e)}function Ya(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function Xa(e){return`"${e}"`}function Za(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.plan!==void 0)return e[t].plan}function Qa(e){for(let t=e.length-1;t>=0;t--){let n=Za(e[t]?.activities??[]);if(n!==void 0)return n}}function $a({entries:e,initiallyExpanded:t=!0}){let[n,r]=(0,Q.useState)(t),i=e.filter(e=>e.status===`completed`).length,a=e.find(e=>e.status===`in_progress`);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,onClick:()=>r(e=>!e),children:[(0,$.jsx)(`strong`,{children:`Task progress`}),(0,$.jsxs)(`span`,{children:[i,` of `,e.length,` completed`]})]}),!n&&a?(0,$.jsx)(`p`,{className:`activity-plan-current`,children:a.activeForm??a.content}):null,n?(0,$.jsx)(`ol`,{children:e.map((e,t)=>(0,$.jsxs)(`li`,{"data-state":e.status,children:[e.status===`completed`?(0,$.jsx)(hr,{size:13}):e.status===`in_progress`?(0,$.jsx)(sn,{size:13}):(0,$.jsx)(Ji,{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]})}function eo(e,t){return{toolCount:e.reduce((e,t)=>e+ +!to(t),0),toolsExpanded:t,visibleActivities:t?e.filter(e=>!to(e)):[]}}function to(e){return e.kind===`reasoning`}function no(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 ro(e){return{id:`message:${e.id}`,type:`message`,message:e,showFooter:e.role===`assistant`&&e.finalAnswer===!0}}function io(e){return e.flatMap(e=>e.type===`message`?[e.message]:e.type===`work`?e.messages.map(e=>e.message):[])}function ao(e,t={}){let n=[],r=[],i=[],a=[],o=()=>{n.push(...i,...a),i=[],a=[]},s,c,l=e=>{r.length!==0&&(e?n.push({id:`work:${r[0].message.id}`,type:`work`,label:typeof e==`function`?e(r.length):e,messages:r}):n.push(...r),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(ro(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(ro(t));else if(t.role===`resources`)i.push(ro(t));else if(t.role===`error`||t.userQuestion?.status===`pending`)l(),n.push(ro(t));else if(t.role===`assistant`&&t.finalAnswer){t.reasoningContent&&r.push(ro({id:`${t.id}:reasoning`,role:`assistant`,timestamp:t.timestamp,turnId:t.turnId,reasoningContent:t.reasoningContent}));let e=no(t.turnStartedAt??s??r[0]?.message.traceStartedAt??r[0]?.message.timestamp,t.turnCompletedAt??t.timestamp);l(e?`Worked for ${e}`:`Worked`),n.push(ro(t.reasoningContent?{...t,reasoningContent:void 0}:t)),s=void 0}else r.push(ro(t));return l(),o(),t.showThinkingIndicator&&n.push({id:`thinking`,type:`thinking`}),n}function oo(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 so({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)(Tt,{"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})}function co({notification:e,onOpenFile:t}){let n=e.status===`completed`?`Background task completed`:e.status===`failed`?`Background task failed`:`Background task stopped`;return(0,$.jsxs)(`article`,{className:`native-task-notification ${e.status}`,"aria-label":n,children:[(0,$.jsxs)(`header`,{children:[e.status===`completed`?(0,$.jsx)(hr,{size:14}):(0,$.jsx)(Zt,{size:14}),(0,$.jsx)(`strong`,{children:n})]}),(0,$.jsx)(`p`,{children:e.summary}),(0,$.jsxs)(`details`,{children:[(0,$.jsx)(`summary`,{children:`Task details`}),(0,$.jsx)(`code`,{children:e.taskId}),e.outputFile?(0,$.jsx)(`div`,{children:t?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>t(e.outputFile),children:[(0,$.jsx)(Vn,{size:13}),`Open output`]}):(0,$.jsx)(`code`,{children:e.outputFile})}):null]})]})}C([`page`,`node`]);var lo=b({x:S().finite().nonnegative(),y:S().finite().nonnegative(),width:S().finite().positive().max(16e3),height:S().finite().positive().max(16e3)}).refine(e=>e.width*e.height<=4e7,`The snapshot is too large.`),uo=b({rect:lo,selector:w().max(500),html:w().max(6291456).optional(),source:w().max(64e3).optional()});function fo(e,t){let n=!1,r=null,i=null;function a(e){return`${e.tagName.toLowerCase()}${e.id?`#${e.id}`:``}${[...e.classList].slice(0,3).map(e=>`.${e}`).join(``)}`.slice(0,500)}function o(e,t,n){let r=e instanceof SVGElement&&e.tagName.toLowerCase()!==`svg`?e.ownerSVGElement:null;for(;r?.ownerSVGElement;)r=r.ownerSVGElement;let i=r??e,a=i.cloneNode(!0),o=[i,...i.querySelectorAll(`*`)],s=[a,...a.querySelectorAll(`*`)];for(let e=0;e<o.length;e++){let t=o[e],n=s[e];if([`SCRIPT`,`IFRAME`,`OBJECT`,`EMBED`,`LINK`,`META`].includes(n.tagName)){n.remove();continue}let r=[...n.attributes];for(let e of r)/^on/i.test(e.name)&&n.removeAttribute(e.name);if(n instanceof HTMLElement||n instanceof SVGElement){let e=getComputedStyle(t);n.style.cssText=[...e].map(t=>`${t}:${e.getPropertyValue(t).replace(/url\((["']?)(.*?)\1\)/g,(e,t,n)=>{let r=n.indexOf(`#`);return r>0&&[document.baseURI.split(`#`)[0],document.URL.split(`#`)[0]].includes(n.slice(0,r))?`url("#${n.slice(r+1)}")`:e})};`).join(``),n.style.setProperty(`animation`,`none`),n.style.setProperty(`transition`,`none`)}if(t instanceof HTMLInputElement&&(n.setAttribute(`value`,t.value),t.checked?n.setAttribute(`checked`,``):n.removeAttribute(`checked`)),t instanceof HTMLTextAreaElement&&(n.textContent=t.value),t instanceof HTMLOptionElement&&(t.selected?n.setAttribute(`selected`,``):n.removeAttribute(`selected`)),t instanceof HTMLCanvasElement){let e=document.createElement(`img`);e.src=t.toDataURL(`image/png`),e.style.cssText=n.style.cssText,t===i?a=e:n.replaceWith(e)}if(t.shadowRoot)throw Error(`This element has a shadow root. Capture it from a native browser tab.`)}a.style.setProperty(`margin`,`0`),a.style.setProperty(`position`,`relative`),a.style.setProperty(`inset`,`auto`),a.style.setProperty(`width`,`${t}px`),a.style.setProperty(`max-width`,`none`);let c=document.createElement(`div`);c.style.width=`${t}px`,c.style.height=`${n}px`;for(let t=e;t;t=t.parentElement){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`){c.style.backgroundColor=e;break}}if(r){let n=r.getBoundingClientRect(),i=e.getBoundingClientRect();Object.assign(c.style,{position:`relative`,overflow:`hidden`,width:`${t}px`,height:`${Math.ceil(i.height)}px`}),Object.assign(a.style,{position:`absolute`,left:`${n.left-i.left}px`,top:`${n.top-i.top}px`,width:`${n.width}px`,height:`${n.height}px`})}return c.append(a),c.outerHTML}function s(n,r){try{let i=n.getBoundingClientRect(),s=r?Math.max(document.documentElement.clientWidth,document.documentElement.scrollWidth):Math.ceil(i.width),c=r?Math.max(document.documentElement.scrollHeight,document.body.scrollHeight):Math.ceil(i.height);if(!s||!c)throw Error(`The selected element has no visible area.`);e({capture:{rect:{x:r?0:Math.max(0,i.left+scrollX),y:r?0:Math.max(0,i.top+scrollY),width:s,height:c},selector:r?`Full page`:a(n),source:n.outerHTML.slice(0,64e3),...t?{html:o(n,s,c)}:{}}})}catch(t){e({error:t instanceof Error?t.message:String(t)})}}function c(){n=!1,r=null,i?.remove(),i=null,document.removeEventListener(`pointermove`,l,!0),document.removeEventListener(`click`,u,!0),document.removeEventListener(`keydown`,f,!0),window.removeEventListener(`click`,u,!0);for(let e of[`pointerdown`,`pointerup`,`mousedown`,`mouseup`])window.removeEventListener(e,d,!0)}function l(e){if(!n||(r=e.composedPath().find(e=>e instanceof Element&&e!==i)??null,!r||!i))return;let t=r.getBoundingClientRect();Object.assign(i.style,{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`}),i.textContent=`${a(r)} · ${Math.ceil(t.width)} × ${Math.ceil(t.height)}`}function u(e){if(!n||!e.isTrusted)return;e.preventDefault(),e.stopImmediatePropagation();let t=e.composedPath().find(e=>e instanceof Element&&e!==i);c(),t&&s(t,!1)}function d(e){n&&(e.preventDefault(),e.stopImmediatePropagation())}function f(t){t.key===`Escape`&&t.isTrusted&&(t.preventDefault(),t.stopImmediatePropagation(),c(),e({canceled:!0}))}return{page(){c(),s(document.body,!0)},start(){c(),n=!0,i=document.createElement(`div`),i.setAttribute(`data-openpond-snapshot-overlay`,``),i.style.cssText=`position:fixed;pointer-events:none;z-index:2147483647;box-sizing:border-box;border:2px solid var(--blue,Highlight);background:transparent;color:var(--text,CanvasText);font:12px/1.3 monospace;text-shadow:0 0 3px var(--bg,Canvas);overflow:visible;`,document.documentElement.append(i),document.addEventListener(`pointermove`,l,!0),window.addEventListener(`click`,u,!0);for(let e of[`pointerdown`,`pointerup`,`mousedown`,`mouseup`])window.addEventListener(e,d,!0);document.addEventListener(`keydown`,f,!0)},cancel(){c(),e({canceled:!0})},dispose:c}}function po(){return`(${fo.toString()})`}var mo=`default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src 'none'; child-src 'none'; worker-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'`,ho=e=>JSON.stringify(e).replace(/</g,`\\u003c`).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`),go=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`);function _o(e,t,n=gn){let r=`(() => {
|
|
3
|
-
const style = document.getElementById('openpond-theme');
|
|
4
|
-
const keys = ${ho(Object.keys(gn))};
|
|
5
|
-
function theme(values) { if (!values || typeof values !== 'object') return;
|
|
6
|
-
style.textContent = ':root{' + keys.map(k => k+':'+String(values[k]||'').replace(/[;{}<>]/g,'')+';').join('') + '}'; }
|
|
7
|
-
theme(${ho(n)});
|
|
8
|
-
addEventListener('message', e => { if(e.source === parent && e.data?.type === 'openpond-theme') theme(e.data.theme); });
|
|
9
|
-
const send = data => parent.postMessage({ ...data, identity: ${ho(t)} }, '*');
|
|
10
|
-
const resourceToken=Array.from(crypto.getRandomValues(new Uint32Array(4))).join('-');
|
|
11
|
-
send({type:'openpond-resource-ready',resourceToken});
|
|
12
|
-
let snapshotRequest=null;
|
|
13
|
-
const inspector=${po()}(result=>{
|
|
14
|
-
if(!snapshotRequest)return;
|
|
15
|
-
send({type:'openpond-snapshot-result',resourceToken,requestId:snapshotRequest,...result});
|
|
16
|
-
snapshotRequest=null;
|
|
17
|
-
},true);
|
|
18
|
-
addEventListener('message',e=>{
|
|
19
|
-
const data=e.data;
|
|
20
|
-
if(e.source!==parent || data?.type!=='openpond-snapshot-command' || typeof data.requestId!=='string')return;
|
|
21
|
-
if(data.action==='cancel'){inspector.cancel();return;}
|
|
22
|
-
snapshotRequest=data.requestId;
|
|
23
|
-
if(data.action==='page')inspector.page();
|
|
24
|
-
else if(data.action==='node'){inspector.start();send({type:'openpond-snapshot-ready',resourceToken,requestId:snapshotRequest});}
|
|
25
|
-
});
|
|
26
|
-
// Declarative resource buttons use a trusted user click. Author scripts
|
|
27
|
-
// receive no API transport, credentials, or arbitrary host command bridge.
|
|
28
|
-
document.addEventListener('click',e=>{
|
|
29
|
-
if(!e.isTrusted || snapshotRequest)return;
|
|
30
|
-
const button=e.target?.closest?.('button[data-openpond-resource-id]');
|
|
31
|
-
if(!button || button.disabled)return;
|
|
32
|
-
const kind=button.dataset.openpondResourceKind,id=button.dataset.openpondResourceId;
|
|
33
|
-
const revision=Number(button.dataset.openpondResourceRevision);
|
|
34
|
-
if(!['dataset','experiment'].includes(kind) || !id || id.length>240 || (kind==='dataset' && (!Number.isSafeInteger(revision) || revision<1)))return;
|
|
35
|
-
send({type:'openpond-resource-select',resourceToken,resource:{kind,id,...Number.isSafeInteger(revision)&&revision>0?{revision}:{}}});
|
|
36
|
-
},true);
|
|
37
|
-
let interactionPending=false;
|
|
38
|
-
for(const type of ['wheel','touchmove','pointerdown','keydown']) addEventListener(type,e=>{
|
|
39
|
-
if(!e.isTrusted || interactionPending)return; interactionPending=true;
|
|
40
|
-
requestAnimationFrame(()=>{interactionPending=false;send({type:'openpond-interaction'});});
|
|
41
|
-
},{passive:true});
|
|
42
|
-
let queued = false, previous = 0, loaded = false, reportedReady = false;
|
|
43
|
-
// Initial sizing must work when the frame top is clipped: Chromium may
|
|
44
|
-
// suspend animation frames there before its child has expanded.
|
|
45
|
-
function measure() { if(queued)return; queued=true; queueMicrotask(() => { queued=false;
|
|
46
|
-
const body = document.body; if(!body)return;
|
|
47
|
-
const height = Math.max(80, Math.ceil(Math.max(body.getBoundingClientRect().height, body.scrollHeight)));
|
|
48
|
-
if(height!==previous || (loaded && !reportedReady)) { previous=height; reportedReady=loaded; send({type:'openpond-size',height,ready:loaded}); }
|
|
49
|
-
}); }
|
|
50
|
-
const observer = new ResizeObserver(measure);
|
|
51
|
-
addEventListener('DOMContentLoaded', () => { observer.observe(document.body); measure(); });
|
|
52
|
-
addEventListener('load', () => { void document.fonts.ready.then(() => { loaded=true; measure(); }); });
|
|
53
|
-
let count=0;
|
|
54
|
-
function log(level,args){ if(count++<40)send({type:'openpond-console',level,text:args.map(v=>{try{return typeof v==='string'?v:JSON.stringify(v)}catch{return String(v)}}).join(' ').slice(0,2000)}); }
|
|
55
|
-
for(const level of ['log','warn','error']) { const original=console[level]; console[level]=(...args)=>{log(level,args);original.apply(console,args)}; }
|
|
56
|
-
addEventListener('error', e => log('error',[e.message]));
|
|
57
|
-
addEventListener('unhandledrejection', e => log('error',[String(e.reason)]));
|
|
58
|
-
addEventListener('securitypolicyviolation', e => log('error',['Blocked resource: '+e.violatedDirective+' ('+e.blockedURI+')']));
|
|
59
|
-
// Links are informational inside a self-contained visual, never navigation.
|
|
60
|
-
document.addEventListener('click', e => { if(e.composedPath().some(n=>n?.tagName==='A'))e.preventDefault(); }, true);
|
|
61
|
-
})();`,i=`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${go(mo)}"><meta name="viewport" content="width=device-width,initial-scale=1"><style id="openpond-theme"></style><style>html,body{color-scheme:var(--color-scheme);margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font-web)}body{display:flow-root;overflow-wrap:anywhere}*{box-sizing:border-box}img,svg,canvas{max-width:100%}button,input,select{font:inherit}button{cursor:pointer}html{scrollbar-width:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}</style><script>${r}<\/script></head><body>${e}</body></html>`;return`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="${go(mo)}"><meta name="viewport" content="width=device-width,initial-scale=1"><style>html,body{margin:0;background:transparent}iframe{display:block;border:0;width:100%;height:80px;color-scheme:normal}</style></head><body><iframe title="Interactive visual" sandbox="allow-scripts" referrerpolicy="no-referrer" allow="camera 'none'; microphone 'none'; geolocation 'none'; clipboard-read 'none'; clipboard-write 'none'"></iframe><script>(()=>{
|
|
62
|
-
const frame=document.querySelector('iframe'); const identity=${ho(t)};
|
|
63
|
-
let resourceToken=null;
|
|
64
|
-
const state=window.__openpondVisual={height:80,console:[],ready:false};
|
|
65
|
-
addEventListener('message', e=>{
|
|
66
|
-
const d=e.data;if(!d||typeof d!=='object')return;
|
|
67
|
-
if(e.source===parent && parent!==window && d.type==='openpond-theme' && d.identity===identity){frame.contentWindow.postMessage({type:'openpond-theme',theme:d.theme},'*');return;}
|
|
68
|
-
if(e.source===parent && parent!==window && d.type==='openpond-snapshot-command' && d.identity===identity){if(d.action==='node')frame.focus();frame.contentWindow.postMessage(d,'*');return;}
|
|
69
|
-
if(e.source!==frame.contentWindow || d.identity!==identity)return;
|
|
70
|
-
if(d.type==='openpond-interaction' && parent!==window)parent.postMessage({type:'openpond-visual-interaction',identity},'*');
|
|
71
|
-
if(d.type==='openpond-resource-ready' && resourceToken===null && typeof d.resourceToken==='string' && d.resourceToken.length<100)resourceToken=d.resourceToken;
|
|
72
|
-
if(d.type==='openpond-resource-select' && resourceToken!==null && d.resourceToken===resourceToken && parent!==window)parent.postMessage({type:'openpond-visual-resource-select',identity,resource:d.resource},'*');
|
|
73
|
-
if(d.type==='openpond-snapshot-result' && resourceToken!==null && d.resourceToken===resourceToken && parent!==window)parent.postMessage({type:'openpond-visual-snapshot',identity,requestId:d.requestId,capture:d.capture,canceled:d.canceled,error:d.error},'*');
|
|
74
|
-
if(d.type==='openpond-snapshot-ready' && resourceToken!==null && d.resourceToken===resourceToken && parent!==window)parent.postMessage({type:'openpond-visual-snapshot-ready',identity,requestId:d.requestId},'*');
|
|
75
|
-
if(d.type==='openpond-console' && state.console.length<40 && ['log','warn','error'].includes(d.level) && typeof d.text==='string')state.console.push({level:d.level,text:d.text.slice(0,2000)});
|
|
76
|
-
if(d.type==='openpond-size' && Number.isFinite(d.height)){
|
|
77
|
-
const height=Math.max(80,Math.min(${jn},Math.ceil(d.height)));state.height=height;if(d.ready===true)state.ready=true;
|
|
78
|
-
frame.style.height=state.height+'px';if(parent!==window)parent.postMessage({type:'openpond-visual-size',identity,height:state.height,ready:state.ready},'*');
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
frame.srcdoc=${ho(i)};
|
|
82
|
-
})();<\/script></body></html>`}function vo(e,t,n,r){let i=(0,Q.useRef)(n);i.current=n;let a=(0,Q.useRef)(null),o=(0,Q.useCallback)(()=>{let n=a.current;n&&(a.current=null,clearTimeout(n.timeout),e.current?.contentWindow?.postMessage({type:`openpond-snapshot-command`,identity:t,requestId:n.id,action:`cancel`},`*`),n.reject(new DOMException(`Snapshot canceled.`,`AbortError`)))},[e,t]);return(0,Q.useEffect)(()=>o,[o]),(0,Q.useImperativeHandle)(r,()=>({cancel:o,capture:n=>!i.current||!e.current?.contentWindow?Promise.reject(Error(`Wait for the HTML page to finish loading.`)):(o(),new Promise((r,i)=>{let s=crypto.randomUUID();n===`node`&&e.current.focus(),a.current={id:s,resolve:r,reject:i,timeout:setTimeout(o,n===`node`?12e4:15e3)},e.current.contentWindow.postMessage({type:`openpond-snapshot-command`,identity:t,requestId:s,action:n},`*`)}))}),[o,e,t]),(0,Q.useCallback)(e=>{let t=a.current;if(!t||t.id!==e.requestId)return;if(e.canceled){o();return}a.current=null,clearTimeout(t.timeout);let n=uo.safeParse(e.capture);e.error||!n.success||!n.data.html?t.reject(Error(e.error??`The HTML snapshot could not be captured.`)):t.resolve(n.data)},[o])}var yo=(0,Q.createContext)(null),bo=(0,Q.createContext)(null);function xo(){let e=getComputedStyle(document.querySelector(`.app-shell`)??document.documentElement);return Object.fromEntries(Object.entries(gn).map(([t,n])=>[t,t===`--color-scheme`?document.documentElement.dataset.theme??`dark`:e.getPropertyValue(Vt[t]??t).trim()||n]))}function So({visual:e,connection:t,expanded:n=!1,snapshotRef:r}){let i=(0,Q.useContext)(yo),a=(0,Q.useContext)(bo),o=(0,Q.useRef)(!1),s=(0,Q.useRef)(null),c=(0,Q.useRef)(null),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)(null),h=(0,Q.useRef)(null),g=(0,Q.useRef)(null),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(null),[C,w]=(0,Q.useState)(0),[T,E]=(0,Q.useState)(n),[D,O]=(0,Q.useState)(!1),[k,A]=(0,Q.useState)(e.heights[0]?.height??320),j=`${e.publicationId}:${n?`expanded`:`inline`}:${C}`,M=vo(g,j,D,r),N=`/v1/sessions/${encodeURIComponent(e.sessionId)}/visuals/${e.publicationId}`,P=t?.serverUrl,F=t?.token,ee=t?.platform,te=!!(_&&/data-openpond-resource-(?:id|table)/.test(_));(0,Q.useEffect)(()=>{let e=h.current;if(!e||T||n)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&E(!0)},{rootMargin:`160px`});return t.observe(e),()=>t.disconnect()},[n,T]),(0,Q.useEffect)(()=>{if(!P||!F||!(T||n))return;let e=new AbortController,t=null;return v(null),S(null),b(null),Promise.all([W({serverUrl:P,token:F,platform:ee??`web`},`${N}/document`,{signal:e.signal}),U({serverUrl:P,token:F},`${N}/preview`,{signal:e.signal}).then(e=>{if(!e.ok)throw Error(`Preview unavailable`);return e.blob()})]).then(([n,r])=>{e.signal.aborted||(v(n.html),t=URL.createObjectURL(r),b(t))}).catch(t=>{e.signal.aborted||S(t instanceof Error?t.message:`Visual unavailable`)}),()=>{e.abort(),t&&URL.revokeObjectURL(t)}},[P,F,ee,N,C,T,n]),(0,Q.useEffect)(()=>{if(!t||!(T||n)||!_?.includes(`data-openpond-resource-id`))return;let r=new AbortController;return J(t,`dataset`,{action:`context`,payload:{sessionId:e.sessionId}},r.signal).then(t=>{let n=Object.entries(t.focus.scopeContext?.selectionOperations??{}).filter(([,t])=>t.visualPublicationId===e.publicationId&&t.resource).sort((e,t)=>t[1].version-e[1].version)[0];if(!r.signal.aborted&&n&&!o.current){let e=n[1].resource;c.current={key:`${e.kind}:${e.id}:${e.revision}`,id:n[0]},m(`Selected ${e.kind}: ${e.name}${e.kind===`dataset`?` V${e.revision}`:``}.`)}}).catch(()=>{}),()=>r.abort()},[t,e.sessionId,e.publicationId,T,n,_]);async function ne(t){if(!a||o.current)return;o.current=!0,u(!0),f(null);let n=`${t.kind}:${t.id}:${t.revision}`;c.current?.key!==n&&(c.current={key:n,id:`visual-select-${crypto.randomUUID()}`});try{m(await a(e,t,c.current.id))}catch(e){f(e instanceof Error?e.message:`Resource selection failed.`)}finally{o.current=!1,u(!1)}}s.current=ne;let I=(0,Q.useMemo)(()=>_===null?void 0:_o(_,j,xo()),[_,j]);return(0,Q.useEffect)(()=>{if(O(!1),!I)return;let e=setTimeout(()=>S(`The visual did not finish loading.`),8e3),t=t=>{let n=t.data;if(t.source===g.current?.contentWindow&&n?.identity===j){if(n.type===`openpond-visual-snapshot`)M(n);else if(n.type===`openpond-visual-resource-select`){let e=Sr.safeParse(n.resource);e.success&&s.current?.(e.data)}else n.type===`openpond-visual-interaction`?h.current?.dispatchEvent(new Event(`openpond-visual-interaction`,{bubbles:!0})):n.type===`openpond-visual-size`&&Number.isFinite(n.height)&&(n.ready===!0&&(clearTimeout(e),O(!0)),A(Math.max(80,Math.min(jn,Math.ceil(n.height)))))}},n=()=>g.current?.contentWindow?.postMessage({type:`openpond-theme`,identity:j,theme:xo()},`*`);window.addEventListener(`message`,t);let r=new MutationObserver(n),i=[document.documentElement,document.querySelector(`.app-shell`)].filter(e=>e!==null);for(let e of i)r.observe(e,{attributes:!0,attributeFilter:[`class`,`style`,`data-theme`]});let a=matchMedia(`(prefers-color-scheme: dark)`);return a.addEventListener(`change`,n),()=>{clearTimeout(e),r.disconnect(),window.removeEventListener(`message`,t),a.removeEventListener(`change`,n)}},[j,I,M]),(0,$.jsxs)(`div`,{className:`html-visual`,ref:h,"data-visual-id":e.visualId,"data-publication-id":e.publicationId,children:[te?null:(0,$.jsxs)(`div`,{className:`html-visual-toolbar`,children:[(0,$.jsxs)(`span`,{children:[e.output.title,e.output.revision>1?` · Revision ${e.output.revision}`:``]}),(0,$.jsx)(`button`,{type:`button`,disabled:_===null,onClick:()=>{if(_===null)return;let t=URL.createObjectURL(new Blob([_],{type:`text/html;charset=utf-8`})),n=document.createElement(`a`);n.href=t,n.download=`${e.output.title}.html`,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)},title:`Download HTML`,"aria-label":`Download HTML`,children:(0,$.jsx)(Qt,{size:15,"aria-hidden":!0})}),!n&&i?(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),title:`Open in browser panel`,"aria-label":`Expand visual`,children:(0,$.jsx)(At,{size:15,"aria-hidden":!0})}):null]}),p?(0,$.jsxs)(`div`,{className:`html-visual-selection-receipt`,children:[(0,$.jsx)(`span`,{children:p}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{m(null),f(null),c.current=null},children:`Change`})]}):null,l?(0,$.jsx)(`p`,{role:`status`,className:`html-visual-status`,children:`Selecting resource…`}):null,d?(0,$.jsx)(q,{error:d}):null,(0,$.jsx)(`div`,{className:`html-visual-content`,style:{minHeight:k},hidden:p!==null,children:t?x?(0,$.jsx)(q,{error:x,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>w(e=>e+1),children:`Retry`})}):(0,$.jsxs)($.Fragment,{children:[I?(0,$.jsx)(`iframe`,{ref:g,title:e.output.title,sandbox:`allow-scripts`,referrerPolicy:`no-referrer`,allow:`camera 'none'; microphone 'none'; geolocation 'none'; clipboard-read 'none'; clipboard-write 'none'`,srcDoc:I,style:{height:k,opacity:+!!D}}):null,D?null:(0,$.jsx)(`div`,{className:`html-visual-placeholder`,children:y?(0,$.jsx)(`img`,{src:y,alt:`Saved preview of ${e.output.title}`,style:{maxHeight:k}}):(0,$.jsx)(`p`,{className:`html-visual-status`,role:`status`,children:`Loading visual…`})})]}):(0,$.jsx)(`p`,{className:`html-visual-status`,children:`Connect to view this visual.`})}),k===2400?(0,$.jsx)(`p`,{className:`html-visual-status`,children:`This visual reaches the height limit. Scroll inside it to see more.`}):null]})}function Co({name:e,version:t,summary:n,primary:r,actions:i=[],children:a}){let[o,s]=(0,Q.useState)(!1),c=[r,...i];return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`header`,{className:`chat-resource-toolbar`,children:[(0,$.jsx)(`strong`,{title:e,children:e}),(0,$.jsxs)(`span`,{className:`chat-resource-version`,children:[`V`,t]}),(0,$.jsx)(`span`,{className:`chat-resource-toolbar-summary`,title:n,children:n}),(0,$.jsx)(`button`,{type:`button`,className:`chat-resource-toolbar-primary`,disabled:r.disabled,"aria-expanded":r.expanded,"aria-controls":r.controls,onClick:r.run,children:r.label}),i.length||a?(0,$.jsx)(Y,{compact:!0,floating:!0,placement:`bottom`,floatingMenuWidth:220,label:`Actions for ${e}`,value:``,triggerContent:(0,$.jsx)(Qi,{size:15}),options:[...c.map((e,t)=>({value:String(t),label:e.label,disabled:e.disabled})),...a?[{value:`details`,label:o?`Hide details`:`Details`,separatorBefore:!0}]:[]],onChange:e=>{e===`details`?s(e=>!e):c[Number(e)]?.run()}}):null]}),o&&a?(0,$.jsx)(`div`,{className:`chat-resource-details`,children:a}):null]})}function wo({title:e,description:t,action:n,children:r}){return(0,$.jsxs)(`section`,{className:`taskset-draft-section`,children:[(0,$.jsxs)(`header`,{children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{children:e}),(0,$.jsx)(`p`,{children:t})]}),n]}),r]})}function To({label:e,children:t}){return(0,$.jsxs)(`label`,{className:`taskset-draft-field`,children:[(0,$.jsx)(`span`,{children:e}),t]})}function Eo({children:e}){return(0,$.jsx)(`div`,{className:`taskset-draft-empty`,children:e})}function Do({disabled:e,label:t,onImport:n}){let[r,i]=(0,Q.useState)(null);return(0,$.jsxs)(`span`,{className:`taskset-json-file-import-row`,children:[(0,$.jsxs)(`label`,{className:`training-button secondary taskset-json-file-import`,children:[t,(0,$.jsx)(`input`,{accept:`application/json,.json`,disabled:e,type:`file`,onChange:e=>{let t=e.target.files?.[0];t&&t.text().then(e=>{let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`The selected JSON file must contain an object.`);n(t),i(null)}).catch(e=>{i(e instanceof Error?e.message:String(e))}).finally(()=>{e.target.value=``})}})]}),r?(0,$.jsx)(q,{error:r}):null]})}function Oo({label:e,value:t,disabled:n,nullable:r=!1,onChange:i}){return(0,$.jsx)(Ao,{disabled:n,label:e,value:t,onApply:e=>{if(r&&e.trim()===`null`)return i(null);let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`Enter a JSON object.`);i(t)}})}function ko({label:e,value:t,disabled:n,onChange:r}){return(0,$.jsx)(Ao,{disabled:n,label:e,value:t,onApply:e=>{let t=JSON.parse(e);if(!Array.isArray(t))throw Error(`Enter a JSON array.`);r(t)}})}function Ao({label:e,value:t,disabled:n,onApply:r}){let i=JSON.stringify(t,null,2),[a,o]=(0,Q.useState)(i),[s,c]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>o(i),[i]),(0,$.jsxs)(To,{label:e,children:[(0,$.jsx)(`textarea`,{disabled:n,rows:7,value:a,onChange:e=>o(e.target.value)}),(0,$.jsxs)(`span`,{className:`taskset-draft-json-actions`,children:[s?(0,$.jsx)(q,{error:s}):(0,$.jsx)(`small`,{children:`JSON is applied explicitly.`}),(0,$.jsx)(`button`,{className:`training-text-button`,disabled:n||a===i,type:`button`,onClick:()=>{try{r(a),c(null)}catch(e){c(e instanceof Error?e.message:String(e))}},children:`Apply JSON`})]})]})}function jo({initial:e,connection:t,context:n}){let[r,i]=(0,Q.useState)(e),[a,o]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(0),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)([]),[x,S]=(0,Q.useState)(null);(0,Q.useEffect)(()=>i(e),[e]);async function C(e,a={}){if(!t||!r.datasetId||!r.graderId)throw Error(`The saved grader reference is unavailable.`);let s=await J(t,`dataset`,{action:e,id:r.datasetId,expectedRevision:r.datasetRevision,payload:{graderId:r.graderId,...a},context:n});return i(s.summary),o(s),s}async function w(e){if(!d){f(!0),m(null);try{await e()}catch(e){m(e instanceof Error?e.message:`Grader action failed.`)}finally{f(!1)}}}async function T(){let e=await C(`read_grader`);v(e.grader),b(e.record.workspace.draft.graderFixtures),u(!0),c(!0)}let E=s&&a?a.record.workspace.draft.graderFixtures.filter(e=>!Array.isArray(e.metadata.graderIds)||e.metadata.graderIds.includes(r.graderId)).map(e=>({id:e.id,label:e.label,detail:JSON.stringify(e.output)})):r.rows,D=a?.record.checks.find(e=>e.kind===`graders`);return(0,$.jsxs)(`section`,{className:`chat-resource-summary ${s?``:`compact`}`,"aria-label":`grader: ${r.name}`,children:[(0,$.jsx)(Co,{name:r.name,version:r.revision,summary:r.checkState??r.state,primary:{label:`Test grader`,disabled:!t||d,run:()=>void w(async()=>{await C(`test_grader`),c(!0)})},actions:[{label:s?`Collapse`:`View examples`,disabled:!t||d,run:()=>void w(async()=>{s||await C(`read_grader`),c(!s)})},{label:`Edit`,disabled:!t||d,run:()=>void w(T)}],children:(0,$.jsxs)(`dl`,{children:[(0,$.jsx)(`dt`,{children:`Type`}),(0,$.jsx)(`dd`,{children:r.graderType}),(0,$.jsx)(`dt`,{children:`Dataset version`}),(0,$.jsxs)(`dd`,{children:[`V`,r.datasetRevision]}),(0,$.jsx)(`dt`,{children:`Checks`}),(0,$.jsx)(`dd`,{children:r.description})]})}),s&&(0,$.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${s?`expanded`:``}`,tabIndex:0,"aria-label":`Grader examples`,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:`Output`})]})}),(0,$.jsx)(`tbody`,{children:E.length?E.slice(h*5,h*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{title:e.label,children:e.label}),(0,$.jsx)(`td`,{title:e.detail,children:e.detail})]},e.id)):(0,$.jsx)(`tr`,{children:(0,$.jsx)(`td`,{colSpan:2,children:`No saved examples. Add known-good and known-bad outputs before testing.`})})})]})}),s&&E.length>5&&(0,$.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:h===0,onClick:()=>g(e=>e-1),children:`Previous`}),(0,$.jsxs)(`span`,{children:[h+1,`/`,Math.ceil(E.length/5)]}),(0,$.jsx)(`button`,{type:`button`,disabled:(h+1)*5>=E.length,onClick:()=>g(e=>e+1),children:`Show more`})]}),s&&D&&(0,$.jsx)(`div`,{className:`chat-resource-checks`,children:D.issues.filter(e=>!e.graderId||e.graderId===r.graderId).map((e,t)=>(0,$.jsx)(`p`,{children:e.message},t))}),l&&_&&(0,$.jsxs)(`div`,{className:`chat-resource-grader-editor`,children:[(0,$.jsx)(`p`,{children:`Save a new Dataset revision. Earlier examples and Experiment inputs stay pinned to their saved version.`}),(0,$.jsx)(Oo,{label:`Grader definition`,value:_,disabled:d,onChange:e=>{v(e),S(null)}}),(0,$.jsx)(ko,{label:`Saved calibration examples`,value:y,disabled:d,onChange:e=>{b(e),S(null)}}),(0,$.jsxs)(`div`,{className:`chat-resource-actions`,children:[(0,$.jsx)(`button`,{className:`training-button`,disabled:d,onClick:()=>void w(async()=>{let e=x??crypto.randomUUID();S(e);let a=await J(t,`dataset`,{action:`save_grader`,id:r.datasetId,expectedRevision:r.datasetRevision,operationId:e,payload:{grader:{..._,id:r.graderId},fixtures:y},context:n}),s=a.record.workspace.draft.graders.find(e=>e.id===r.graderId);if(!s)throw Error(`The original grader was removed; inspect the saved Dataset.`);let c=await J(t,`dataset`,{action:`read_grader`,id:r.datasetId,expectedRevision:a.record.workspace.draft.revision,payload:{graderId:s.id}});i(c.summary),o(c),u(!1),S(null)}),children:`Save revision`}),(0,$.jsx)(`button`,{className:`training-button secondary`,disabled:d,onClick:()=>u(!1),children:`Close editor`})]})]}),p&&(0,$.jsx)(q,{error:p})]})}function Mo(e){return e.initial.kind===`grader`?(0,$.jsx)(jo,{...e}):(0,$.jsx)(No,{...e})}function No({initial:e,connection:t,context:n}){let[r,i]=(0,Q.useState)(e),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(0),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)([]),[y,b]=(0,Q.useState)(``),[x,S]=(0,Q.useState)([]),[C,w]=(0,Q.useState)(``),[T,E]=(0,Q.useState)(`10`),[D,O]=(0,Q.useState)([]),[k,A]=(0,Q.useState)(e.location??`local`),[j,M]=(0,Q.useState)(null),[N,P]=(0,Q.useState)(!0),F=[...new Set([...x,...y?[y]:[]])],ee=k===`local`&&!N&&F.length>0&&F.every(e=>e.startsWith(`codex/`)),[te]=(0,Q.useState)(()=>crypto.randomUUID());(0,Q.useEffect)(()=>i(e),[e]);let ne=[`Creating`,`Importing`,`Failed`,`Cancelled`].includes(r.state)&&r.kind===`dataset`;(0,Q.useEffect)(()=>{if(!t||ne||r.kind===`experiment`&&![`queued`,`running`,`cancelling`].includes(r.state))return;let e=new AbortController,n,a=async()=>{try{let n=r.kind===`dataset`?await J(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision},e.signal):await J(t,`experiment`,{action:`status`,payload:{id:r.id}},e.signal);e.signal.aborted||(i(e=>({...n.summary,datasetId:e.datasetId,datasetRevision:e.datasetRevision})),m(`record`in n?n:n.view),f(null))}catch(t){e.signal.aborted||f(t instanceof Error?t.message:`Status unavailable.`)}e.signal.aborted||(n=setTimeout(()=>void a(),r.kind===`dataset`?1e4:2e3))};return a(),()=>{e.abort(),clearTimeout(n)}},[t,r.id,r.kind,r.state,r.revision,ne]);async function I(e){if(!l&&t){u(!0),f(null);try{await e()}catch(e){f(e instanceof Error?e.message:`Resource action failed.`)}finally{u(!1)}}}async function L(e,a={}){let o=await J(t,`dataset`,{action:e,id:r.id,expectedRevision:r.revision,payload:a,context:n});i(o.summary),m(o)}async function re(){if(a)o(!1);else{if(r.kind===`dataset`){let e=await J(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision});m(e)}else{let e=await J(t,`experiment`,{action:`result`,payload:{id:r.id}});m(e.view)}c(0),o(!0)}}async function ie(){let e=r.kind===`dataset`?r.id:r.datasetId,n=r.kind===`dataset`?r.revision:r.datasetRevision;if(!e||!n)throw Error(`The saved Dataset pin is unavailable.`);let[i,a]=await Promise.all([J(t,`experiment`,{action:`models`}),J(t,`dataset`,{action:`read`,id:e,expectedRevision:n})]);P(a.record.workspace.draft.graders.some(e=>e.kind===`model_judge`)),v(i.models),S([]),b(``),g(!0),i.models.length===1&&b(`${i.models[0].providerId}/${i.models[0].id}`)}async function ae(){let e=[...new Set([...x,...y?[y]:[]])].map(e=>_.find(t=>`${t.providerId}/${t.id}`===e)),i=Number(C),a=Number(T);if(k===`cloud`&&e.some(e=>e?.providerId!==`openpond`))throw Error(`Cloud execution requires available OpenPond models.`);if(!e.length||e.length>8||e.some(e=>!e)||!ee&&(!Number.isFinite(i)||i<=0)||!Number.isSafeInteger(a)||a<1||a>100)throw Error(`Select a model, a task count from 1 to 100, and a positive total budget for metered calls.`);let o=j??crypto.randomUUID();M(o);let s=r.kind===`dataset`?r.id:r.datasetId,c=r.kind===`dataset`?r.revision:r.datasetRevision;if(!s||!c)throw Error(`This Experiment does not have an installation-local Dataset pin.`);let l=await J(t,`experiment`,{action:k===`cloud`?`run_cloud`:`run`,context:n,payload:{datasetId:s,revision:c,operationId:o,...ee?{}:{maximumCostUsd:i},taskLimit:a,models:e.map(e=>({providerId:e.providerId,modelId:e.id}))}});n||O(l.summaries),g(!1),M(null)}let oe=a&&p?`record`in p?p.record.workspace.draft.tasks.map(e=>({id:e.id,label:typeof e.input.prompt==`string`?e.input.prompt:typeof e.input.request==`string`?e.input.request:JSON.stringify(e.input),detail:p.record.workspace.draft.graders.map(e=>e.label).join(`, `),score:void 0})):p.cases.map(e=>({id:e.id,label:e.taskId,detail:e.error??e.output??e.status,score:e.score})):r.rows,se={label:a?`Collapse`:r.kind===`dataset`?`View rows`:`View results`,disabled:l||!t||ne,run:()=>void I(re)},ce=[],R=(e,n,r=!1)=>ce.push({label:e,run:()=>void I(n),disabled:l||!t||r});r.kind===`dataset`?(R(`Run experiment`,ie,ne),R(`Check graders`,()=>L(`check_graders`),ne),!ne&&r.syncState!==`Synced`&&r.syncState!==`Paused`&&R(r.syncState===`Local`?`Upload to cloud`:`Retry sync`,()=>L(r.syncState===`Local`?`upload`:`sync`)),a&&!ne&&r.syncState!==`Local`&&(R(r.syncState===`Paused`?`Resume sync`:`Pause sync`,()=>L(`pause_sync`,{paused:r.syncState!==`Paused`})),R(`Disconnect cloud`,()=>L(`disconnect_sync`)))):[`queued`,`running`,`cancelling`].includes(r.state)?R(`Cancel experiment`,async()=>{let e=await J(t,`experiment`,{action:`cancel`,payload:{id:r.id}});i(t=>({...e.summary,datasetId:t.datasetId,datasetRevision:t.datasetRevision}))}):(!r.owner&&!r.profileRef&&R(`Run again`,ie,!r.datasetId),R(`HTML charts`,async()=>{await J(t,`experiment`,{action:`charts`,context:n,payload:{ids:[r.id],operationId:te}})},!n));let z=r.score==null?``:`${Number((r.score*100).toFixed(1))}%`,le=r.kind===`dataset`?`${r.taskCount??0} example${r.taskCount===1?``:`s`} · ${r.graderCount??0} grader${r.graderCount===1?``:`s`}`:`${r.evaluatedCount??0}/${r.taskCount??0} graded${z?` · ${z}`:``}`;return(0,$.jsxs)(`section`,{className:`chat-resource-summary ${a?``:`compact`}`,"aria-label":`${r.kind}: ${r.name}`,children:[(0,$.jsx)(Co,{name:r.name,version:r.revision,summary:le,primary:se,actions:ce,children:(0,$.jsxs)(`dl`,{children:[(0,$.jsx)(`dt`,{children:`Status`}),(0,$.jsx)(`dd`,{children:r.state}),r.kind===`dataset`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`dt`,{children:`Storage`}),(0,$.jsx)(`dd`,{children:r.syncState??`Local`}),(0,$.jsx)(`dt`,{children:`Grader checks`}),(0,$.jsx)(`dd`,{children:r.checkState??`Not checked`})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`dt`,{children:`Model`}),(0,$.jsx)(`dd`,{children:r.model??`Unavailable`}),(0,$.jsx)(`dt`,{children:`Location`}),(0,$.jsx)(`dd`,{children:r.location??`local`}),(0,$.jsx)(`dt`,{children:r.scoreLabel??`Mean task score`}),(0,$.jsx)(`dd`,{children:z||`Unavailable`}),(0,$.jsx)(`dt`,{children:`Cost`}),(0,$.jsx)(`dd`,{children:r.costUsd==null?`Unavailable`:`$${r.costUsd.toFixed(4)}`}),(0,$.jsx)(`dt`,{children:`Quality failures`}),(0,$.jsx)(`dd`,{children:r.qualityFailureCount??`Unavailable`}),(0,$.jsx)(`dt`,{children:`Execution failures`}),(0,$.jsx)(`dd`,{children:r.executionFailureCount??`Unavailable`}),(0,$.jsx)(`dt`,{children:`Ungraded`}),(0,$.jsx)(`dd`,{children:r.ungradedCount??`Unavailable`})]})]})}),a&&(0,$.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${a?`expanded`:``}`,tabIndex:0,"aria-label":`Resource rows`,children:(0,$.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:r.kind===`dataset`?`Task`:`Case`}),(0,$.jsx)(`th`,{children:r.kind===`dataset`?`Graders`:`Outcome`}),r.kind===`experiment`&&(0,$.jsx)(`th`,{children:`Score`})]})}),(0,$.jsx)(`tbody`,{children:oe.length?oe.slice(s*5,s*5+5).map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{title:e.label,children:e.label}),(0,$.jsx)(`td`,{title:e.detail,children:e.detail}),r.kind===`experiment`&&(0,$.jsx)(`td`,{children:e.score==null?`Unavailable`:`${(e.score*100).toFixed(1)}%`})]},e.id)):(0,$.jsx)(`tr`,{children:(0,$.jsx)(`td`,{colSpan:r.kind===`experiment`?3:2,children:[`Creating`,`Importing`].includes(r.state)?`Waiting for saved tasks…`:`No saved rows to show.`})})})]})}),a&&oe.length>5&&(0,$.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:s===0,onClick:()=>c(e=>e-1),children:`Previous`}),(0,$.jsxs)(`span`,{children:[s+1,`/`,Math.ceil(oe.length/5)]}),(0,$.jsx)(`button`,{type:`button`,disabled:(s+1)*5>=oe.length,onClick:()=>c(e=>e+1),children:`Show more`})]}),h&&(0,$.jsxs)(`div`,{className:`chat-resource-run-setup`,children:[(0,$.jsxs)(`p`,{children:[`Run the saved Dataset, version `,r.kind===`dataset`?r.revision:r.datasetRevision,`. The total budget includes model calls and grading.`,k===`cloud`?` Cloud execution publishes this exact revision and enables Dataset sync.`:``]}),(0,$.jsx)(Y,{label:`Execution location`,value:k,options:[{value:`local`,label:`Local`},{value:`cloud`,label:`Cloud`,description:`Publish this saved version and run in the linked workspace`}],onChange:e=>{A(e),S([]),b(``),M(null)},disabled:l}),(0,$.jsx)(Y,{label:`Evaluated model`,value:y,options:[{value:``,label:`Select model`},..._.filter(e=>k===`local`||e.providerId===`openpond`).map(e=>({value:`${e.providerId}/${e.id}`,label:e.name,description:e.providerId}))],onChange:e=>{b(e),M(null)},disabled:l}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:l||!y||x.includes(y)||x.length>=8,onClick:()=>{S([...x,y]),b(``),M(null)},children:`Add model`}),x.length>0&&(0,$.jsxs)(`table`,{className:`training-data-table`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`th`,{children:`Selected model`}),(0,$.jsx)(`th`,{children:`Actions`})]})}),(0,$.jsx)(`tbody`,{children:x.map(e=>(0,$.jsxs)(`tr`,{children:[(0,$.jsx)(`td`,{children:_.find(t=>`${t.providerId}/${t.id}`===e)?.name??e}),(0,$.jsx)(`td`,{children:(0,$.jsx)(`button`,{type:`button`,className:`training-text-button`,disabled:l,onClick:()=>{S(x.filter(t=>t!==e)),M(null)},children:`Remove`})})]},e))})]}),!_.length&&(0,$.jsx)(`p`,{children:`Sign in to Codex or configure a supported local inference endpoint, a priced OpenPond model, or Claude API provider in Settings before running.`}),ee?(0,$.jsx)(`p`,{children:`Uses your signed-in Codex account with Lite reasoning. No dollar budget is required. Token usage is retained; dollar cost is unavailable.`}):(0,$.jsxs)(`label`,{children:[`Total budget (USD)`,(0,$.jsx)(`input`,{type:`number`,min:`0.000001`,step:`any`,value:C,onChange:e=>{w(e.target.value),M(null)},disabled:l})]}),(0,$.jsxs)(`label`,{children:[`Maximum tasks`,(0,$.jsx)(`input`,{type:`number`,min:`1`,max:`100`,value:T,onChange:e=>{E(e.target.value),M(null)},disabled:l})]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:l||!x.length&&!y||!ee&&!C,onClick:()=>void I(ae),children:k===`cloud`?`Run in cloud`:`Run experiment`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:l,onClick:()=>g(!1),children:`Close`})]}),d&&(0,$.jsx)(q,{error:d}),D.map(e=>(0,$.jsx)(Mo,{initial:e,connection:t},e.id))]})}function Po({resources:e,connection:t,context:n}){let[r,i]=(0,Q.useState)(!1),a=(0,Q.useId)(),o=e.find(e=>e.kind===`dataset`),s=o&&e.length>1&&e.every(e=>e===o||e.kind===`grader`&&e.datasetId===o.id&&e.datasetRevision===o.revision&&JSON.stringify(e.owner??null)===JSON.stringify(o.owner??null)&&JSON.stringify(e.profileRef??null)===JSON.stringify(o.profileRef??null)),c=e.map(e=>(0,$.jsx)(Mo,{initial:e,connection:t,context:n},`${e.kind}:${e.id}`));if(!s||!o)return(0,$.jsx)($.Fragment,{children:c});let l=e.length-1;return(0,$.jsxs)(`section`,{className:`chat-resource-summary compact`,"aria-label":`Resources for ${o.name}`,children:[(0,$.jsx)(Co,{name:o.name,version:o.revision,summary:`${l} grader${l===1?``:`s`}`,primary:{label:r?`Close`:`Inspect`,expanded:r,controls:a,run:()=>i(e=>!e)}}),r?(0,$.jsx)(`div`,{id:a,className:`chat-resource-group-details`,children:c}):null]})}var Fo=`<openpond_trusted_runtime_context>`,Io=`</openpond_trusted_runtime_context>`;function Lo(e){let t=e.trimStart();if(!t.startsWith(Fo))return e;let n=t.indexOf(Io,34);if(n===-1)return``;let r=t.slice(n+35).trim();if(!r.startsWith(`<user_request>`))return r;let i=r.slice(14);return(i.endsWith(`</user_request>`)?i.slice(0,-15):i).trim()}function Ro({content:e,timestamp:t,kvCacheSummary:n}){let r=n?.cacheHitRate,i=typeof r==`number`&&Number.isFinite(r)&&r>=0&&r<=1?Math.round(r*100):0,a=i>0?`${i}%`:null;return(0,$.jsxs)(`div`,{className:`assistant-message-footer`,children:[(0,$.jsx)(zo,{timestamp:t}),a?(0,$.jsxs)(`span`,{className:`message-kv-cache-metric`,"aria-label":`KV cache reuse ${a}`,children:[`KV `,a]}):null,(0,$.jsx)(`button`,{type:`button`,className:`message-copy-button`,title:`Copy message`,"aria-label":`Copy assistant message`,disabled:!e,onClick:()=>{e&<(e)},children:(0,$.jsx)(Ct,{size:14})})]})}function zo({timestamp:e}){let t=K(e);return t?(0,$.jsx)(`time`,{className:`message-timestamp`,dateTime:e,title:Xt(e),children:t}):null}function Bo({content:e}){let[t,n]=(0,Q.useState)(!1),[r,i]=(0,Q.useState)(!1),a=(0,Q.useRef)(null),o=(0,Q.useId)();return(0,Q.useEffect)(()=>{let e=a.current;if(!e)return;let t=()=>{let t=Number.parseFloat(getComputedStyle(e).lineHeight);i(e.scrollHeight>Math.ceil(t*5)+1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e,t]),(0,$.jsxs)(`div`,{className:`user-message-content-wrap`,children:[(0,$.jsx)(`div`,{ref:a,id:o,className:`user-message-content ${t?``:`collapsed`}`,children:e}),r?(0,$.jsxs)(`button`,{type:`button`,className:`user-message-show-more`,"aria-expanded":t,"aria-controls":o,onClick:()=>n(e=>!e),children:[t?(0,$.jsx)(at,{size:14}):(0,$.jsx)(Tt,{size:14}),(0,$.jsx)(`span`,{children:t?`Show less`:`Show more`})]}):null]})}async function Vo(e,t){let{ownerScope:n}=await W(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 Ho({message:e,onOpenSession:t,onOpenPonder:n,connection:r}){let[i,a]=(0,Q.useState)(null),o=(0,Q.useRef)(0);(0,Q.useEffect)(()=>(o.current++,()=>{o.current++}),[r,e.id]);let s=e.taskMessage;if(!s)return null;let{input:c,peer:l,direction:u}=s;async function d(){if(!r||!n)return;let e=o.current;try{if(!l.ponderScope)throw Error(`This message has no verified Ponder source.`);await Vo(r,l.ponderScope);let t=await W(r,`/v1/ponder`,{method:`POST`,body:`{}`});if(e!==o.current)return;if(t.bindingId!==l.bindingId)throw Error(`This task's original Ponder conversation is no longer active.`);a(null),n()}catch(t){e===o.current&&a(t instanceof Error?t.message:String(t))}}let f=c.error?c.error:{pending:`Queued`,included:`Included in agent request`,resolved:`Delivered to agent`,rejected:`Not delivered`,cancelled:`Cancelled`}[c.state];return(0,$.jsxs)(`article`,{className:`message-row user task-message-row`,children:[(0,$.jsx)(`div`,{className:`user-message`,children:(0,$.jsx)(Bo,{content:c.body})}),(0,$.jsxs)(`div`,{className:`task-message-attribution`,children:[(0,$.jsx)(zo,{timestamp:e.timestamp}),(0,$.jsx)(`span`,{children:u===`sent`?`Sent to`:`Received from`}),l.kind===`ponder`?n&&r?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void d(),children:l.title}):(0,$.jsx)(`span`,{children:l.title}):t?(0,$.jsx)(`button`,{type:`button`,onClick:()=>t(l.sessionId),children:l.title}):(0,$.jsx)(`span`,{children:l.title}),(0,$.jsx)(`span`,{title:`Delivery receipt ${c.id}`,role:`status`,children:f})]}),i?(0,$.jsx)(q,{error:i}):null]})}var Uo=64,Wo=120,Go=210,Ko=360,qo=40,Jo=120,Yo=600,Xo=100,Zo=33,Qo=new Set,$o=!1;function es(e,t,n=0){if(e<=0)return{characterCount:0,remainder:0};let r=n+Math.min(Math.max(t,0),Xo)*(e>Yo?Ko:e>Jo?Go:e>qo?Wo:Uo)/1e3,i=Math.min(e,Math.floor(r));return{characterCount:i,remainder:r-i}}function ts(e,t,n){let r=Math.min(t.length,e.length+n),i=t.charCodeAt(r-1),a=t.charCodeAt(r);return i>=55296&&i<=56319&&a>=56320&&a<=57343&&(r+=1),t.slice(0,r)}function ns(){return typeof window<`u`&&typeof window.matchMedia==`function`&&typeof document<`u`&&document.visibilityState===`visible`&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function rs(e,t,n){return t&&n?ts(``,e,1):e}function is(e,t=!1){let[n,r]=(0,Q.useState)(()=>rs(e,t,ns())),i=(0,Q.useRef)(n),a=(0,Q.useRef)(e),o=(0,Q.useRef)(null),s=(0,Q.useRef)(null),c=(0,Q.useRef)(0),l=(0,Q.useRef)(!0);return(0,Q.useEffect)(()=>(l.current=!0,()=>{l.current=!1,o.current!==null&&(window.clearTimeout(o.current),o.current=null)}),[]),(0,Q.useEffect)(()=>{if(a.current=e,!ns()||!e.startsWith(i.current)){o.current!==null&&(window.clearTimeout(o.current),o.current=null),s.current=null,c.current=0,i.current=e,l.current&&r(e);return}if(i.current.length===e.length||o.current!==null)return;let t=()=>{if(!l.current){o.current=null;return}let e=i.current,n=a.current,u=performance.now();if(!n.startsWith(e)){i.current=n,r(n),o.current=null,s.current=null,c.current=0;return}let d=n.length-e.length;if(d===0){o.current=null,s.current=null,c.current=0;return}let f=es(d,s.current===null?16:u-s.current,c.current);if(s.current=u,c.current=f.remainder,f.characterCount>0){let t=ts(e,n,f.characterCount);i.current=t,r(t)}o.current=window.setTimeout(t,Zo)};return o.current=window.setTimeout(t,Zo),()=>{o.current!==null&&(window.clearTimeout(o.current),o.current=null)}},[e]),(0,Q.useEffect)(()=>{let e=as(()=>{document.visibilityState!==`visible`&&(o.current!==null&&(window.clearTimeout(o.current),o.current=null),s.current=null,c.current=0,i.current=a.current,l.current&&r(a.current))});return()=>{e(),o.current!==null&&(window.clearTimeout(o.current),o.current=null)}},[]),n}function as(e){return Qo.add(e),$o||=(document.addEventListener(`visibilitychange`,os),!0),()=>{Qo.delete(e),Qo.size===0&&$o&&(document.removeEventListener(`visibilitychange`,os),$o=!1)}}function os(){for(let e of Qo)e()}function ss({visibleContent:e,content:t,...n}){let r=St(e,e.length===t.length),i=cs(r,e.length===t.length);return(0,$.jsx)(G,{...n,content:r,finalizedContent:i.finalized,mutableContent:i.mutable})}function cs(e,t){if(t||!e)return{finalized:e,mutable:``};let n=e.split(`
|
|
83
|
-
`),r=!1,i=null,a=0,o=0;for(let e=0;e<n.length-1;e+=1){let t=n[e]??``,s=t.trim();!i&&/^\s*```/.test(t)&&(r=!r),r||(i&&s.endsWith(i)?i=null:!i&&s.startsWith(`\\[`)&&!s.endsWith(`\\]`)?i=`\\]`:!i&&s.startsWith(`$$`)&&s.indexOf(`$$`,2)<0&&(i=`$$`)),a+=t.length+1,!r&&!i&&s===``&&(o=a)}return{finalized:e.slice(0,o),mutable:e.slice(o)}}function ls({content:e=``,reasoningContent:t=``,animateInitialContent:n,children:r,footer:i,...a}){let o=is(e,n),s=is(t,n),c=o===e&&s===t;return(0,$.jsxs)($.Fragment,{children:[t?(0,$.jsx)(`div`,{className:`assistant-message`,children:(0,$.jsx)(ss,{...a,content:t,visibleContent:s})}):null,e?(0,$.jsx)(`div`,{className:`assistant-message`,children:(0,$.jsx)(ss,{...a,content:e,visibleContent:o})}):null,r,c?i:null]})}function us({actionRun:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r=null}){let i=hs(e.status),a=gs(e);return(0,$.jsxs)(`div`,{className:`action-run-card ${e.status}`,children:[(0,$.jsxs)(`div`,{className:`action-run-header`,children:[(0,$.jsx)(`span`,{className:`action-run-status`,title:e.status,children:(0,$.jsx)(i,{size:15})}),(0,$.jsxs)(`div`,{className:`action-run-title`,children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`span`,{children:e.actionName})]})]}),a.length>0&&(0,$.jsx)(`div`,{className:`action-run-meta`,"aria-label":`Action run metadata`,children:a.map(e=>(0,$.jsxs)(`span`,{className:`action-run-chip`,children:[e.icon,(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`code`,{children:e.value})]},e.label))}),e.responseText&&(0,$.jsx)(`p`,{className:`action-run-response`,children:e.responseText}),e.refs.length>0&&(0,$.jsx)(`div`,{className:`action-run-ref-list`,"aria-label":`Action run references`,children:e.refs.slice(0,8).map(e=>(0,$.jsx)(ms,{refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r},e.id))}),e.childCalls.length>0&&(0,$.jsx)(`div`,{className:`action-run-child-list`,"aria-label":`Child implementation calls`,children:e.childCalls.map(e=>(0,$.jsxs)(`div`,{className:`action-run-child ${e.status}`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`small`,{children:e.status}),e.detail&&(0,$.jsx)(`code`,{children:e.detail})]},e.id))})]})}function ds(e){return e.implementationType===`openpond-profile-action`}function fs(e){let t=e.agentName??e.agentId;return e.actionName.endsWith(`.chat`)?bn({actionId:e.actionName,label:e.title,name:t}):t?bn({actionId:e.actionName,name:t}):e.title&&!Or(e.title)?bn({actionId:e.actionName,label:e.title}):bn({actionId:e.actionName})}function ps(e){return e.status===`failed`?`${e.title} failed.`:e.status===`completed`?`${e.title} completed.`:e.status===`pending`?`${e.title} is pending.`:`${e.title} is running...`}function ms({refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r}){let i=n?ut(e.target,{workspaceRootPath:r}):null,a=_s(e.target)&&t,o=!!(i&&n);return(0,$.jsxs)(`div`,{className:`action-run-ref ${e.kind}`,children:[(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(`code`,{children:e.target}),a&&(0,$.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>t(e.target,{newTab:!0}),children:(0,$.jsx)(wt,{size:13})}),o&&(0,$.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>{i&&n&&n(i.path)},children:(0,$.jsx)(wt,{size:13})})]})}function hs(e){return e===`completed`?nn:e===`failed`?ea:Ji}function gs(e){let t=[];return e.implementationType&&t.push({label:`Type`,value:e.implementationType,icon:(0,$.jsx)(dt,{size:12})}),e.runId&&t.push({label:`Run`,value:e.runId,icon:(0,$.jsx)(Wt,{size:12})}),e.sandboxId&&t.push({label:`Sandbox`,value:e.sandboxId,icon:(0,$.jsx)(Wt,{size:12})}),e.sourceRef&&t.push({label:`Source`,value:e.sourceRef,icon:(0,$.jsx)(rn,{size:12})}),e.manifestHash&&t.push({label:`Manifest`,value:e.manifestHash,icon:(0,$.jsx)(Wt,{size:12})}),t}function _s(e){return/^https?:\/\//i.test(e)}function vs(e,t){let n=ys(e),[r,i]=(0,Q.useState)(()=>n.getUrl(t));return(0,Q.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function ys(e){let[,t]=(0,Q.useState)(0),n=(0,Q.useCallback)(t=>!e||!t?null:(Tn.activateConnection(e),Tn.get(Ut(e,`local-video`,t))),[e]),r=(0,Q.useCallback)(async n=>{if(!e||!n)return null;Tn.activateConnection(e);let r=Ut(e,`local-video`,n);return Tn.load(r,()=>Z.signLocalVideoUrl(e,{path:n})).finally(()=>t(e=>e+1))},[e]);return(0,Q.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}var bs=4;function xs({onOpenSession:e,onShowAll:t,sessions:n}){let r=n.slice(0,bs),i=Math.max(0,n.length-r.length),a=n.map(Ts).join(`, `);return(0,$.jsxs)(`div`,{"aria-label":`Subagent conversations: ${a}`,className:`activity-subagent-avatar-group`,title:`Subagent conversations: ${a}`,children:[r.map(t=>(0,$.jsx)(Ss,{openSession:t,onOpenSession:e},t.sessionId)),i>0?(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Show ${i} more subagent conversation${i===1?``:`s`}`,className:`activity-subagent-avatar activity-subagent-avatar-count`,onClick:t,title:`Show ${i} more subagent conversation${i===1?``:`s`}`,children:[`+`,i]}):null]})}function Ss({className:e=``,onOpenSession:t,openSession:n}){let r=Ds(n.roleId),i=Os(n.status),a=`Open ${Ts(n)} conversation`;return(0,$.jsx)(`button`,{type:`button`,"aria-label":a,className:`activity-subagent-avatar ${e}`,"data-role":r,"data-status":i,onClick:()=>t(n.sessionId),title:a,children:(0,$.jsx)(Cs,{roleId:r})})}function Cs({roleId:e}){return e===`coding`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M9.4 7.2 4.8 12l4.6 4.8`}),(0,$.jsx)(`path`,{d:`m14.6 7.2 4.6 4.8-4.6 4.8`}),(0,$.jsx)(`path`,{d:`m12.9 5.7-1.8 12.6`})]}):e===`research`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`circle`,{cx:`10.8`,cy:`10.8`,r:`5.2`}),(0,$.jsx)(`path`,{d:`m15 15 4 4`}),(0,$.jsx)(`path`,{d:`M8.6 10.8h4.4`}),(0,$.jsx)(`path`,{d:`M10.8 8.6v4.4`})]}):e===`review`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,$.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,$.jsx)(`path`,{d:`m8.9 14.2 2 2 4.3-4.7`})]}):e===`test`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M9.2 4.8h5.6`}),(0,$.jsx)(`path`,{d:`M10.4 4.8v5.4l-4 6.8a1.8 1.8 0 0 0 1.6 2.7h8a1.8 1.8 0 0 0 1.6-2.7l-4-6.8V4.8`}),(0,$.jsx)(`path`,{d:`M8.2 15.8h7.6`})]}):e===`docs`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,$.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,$.jsx)(`path`,{d:`M9.2 11.4h5.6`}),(0,$.jsx)(`path`,{d:`M9.2 14.2h5.6`}),(0,$.jsx)(`path`,{d:`M9.2 17h3.4`})]}):e===`planner`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`circle`,{cx:`7.2`,cy:`7.2`,r:`2.1`}),(0,$.jsx)(`circle`,{cx:`16.8`,cy:`7.2`,r:`2.1`}),(0,$.jsx)(`circle`,{cx:`12`,cy:`16.8`,r:`2.1`}),(0,$.jsx)(`path`,{d:`M9 8.2h6`}),(0,$.jsx)(`path`,{d:`m8.5 9 2.4 5.4`}),(0,$.jsx)(`path`,{d:`m15.5 9-2.4 5.4`})]}):e===`summarizer`?(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`path`,{d:`M7 6.8h10`}),(0,$.jsx)(`path`,{d:`M7 10.4h8.2`}),(0,$.jsx)(`path`,{d:`M7 14h6.2`}),(0,$.jsx)(`path`,{d:`M7 17.6h4.2`})]}):(0,$.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,$.jsx)(`circle`,{cx:`12`,cy:`8.2`,r:`3.2`}),(0,$.jsx)(`path`,{d:`M6.5 19.2c.6-3 2.5-5 5.5-5s4.9 2 5.5 5`}),(0,$.jsx)(`path`,{d:`M5.2 11.8h2`}),(0,$.jsx)(`path`,{d:`M16.8 11.8h2`})]})}function ws(e){let t=new Map;for(let n of e){let e=n.openSession;e&&t.set(e.sessionId,{...t.get(e.sessionId),...e})}return[...t.values()].reverse()}function Ts(e){let t=`${Es(e.roleId)} subagent`,n=e.status?.replace(/_/g,` `).trim();return n?`${t} (${n})`:t}function Es(e){return Ds(e).split(/[-_]+/).filter(Boolean).map(e=>e.slice(0,1).toUpperCase()+e.slice(1)).join(` `)||`Subagent`}function Ds(e){let t=e?.trim().toLowerCase()||`subagent`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`subagent`}function Os(e){let t=e?.trim().toLowerCase()||`unknown`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`unknown`}function ks({activity:e,defaultExpanded:t=!1}){let[n,r]=(0,Q.useState)(t),i=(0,Q.useId)(),a=Ms(e);return(0,$.jsxs)(`section`,{className:`harness-refiner-receipt ${e.state} ${e.result??``}`,children:[(0,$.jsxs)(`button`,{"aria-controls":a?i:void 0,"aria-expanded":a?n:void 0,className:`harness-refiner-receipt-summary`,disabled:!a,onClick:()=>a&&r(e=>!e),type:`button`,children:[(0,$.jsx)(Pt,{"aria-hidden":!0,className:e.state===`running`?`spinning`:void 0,size:12}),(0,$.jsx)(`span`,{children:mr(e)}),a?(0,$.jsx)(Tt,{"aria-hidden":!0,className:`harness-refiner-receipt-toggle ${n?`expanded`:``}`,size:13}):null]}),a&&n?(0,$.jsxs)(`div`,{className:`harness-refiner-receipt-details`,id:i,children:[(0,$.jsx)(As,{activity:e}),e.reason?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Reason`}),(0,$.jsx)(`p`,{children:e.reason})]}):null,e.expectedOutcome?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Expected outcome`}),(0,$.jsx)(`p`,{children:e.expectedOutcome})]}):null,e.evidenceBasis?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Evidence basis`}),(0,$.jsx)(`p`,{children:e.evidenceBasis.kind.replaceAll(`_`,` `)}),(0,$.jsxs)(`small`,{children:[e.evidenceBasis.supportingEvidenceIds.length,` supporting item`,e.evidenceBasis.supportingEvidenceIds.length===1?``:`s`,e.evidenceBasis.counterevidence.length?` · ${e.evidenceBasis.counterevidence.length} counterexample${e.evidenceBasis.counterevidence.length===1?``:`s`}`:` · no material counterevidence`]})]}):null,e.validations.length?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`strong`,{children:`Validation`}),(0,$.jsx)(`div`,{className:`harness-refiner-validation-list`,children:e.validations.map(e=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`span`,{className:e.status,children:e.status}),(0,$.jsx)(`p`,{children:e.summary})]},e.id))})]}):null,e.edits.length?(0,$.jsxs)(`details`,{className:`harness-refiner-exact-edits`,children:[(0,$.jsxs)(`summary`,{children:[`Review `,e.edits.length,` exact edit`,e.edits.length===1?``:`s`]}),e.edits.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`strong`,{children:[e.operation,` · `,e.target]}),(0,$.jsx)(`p`,{children:e.summary}),e.content===null?(0,$.jsx)(`small`,{children:`File deleted.`}):(0,$.jsx)(`pre`,{children:e.content})]},e.id))]}):null,(0,$.jsx)(js,{refs:e.refs})]}):null]})}function As({activity:e}){let t=[e.route?[e.decision===`route`?`Owner`:`Layer`,e.route]:null,e.operation?[`Operation`,e.operation]:null,e.target?[`Target`,e.target]:null,e.critiqueStatus===`not_applicable`?null:[`Critique`,e.critiqueStatus],e.validationStatus===`not_applicable`?null:[`Validation`,e.validationStatus]].filter(e=>!!e);return t.length?(0,$.jsx)(`dl`,{className:`harness-refiner-receipt-facts`,children:t.map(([e,t])=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:e}),(0,$.jsx)(`dd`,{children:t?.replaceAll(`_`,` `)})]},e))}):null}function js({refs:e}){let t=Object.entries(e).filter(e=>!!e[1]);return t.length?(0,$.jsxs)(`details`,{className:`harness-refiner-references`,children:[(0,$.jsx)(`summary`,{children:`Receipt references`}),(0,$.jsx)(`dl`,{children:t.map(([e,t])=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{children:Ns(e)}),(0,$.jsx)(`dd`,{children:(0,$.jsx)(`code`,{children:t})})]},e))})]}):null}function Ms(e){return e.state!==`running`&&!!(e.reason||e.expectedOutcome||e.route||e.operation||e.target||e.evidenceBasis||e.validations.length||e.edits.length||Object.values(e.refs).some(Boolean))}function Ns(e){let t=e.replace(/([a-z])([A-Z])/g,`$1 $2`);return`${t[0]?.toUpperCase()??``}${t.slice(1)}`}var Ps=r();function Fs({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,...Ls(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)(Wt,{"aria-hidden":!0,size:14}),(0,$.jsx)(`strong`,{children:e.title})]}):(0,$.jsxs)(`span`,{className:`activity-artifact-name`,children:[(0,$.jsx)(Wt,{"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 ft(e.path),children:(0,$.jsx)(Ot,{"aria-hidden":!0,size:14})})})]}),(0,$.jsx)(Is,{menu:r,onClose:a})]})}function Is({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,Ps.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:()=>{lt(e.path),t()},children:[(0,$.jsx)(Ct,{"aria-hidden":!0,size:14}),(0,$.jsx)(`span`,{children:`Copy path`})]})}),document.body)}function Ls(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))}}var Rs=5,zs=280;function Bs({activeWorkspaceAppId:e,connection:t,message:n,onOpenFileInSidebar:r,onOpenSession:i}){let a=n.activities??[],[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(null),u=(0,Q.useId)(),d=(0,Q.useMemo)(()=>na(a),[a]),f=(0,Q.useMemo)(()=>eo(a,o),[a,o]),p=a.find(e=>e.imagePreview)?.imagePreview??null,m=n.deliverables??[],h=Za(a),g=lc(c,t,e),_=n.traceState===`running`,v=n.traceState===`failed`||n.traceState===`interrupted`,y=no(n.traceStartedAt,n.traceCompletedAt),b=Qs(d.text,n.traceState,y,a),x=ws(a),S=a.length>0&&a.every(e=>e.subagentMessage),C=f.toolCount>0||!!n.refinerActivity;return S&&!n.refinerActivity?(0,$.jsx)(Ys,{activities:a}):(0,$.jsx)($.Fragment,{children:a.length>0||m.length>0||n.refinerActivity?(0,$.jsxs)(`article`,{className:`activity-group work-trace ${_?`running`:`settled`}`,children:[a.length>0||n.refinerActivity?(0,$.jsxs)(`div`,{className:`activity-summary-row`,children:[(0,$.jsx)(so,{controls:C?u:void 0,danger:v,expanded:f.toolsExpanded,icon:p?(0,$.jsx)(oc,{activeWorkspaceAppId:e,connection:t,image:p}):(0,$.jsx)(sc,{kind:d.kind}),onToggle:C?()=>s(e=>!e):void 0,running:_,children:b||`Worked`}),x.length>0&&i?(0,$.jsx)(xs,{onOpenSession:i,onShowAll:()=>s(!0),sessions:x}):null]}):null,h?(0,$.jsx)($a,{entries:h}):null,m.length>0?(0,$.jsx)(Ws,{artifacts:m,connection:t,onOpenFileInSidebar:r}):null,o&&C?(0,$.jsxs)(`div`,{className:`work-trace-flow`,id:u,children:[f.visibleActivities.map(n=>(0,$.jsx)(Hs,{activeWorkspaceAppId:e,activity:n,connection:t,onOpenImage:l,onOpenSession:i},n.id)),(0,$.jsx)(Vs,{activity:n.refinerActivity})]}):null,(0,$.jsx)(pt,{open:!!g,src:g,title:c?.path??``,onClose:()=>l(null)})]}):null})}function Vs({activity:e}){return e?(0,$.jsx)(`article`,{className:`refiner-activity-row`,children:(0,$.jsx)(ks,{activity:e})}):null}function Hs({activeWorkspaceAppId:e,activity:t,connection:n,onOpenImage:r,onOpenSession:i}){let[a,o]=(0,Q.useState)(!1),s=(0,Q.useId)();return t.subagentMessage?(0,$.jsx)(Js,{activity:t}):(0,$.jsxs)(`div`,{className:`activity-tool-row ${t.controlKind===`turn_aborted`?`danger`:``}`,children:[(0,$.jsx)(so,{className:`activity-tool-summary`,controls:s,danger:t.controlKind===`turn_aborted`||t.state===`failed`,running:t.state===`running`||t.state===`pending`,expanded:a,icon:t.kind===`command`?(0,$.jsx)(Vn,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_dataset`?(0,$.jsx)(dn,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_experiment`?(0,$.jsx)(tn,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):void 0,onToggle:()=>o(e=>!e),children:tc(t)}),a?(0,$.jsx)(Us,{activeWorkspaceAppId:e,activity:t,connection:n,detailsId:s,onOpenImage:r,onOpenSession:i}):null]})}function Us({activeWorkspaceAppId:e,activity:t,connection:n,detailsId:r,onOpenImage:i,onOpenSession:a}){let o=lc(t.imagePreview??null,n,e);return(0,$.jsxs)(`div`,{className:`activity-tool-details`,id:r,children:[t.kind===`command`&&t.content?(0,$.jsx)(nc,{command:t.content,exitCode:t.terminal?.exitCode,output:t.detail,state:t.state}):t.content?dc(t.content)?(0,$.jsx)(`pre`,{className:`activity-detail-output`,children:t.content}):(0,$.jsx)(`code`,{className:`activity-tool-content`,children:t.content}):null,t.detail&&t.kind!==`command`?(0,$.jsx)(`pre`,{className:`activity-detail-output`,children:t.detail.replace(/\r\n/g,`
|
|
84
|
-
`).trimEnd()}):null,t.meta?(0,$.jsx)(`small`,{className:`activity-detail-meta`,children:t.meta}):null,t.imagePreview&&o?(0,$.jsx)(`button`,{type:`button`,className:`activity-image-preview`,title:`Open ${t.imagePreview.path}`,onClick:()=>i(t.imagePreview??null),children:(0,$.jsx)(`img`,{alt:kn(t.imagePreview.path),decoding:`async`,loading:`lazy`,src:o})}):null,t.openSession&&a?(0,$.jsx)(Ss,{className:`activity-subagent-detail-avatar`,openSession:t.openSession,onOpenSession:a}):null]})}function Ws({artifacts:e,connection:t,onOpenFileInSidebar:n}){return(0,$.jsx)(`div`,{className:`activity-artifact-list`,children:e.map(e=>e.contentType.startsWith(`video/`)?(0,$.jsx)(Ks,{artifact:e,connection:t,onOpenFileInSidebar:n},e.path):e.contentType.startsWith(`image/`)?(0,$.jsx)(Gs,{artifact:e,connection:t},e.path):(0,$.jsx)(Fs,{artifact:e,onOpenFileInSidebar:n},e.path))})}function Gs({artifact:e,connection:t}){let[n,r]=(0,Q.useState)(!1),i=nt(t,e.path);return(0,$.jsxs)(`div`,{className:`activity-artifact-image`,title:e.path,children:[(0,$.jsx)(`button`,{type:`button`,disabled:!i,onClick:()=>r(!0),title:`Open ${e.title}`,children:i?(0,$.jsx)(`img`,{alt:e.title,decoding:`async`,loading:`lazy`,src:i}):(0,$.jsx)(kt,{"aria-hidden":!0,size:20})}),(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(pt,{open:n&&!!i,src:i,title:e.title,onClose:()=>r(!1)})]})}function Ks({artifact:e,connection:t,onOpenFileInSidebar:n}){let r=(0,Q.useRef)(null),[i,a]=(0,Q.useState)(!1),o=vs(t,e.path);return(0,$.jsxs)(`div`,{className:`activity-artifact-video`,title:e.path,children:[(0,$.jsxs)(`div`,{className:`activity-artifact-video-stage`,children:[o?(0,$.jsx)(`video`,{controls:!0,onPlay:()=>a(!0),preload:`metadata`,ref:r,src:o}):(0,$.jsx)(`div`,{className:`activity-artifact-video-loading`,children:`Preparing video…`}),o&&!i?(0,$.jsx)(`button`,{type:`button`,className:`activity-artifact-video-play`,onClick:()=>{let e=r.current;e&&e.play().then(()=>a(!0)).catch(()=>void 0)},"aria-label":`Play ${e.title}`,children:(0,$.jsx)(Mt,{"aria-hidden":!0,fill:`currentColor`,size:22})}):null]}),(0,$.jsxs)(`div`,{className:`activity-artifact-video-footer`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-file`,onClick:()=>void ft(e.path),title:`Show ${e.path} in its folder`,children:[(0,$.jsx)(Ot,{"aria-hidden":!0,size:13}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`code`,{children:e.path})]}),(0,$.jsx)(`small`,{children:e.sizeBytes==null?e.contentType:qs(e.sizeBytes)})]}),n?(0,$.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-sidebar`,onClick:()=>n(e.path),title:`Open video in sidebar`,children:[(0,$.jsx)(nr,{"aria-hidden":!0,size:13}),`Open in sidebar`]}):null]})]})}function qs(e){return e<1024?`${e} B`:e<1024**2?`${(e/1024).toFixed(1)} KB`:e<1024**3?`${(e/1024**2).toFixed(1)} MB`:`${(e/1024**3).toFixed(1)} GB`}function Js({activity:e}){let[t,n]=(0,Q.useState)(!1),r=e.subagentMessage;if(!r)return null;let i=`${Es(r.roleId??e.openSession?.roleId)} subagent`,a=r.direction===`received`?`${i} update`:`Message to ${i.toLowerCase()}`,o=r.modelRef?.modelId?`${a} · ${r.modelRef.modelId}`:a,s=Xs(r),c=Zs(r.body);return(0,$.jsx)(`div`,{className:`activity-child-message ${r.direction}`,children:(0,$.jsxs)(`div`,{className:`activity-child-message-card`,children:[(0,$.jsxs)(`div`,{className:`activity-child-message-header`,children:[(0,$.jsxs)(`span`,{className:`activity-child-message-title`,children:[(0,$.jsx)(Mn,{"aria-hidden":!0,size:14}),(0,$.jsx)(`strong`,{title:o,children:o})]}),(0,$.jsx)(`small`,{children:r.kind.replace(/_/g,` `)})]}),(0,$.jsx)(`p`,{className:c&&!t?`collapsed`:void 0,style:{"--subagent-message-visible-lines":Rs},children:r.body}),c?(0,$.jsx)(`button`,{type:`button`,className:`activity-child-message-toggle`,"aria-expanded":t,onClick:()=>n(e=>!e),children:t?`Show less`:`Show more`}):null,(0,$.jsxs)(`details`,{className:`activity-child-message-details`,children:[(0,$.jsx)(`summary`,{children:`Message details`}),(0,$.jsx)(`div`,{className:`activity-child-message-facts`,"aria-label":`Child message metadata`,children:s.map(e=>(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`small`,{children:e.label}),(0,$.jsx)(`code`,{title:e.value,children:e.value})]},e.label))})]}),r.refs?.length?(0,$.jsx)(`div`,{className:`activity-child-message-refs`,"aria-label":`Child message references`,children:r.refs.map(e=>(0,$.jsxs)(`span`,{children:[e.kind,`:`,e.id,` (`,e.label,`)`]},`${e.kind}:${e.id}`))}):null]})},e.id)}function Ys({activities:e}){let t=e[0]?.subagentMessage?.direction??`received`;return(0,$.jsx)(`article`,{className:`activity-child-message-group ${t}`,children:e.map(e=>(0,$.jsx)(Js,{activity:e},e.id))})}function Xs(e){return[{label:`Message`,value:e.messageId},{label:`Kind`,value:e.kind},{label:`From`,value:e.fromRunId},e.roleId?{label:`Role`,value:e.roleId}:null,e.modelRef?{label:`Model`,value:`${e.modelRef.providerId}/${e.modelRef.modelId}`}:null,e.childSessionId?{label:`Child`,value:e.childSessionId}:null,e.toRunId?{label:`To run`,value:e.toRunId}:null,e.toRole?{label:`To role`,value:e.toRole}:null,e.deliveryStatus?{label:`Delivery`,value:e.deliveryStatus}:null,e.wakeReason?{label:`Wake`,value:e.wakeReason}:null,e.createdAt?{label:`Created`,value:e.createdAt}:null].filter(e=>!!e)}function Zs(e){return e.length>zs||e.split(/\r?\n/).length>Rs}function Qs(e,t,n,r){return t===`running`?$s(r)||e||`Working…`:t===`failed`?`${n?`Failed after ${n}`:`Failed`}${e?` · ${e}`:``}`:t===`interrupted`?`${n?`Interrupted after ${n}`:`Interrupted`}${e?` · ${e}`:``}`:e}function $s(e){let t=null;for(let n=e.length-1;n>=0;--n){let r=e[n];if(r.kind!==`reasoning`&&(t??=r,r.state===`running`||r.state===`pending`))return ec(r)}return t?ec(t):null}function ec(e){return e.kind===`command`?e.state===`failed`?`Command failed`:ra(e.content,e.state)??(e.state===`running`||e.state===`pending`?`Running command`:`Ran command`):e.label.trim()||null}function tc(e){if(e.kind!==`command`)return e.label;if(e.state===`running`||e.state===`pending`)return ec(e)??`Running command`;let t=rc(e.terminal?.durationMs);return e.state===`failed`?`Command failed${t?` in ${t}`:``}`:`${ec(e)??`Ran command`}${t?` in ${t}`:``}`}function nc({command:e,exitCode:t,output:n,state:r}){let i=r===`running`||r===`pending`?`Running…`:t==null?r===`completed`?`Exit code 0`:`Failed`:`Exit code ${t}`;return(0,$.jsxs)(`section`,{"aria-label":`Shell command output`,className:`activity-command-terminal ${r??`completed`}`,children:[(0,$.jsx)(`header`,{children:`Shell`}),(0,$.jsx)(`pre`,{children:(0,$.jsxs)(`code`,{className:`shell-command-code`,children:[(0,$.jsx)(`span`,{className:`activity-command-prompt`,"aria-hidden":!0,children:`$\xA0`}),ic(e),n?(0,$.jsx)(`span`,{className:`activity-command-output`,children:`\n${n.replace(/\r\n/g,`
|
|
85
|
-
`).trimEnd()}`}):null]})}),(0,$.jsx)(`footer`,{children:i})]})}function rc(e){if(e==null||e<0)return null;if(e<6e4)return`${Math.max(1,Math.round(e/1e3))}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n>0?`${t}m ${n}s`:`${t}m`}function ic(e){return ac(e).map((e,t)=>(0,$.jsx)(`span`,{className:`shell-token ${e.kind}`,children:e.text},`${t}-${e.text}`))}function ac(e){let t=e.match(/"[^"]*"|'[^']*'|&&|\|\||[|;&()<>]|\s+|[^\s|;&()<>]+/g)??[e],n=!0;return t.map(e=>/^\s+$/.test(e)?{kind:`plain`,text:e}:/^(?:&&|\|\||[|;&()<>])$/.test(e)?(n=e!==`)`&&e!==`>`,{kind:`operator`,text:e}):/^(['"]).*\1$/.test(e)?{kind:`string`,text:e}:/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)?{kind:`variable`,text:e}:n?(n=!1,{kind:`command`,text:e}):/^-{1,2}[\w-]/.test(e)?{kind:`flag`,text:e}:/^(?:\.{0,2}\/|~\/|[\w.-]+\/)/.test(e)?{kind:`path`,text:e}:{kind:`plain`,text:e})}function oc({activeWorkspaceAppId:e,connection:t,image:n}){let r=lc(n,t,e);return r?(0,$.jsx)(`img`,{"aria-hidden":!0,className:`activity-summary-image`,decoding:`async`,loading:`lazy`,src:r,alt:``}):null}function sc({kind:e}){let t=cc(e);return(0,$.jsx)(t,{"aria-hidden":!0,className:`activity-summary-kind-icon ${e}`,size:14})}function cc(e){return e===`approval`||e===`control`?Zt:e===`edit`?kr:e===`image`?kt:e===`list`?dn:e===`read`?Wt:e===`reasoning`?Xi:e===`search`?Dr:e===`subagent`?Mn:e===`web`?Yt:Vn}function lc(e,t,n){let r=e&&uc(e.path)?e.path:null,i=e?.appId??n,a=nt(t,r),o=rt(t,r?null:i,r?null:e?.path);return r?a:o}function uc(e){return/^file:\/\//i.test(e)||e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)}function dc(e){return e.includes(`
|
|
86
|
-
`)||e.length>160}function fc({summary:e,onOpenFileInSidebar:t}){let[n,r]=(0,Q.useState)(null),i=`${e.filesChanged} ${e.filesChanged===1?`file`:`files`} changed`,a=e.files.reduce((e,t)=>{let n=mc(t);return{additions:e.additions+n.additions,deletions:e.deletions+n.deletions}},{additions:0,deletions:0});return(0,$.jsxs)(`div`,{className:`change-summary-card`,children:[(0,$.jsxs)(`div`,{className:`change-summary-header`,children:[(0,$.jsx)(`span`,{children:i}),(0,$.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,$.jsxs)(`span`,{className:`diff-addition`,children:[`+`,a.additions]}),(0,$.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,a.deletions]})]})]}),(0,$.jsx)(`div`,{className:`change-summary-files`,children:e.files.map(e=>(0,$.jsx)(pc,{file:e,onOpenFileInSidebar:t,open:n===e.path,onToggle:()=>r(t=>t===e.path?null:e.path)},e.path))})]})}function pc({file:e,onOpenFileInSidebar:t,open:n,onToggle:r}){let i=mc(e),a=gc(e.patch);return(0,$.jsxs)(`div`,{className:`change-summary-file`,children:[(0,$.jsxs)(`div`,{className:`change-summary-file-trigger`,children:[(0,$.jsx)(`button`,{type:`button`,className:`change-summary-file-toggle`,onClick:r,children:(0,$.jsx)(`span`,{children:e.path})}),(0,$.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,$.jsxs)(`span`,{className:`diff-addition`,children:[`+`,i.additions]}),(0,$.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,i.deletions]})]}),t&&(0,$.jsx)(`button`,{type:`button`,className:`change-summary-open-file`,title:`Open in sidebar`,"aria-label":`Open ${e.path} in sidebar`,onClick:()=>t(e.path),children:(0,$.jsx)(wt,{size:14})}),(0,$.jsx)(`button`,{type:`button`,className:`change-summary-expand-file`,title:n?`Hide patch`:`Show patch`,"aria-label":n?`Hide ${e.path} patch`:`Show ${e.path} patch`,onClick:r,children:(0,$.jsx)(Tt,{className:n?`expanded`:``,size:14})})]}),n&&a&&(0,$.jsx)(`div`,{className:`change-summary-patch-unavailable`,children:`Patch is no longer available for this workspace path.`}),n&&e.patch&&!a&&(0,$.jsx)(`pre`,{className:`change-summary-patch`,children:(0,$.jsx)(`code`,{children:e.patch})})]})}function mc(e){if((e.status===`added`||e.status===`untracked`)&&e.additions===0&&e.content)return{additions:hc(e.content),deletions:0};if(e.additions>0||e.deletions>0||!e.patch||gc(e.patch))return{additions:e.additions,deletions:e.deletions};let t=_c(e.patch);return t.additions>0||t.deletions>0?t:{additions:e.additions,deletions:e.deletions}}function hc(e){let t=e.endsWith(`
|
|
87
|
-
`)?e.slice(0,-1):e;return t?t.split(`
|
|
88
|
-
`).length:0}function gc(e){return/^error: Could not access /m.test(e)}function _c(e){let t=0,n=0;for(let r of e.split(`
|
|
89
|
-
`))r.startsWith(`+++`)||r.startsWith(`---`)||(r.startsWith(`+`)&&(t+=1),r.startsWith(`-`)&&(n+=1));return{additions:t,deletions:n}}function vc({run:e}){let t=e.plan,n=e.questions.find(e=>e.status===`pending`)??null,r=me(t?.metadata),i=e.target.kind===`agent`?null:e.sourceRefs[0]??t?.sourcePlan[0]?.path??null,a=e.checkRefs.length||t?.checks.length||0;return(0,$.jsxs)(`section`,{className:`chat-create-receipt`,"aria-label":`Create or improve status`,children:[(0,$.jsxs)(`div`,{className:`chat-create-receipt-heading`,children:[(0,$.jsx)(Wt,{size:14}),(0,$.jsx)(`span`,{children:yc(e)}),(0,$.jsx)(`small`,{children:e.target.kind})]}),(0,$.jsx)(`p`,{children:bc(e,t?.summary??null,n?.prompt??null)}),r||i||a?(0,$.jsxs)(`div`,{className:`chat-create-receipt-facts`,children:[r?(0,$.jsx)(`span`,{title:r.detail,children:r.label}):null,i?(0,$.jsx)(`span`,{title:i,children:i}):null,a?(0,$.jsxs)(`span`,{children:[a,` Evals`]}):null]}):null]})}function yc(e){let t=e.target.kind===`agent`;return e.state===`awaiting_questions`?`Question ready`:e.state===`awaiting_plan_approval`?`Plan ready`:e.state===`applying_source`?t?`Saving Agent`:`Applying source`:e.state===`running_checks`?`Running Evals`:e.state===`evaluating`?t?`Checking Agent`:`Evaluating candidate`:e.state===`awaiting_promotion`?t?`Update ready`:`Candidate ready`:e.state===`opening_pull_request`?`Opening review`:e.state===`pull_request_open`?`Review open`:e.state===`reconciling_release`?t?`Applying update`:`Merging change`:e.state===`released`?t?`Agent updated`:`Released`:e.state===`rejected`?t?`Current Agent kept`:`Rejected`:e.state===`ready`||e.state===`ready_local`?t?`Agent ready`:`Workproduct ready`:e.state===`published_hosted`?`Published`:e.state===`cancelled`?`Cancelled`:e.state===`blocked`?`Blocked`:e.state===`failed`?`Failed`:e.operation===`improve`?`Planning improvement`:`Planning creation`}function bc(e,t,n){return e.state===`awaiting_questions`&&n?n:t||(e.blockedReason?e.blockedReason:e.state===`ready`||e.state===`ready_local`?e.target.kind===`agent`?`The Agent and its actions are ready to use.`:`The candidate and its Evals are ready.`:e.state===`awaiting_promotion`?e.target.kind===`agent`?`The updated Agent passed its Evals. Apply the update or keep the current version.`:`The candidate has been committed and evaluated. Merge or reject it.`:e.state===`pull_request_open`&&e.releaseOutcome.pullRequest?e.target.kind===`agent`?`The Agent update review is waiting to finish or close.`:`The external review is waiting for merge or closure.`:e.state===`released`?e.target.kind===`agent`?`The Agent update is saved and its Evals passed.`:`The change merged and the active Profile passed its post-merge Evals.`:e.state===`rejected`?e.blockedReason??(e.target.kind===`agent`?`The Agent update was not applied.`:`The candidate was rejected.`):`Preparing work for ${e.objective}.`)}function xc(e,t){let n=Sc(e),[r,i]=(0,Q.useState)(()=>n.getUrl(t));return(0,Q.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function Sc(e){let[,t]=(0,Q.useState)(0),n=(0,Q.useCallback)(t=>!e||!t?null:(Tn.activateConnection(e),Tn.get(Cc(e,t))),[e]),r=(0,Q.useCallback)(async n=>{if(!e||!n)return null;let r=Cc(e,n);return Tn.activateConnection(e),Tn.load(r,()=>Z.signChatAttachmentImageUrl(e,n)).finally(()=>t(e=>e+1))},[e]);return(0,Q.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}function Cc(e,t){return Ut(e,`chat-attachment-image`,t.sessionId,t.turnId,t.attachmentId,t.storageName,t.contentType)}function wc({attachments:e,compact:t,connection:n,onOpenAttachment:r}){return(0,$.jsx)(`div`,{className:`user-message-attachments${t?` compact`:``}`,"aria-label":`Attached files`,children:e.map(e=>(0,$.jsx)(Tc,{attachment:e,connection:n,onOpenAttachment:r},e.id))})}function Tc({attachment:e,connection:t,onOpenAttachment:n}){return e.kind===`image`&&e.imagePreview?(0,$.jsx)(Dc,{attachment:e,connection:t,onOpenAttachment:n}):(0,$.jsx)(Ec,{attachment:e,onOpenAttachment:n})}function Ec({attachment:e,onOpenAttachment:t}){let[n,r]=(0,Q.useState)(!1),i=!!((e.filePreview||e.imagePreview)&&t),a=n?`Opening`:e.lineCount===void 0?null:Fr(e.lineCount),o=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ir,{attachment:e,size:13}),(0,$.jsx)(`span`,{children:e.name}),a?(0,$.jsx)(`small`,{children:a}):null]});return i?(0,$.jsx)(`button`,{"aria-label":`Open attached file ${e.name}`,className:`user-message-attachment openable`,disabled:n,title:`Open ${e.name}`,type:`button`,onClick:()=>{t&&!n&&(r(!0),t(e).finally(()=>r(!1)))},children:o}):(0,$.jsx)(`span`,{className:`user-message-attachment`,title:e.name,children:o})}function Dc({attachment:e,connection:t,onOpenAttachment:n}){let r=xc(t,e.imagePreview),[i,a]=(0,Q.useState)(!1);return(0,$.jsx)(`button`,{className:`user-message-image-attachment`,"aria-label":`Open attached image ${e.name}`,"aria-busy":i,disabled:!n||i,title:i?`Opening ${e.name}`:`Open ${e.name}`,type:`button`,onClick:()=>{n&&!i&&(a(!0),n(e).finally(()=>a(!1)))},children:r?(0,$.jsx)(`img`,{alt:``,decoding:`async`,loading:`lazy`,src:r}):(0,$.jsx)(kt,{size:24})})}var Oc=(0,Q.memo)(function({activeWorkspaceAppId:e=null,animateInitialContent:t=!1,accountBaseUrl:n=null,billingOrganizationSlug:r=null,billingTeamId:i=null,connection:a=null,conversationLinks:o,message:s,kvCacheSummary:c=null,onOpenBrowserLink:l,onOpenAttachmentInSidebar:u,onOpenFileInSidebar:d,onOpenProfileSettings:f,onResolveUserQuestion:p,onOpenSession:m,onOpenPonder:h,showFooter:g=!0,userAttachmentDisplay:_=`full`,workspaceRootPath:v=null}){if(s.nativeTaskNotification)return(0,$.jsx)(`div`,{className:`message-row assistant`,children:(0,$.jsx)(co,{notification:s.nativeTaskNotification,onOpenFile:d})});if(s.role===`resources`)return(0,$.jsx)(`article`,{className:`message-row assistant`,"data-resource-response":s.turnId,children:(0,$.jsx)(Po,{resources:s.resources??[],connection:a,context:s.resourceSessionId&&s.turnId?{sessionId:s.resourceSessionId,turnId:s.turnId}:void 0})});if(s.role===`visual`&&s.visual)return(0,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsx)(So,{visual:s.visual,connection:a},s.visual.publicationId)});if(s.role===`task_message`)return(0,$.jsx)(Ho,{message:s,onOpenSession:m,onOpenPonder:h,connection:a});if(s.role===`status_divider`)return(0,$.jsx)(Bc,{message:s});if(s.role===`activity_group`)return(0,$.jsx)(Bs,{activeWorkspaceAppId:e,connection:a,message:s,onOpenFileInSidebar:d,onOpenSession:m});if(s.role===`error`)return s.errorKind===`opchat_quota_exceeded`?(0,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsx)(Lc,{accountBaseUrl:n,billingOrganizationSlug:r,billingTeamId:i,onOpenBrowserLink:l})}):(0,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsx)(`div`,{className:`assistant-message error-message`,children:s.content??``})});if(s.role===`user`){let e=Lo(s.content??``),t=s.attachments??[],n=_===`compact`,r=t.length>0;return!e&&!r?null:(0,$.jsx)(`article`,{className:`message-row user`,children:(0,$.jsxs)(`div`,{className:`user-message ${r?`has-attachments`:``}`,children:[t.length?(0,$.jsx)(wc,{attachments:t,compact:n,connection:a,onOpenAttachment:u}):null,e?(0,$.jsx)(Bo,{content:e}):null]})})}let y=s.actionRun&&ds(s.actionRun)?fs(s.actionRun):null;return(0,$.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,$.jsxs)(ls,{activeWorkspaceAppId:e,animateInitialContent:t,connection:a,content:s.content,reasoningContent:s.reasoningContent,conversationLinks:o,onOpenConversation:m,onOpenBrowserLink:l,onOpenFileInSidebar:d,workspaceRootPath:v,footer:g&&s.finalAnswer?(0,$.jsx)(Ro,{content:s.content,timestamp:s.timestamp,kvCacheSummary:c}):null,children:[s.sources?.length?(0,$.jsx)(Mc,{sources:s.sources,onOpenBrowserLink:l}):null,s.actionRun&&ds(s.actionRun)?(0,$.jsxs)(`div`,{className:`assistant-message action-run-profile-message ${s.actionRun.status}`,children:[(0,$.jsx)(G,{activeWorkspaceAppId:e,connection:a,content:s.actionRun.responseText??ps(s.actionRun),onOpenBrowserLink:l,onOpenFileInSidebar:d,workspaceRootPath:v}),y?(0,$.jsx)(`div`,{className:`action-run-agent-label`,children:f?(0,$.jsx)(`button`,{type:`button`,className:`action-run-agent-link`,onClick:f,children:y}):(0,$.jsx)(`span`,{children:y})}):null]}):s.actionRun?(0,$.jsx)(us,{actionRun:s.actionRun,onOpenBrowserLink:l,onOpenFileInSidebar:d,workspaceRootPath:v}):null,s.changeSummary&&(0,$.jsx)(fc,{summary:s.changeSummary,onOpenFileInSidebar:d}),s.createImproveRun?(0,$.jsx)(vc,{run:s.createImproveRun}):null,s.userQuestion?(0,$.jsx)(jc,{question:s.userQuestion,onResolve:p}):null]})})},kc);function kc(e,t){return e.activeWorkspaceAppId===t.activeWorkspaceAppId&&e.animateInitialContent===t.animateInitialContent&&e.accountBaseUrl===t.accountBaseUrl&&e.billingOrganizationSlug===t.billingOrganizationSlug&&e.billingTeamId===t.billingTeamId&&e.connection===t.connection&&e.kvCacheSummary===t.kvCacheSummary&&e.onOpenBrowserLink===t.onOpenBrowserLink&&e.onOpenAttachmentInSidebar===t.onOpenAttachmentInSidebar&&e.onOpenFileInSidebar===t.onOpenFileInSidebar&&e.onOpenProfileSettings===t.onOpenProfileSettings&&e.onResolveUserQuestion===t.onResolveUserQuestion&&e.onOpenSession===t.onOpenSession&&e.showFooter===t.showFooter&&e.userAttachmentDisplay===t.userAttachmentDisplay&&e.workspaceRootPath===t.workspaceRootPath&&Ac(e.message,t.message)}function Ac(e,t){return e===t||e.id===t.id&&e.role===t.role&&e.visual?.publicationId===t.visual?.publicationId&&e.content===t.content&&e.finalAnswer===t.finalAnswer&&e.nativeTaskNotification===t.nativeTaskNotification&&e.timestamp===t.timestamp&&e.turnId===t.turnId&&e.statusKind===t.statusKind&&e.statusState===t.statusState&&e.statusTone===t.statusTone&&e.errorKind===t.errorKind&&Rc(e.attachments,t.attachments)&&e.activities===t.activities&&e.resources===t.resources&&e.sources===t.sources&&e.actionRun===t.actionRun&&e.changeSummary===t.changeSummary&&e.createImproveRun===t.createImproveRun&&e.userQuestion===t.userQuestion&&e.reasoningContent===t.reasoningContent&&e.taskMessage===t.taskMessage}function jc({question:e,onResolve:t}){let[n,r]=(0,Q.useState)(``),[i,a]=(0,Q.useState)(!1),o=async n=>{if(t&&!i&&e.status===`pending`){a(!0);try{await t(e,n)}finally{a(!1)}}};return(0,$.jsxs)(`section`,{"data-notification-question":e.id,className:`user-question-card ${e.status}`,"aria-label":`Question from OpenPond`,children:[(0,$.jsxs)(`header`,{className:`user-question-header`,children:[(0,$.jsx)(`span`,{className:`user-question-icon`,"aria-hidden":!0,children:(0,$.jsx)(hn,{size:17})}),(0,$.jsxs)(`span`,{className:`user-question-heading`,children:[(0,$.jsx)(`span`,{className:`user-question-eyebrow`,children:`Question`}),(0,$.jsx)(`strong`,{children:e.question})]})]}),e.reason?(0,$.jsx)(`p`,{className:`user-question-reason`,children:e.reason}):null,e.status===`pending`?(0,$.jsxs)($.Fragment,{children:[e.options.length>0?(0,$.jsx)(`div`,{className:`user-question-options`,children:e.options.map((n,r)=>(0,$.jsxs)(`button`,{disabled:i||!t,type:`button`,onClick:()=>void o({questionId:e.id,action:`answer`,optionId:n.id,text:n.label}),children:[(0,$.jsx)(`span`,{className:`user-question-option-index`,"aria-hidden":!0,children:r+1}),(0,$.jsxs)(`span`,{className:`user-question-option-copy`,children:[(0,$.jsx)(`span`,{children:n.label}),n.description?(0,$.jsx)(`small`,{children:n.description}):null]})]},n.id))}):null,e.allowFreeform?(0,$.jsxs)(`form`,{className:`user-question-freeform`,onSubmit:t=>{t.preventDefault();let r=n.trim();r&&o({questionId:e.id,action:`answer`,optionId:null,text:r})},children:[(0,$.jsx)(`label`,{htmlFor:`question-answer-${e.id}`,children:`Or write your own answer`}),(0,$.jsxs)(`span`,{className:`user-question-freeform-controls`,children:[(0,$.jsx)(`input`,{"aria-label":`Answer`,disabled:i||!t,id:`question-answer-${e.id}`,onChange:e=>r(e.target.value),placeholder:`Type an answer`,value:n}),(0,$.jsx)(`button`,{disabled:i||!t||!n.trim(),type:`submit`,children:i?`Sending…`:`Answer`})]})]}):null,(0,$.jsx)(`button`,{className:`user-question-dismiss`,disabled:i||!t,type:`button`,onClick:()=>void o({questionId:e.id,action:`dismiss`,optionId:null,text:``}),children:`Skip for now`})]}):(0,$.jsxs)(`span`,{className:`user-question-resolution`,children:[(0,$.jsx)(nn,{"aria-hidden":!0,size:15}),(0,$.jsx)(`small`,{children:e.status===`answered`?`Answered${e.answer?.text?`: ${e.answer.text}`:``}`:`Skipped`})]})]})}function Mc({sources:e,onOpenBrowserLink:t}){return(0,$.jsx)(`div`,{className:`assistant-sources`,"aria-label":`Sources`,children:(0,$.jsx)(`div`,{className:`assistant-source-stack`,children:e.map(e=>(0,$.jsx)(Nc,{source:e,onOpenBrowserLink:t},`${e.id}:${e.url}`))})})}function Nc({source:e,onOpenBrowserLink:t}){let n=Fc(e),r=[e.title,Ic(e.url)].filter(Boolean).join(` - `),i=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Pc,{source:e}),(0,$.jsx)(`span`,{children:n})]});return t?(0,$.jsx)(`button`,{type:`button`,className:`assistant-source-pill`,title:r||n,"aria-label":`Open source ${n}`,onClick:()=>t(e.url,{newTab:!0}),children:i}):(0,$.jsx)(`a`,{className:`assistant-source-pill`,href:e.url,target:`_blank`,rel:`noreferrer`,title:r||n,"aria-label":`Open source ${n}`,children:i})}function Pc({source:e}){let[t,n]=(0,Q.useState)(!1);return!e.faviconUrl||t?(0,$.jsx)(Yt,{className:`assistant-source-fallback-icon`,size:13}):(0,$.jsx)(`img`,{alt:``,"aria-hidden":`true`,className:`assistant-source-favicon`,decoding:`async`,loading:`lazy`,src:e.faviconUrl,onError:()=>n(!0)})}function Fc(e){return e.sourceName?.trim()||Ic(e.url)||e.title}function Ic(e){try{return new URL(e).hostname.replace(/^www\./i,``)}catch{return null}}function Lc({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:n,onOpenBrowserLink:r}){let i=Er({accountBaseUrl:e,organizationSlug:t,teamId:n}),a=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(wn,{size:15}),(0,$.jsx)(`span`,{children:`Add credits`}),(0,$.jsx)(En,{size:13})]});return(0,$.jsxs)(`div`,{className:`assistant-message quota-error-card`,role:`alert`,children:[(0,$.jsx)(`div`,{className:`quota-error-card-icon`,children:(0,$.jsx)(wn,{size:17})}),(0,$.jsxs)(`div`,{className:`quota-error-card-body`,children:[(0,$.jsx)(`strong`,{children:`OpenPond Chat allowance reached`}),(0,$.jsx)(`p`,{children:`You have reached your OpChat token allowance for this period. Add credits or wait for the allowance to reset.`}),r?(0,$.jsx)(`button`,{type:`button`,className:`quota-error-card-action`,onClick:()=>r(i,{newTab:!0}),children:a}):(0,$.jsx)(`a`,{className:`quota-error-card-action`,href:i,target:`_blank`,rel:`noreferrer`,children:a})]})]})}function Rc(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r.id!==i.id||r.kind!==i.kind||r.name!==i.name||r.mediaType!==i.mediaType||r.sizeBytes!==i.sizeBytes||r.lineCount!==i.lineCount||r.imagePreview?.sessionId!==i.imagePreview?.sessionId||r.imagePreview?.turnId!==i.imagePreview?.turnId||r.imagePreview?.attachmentId!==i.imagePreview?.attachmentId||r.imagePreview?.storageName!==i.imagePreview?.storageName||r.imagePreview?.contentType!==i.imagePreview?.contentType||r.filePreview?.sessionId!==i.filePreview?.sessionId||r.filePreview?.turnId!==i.filePreview?.turnId||r.filePreview?.attachmentId!==i.filePreview?.attachmentId||r.filePreview?.storageName!==i.filePreview?.storageName||r.filePreview?.contentType!==i.filePreview?.contentType)return!1}return!0}var zc=(0,Q.memo)(function(){return(0,$.jsx)(`article`,{className:`activity-group thinking-row`,"aria-live":`polite`,children:(0,$.jsx)(so,{running:!0,children:`Thinking…`})})});function Bc({message:e}){let t=e.statusTone??`info`,n=e.statusState??`idle`;return(0,$.jsx)(`article`,{className:`status-divider ${t} ${n}`,"aria-live":t===`danger`?`assertive`:`polite`,children:(0,$.jsx)(`span`,{children:e.content??``})})}var Vc=(0,Q.createContext)(`default`),Hc=`openpond-chat-context-selected`,Uc=new Map,Wc=new Set,Gc=new Set;function Kc(e,t){Uc.set(e,t);for(let e of Gc)e()}var qc=e=>(Gc.add(e),()=>{Gc.delete(e)});function Jc(e,t,n){let r=(0,Q.useContext)(Vc),i=`${e?Ze(e):`disconnected`}:${n??r}`,a=`${i}:${t??`new`}`,o=s(),c=(0,Q.useSyncExternalStore)(qc,()=>Uc.get(a),()=>void 0),l=(0,Q.useSyncExternalStore)(qc,()=>Wc.has(a),()=>!1),u=f({queryKey:[`chat-context-catalog`,i,t],enabled:!!e,staleTime:3e4,queryFn:async({signal:n})=>{let r=await J(e,`dataset`,{action:`context_catalog`,payload:t?{sessionId:t}:{}},n);return{...r,options:Vi.array().parse(r.options)}}}),d=f({queryKey:[`chat-context-selection`,a],enabled:!!(e&&t&&!l),refetchInterval:1e4,queryFn:async({signal:n})=>{let r=await J(e,`dataset`,{action:`context_selection`,payload:{sessionId:t}},n),a=r.selection?Hi.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}}),p=t?d.data===void 0?c??null:d.data:c??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 m=p?.training?p.training.location===`cloud`?{kind:`model`,id:p.training.job.modelProjectId,location:`cloud`,teamId:p.training.owner.teamId,apiOrigin:p.training.apiOrigin}:{kind:`model`,id:p.training.modelId,location:`local`}:p?.model?p.target:null,h=f({queryKey:[`chat-context-model-runs`,i,m],enabled:!!(e&&m),queryFn:async({signal:t})=>{let n=await J(e,`dataset`,{action:`context_runs`,payload:{target:m}},t);return{runs:Vi.array().parse(n.runs)}}}),g=(0,Q.useCallback)(async(n,r)=>{if(e&&!Wc.has(a)){Wc.add(a);for(let e of Gc)e();try{await o.cancelQueries({queryKey:[`chat-context-selection`,a]});let s=await J(e,`dataset`,{action:`context_select`,payload:{target:n,...r?.newExperiment?{newExperiment:!0}:{},...t?{sessionId:t}:{}}}),c=s.selection?Hi.parse(s.selection):null;await o.cancelQueries({queryKey:[`chat-context-selection`,a]}),Kc(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(Hc,{detail:{sessionId:t,scope:i,targetKey:JSON.stringify(c.target)}}))}finally{Wc.delete(a);for(let e of Gc)e()}}},[e,a,o,i,t]),_=(0,Q.useCallback)(e=>{let n=Uc.get(a);n!==void 0&&(Kc(`${i}:${e}`,n),o.setQueryData([`chat-context-selection`,`${i}:${e}`],n)),t||Kc(a,null)},[a,i,o,t]);return{selection:p,selecting:l,catalog:u,runs:h,select:g,selectionError:d.error,moveToSession:_,scope:i}}function Yc({connection:e,sessionId:t,accountScope:n,active:r,onOpen:i}){let a=Jc(r?e:null,t,n),o=(0,Q.useRef)(``),s=a.selection?JSON.stringify(a.selection.target):``;return(0,Q.useEffect)(()=>{let e=`${a.scope}:${t??`new`}:${s}`;r&&s&&!a.selecting&&o.current!==e&&(o.current=e,i())},[r,t,a.scope,a.selecting,s,i]),(0,Q.useEffect)(()=>{let e=e=>{let n=e.detail;r&&n?.sessionId===t&&n.scope===a.scope&&(o.current=`${a.scope}:${t??`new`}:${n.targetKey}`,i())};return window.addEventListener(Hc,e),()=>window.removeEventListener(Hc,e)},[r,t,a.scope,i]),a.selection?.target.kind===`dataset`?`Experiment draft`:a.selection?.model?.name??a.selection?.label??`Training`}function Xc(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}}var Zc=Object.freeze({events:[],messages:[]}),Qc=class{projection=Zc;project(e){if(e===this.projection.events)return this.projection.messages;if(!tl(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=$c(this.projection.messages,t);if(n)return this.projection={events:e,messages:n},n;let r=el(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)),...Cn(i)];return this.projection={events:e,messages:o},o}reset(){this.projection=Zc}snapshot(){return this.projection}replace(e){let t=Cn(e);return this.projection={events:e,messages:t},t}};function $c(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 On(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 el(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 tl(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 nl(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}function rl(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=>Re(t)===e.scope.selectedTrainingKey);return ir.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:[ze(a)]}:{}}])}function il(e,t){let n=new Map([...e,...t].map(e=>[JSON.stringify(e),e]));return ir.parse([...n.values()])}function al(e){return e.length?{chatResourceContexts:e,...e.length===1?{chatExperimentScopeId:e[0].scopeId,chatExperimentSelectionVersion:e[0].selectionVersion}:{}}:{}}function ol(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)??rl(n)}return{resourceDrafts:o,onPromptChange:s,currentResourceContexts:c}}function sl(e){async function t(t,n){let r=(n??e.getPrompt()).trim();if(!e.running||!r)return!1;let i=e.getResourceContexts?.()??[];if(e.hasFilesOrActions)return e.showToast(`Steering supports a plain-text instruction. Remove files or actions before sending it.`,`info`),!1;if(t===`queued`&&!e.inbox.enabled)return e.stageLocal(r,i),e.clear(),!0;if(!e.begin(e.scope))return!1;e.setError(null);try{let n=e.inbox.enabled?t===`steer`?await e.inbox.steer(r,i):await e.inbox.queue({prompt:r,metadata:al(i),modelRef:{providerId:e.provider,modelId:e.model},...e.provider===`codex`?R(e.codexPermissionMode):{approvalPolicy:`on-request`,sandbox:`workspace-write`},codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort}):await e.onSubmit([],null,null,{preservePrompt:!0,promptOverride:r,turnMetadata:{...al(i),interactionKind:`steer`}});return n&&(!e.getCurrentSubmissionScopeKey||e.getCurrentSubmissionScopeKey()===e.scope)&&e.clear(),n}catch(t){return e.setError(t instanceof Error?t.message:String(t)),!1}finally{e.finish(e.scope)}}return{stageCurrentSteerDraft:e=>t(`queued`,e),submitImmediateSteer:e=>t(`steer`,e)}}var cl=()=>({dataset:null,experiment:null});function ll(e,t){let[n,r]=(0,Q.useState)(cl),[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(cl()),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 J(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),J(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 J(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?Fe(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.`)):J(e,`dataset`,{action:`read`,id:D,expectedRevision:O},t),[e,D,O]);return{focus:n,scope:(n.scopeContext?Fe(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 ul({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(Bi.parse(JSON.parse(n)),{newExperiment:!0}),t()}catch(e){a(e instanceof Error?e.message:`Could not prepare this experiment.`)}}return(0,$.jsxs)(Nn,{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)(Tr,{size:16})})]}),(0,$.jsx)(Y,{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)(q,{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 dl={experiment:`Experiment`,model:`Model`};function fl({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?Bi.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":`Training`,"aria-haspopup":`dialog`,"aria-expanded":r,disabled:b,title:p?`${p.label}: ${p.detail}`:`Training`,onClick:()=>{c(null),i(e=>!e)},children:[(0,$.jsx)(`span`,{children:p?.target.kind===`dataset`?`Experiment draft · ${p.label}`:p?.model?.name??p?.label??`Training`}),(0,$.jsx)(Tt,{size:14})]}),r?(0,$.jsxs)(`div`,{className:`codex-model-menu chat-training-menu`,role:`dialog`,"aria-label":`Training context`,children:[(0,$.jsx)(Y,{compact:!0,floating:!0,label:`Training type`,value:h,floatingMenuWidth:180,options:Object.entries(dl).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:dl[h]}),(0,$.jsx)(Et,{size:14})]}),disabled:b,onChange:e=>c(e)}),(0,$.jsx)(Y,{compact:!0,floating:!0,label:`${dl[h]} name`,value:y,floatingMenuWidth:340,floatingMenuMaxHeight:360,triggerContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:dl[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)(Et,{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.detail}))],disabled:b||e.catalog.isPending,onChange:e=>void S(e)}),x?(0,$.jsx)(q,{error:x,children:e.catalog.error?(0,$.jsx)(`button`,{type:`button`,onClick:()=>void e.catalog.refetch(),children:`Retry`}):null}):null]}):x?(0,$.jsx)(q,{error:x}):null,a?(0,$.jsx)(ul,{context:e,onClose:()=>o(!1)}):null]})}var pl=`openpond-composer-resource-request`;function ml(e){window.dispatchEvent(new CustomEvent(pl,{detail:{...e,contexts:ir.parse(e.contexts)}}))}function hl({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,il(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(pl,l),()=>window.removeEventListener(pl,l)},[e,t,n,r,i,a,o,l])}function gl(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 _l(e){return`$${e.name}`}function vl(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}${_l(n)}${c}`;return{cursor:a.length+l.length-(o?c.length:0),value:`${a}${l}${o}`}}function yl(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 bl(e,t,n){let r=t.trim().replace(/\s+/g,` `),i=xl(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 xl(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Sl({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:n,originScopeKey:r,prompt:i,setOriginDraft:a,submitFromOrigin:o,transcript:s}){let c=bl(i,s,e?i.length:n);return a(c.value),t===r?`drafted`:await o(c.value)?(a(``),`submitted`):`retained`}var Cl=new Map,wl=new Map,Tl=new Map;function El(e){for(let t of wl.get(e)??[])t()}function Dl(e){return Cl.has(e)}function Ol(e,t){let n=wl.get(e)??new Set;return n.add(t),wl.set(e,n),()=>{n.delete(t),n.size===0&&wl.delete(e)}}function kl(e){Cl.get(e)?.controller.abort()}function Al(e,t){let n=Tl.get(e)??new Set;return n.add(t),Tl.set(e,n),()=>{n.delete(t),n.size===0&&Tl.delete(e)}}function jl(e){let t=Cl.get(e);if(t)return t.submitRequested=!0,!0;for(let t of Tl.get(e)??[])if(t())return!0;return!1}function Ml(e,t,n={}){kl(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(()=>{Cl.get(e)===i&&(Cl.delete(e),El(e))}),Cl.set(e,i),El(e),i.promise}var Nl=new Set([`task.inbox`,`task.input`,`task.wait`,`turn.started`,`turn.completed`,`turn.failed`,`turn.interrupted`,`approval.requested`,`approval.resolved`]);function Pl(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 Fl(e,t,n){let r=s(),i=Ze(e),a=(0,Q.useMemo)(()=>[`task-inbox`,i,t],[i,t]),o=!!(e&&t),c=f({queryKey:a,enabled:o,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>Qn.taskInbox(e,t)}),[l,u]=(0,Q.useState)(null),[d,p]=(0,Q.useState)(null),m=`${i}:${t}`,h;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r.sessionId===t&&Nl.has(r.name)){h=r.id;break}}let g=(0,Q.useCallback)(async()=>{o&&await r.invalidateQueries({queryKey:a,exact:!0})},[o,r,a]);(0,Q.useEffect)(()=>{g()},[g,h]),(0,Q.useEffect)(()=>{let e=()=>{g()};return window.addEventListener(`openpond-runtime-connected`,e),()=>window.removeEventListener(`openpond-runtime-connected`,e)},[g]);async function _(e,t){if(!o)return!1;u({scope:m,id:e}),p(null);try{let e=await t();return await r.cancelQueries({queryKey:a,exact:!0}),r.setQueryData(a,t=>t&&{...t,inputs:[...t.inputs.filter(t=>t.id!==e.id),e].sort((e,t)=>e.sequence-t.sequence)}),g(),!0}catch(e){return p({scope:m,message:e instanceof Error?e.message:String(e)}),g(),!1}finally{u(t=>t?.scope===m&&t.id===e?null:t)}}async function v(n,r,i,a){if(!e||!t)return!1;let o=`openpond:task-input:${e.serverUrl}:${t}`,s=Pl(o),l=s?.body===r&&s.kind===n&&JSON.stringify(s.request)===JSON.stringify(i)&&JSON.stringify(s.resourceContexts)===JSON.stringify(a),u=l?s:{body:r,kind:n,request:i,resourceContexts:a,key:crypto.randomUUID(),turnId:n===`steer`?c.data?.activeTurnId??null:null};if(n===`steer`&&(!u.turnId||!l&&!c.data?.acceptingInput))return p({scope:m,message:`This turn is no longer accepting steering. Your text is still in the composer; send it as a follow-up or queue it.`}),g(),!1;try{sessionStorage.setItem(o,JSON.stringify(u))}catch{}let d=await _(u.key,async()=>{let i;try{i=await(n===`steer`?Qn.steerTurn(e,t,{prompt:r,expectedTurnId:u.turnId,idempotencyKey:u.key,resourceContexts:u.resourceContexts}):Qn.queueTaskInput(e,t,u.request,u.key))}catch(e){if(e instanceof qe&&e.status>=400&&e.status<500)try{sessionStorage.removeItem(o)}catch{}throw e}if(i.state===`rejected`||i.state===`cancelled`){try{sessionStorage.removeItem(o)}catch{}throw Error(i.error??`This input was cancelled. Review your text before sending again.`)}return i});if(d)try{Pl(o)?.key===u.key&&sessionStorage.removeItem(o)}catch{}return d}return{enabled:o,snapshot:c.data??null,busyId:l?.scope===m?l.id:null,error:d?.scope===m?d.message:c.error?.message??null,steer:(e,t)=>v(`steer`,e,void 0,t),queue:e=>v(`queued`,e.prompt,e),mutate:(n,r)=>_(n.id,()=>Qn.updateTaskInput(e,t,n.id,r)),refresh:g}}function Il(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function Ll(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 Rl(e,t={}){let n=t.now??new Date().toISOString();return{...t.resourceContexts?{resourceContexts:structuredClone(t.resourceContexts)}:{},createdAt:n,id:t.id??Il(),prompt:e,updatedAt:n}}function zl(e,t){return e.filter(e=>e.id!==t)}function Bl(e,t,n,r){let i=n?.trim();return e.flatMap(e=>e.id===t?i?[Rl(i,{resourceContexts:r})]:[]:[e])}function Vl(e,t,n){return n?zl(e,t):e}function Hl(e,t,n=[]){return e[t]??n}function Ul(e,t,n,r=[]){let i=Hl(e,t,r),a=n(i);return Object.is(i,a)?e:{...e,[t]:a}}function Wl({prompt:e,sending:t=!1,disabled:n=!1,actionLabel:r=`Steer`,actionDisabledReason:i,onSend:a,onDelete:o,onEdit:s}){return(0,$.jsxs)(`div`,{className:`composer-steer-row ${t?`sending`:``}`,children:[(0,$.jsx)(`span`,{className:`composer-steer-row-icon`,"aria-hidden":`true`,children:(0,$.jsx)($i,{size:13})}),(0,$.jsx)(`span`,{className:`composer-steer-row-text`,title:e,children:Ll(e)}),(0,$.jsxs)(`button`,{type:`button`,className:`composer-steer-row-action primary`,disabled:n||t||!!i,title:i,"aria-label":`${r}: ${Ll(e,60)}${i?`. ${i}`:``}`,onClick:a,children:[(0,$.jsx)(wt,{size:12}),(0,$.jsx)(`span`,{children:t?`Sending`:r})]}),(0,$.jsx)(`button`,{type:`button`,className:`composer-steer-row-icon-button`,disabled:n||t,"data-tooltip":`Delete queued message`,"aria-label":`Delete queued message`,onClick:o,children:(0,$.jsx)(it,{size:13})}),(0,$.jsx)(`button`,{type:`button`,className:`composer-steer-row-action`,disabled:n||t,"aria-label":`Edit: ${Ll(e,60)}`,onClick:s,children:(0,$.jsx)(`span`,{children:`Edit`})})]})}function Gl({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.error?null:(0,$.jsxs)($.Fragment,{children:[e.error&&(0,$.jsx)(q,{error:e.error}),i.length>0&&(0,$.jsx)(`div`,{className:`composer-steer-stack`,"aria-label":`Queued messages`,children:i.map(i=>{let a=r?.activeTurnId,o=!!i.turnId,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)(Wl,{prompt:i.body,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 Kl(e,i,t,n)},i.id)})})]})}async function Kl(e,t,n,r){let i=t.payload.metadata,a=ir.safeParse(i?.chatResourceContexts),o=a.success?a.data:[];(!r||r(o))&&await e.mutate(t,{action:`cancel`,expectedRevision:t.revision})&&n(t.body,o)}var ql=new Set([`claude-code`,`opencode`,`grok-build`]);function Jl({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:fe(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:de(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||F(i)||ql.has(i)?[{key:i,provider:i,label:n.label,defaultModel:de(i,r),options:a}]:[]})}function Yl(e){let t=dr(),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&&!(F(e.provider)||ql.has(e.provider))?null:{provider:e.provider,model:r?.value??(e.managed?``:n??``)}}function Xl({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)(Tt,{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)(hr,{size:14}):null]},e.value)})})]}):null]})}function Zl({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)(Ql,{kind:t.kind,size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.label}),(0,$.jsx)(`small`,{children:t.detail})]}),i&&(0,$.jsx)(hr,{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)(Ql,{kind:f,size:14}),(0,$.jsx)(`span`,{children:d}),(0,$.jsx)(Tt,{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)(Nt,{size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:`New`}),(0,$.jsx)(`small`,{children:`Create or add a project`})]}),(0,$.jsx)(Et,{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)(xr,{size:14}),(0,$.jsx)(`span`,{children:`New project`})]}),h.map(_)]}):null]})}function Ql({kind:e,size:t}){return e===`cloud`?(0,$.jsx)(Dn,{size:t}):e===`action`?(0,$.jsx)(Nt,{size:t}):(0,$.jsx)(Pr,{size:t})}function $l({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?eu(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)(tu,{value:n.value,size:14}),(0,$.jsx)(`span`,{className:`workspace-target-trigger-label`,children:n.label}),(0,$.jsx)(Tt,{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)(tu,{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=eu(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)(tu,{value:t.value,size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:t.label}),(0,$.jsx)(`small`,{children:s})]}),i&&(0,$.jsx)(hr,{size:14})]},t.value)})})]})}function eu(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function tu({value:e,size:t}){return e===`cloud`?(0,$.jsx)(Dn,{size:t}):e===`hybrid`?(0,$.jsxs)(`span`,{className:`workspace-target-hybrid-icon`,"aria-hidden":`true`,children:[(0,$.jsx)(Pr,{className:`hybrid-folder`,size:t}),(0,$.jsx)(Dn,{className:`hybrid-cloud`,size:Math.max(7,Math.round(t*.62))})]}):e===`upload_cloud`?(0,$.jsx)(Dt,{size:t}):(0,$.jsx)(Pr,{size:t})}function nu({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),_=ce(i,t,a),v=se(i,t,o,a),y=_.find(e=>e.value===v)??_[0],b=ru(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)(Tt,{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)(Et,{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:L(g?.label??t)||(h?.managed?`Choose model`:`Agent default`)}),(0,$.jsx)(Et,{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)(Et,{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)(xr,{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=Yl(e);t&&(c(t.provider,t.model),p(`root`))},children:[(0,$.jsx)(`span`,{children:e.label}),t?(0,$.jsx)(hr,{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=Yl(e);t&&(c(t.provider,t.model),p(`root`))},children:[(0,$.jsx)(`span`,{children:e.label}),e.key===h?.key?(0,$.jsx)(hr,{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)(xr,{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:L(e.label)}),n?(0,$.jsx)(hr,{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)(xr,{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)(hr,{size:14}):null]},e.value))]})})]})}function ru(e){return L(e).replace(/^GPT-/,``).replace(/\s+Codex Spark$/,` Spark`).replace(/\s+Codex$/,` Codex`)}function iu({detailsOpen:e,goalRuntime:t,objectiveId:n,subagentRuntime:r,onToggleDetails:i}){let a=r?.activeCount?`${t.tooltip}. ${r.tooltip}`:t.tooltip;return(0,$.jsxs)(`div`,{className:`composer-goal-strip ${t.tone}${r?.activeCount?` has-subagents`:``}`,"data-tooltip":a,children:[(0,$.jsx)(`div`,{className:`composer-goal-heading`,children:(0,$.jsxs)(`button`,{type:`button`,className:`composer-goal-toggle`,"aria-expanded":e,"aria-controls":n,onClick:i,children:[(0,$.jsx)(`span`,{children:t.actionLabel}),(0,$.jsxs)(`span`,{className:`composer-goal-toggle-meta`,children:[r?(0,$.jsx)(`span`,{className:`composer-goal-subagent-count`,children:r.label}):null,(0,$.jsx)(`span`,{children:t.timeLabel}),(0,$.jsx)(Tt,{size:15,"aria-hidden":`true`})]})]})}),e&&(0,$.jsxs)(`div`,{className:`composer-goal-objective`,id:n,children:[t.objective,r?(0,$.jsx)(`span`,{className:`composer-goal-subagent-summary`,children:r.tooltip}):null]})]})}function au({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)(Wl,{prompt:e.prompt,sending:t===e.id,onSend:()=>i(e.id),onDelete:()=>n(e.id),onEdit:()=>r(e)},e.id))})}var ou=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,su=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,cu=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(`.`)),lu=new Set([`account`,`api`,`dashboard`,`docs`,`install.sh`,`login`,`logout`,`opchat`,`sandboxes`,`settings`]);function uu(e){let t=e.toLowerCase().replace(/^www\./,``);return t===`github.com`?`github`:t===`openpond.ai`||t.endsWith(`.openpond.ai`)?`openpond`:null}function du(e){return e===`github`?cu:lu}function fu(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;pu(t);)t=t.slice(0,-1);return t}function pu(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 mu(e){return e.replace(/\.git$/i,``)}function hu(e){try{return decodeURIComponent(e)}catch{return e}}function gu(e){return mu(hu(e.trim()))}function _u(e){let t=e.host.toLowerCase().replace(/^www\./,``),n=uu(t);if(!n)return null;let r=hu(e.owner?.trim()??``),i=gu(e.repo??``);return!r||!i||du(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 vu(e,t){let n=fu(e);if(!n)return null;try{let e=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),r=e.pathname.split(`/`).filter(Boolean);return _u({end:t+n.length,host:e.hostname,owner:r[0],repo:r[1],start:t,url:n})}catch{return null}}function yu(e,t){let n=fu(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;let i=r[1]?.trim()??``,a=(r[2]??``).split(`/`).filter(Boolean);return _u({end:t+n.length,host:i,owner:a[0],repo:a[1],start:t,url:n})}function bu(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 xu(e){if(!e)return[];let t=[...bu(e,ou,vu),...bu(e,su,yu)].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 Su=10,Cu=340,wu=320,Tu=160,Eu=56;function Du(e,t=0){let n=Number.parseFloat(e);return Number.isFinite(n)?n:t}function Ou(e){if(!e)return;e.style.height=`auto`;let t=window.getComputedStyle(e),n=Du(t.fontSize,16),r=Du(t.lineHeight,n*1.45),i=Du(t.paddingTop)+Du(t.paddingBottom),a=Du(t.borderTopWidth)+Du(t.borderBottomWidth),o=Du(t.minHeight,66),s=Math.max(o,Math.ceil(r*Su+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 ku(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.getComputedStyle(e),a=Du(i.paddingLeft,14),o=Du(i.paddingTop,15),s=Math.max(0,r.width-16),c=Math.min(Cu,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 Au(e){let t=e.getBoundingClientRect(),n=Math.floor(t.top-Eu);return{maxHeight:Math.max(Tu,Math.min(wu,n))}}var ju=`[data-inline-token='true']`,Mu=`[data-inline-repo-link='true']`,Nu=`[data-inline-connected-app-mention='true']`;function Pu(e){return e instanceof HTMLElement&&e.matches(ju)}function Fu(e){return e instanceof HTMLElement&&e.matches(Mu)}function Iu(e){return e instanceof HTMLElement&&e.matches(Nu)}function Lu(e,t){return Math.max(0,Math.min(e,t))}function Ru(e,t){return e?Lu(e.position,t.length):null}function zu(e,t,n,r=!1){let i=Ru(t,n),a=Lu(e,n.length);return i===null?a:a>i||r&&a===i?a+1:a}function Bu(e,t,n){let r=Ru(t,n);return Lu(r===null?e:e>r?e-1:e,n.length)}function Vu(e){let t=``,n=null;function r(e){Fu(e)?t+=e.dataset.repoUrl??``:Iu(e)?t+=e.dataset.connectedMentionText??``:Pu(e)?n=t.length:e.nodeType===Node.TEXT_NODE?t+=e.textContent??``:e instanceof HTMLBRElement||e.childNodes.forEach(r)}return e.childNodes.forEach(r),{text:t,tokenPosition:n}}function Hu(e){if(Fu(e))return e.dataset.repoUrl?.length??0;if(Iu(e))return e.dataset.connectedMentionText?.length??0;if(Pu(e))return 1;if(e.nodeType===Node.TEXT_NODE)return e.textContent?.length??0;if(e instanceof HTMLBRElement)return 0;let t=0;return e.childNodes.forEach(e=>{t+=Hu(e)}),t}function Uu(e,t,n){if(!t||t!==e&&!e.contains(t))return null;let r=0,i=!1;function a(e){if(!i){if((Pu(e)||Fu(e)||Iu(e))&&(e===t||e.contains(t)))(e!==t||n>0)&&(r+=Hu(e)),i=!0;else if(Pu(e)||Fu(e)||Iu(e))r+=Hu(e);else if(e===t){if(e.nodeType===Node.TEXT_NODE)r+=n;else{let t=Array.from(e.childNodes).slice(0,n);for(let e of t)r+=Hu(e)}i=!0}else e.nodeType===Node.TEXT_NODE?r+=e.textContent?.length??0:e instanceof HTMLBRElement||e.childNodes.forEach(a)}}return a(e),i?r:null}function Wu(e){let t=window.getSelection();if(!t||t.rangeCount===0)return null;let n=Uu(e,t.anchorNode,t.anchorOffset),r=Uu(e,t.focusNode,t.focusOffset);return n===null||r===null?null:{anchor:n,focus:r}}function Gu(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(Pu(e)||Fu(e)||Iu(e)){let t=Hu(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 Ku(e,t){let n=window.getSelection();if(!n)return;let r=Gu(e,t.anchor),i=Gu(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 qu(e,t){Ku(e,{anchor:t,focus:t})}function Ju(e){document.execCommand(`insertText`,!1,e)}function Yu(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 Xu(){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 Zu(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=Yu(e.icon),n.append(r),n.insertAdjacentHTML(`beforeend`,Xu());let i=document.createElement(`span`);return i.className=`composer-invocation-label`,i.textContent=e.label,t.append(n,i),t}function Qu(e){return e.provider===`github`?o(`github`):t}function $u(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=Qu(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 ed(e){return o(e)}function td(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=ed(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 nd(e,t){let n=xu(e);return t===null?n:n.filter(e=>t<=e.start||t>=e.end)}function rd(e,t,n){let r=X(e,t);return n===null?r:r.filter(e=>n<=e.start||n>=e.end)}function id(e,t,n){let r=[...nd(e,t).map(e=>({end:e.end,kind:`repo`,link:e,start:e.start})),...rd(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 ad(e,t,n){return id(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 od(e,t,n,r){let i=Ru(n,t),a=id(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(Zu(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($u(t.link)):e.append(td(t.mention)),l=t.end;c(l,t.length),n&&!o&&e.append(Zu(n))}var sd=(0,Q.forwardRef)(function({connectedAppMentions:e=[],disabled:t,onCursorChange:n,onKeyDown:r,onPasteFiles:i,onPasteTextAsAttachment:a,onPromptChange:o,onTokenPositionChange:s,placeholder:c,prompt:l,token:u},d){let f=(0,Q.useRef)(null),p=`${u?`${u.key}:${Ru(u,l)??0}`:`none`}|${ad(l,Ru(u,l),e)}`,m=(0,Q.useRef)(null),h=l.length===0&&!u;(0,Q.useImperativeHandle)(d,()=>({get element(){return f.current},getPrompt(){let e=f.current;return e?Vu(e).text:l},focusAtPromptIndex(e,t){let n=f.current;if(!n)return;let r=zu(e,u,l,t?.afterToken);n.focus(),qu(n,r),Ou(n)},resize(){Ou(f.current)}}),[l,u]),(0,Q.useLayoutEffect)(()=>{let t=f.current;if(!t)return;let n=m.current!==p;m.current=p;let r=Vu(t);if(n||l===``||r.text!==l||r.tokenPosition!==Ru(u,l)){let n=document.activeElement===t?Wu(t):null;od(t,l,u,e),t.dataset.empty=l.length===0&&!u?`true`:`false`,n&&Ku(t,n)}Ou(t)},[e,l,u,p]);function g(){let e=f.current;if(!e)return;let t=Wu(e)?.focus??Hu(e),r=Vu(e),i=Bu(t,u,r.text);e.dataset.empty=r.text.length===0&&!u?`true`:`false`,s(r.tokenPosition),n(i),o(r.text,i)}function _(){g(),window.requestAnimationFrame(g)}function v(){let e=f.current;e&&n(Bu(Wu(e)?.focus??Hu(e),u,l))}return(0,$.jsx)(`div`,{ref:f,className:`composer-inline-input`,role:`textbox`,"aria-multiline":`true`,contentEditable:!t,suppressContentEditableWarning:!0,"data-empty":h?`true`:`false`,"data-placeholder":c,onBeforeInput:e=>{e.nativeEvent.inputType===`insertParagraph`&&(e.preventDefault(),Ju(`
|
|
90
|
-
`),_())},onInput:g,onKeyDown:e=>{r(e)},onKeyUp:v,onMouseUp:v,onPaste:e=>{e.preventDefault();let t=Array.from(e.clipboardData.files);if(t.length>0&&i){i(t);return}let n=e.clipboardData.getData(`text/plain`);n&&(a?.(n)||(Ju(n),_()))}})});function cd(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 ld(e,t,n,r,i,a,o){return e===`Enter`&&(t||n)&&!r&&i===`work`&&a===`chat`&&o}function ud(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 dd(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 fd(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 pd(e){return e.kind===`command`?`${e.command.command} ${e.command.label}`:e.kind===`app-context`?e.app.name:e.kind===`skill`?_l(e.skill):Bn(e.action)}function md(e){return e.kind===`command`?qn(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||Mr(e.action)}function hd(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 gd(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`?_l(e.skill):Pn(e.action)}function _d(e){if(e.kind===`action`)return Jn(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 vd(e){return e.kind===`files`?`files`:e.kind===`folder`?`folder`:e.kind===`slash`?`slash:${fd(e.item)}`:`mention:${hd(e.item)}`}function yd(e){return e.kind===`files`?`Files and folders`:e.kind===`folder`?`Local folder`:e.kind===`slash`?pd(e.item):gd(e.item)}function bd(e){return e.kind===`files`?`Attach images, documents, or other files`:e.kind===`folder`?`Share a bounded folder as Work input`:e.kind===`slash`?md(e.item):_d(e.item)}function xd(e,t){let n=t.toLowerCase().split(/\s+/).filter(Boolean);if(n.length===0)return!0;let r=`${yd(e)} ${bd(e)}`.toLowerCase();return n.every(e=>r.includes(e))}function Sd(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=>xd(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 Cd(e){if(e.kind===`files`||e.kind===`folder`)return(0,$.jsx)(jt,{size:14});if(e.kind===`slash`){let t=e.item;return t.kind===`command`?t.command.id===`agent`?(0,$.jsx)(Mn,{size:14}):t.command.id===`skill`?(0,$.jsx)(_n,{size:14}):(0,$.jsx)(dt,{size:14}):t.kind===`app-context`?(0,$.jsx)(Gi,{size:14}):t.kind===`skill`?(0,$.jsx)(Wt,{size:14}):dd(t.action)?(0,$.jsx)(Mn,{size:14}):(0,$.jsx)(dt,{size:14})}let t=e.item;return t.kind===`connected-app`?(0,$.jsx)(`img`,{alt:``,className:`composer-provider-mention-icon`,draggable:!1,src:o(t.app.provider)}):t.kind===`action`?dd(t.action)?(0,$.jsx)(Mn,{size:14}):(0,$.jsx)(dt,{size:14}):t.kind===`skill`?(0,$.jsx)(Wt,{size:14}):(0,$.jsx)(Gi,{size:14})}function wd(e){if(e.kind===`slash`&&e.item.kind===`app-context`||e.kind===`mention`&&e.item.kind===`app`)return e.item.app.id}function Td({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":wd(e),onFocus:()=>o(i),onMouseEnter:()=>o(i),onMouseDown:e=>{e.preventDefault()},onClick:()=>a(e),children:[Cd(e),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:yd(e)}),(0,$.jsx)(`small`,{children:bd(e)})]}),l===`typed`&&s?(0,$.jsx)(hr,{size:14}):(0,$.jsx)(`span`,{"aria-hidden":`true`})]},vd(e))}):(0,$.jsx)(`div`,{className:`composer-menu-empty`,children:e.emptyLabel??`No items available`})]},e.id)})})}function Ed({mentionIndex:e,items:t,onSelect:n,onSelectIndex:r,style:i}){return(0,$.jsx)(Td,{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 Dd({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)(ot,{size:15}):(0,$.jsx)(Ft,{size:13,fill:`currentColor`}):(0,$.jsx)(Wi,{size:18})})}var Od=new WeakMap,kd=new WeakMap,Ad=3e4;function jd(e,t){return JSON.stringify([e,t?.binaryPath??null,t?.sourceHome??null,t?.enabled??!0,t?.acp??null])}function Md(e,t,n){return kd.get(e)?.get(jd(t,n))?.value??null}function Nd(e,t,n,r){let i=kd.get(e);i||(i=new Map,kd.set(e,i)),i.set(jd(t,r),{value:n,refreshedAt:Date.now()})}function Pd(e,t,n){let r=jd(t,n),i=kd.get(e)?.get(r);if(i&&Date.now()-i.refreshedAt<Ad)return{promise:Promise.resolve(i.value),release(){}};let a=Od.get(e);a||(a=new Map,Od.set(e,a));let o=a.get(r);if(!o){let i=new AbortController;o={controller:i,readers:0,promise:W(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&&Nd(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 Fd({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=jd(t,s),d=e?Md(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:_}=An(e),v=p??f?.error;Lt(v);let y=F(t)||[`opencode`,`grok-build`,`claude-code`].includes(t);if((0,Q.useEffect)(()=>{if(m(null),!e||!y)return;let n=Pd(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 W(e,`/v1/providers`,{method:`PATCH`,body:JSON.stringify({providers:{[t]:n}})});if(f){let n={...f,settings:r};Nd(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)(Y,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(xn,{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 Id(){return!!(navigator.mediaDevices&&typeof AudioContext<`u`)}async function Ld(e={}){if(!Id())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?.(Rd(t))},r.connect(i),i.connect(a),a.connect(n.destination),{stop:()=>zd(o,!0),cancel:()=>zd(o,!1).then(()=>void 0)}}function Rd(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 zd(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=Bd(e.chunks);if(r.length===0)throw Error(`No microphone audio was captured.`);return{blob:Vd(r,e.audioContext.sampleRate),durationMs:n,sampleRate:e.audioContext.sampleRate}}function Bd(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 Vd(e,t){let n=e.length*2,r=new ArrayBuffer(44+n),i=new DataView(r);Hd(i,0,`RIFF`),i.setUint32(4,36+n,!0),Hd(i,8,`WAVE`),Hd(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),Hd(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 Hd(e,t,n){for(let r=0;r<n.length;r+=1)e.setUint8(t+r,n.charCodeAt(r))}var Ud=96,Wd=Array.from({length:Ud},()=>0);function Gd(){return[...Wd]}function Kd(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function qd({levels:e}){let t=(0,Q.useMemo)(()=>e.length>=Ud?e.slice(-96):[...Wd.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 Jd=12e4,Yd=`openpond.voice.setupNoticeAcknowledged`,Xd=`Voice dictation runs locally with whisper.cpp. OpenPond uses a local whisper-cli binary and downloads the voice model on first use.`;function Zd({connection:e,buttonClassName:t,wrapperClassName:n=``,disabled:r=!1,iconSize:i=16,language:a=`en`,onActiveChange:o,showToast:s,onTranscript:c,transcriptionChannelKey:l}){let u=(0,Q.useRef)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(e),p=(0,Q.useRef)(r),m=(0,Q.useRef)(`idle`),h=(0,Q.useRef)(!1),g=(0,Q.useRef)(ef());te(()=>{g.current=ef()}),f.current=e,p.current=r;let[_,v]=(0,Q.useState)(`idle`),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(Gd),C=(0,Q.useCallback)(e=>Ol(l,e),[l]),w=(0,Q.useCallback)(()=>Dl(l),[l]),T=(0,Q.useSyncExternalStore)(C,w,w),E=T,D=_===`starting`,O=_===`recording`,k=O||T,A=D||k;m.current=_;let j=(0,Q.useCallback)(()=>{d.current!==null&&(window.clearTimeout(d.current),d.current=null)},[]),M=(0,Q.useCallback)(async()=>{j();let e=u.current;u.current=null,h.current=!1,v(`idle`),S(Gd()),e&&await e.cancel().catch(()=>void 0)},[j]),N=(0,Q.useCallback)(async(e,t,n)=>{let r=f.current;if(!r)throw Error(`Voice input is still connecting.`);let i=await Z.voiceTranscriptionStatus(r,{signal:t});if(!i.binaryPath)throw Error(i.installHint??`Install whisper.cpp to use dictation.`);let o=await Z.transcribeVoice(r,{audioBase64:await Qd(e.blob),durationMs:Math.round(e.durationMs),language:a,mimeType:`audio/wav`},{signal:t});t.aborted||Promise.resolve(c(o.text,{submit:n()})).catch(e=>{s($d(e),`error`)})},[a,c,s]),P=(0,Q.useCallback)(()=>{kl(l),b(null),S(Gd())},[l]),F=(0,Q.useCallback)(async(e=!1)=>{j();let t=u.current;u.current=null,t&&(v(`idle`),b(null),S(Gd()),Ml(l,async(e,n)=>{let r=await t.stop();e.aborted||await N(r,e,n)},{submit:e}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||s($d(e),`error`)}))},[j,s,N,l]),ee=(0,Q.useCallback)(async()=>{if(!p.current){if(!f.current)b(`Voice input is still connecting.`);else if(!Id())b(`Voice recording is not available in this browser.`);else{b(null),v(`starting`);try{if(await window.openpond?.requestMicrophoneAccess?.()===!1)throw Error(`Microphone access is denied.`);let e=await Ld({onAudioLevel:e=>{S(t=>Kd(t,e))}});if(u.current=e,S(Gd()),v(`recording`),h.current){h.current=!1,F(!0);return}d.current=window.setTimeout(()=>{F(!1)},Jd)}catch(e){b($d(e)),await M()}}}},[M,F]),ne=(0,Q.useCallback)(()=>{g.current?ee():s(Xd,`info`,{actionLabel:`Continue`,onAction:()=>{g.current=!0,tf(),ee()}})},[ee,s]);return(0,Q.useEffect)(()=>Al(l,()=>u.current?(F(!0),!0):m.current===`starting`&&(h.current=!0,!0)),[F,l]),(0,Q.useEffect)(()=>{o?.(A)},[A,o]),(0,Q.useEffect)(()=>()=>o?.(!1),[o]),(0,Q.useEffect)(()=>{if(!y||O||E)return;let e=window.setTimeout(()=>b(null),7e3);return()=>window.clearTimeout(e)},[E,y,O]),(0,Q.useEffect)(()=>()=>{M()},[M]),(0,$.jsxs)(`span`,{className:`voice-input-control ${n} ${D?`starting`:``} ${O?`recording`:``} ${T?`transcribing`:``}`.trim(),children:[k?(0,$.jsxs)(`span`,{className:`voice-recording-strip`,children:[(0,$.jsx)(`span`,{className:`sr-only`,role:`status`,children:T?`Transcribing audio`:`Recording voice`}),(0,$.jsx)(`button`,{type:`button`,className:`voice-recording-action cancel`,"aria-label":T?`Cancel transcription`:`Cancel dictation`,onClick:()=>{T?P():M()},children:(0,$.jsx)(Tr,{size:15})}),T?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`span`,{className:`voice-transcribing-label`,"aria-hidden":`true`,children:[`Transcribing`,(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)(qd,{levels:x}),(0,$.jsx)(`button`,{type:`button`,className:`voice-recording-action stop`,"aria-label":`Stop and transcribe`,onClick:()=>void F(!1),children:(0,$.jsx)(Ft,{size:10,fill:`currentColor`})})]})]}):(0,$.jsx)(`button`,{type:`button`,className:`voice-input-trigger ${t} ${D?`starting`:``}`.trim(),"aria-label":D?`Starting dictation`:`Dictate`,disabled:r||E||D,onClick:ne,children:(0,$.jsx)(Zi,{size:i})}),y&&!k?(0,$.jsx)(`span`,{className:`voice-input-status`,role:`status`,children:y}):null]})}async function Qd(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 $d(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 ef(){if(typeof window>`u`)return!1;try{return ee.getItem(Yd)===`true`}catch{return!1}}function tf(){if(typeof window<`u`)try{ee.setItem(Yd,`true`)}catch{}}var nf=new Set([`codex`,`openai`,`xai`,`openrouter`,`deepseek`,`zai`,`moonshot`,`together`,`groq`,`custom-openai-compatible`,`setup-provider`]);function rf({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,openPondCommandAccessMode:S,showCommandAccess:C=!0,profileTarget:w,onCodexPermissionModeChange:T,onCodexReasoningEffortChange:E,onOpenPondCommandAccessModeChange:D,onProfileTargetChange:O,onModelChange:k,onOpenFilePicker:A,onProviderChange:j,onProviderSetupOpen:M,onSend:N,onStop:P,onToggleAddMenu:ee,onTranscript:te,voiceInputChannelKey:ne,provider:L,providerSettings:re,providerOptions:ie,running:ae,sendDisabled:se,hasComposerInput:ce,sendTooltip:R,showToast:le,stopIcon:pe=`stop`,stopLabel:me=`Stop response`}){let he=jd(L,re?.providers[L]),[ge,_e]=(0,Q.useState)(null),B=d?Md(d,L,re?.providers[L]):null,V=ge?.connection===d&&ge.provider===L&&ge.instance===he?ge.settings:B?.settings??null,ve=(0,Q.useMemo)(()=>V?re?{...re,providers:{...re.providers,[L]:V.providers[L]},statuses:{...re.statuses,[L]:V.statuses[L]},modelCaches:{...re.modelCaches,[L]:V.modelCaches[L]}}:V:re,[re,V,L]),ye=(0,Q.useCallback)(e=>{d&&_e({connection:d,provider:e.provider,instance:he,settings:e.settings})},[d,he]),be=F(L)||[`claude-code`,`opencode`,`grok-build`].includes(L),xe=L===`openpond`?v:v||de(L,ve),[Se,Ce]=(0,Q.useState)(!1),we=I(L,xe,ve),Te=(0,Q.useMemo)(()=>Jl({currentModelOptions:V?fe(L,ve):y,currentProvider:L,providerOptions:ie,providerSettings:ve}),[y,L,ie,ve,V]),Ee=(0,Q.useMemo)(()=>Te.filter(e=>nf.has(e.provider)),[Te]),De=(e,t)=>{E(oe(e,t,ve)),e===L?k(t):j(e,t)};return e===`team`?(0,$.jsxs)(`div`,{className:`composer-primary-controls team-chat-composer-controls ${ae?`has-running-turn`:``}`.trim(),children:[(0,$.jsx)(`button`,{type:`button`,className:`composer-icon`,"aria-label":`Add photos and files`,disabled:h,onClick:A,children:(0,$.jsx)(Nt,{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)(nu,{disabled:c,model:xe,modelGroups:Ee,placement:g,provider:L,providerSettings:ve,reasoningEffort:u,showReasoning:we,onModelSelectionChange:De,onReasoningEffortChange:E}):null,(0,$.jsx)(Zd,{buttonClassName:`composer-icon`,connection:d,disabled:h,iconSize:16,wrapperClassName:`composer-voice-input`,onActiveChange:Ce,showToast:le,onTranscript:te,transcriptionChannelKey:ne}),(0,$.jsx)(Dd,{running:ae,sendDisabled:se||L===`openpond`&&!v,hasComposerInput:ce,sendTooltip:R,stopIcon:pe,stopLabel:me,voiceInputActive:Se,onSend:N,onStop:P})]}):(0,$.jsxs)(`div`,{className:`composer-primary-controls ${ae?`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:ee,children:(0,$.jsx)(Nt,{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&&be?(0,$.jsx)(Fd,{connection:d,provider:L,providerSettings:ve,placement:g,onSettings:ye,onSetup:M,disabled:c||h}):null,C&&L===`codex`?(0,$.jsx)(Y,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(xn,{size:14}),placement:g,label:`Codex permissions`,tooltip:ue.find(e=>e.value===l)?.label,value:l,options:ue,disabled:c,onChange:e=>T(e)}):C&&!be?(0,$.jsx)(Y,{compact:!0,className:`permission-select`,icon:(0,$.jsx)(Vn,{size:14}),placement:g,label:`Command access`,tooltip:z.find(e=>e.value===(S===`disabled`?`ask`:S))?.label,value:S===`disabled`?`ask`:S,options:z,disabled:c,onChange:e=>D(e)}):null,w&&O?(0,$.jsx)(Xl,{busy:c,placement:g,state:w,onChange:O}):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)(nu,{disabled:c,model:xe,modelGroups:Te,placement:g,provider:L,providerSettings:ve,reasoningEffort:u,showReasoning:we,onModelSelectionChange:De,onReasoningEffortChange:E}),(0,$.jsx)(Zd,{buttonClassName:`composer-icon`,connection:d,disabled:h,iconSize:16,wrapperClassName:`composer-voice-input`,onActiveChange:Ce,showToast:le,onTranscript:te,transcriptionChannelKey:ne}),(0,$.jsx)(Dd,{running:ae,sendDisabled:se||L===`openpond`&&!v,hasComposerInput:ce,sendTooltip:R,stopIcon:pe,stopLabel:me,voiceInputActive:Se,onSend:N,onStop:P})]})}function af(e){return e.description||e.path}function of({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)(Wt,{size:14}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:_l(e)}),(0,$.jsx)(`small`,{children:af(e)})]}),o?(0,$.jsx)(hr,{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 sf({actionCatalogCount:e,actionIndex:t,items:n,onSelect:r,onSelectIndex:i,style:a}){return(0,$.jsx)(Td,{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 cf({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)(Tr,{size:16})}),(0,$.jsx)(`div`,{className:`git-dialog-icon`,children:(0,$.jsx)($t,{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:gr})]}),(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 lf(){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)uf(t);for(let e of t.current)uf(e)}),[]);let s=(0,Q.useCallback)(t=>{if(t.length===0||n.current)return;let r=e.current,a=Math.max(0,er.maxAttachments-r.length),s=[],c=0,l=0;for(let e of t){if(e.size>er.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:be(),file:e,name:e.name||`Untitled file`,mediaType:e.type||`application/octet-stream`,sizeBytes:e.size,kind:ve(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 ${B(er.maxAttachmentBytes)}`),l>0&&e.push(`maximum ${er.maxAttachments} attachments`),o(e.join(`; `))}},[]),c=(0,Q.useCallback)(t=>{let n=e.current,r=n.find(e=>e.id===t);r&&uf(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)uf(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},[]);return{attachmentError:a,attachments:r,addFiles:s,clearAttachments:l,removeAttachment:c,settleStagedAttachments:(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)uf(e)},[]),setAttachmentError:o,stageAttachmentsForSubmit:u}}function uf(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function df({connection:e,sessionId:t,events:n,fallbackReason:r}){let i=(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=fn.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]),[a,o]=(0,Q.useState)(null),s=a?.connection===e&&a.session.id===t&&a.eventId===i?.eventId?a.session:i?.session??null;return{session:s,reason:s?typeof s.metadata?.nativeReadOnlyReason==`string`?s.metadata.nativeReadOnlyReason:null:r,acceptSession:t=>o({connection:e,eventId:i?.eventId,session:t})}}function ff({connection:e,session:t,reason:n,onRechecked:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(null);Lt(o);let c=(0,Q.useRef)(0);(0,Q.useEffect)(()=>(c.current++,a(!1),s(null),()=>{c.current++}),[e,t?.id]);let l=!t?.metadata?.nativeBranch&&t?.metadata?.nativeHistoryId;return(0,$.jsxs)(`div`,{className:`composer dock native-conversation-unavailable`,children:[(0,$.jsx)(`p`,{role:`status`,children:n}),e&&typeof l==`string`?(0,$.jsx)(`button`,{type:`button`,disabled:i,onClick:async()=>{let t=c.current;a(!0),s(null);try{let n=await W(e,`/v1/native-history/open`,{method:`POST`,body:JSON.stringify({id:l,retryWorkspace:!0})});t===c.current&&r(fn.parse(n))}catch(e){t===c.current&&s(e instanceof Error?e.message:`Could not reconnect to this conversation.`)}finally{t===c.current&&a(!1)}},children:i?`Checking…`:`Check again`}):null]})}function pf(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 mf(e,t,n=Cr){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 hf(e,t=Cr){return pr({commands:t,prompt:`/${e}`})}function gf(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 _f(e,t){return e.length===0?[]:e.filter(e=>!t||[e.id,e.name,e.description??``,e.gitRepo??``,br(e)].join(` `).toLowerCase().includes(t)).slice(0,8)}function vf({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(Wn).some(e=>e.includes(s))).map(e=>({kind:`team-member`,member:e}));return[...wr(e,s,e.length).map(e=>({kind:`action`,action:e})),...t]}let c=n.filter(e=>!s||[Wn(e.id),Wn(e.name),e.gitRepo?Wn(e.gitRepo):``,br(e)].some(e=>e.includes(s))).map(e=>({kind:`app`,app:e})),l=wr(e,s,e.length).map(e=>({kind:`action`,action:e})),u=yl(r,s).map(e=>({kind:`skill`,skill:e})),d=cr(t,s).map(e=>({kind:`connected-app`,app:e}));return[...l,...u,...c,...d]}function yf(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 bf(e){let t=Wn(Bn(e)||e.name||e.id);return t?`@${t}`:null}function xf(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])=>`${Sf(e)}: ${Cf(e,t)}`);return r.length?r.join(` · `):e}catch{return e}}function Sf(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 Cf(e,t){if(Array.isArray(t))return t.map(t=>Cf(e,t)).join(`, `);if(t&&typeof t==`object`)return Object.entries(t).map(([e,t])=>`${Sf(e)}: ${Cf(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 wf({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;let i=n?.trim(),a=i?.startsWith(`@`)?i:bf(e);return a?yf(xf(t),a,r):null}function Tf({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}var Ef=new Set([`openpond-agent-authoring`,`openpond-skill-authoring`,`openpond-taskset-authoring`,`openpond-refiner-authoring`]);function Df({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,te]=(0,Q.useState)({}),[ne,I]=(0,Q.useState)({}),[L,re]=(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(){re(Au(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(){I(ku(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(){te(ku(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(ku(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:ne,addMenuStyle:L,mentionMenuStyle:P,skillMenuStyle:ee}}var Of=(0,Q.lazy)(()=>a(()=>import(`./ComposerCreateImproveStrip-ViJ5E0We.js`).then(e=>e.n).then(e=>({default:e.ComposerCreateImproveStrip})),__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]))),kf=Cr.find(e=>e.id===`submit-issue`),Af=[],jf=[];function Mf({experience:e=`development`,mode:t,surface:n=`chat`,teamUseModel:r=!1,teamUseModelLocked:i=!1,teamMentionMembers:a=[],onTeamUseModelChange:o,prompt:s,composeNotice:c=null,mentionApps:l=[],connectedAppMentions:u=[],profileSkills:d=[],selectedMentionAppId:f=null,contextWindowStatus:p,goalRuntime:m=null,subagentRuntime:h=null,createImproveRuntime:g=null,busy:_,readOnlyReason:v=null,running:y=_,taskSessionId:b=null,taskEvents:x=jf,steerActiveResponses:S=!1,submissionScopeKey:C=`default`,composerDraftStore:w,getCurrentSubmissionScopeKey:T,voiceInputChannelKey:E=C,initialSteerDrafts:D=Af,showProjectFooter:O=!0,hideModelControls:k=!1,autoFocus:A=!1,focusRequestId:j=0,attachmentRequest:M=null,connection:N,providerSettings:P=null,provider:F,model:ee,projectTarget:te,profileTarget:ne=null,actionCatalog:I=[],requestedAction:L=null,workspaceTarget:oe,codexPermissionMode:se,codexReasoningEffort:ce,openPondCommandAccessMode:R,onProviderChange:z,onProviderSetupOpen:le,onProjectTargetChange:ue,onProfileTargetChange:de,onWorkspaceTargetChange:pe,onModelChange:me,onCodexPermissionModeChange:he,onCodexReasoningEffortChange:ge,onOpenPondCommandAccessModeChange:_e,onPromptChange:B,onMentionAppSelect:ve,onSaveTaskDraft:be,showToast:Se,onSubmit:Ce,onStop:we,onPauseGoal:Te}){let Ee=df({connection:N,sessionId:b??null,events:x,fallbackReason:v??null}),De=Ee.reason,Oe=(0,Q.useRef)(null),ke=(0,Q.useRef)(null),H=(0,Q.useRef)(null),Ae=S,je=Fl(N,b,x),Me=Jc(n===`chat`?N:null,b??null),{resourceDrafts:Ne,onPromptChange:Pe,currentResourceContexts:Fe}=ol(C,B,ll(n===`chat`&&!Me.selection?.model&&!Me.selection?.training?N:null,b??null),w);hl({surface:n,voiceInputChannelKey:E,taskSessionId:b,submissionScopeKey:C,prompt:s,onPromptChange:Pe,showToast:Se,resourceDrafts:Ne,inputRef:H,composerDraftStore:w});let Ie=(0,Q.useRef)(null),Le=(0,Q.useRef)(null),Re=(0,Q.useRef)(null),ze=(0,Q.useRef)(null),Be=(0,Q.useRef)(0),Ve=L&&I.some(e=>e.id===L.actionId)?L:null,He=(0,Q.useRef)(!1),Ue=(0,Q.useRef)(0),We=(0,Q.useRef)(Ve?.requestId??0),Ge=(0,Q.useRef)(new Set),Ke=(0,Q.useRef)(new Set),[U,W]=(0,Q.useState)(s.length),qe=(0,Q.useRef)(U);qe.current=U;let[Je,Ye]=(0,Q.useState)(0),[Xe,Ze]=(0,Q.useState)(0),[Qe,$e]=(0,Q.useState)(0),[et,tt]=(0,Q.useState)(0),[nt,rt]=(0,Q.useState)(``),[it,at]=(0,Q.useState)(null),[ot,st]=(0,Q.useState)(null),[ct,lt]=(0,Q.useState)(null),[ut,dt]=(0,Q.useState)(!1),[ft,pt]=(0,Q.useState)(!1),[mt,ht]=(0,Q.useState)(Ve?.actionId??null),[gt,_t]=(0,Q.useState)(null),[vt,yt]=(0,Q.useState)(null),[bt,xt]=(0,Q.useState)(null),[St,G]=(0,Q.useState)(null),[Ct,wt]=(0,Q.useState)(!1),[Tt,Et]=(0,Q.useState)(()=>({[C]:D})),[Dt,Ot]=(0,Q.useState)(null),[kt,At]=(0,Q.useState)(!1),[jt,Mt]=(0,Q.useState)(``),[Nt,Pt]=(0,Q.useState)(!1),{attachmentError:Ft,attachments:It,addFiles:Lt,removeAttachment:Rt,settleStagedAttachments:zt,setAttachmentError:Bt,stageAttachmentsForSubmit:Vt}=lf(),Ht=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{M&&Ht.current!==M.id&&(Ht.current=M.id,Lt([M.file]))},[Lt,M]);let Ut=(0,Q.useCallback)(e=>{let t=V(e,It);return!t||It.length>=er.maxAttachments||t.size>er.maxAttachmentBytes?!1:(Lt([t]),!0)},[Lt,It]),Wt=ud({experience:e,mode:t,surface:n}),Gt=e===`development`||e===`work`&&te.value!==`none`,Kt=ie(F,ee,P),qt=(0,Q.useId)(),Yt=(0,Q.useId)(),Xt=(0,Q.useId)(),Zt={"--context-fill":`${Math.round((p.percent??0)/100*360)}deg`,"--context-bar-fill":`${p.percent??0}%`},Qt=(0,Q.useMemo)(()=>I.find(e=>e.id===mt)??null,[I,mt]),$t=(0,Q.useMemo)(()=>or(F,e),[e,F]),en=(0,Q.useMemo)(()=>Gt?d:d.filter(e=>!Ef.has(e.name)),[e,d]),tn=(0,Q.useMemo)(()=>$t.find(e=>e.id===gt)??null,[$t,gt]),nn=wf({action:Qt,prompt:s,selectedActionMentionText:bt,selectedInvocationPosition:vt}),rn=Tf({attachmentCount:It.length,prompt:s,selectedAction:Qt,selectedCommand:tn}),an=(0,Q.useMemo)(()=>{let e=Math.max(0,Math.min(vt??0,s.length));return tn?{icon:tn.id===`agent`?`plus`:tn.id===`skill`?`skill`:`workflow`,key:`command:${tn.id}`,label:tn.id===`agent`?`Author Agent`:tn.id,position:e,onRemove:()=>{_t(null),yt(null),xt(null)}}:Qt?{icon:Qt.implementation?.type===`openpond-agent`?`bot`:`workflow`,key:`action:${Qt.id}`,label:Bn(Qt),position:e,onRemove:()=>{ht(null),yt(null),xt(null)}}:null},[s.length,Qt,tn,vt]),on=St===C,sn=on||!rn,cn=on?`Preparing files`:y?Ae?`Steer`:`Queue`:`Send`,ln=on,un=on||Me.selecting;function dn(e=C){if(De)return!1;let t=Ge.current;return!t.has(e)&&(t.add(e),!0)}function fn(e){Ge.current.delete(e)}function pn(e){return Ge.current.has(e)}function mn(){return pn(C)}function hn(e){G(t=>t===e?null:t)}let gn=(0,Q.useMemo)(()=>{let e=re(P,{enabledOnly:!0}).map(e=>({...e,description:void 0})),t=Gt?e:e.filter(e=>e.value!==`codex`),n=oe.value===`cloud`&&Gt?t.filter(e=>e.value===`openpond`):t,r=n.some(e=>e.value===F)?n:[{value:F,label:ae(F,P),description:`Current`},...n],i={value:`setup-provider`,label:`New Model/Provider`,icon:`plus`,separatorBefore:!0};return[...r,i]},[F,P,Gt,oe.value]),_n=(0,Q.useMemo)(()=>fe(F,P),[F,P]),vn=(0,Q.useMemo)(()=>zn(s,Math.min(U,s.length)),[U,s]),yn=vn?`${s}:${vn.start}:${Math.min(U,s.length)}`:null,bn=(0,Q.useMemo)(()=>vn?vf({actionCatalog:I,connectedAppMentions:u,mentionApps:l,profileSkills:en,query:vn.query,surface:n,teamMentionMembers:a}):[],[I,u,l,vn,en,n,a]),xn=(0,Q.useMemo)(()=>n===`team`?[]:vf({actionCatalog:I,connectedAppMentions:u,mentionApps:l,profileSkills:en,query:``,surface:n,teamMentionMembers:a}).filter(e=>e.kind!==`skill`),[I,u,l,en,n,a]),Sn=!!(!ut&&!ln&&vn&&yn&&it!==yn&&bn.length>0),Cn=(0,Q.useMemo)(()=>gl(s,Math.min(U,s.length)),[U,s]),wn=Cn?`${s}:${Cn.start}:${Cn.end}`:null,Tn=(0,Q.useMemo)(()=>Cn?yl(en,Cn.query):[],[Cn,en]),En=!(ut||ln||!Cn||!wn||ct===wn),K=(0,Q.useMemo)(()=>pf(s,Math.min(U,s.length)),[U,s]),Dn=K?`${s}:${K.start}:${K.end}`:null,On=(0,Q.useMemo)(()=>K?gf(I,K.query):[],[I,K]),kn=(0,Q.useMemo)(()=>K&&n!==`team`?_f(l,K.query):[],[K,l,n]),An=(0,Q.useMemo)(()=>K&&n!==`team`?hf(K.query,$t):[],[K,$t,n]),jn=(0,Q.useMemo)(()=>K&&n!==`team`?yl(en,K.query):[],[K,en,n]),Mn=(0,Q.useMemo)(()=>[...On.map(e=>({kind:`action`,action:e})),...jn.map(e=>({kind:`skill`,skill:e})),...An.map(e=>({kind:`command`,command:e})),...kn.map(e=>({kind:`app-context`,app:e}))],[On,kn,An,jn]),Nn=!(ut||ln||!K||!Dn||ot===Dn),Pn=(0,Q.useMemo)(()=>$t.map(e=>({kind:`command`,command:e})),[$t]),Fn=(0,Q.useMemo)(()=>[...gf(I,``).map(e=>({kind:`action`,action:e})),..._f(l,``).map(e=>({kind:`app-context`,app:e}))],[I,l]),In=(0,Q.useMemo)(()=>yl(en,``).map(e=>({kind:`skill`,skill:e})),[en]),Rn=(0,Q.useMemo)(()=>{let t=[{id:`add`,items:e===`work`?[{kind:`files`},{kind:`folder`}]:[{kind:`files`}],label:`Add`}];return Fn.length>0&&t.push({id:`slash`,items:Fn.map(e=>({kind:`slash`,item:e})),label:`Agents and actions`,queryScope:`slash`}),In.length>0&&t.push({id:`skills`,items:In.map(e=>({kind:`slash`,item:e})),label:`Skills`,queryScopes:[`slash`,`mentions`]}),t.push({id:`openpond`,items:Pn.map(e=>({kind:`slash`,item:e})),label:`OpenPond`,grid:!0,queryScope:`slash`}),t.push({emptyLabel:`No mentions available`,id:`mentions`,items:xn.map(e=>({kind:`mention`,item:e})),label:`@`}),t},[xn,Pn,In,Fn,e]),Vn=(0,Q.useMemo)(()=>Sd(Rn,nt),[nt,Rn]),Hn=(0,Q.useMemo)(()=>Vn.flatMap(e=>e.items),[Vn]);(0,Q.useEffect)(()=>{ut&&tt(e=>e<Hn.length?e:0)},[Hn.length,ut]);let Un=!!m,Gn=Un&&m?.tone===`active`,Kn=Gn?`Pause goal`:`Stop response`,qn=Gn?`pause`:`stop`,Jn=te.value!==`none`,J=Hl(Tt,C,D),Yn=Dt?.scopeKey===C?Dt.draftId:null;function Y(e,t){Et(n=>Ul(n,e,t,e===C?D:[]))}(0,Q.useLayoutEffect)(()=>{H.current?.resize()},[It.length,Ft,g,m,s,mt,gt,vt]),(0,Q.useEffect)(()=>{if(!A){He.current=!1;return}if(He.current||ln)return;let e=window.requestAnimationFrame(()=>{He.current=!0;let e=document.activeElement;e&&e!==document.body&&e!==document.documentElement||H.current?.focusAtPromptIndex(s.length)});return()=>window.cancelAnimationFrame(e)},[A,ln,s.length]),(0,Q.useEffect)(()=>{if(!j||Ue.current===j||ln)return;let e=window.requestAnimationFrame(()=>{H.current?.element?.isConnected&&(H.current.focusAtPromptIndex(s.length),Ue.current=j)});return()=>window.cancelAnimationFrame(e)},[j,ln,s.length]),(0,Q.useEffect)(()=>{m||wt(!1)},[m]),(0,Q.useEffect)(()=>{mt&&!I.some(e=>e.id===mt)&&(ht(null),yt(null))},[I,mt]),(0,Q.useEffect)(()=>{if(!L||L.requestId<=We.current)return;let e=I.find(e=>e.id===L.actionId);e&&(We.current=L.requestId,ht(e.id),_t(null),yt(0),xt(null),Pe(``),W(0),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[I,Pe,L]),(0,Q.useEffect)(()=>{(Qt||tn)&&yt(e=>e===null?0:Math.max(0,Math.min(e,s.length)))},[s.length,Qt,tn]),(0,Q.useEffect)(()=>{if(!f||!ve)return;let e=l.find(e=>e.id===f);(!e||!ar(s,e))&&ve(null)},[l,ve,s,f]);let{actionMenuStyle:Zn,addMenuStyle:Qn,mentionMenuStyle:X,skillMenuStyle:$n}=Df({activeMentionKey:yn,activeSkillKey:wn,activeSlashKey:Dn,addMenuIndex:et,addMenuItems:Hn,addMenuOpen:ut,addMenuPanelRef:ze,addMenuRef:Re,attachmentCount:It.length,composerRef:Oe,createImproveActive:!!g,goalRuntimeActive:!!m,inputRef:H,inputShellRef:ke,mentionQuery:vn?.query,prompt:s,selectedActionId:mt,selectAddMenuItem:Or,setActionIndex:$e,setActionMenuDismissedPrompt:st,setAddMenuIndex:tt,setAddMenuOpen:dt,setAddMenuQuery:rt,setMentionMenuDismissedPrompt:at,setMentionIndex:Ye,setSkillIndex:Ze,setSkillMenuDismissedPrompt:lt,skillMatchCount:Tn.length,skillQuery:Cn?.query,slashMatchCount:Mn.length,slashQuery:K?.query,showActionMenu:Nn,showMentionMenu:Sn,showSkillMenu:En});function tr(){ht(null),_t(null),yt(null),xt(null)}function nr(){tr(),Pe(``),W(0)}function rr(e){Mt(e.trim()),At(!0)}function ir(){Nt||(At(!1),tr())}async function sr(){return await(Gn&&Te?Te():we())}function cr(e,t){let n=Math.max(0,Math.min(U,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=s.slice(0,r),o=s.slice(i),c=a&&!/\s$/.test(a)?` `:``,l=o&&!/^\s/.test(o)?` `:``,u=`${c}${`${fr(e)} `}${l}`,d=`${a}${u}${o}`,f=a.length+u.length;return Pe(d),ve?.(e.id),W(f),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(f)}),f}function lr(e){if(!vn)return;let t=Math.max(0,Math.min(U,s.length));cr(e,{start:vn.start,end:t})}function ur(e,t,n=null){let r=Math.max(0,Math.min(U,s.length)),i=t?Math.max(0,Math.min(t.start,s.length)):r,a=t?Math.max(i,Math.min(t.end,s.length)):i,o=`${s.slice(0,i)}${s.slice(a)}`;return ht(e.id),_t(null),yt(i),xt(n?.startsWith(`@`)?n:null),st(null),Pe(o),W(i),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(i,{afterToken:!0})}),i}function dr(e){if(!vn)return;let t=Math.max(0,Math.min(U,s.length)),n=Math.max(0,Math.min(vn.start,s.length)),r=Math.max(n,Math.min(t,s.length));ur(e,{start:n,end:r},s.slice(n,r).trim())}function pr(e,t){let n=Math.max(0,Math.min(U,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=s.slice(0,r),o=s.slice(i),c=a&&!/\s$/.test(a)?` `:``,l=o&&!/^\s/.test(o)?` `:``,u=`${c}${`${_r(e)} `}${l}`,d=`${a}${u}${o}`,f=a.length+u.length;return Pe(d),W(f),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(f)}),f}function mr(e){if(!vn)return;let t=Math.max(0,Math.min(U,s.length));pr(e,{start:vn.start,end:t})}function hr(e,t){let n=Math.max(0,Math.min(U,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=e.handle||Wn(e.name),o=s.slice(0,r),c=s.slice(i),l=`${o&&!/\s$/.test(o)?` `:``}@${a} ${c&&!/^\s/.test(c)?` `:``}`,u=`${o}${l}${c}`,d=o.length+l.length;return Pe(u),W(d),window.requestAnimationFrame(()=>H.current?.focusAtPromptIndex(d)),d}function gr(e){if(e.kind===`team-member`){if(!vn)return;let t=Math.max(0,Math.min(U,s.length));hr(e.member,{start:vn.start,end:t})}else if(e.kind===`app`)lr(e.app);else if(e.kind===`connected-app`)mr(e.app);else if(e.kind===`skill`){if(!vn)return;let t=Math.max(0,Math.min(U,s.length));Sr(e.skill,{start:vn.start,end:t})}else dr(e.action)}function Z(e){K&&(st(null),cr(e,{start:K.start,end:K.end}))}function vr(e){K&&ur(e,K)}function yr(e,t){let n=Math.max(0,Math.min(U,s.length)),r=t?Math.max(0,Math.min(t.start,s.length)):n,i=t?Math.max(r,Math.min(t.end,s.length)):r,a=`${s.slice(0,r)}${s.slice(i)}`;return _t(e.id),ht(null),yt(r),xt(null),st(null),Pe(a),W(r),e.id===`submit-issue`&&rr(a),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(r,{afterToken:!0})}),r}function br(e){K&&yr(e,K)}function xr(e){if(e.kind===`command`)br(e.command);else if(e.kind===`app-context`)Z(e.app);else if(e.kind===`skill`){if(!K)return;Sr(e.skill,K)}else vr(e.action)}function Sr(e,t){let n=vl(s,t,e);return lt(null),at(null),st(null),Pe(n.value),W(n.cursor),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(n.cursor)}),n.cursor}function Cr(e){Cn&&Sr(e,Cn)}function wr(){Ie.current?.click()}function Tr(){Le.current?.click()}function Er(e){Be.current=e,rt(``),tt(0)}function Dr(){let e=Math.max(0,Math.min(U,s.length)),t=Math.max(0,Math.min(Be.current,s.length));return e>=t?{start:t,end:e}:{start:e,end:e}}function Or(e){let t=Dr();if(dt(!1),rt(``),e.kind===`files`||e.kind===`folder`){if(t.start!==t.end){let e=`${s.slice(0,t.start)}${s.slice(t.end)}`;Pe(e),W(t.start)}Er(t.start),e.kind===`folder`?Tr():wr()}else if(e.kind===`slash`){if(e.item.kind===`command`){Er(yr(e.item.command,t));return}if(e.item.kind===`app-context`){Er(cr(e.item.app,t));return}if(e.item.kind===`skill`){Er(Sr(e.item.skill,t));return}Er(ur(e.item.action,t))}else e.item.kind===`team-member`?Er(hr(e.item.member,t)):e.item.kind===`app`?Er(cr(e.item.app,t)):e.item.kind===`connected-app`?Er(pr(e.item.app,t)):e.item.kind===`skill`?Er(Sr(e.item.skill,t)):Er(ur(e.item.action,t))}let{stageCurrentSteerDraft:kr,submitImmediateSteer:Ar}=sl({running:y,scope:C,inbox:je,getPrompt:()=>H.current?.getPrompt()??s,getResourceContexts:Fe,hasFilesOrActions:!!(It.length||Qt||tn),provider:F,model:ee,codexPermissionMode:se,codexReasoningEffort:ce,openPondCommandAccessMode:R,getCurrentSubmissionScopeKey:T,onSubmit:Ce,showToast:Se,begin:e=>!Ke.current.has(e)&&(Ke.current.add(e),!0),finish:e=>{Ke.current.delete(e)},clear:nr,setError:Bt,stageLocal:(e,t)=>{Y(C,n=>[...n,Rl(e,{resourceContexts:t})]),window.requestAnimationFrame(()=>H.current?.focusAtPromptIndex(0))}});async function jr(e){let t=C;if(Dt?.scopeKey===t)return!1;let n=Hl(Tt,t,D).find(t=>t.id===e);if(!n)return!1;Ot({draftId:e,scopeKey:t}),Bt(null);try{let r=y,i=await Ce([],null,null,{preservePrompt:!0,promptOverride:n.prompt,turnMetadata:{...al(n.resourceContexts??[]),...r?{interactionKind:`steer`}:{}}});return Y(t,t=>Vl(t,e,i)),i}catch(e){return Bt(e instanceof Error?e.message:String(e)),!1}finally{Ot(n=>n?.scopeKey===t&&n.draftId===e?null:n)}}function Mr(e){Yn!==e&&Y(C,t=>zl(t,e))}function Nr(e){Yn!==e.id&&(It.length>0||mt||gt?Se(`Finish the current composer before editing a queued message.`,`info`):(Y(C,t=>Bl(t,e.id,s,Fe())),Ne.current.set(C,e.resourceContexts??[]),Pe(e.prompt),W(e.prompt.length),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(e.prompt.length)})))}async function Pr(e={}){if(Me.selecting)return!1;let t=C;if(!dn(t))return!1;dt(!1),Bt(null);let n=Me.selection?.training||Me.selection?.model?[]:Fe(),r=Vt();try{G(r.length>0?t:null);let i;try{i=await Promise.all(r.map(ye))}finally{hn(t)}let a=Qt&&nn&&!s.trim()?nn:void 0,o=e.promptOverride??a,c=await Ce(i,Qt,tn,nn||o||e.preservePrompt||n.length||Me.selection?{...nn?{displayPrompt:nn}:{},...o===void 0?{}:{promptOverride:o},...e.preservePrompt?{preservePrompt:!0}:{},turnMetadata:{...al(n),...Me.selection?{chatResourceFocus:Me.selection}:{}},...Me.selection?{sessionMetadata:{chatContextSelection:Me.selection.target}}:{},onSessionCreated:e=>Me.moveToSession(e.id)}:void 0);return c&&Ne.current.get(t)===n&&Ne.current.delete(t),zt(r,c?`dispose`:`restore`),c&&!Jt(Qt)&&tr(),c}catch(e){return zt(r,`restore`),Bt(e instanceof Error?e.message:String(e)),!1}finally{fn(t),hn(t)}}async function Fr(){if(y){Ae?await Ar():await kr();return}if(mn())return;let e=Qt||tn?null:Xn(s);tn?.id===`submit-issue`||e?.command===`submit-issue`?rr(e?.command===`submit-issue`?e.args:s):sn||await Pr()}function Ir(){jl(E)||Fr()}async function Lr(e){if(mn()||Nt||Me.selecting)return!1;let t=C;if(!dn(t))return!1;Pt(!0),dt(!1),Bt(null);try{let t=await Ce([],null,kf,{displayPrompt:`/submit-issue ${e.title.trim()}`,promptOverride:Ln(e)});return t&&(At(!1),tr()),t}catch(e){return Bt(e instanceof Error?e.message:String(e)),!1}finally{fn(t),Pt(!1)}}async function Rr(e,t){let n=H.current?.getPrompt()??s,r=Math.max(0,Math.min(qe.current,n.length)),i=bl(n,e,t.submit?n.length:r),a=await Sl({appendToEnd:t.submit,currentScopeKey:T?.()??C,cursorIndex:r,originScopeKey:C,prompt:n,setOriginDraft:e=>Pe(e),submitFromOrigin:e=>Pr({preservePrompt:!0,promptOverride:e}),transcript:e});if(a===`retained`)Se(`The voice message couldn't be sent. It is saved in the original chat draft.`,`error`);else if(a===`submitted`)Se(`Voice message sent to the chat where recording started.`,`success`);else if(t.submit){if(y){Ae?await Ar(i.value):await kr(i.value);return}await Pr({promptOverride:i.value})}else W(i.cursorIndex),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(i.cursorIndex)})}return De?(0,$.jsx)(ff,{connection:N,session:Ee.session,reason:De,onRechecked:Ee.acceptSession}):(0,$.jsxs)(`form`,{ref:Oe,className:`composer ${t} ${g?`has-create-runtime`:``} ${Un?`has-goal-runtime`:``} ${It.length>0?`has-attachments`:``} ${Qt||tn?`has-selected-action`:``} ${Ft?`has-attachment-error`:``} ${ut?`has-add-menu`:``}`,onSubmit:e=>{e.preventDefault(),Fr()},children:[Ee.session?.metadata?.nativeWorkspaceRecovered===!0?(0,$.jsx)(`p`,{className:`composer-workspace-notice`,role:`status`,title:Ee.session.cwd??void 0,children:`Using an app workspace because the original folder is unavailable.`}):null,(0,$.jsx)(`input`,{webkitdirectory:``,ref:Le,className:`composer-file-input`,type:`file`,multiple:!0,tabIndex:-1,onChange:e=>{Lt(Array.from(e.currentTarget.files??[])),e.currentTarget.value=``}}),Sn&&(0,$.jsx)(Ed,{items:bn,mentionIndex:Je,onSelect:gr,onSelectIndex:Ye,style:X}),En&&(0,$.jsx)(of,{items:Tn,onSelect:Cr,onSelectIndex:Ze,skillIndex:Xe,style:$n}),Nn&&(0,$.jsx)(sf,{actionCatalogCount:I.length,actionIndex:Qe,items:Mn,onSelect:xr,onSelectIndex:$e,style:Zn}),(0,$.jsx)(cf,{busy:Nt,initialDescription:jt,open:kt,onClose:ir,onSubmit:Lr}),(O||n===`chat`)&&(0,$.jsxs)(`div`,{className:`composer-footer`,children:[O?(0,$.jsx)(Zl,{busy:_||te.busy,placement:`top`,state:te,onChange:ue}):null,ne&&de?(0,$.jsx)(Xl,{busy:_,placement:`top`,state:ne,onChange:de}):null,Jn?(0,$.jsx)($l,{busy:_,placement:`top`,state:oe,onChange:pe}):null]}),g?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Of,{runtime:g})}):null,je.enabled?(0,$.jsx)(Gl,{inbox:je,canRestore:e=>{try{return il(Ne.current.get(C)??[],e),!0}catch{return Se(`Send or clear the current resource actions before editing this queued message.`,`info`),!1}},onRestore:(e,t)=>{let n=!T||T()===C,r=n?H.current?.getPrompt()??s:s;Ne.current.set(C,il(Ne.current.get(C)??[],t)),Pe(r.trim()?`${r}\n\n${e}`:e),n&&H.current?.focusAtPromptIndex(0)}}):(0,$.jsx)(au,{drafts:J,sendingDraftId:Yn,onDeleteDraft:Mr,onEditDraft:Nr,onSteerDraft:e=>{jr(e)}}),Un&&m&&(0,$.jsx)(iu,{detailsOpen:Ct,goalRuntime:m,objectiveId:Xt,subagentRuntime:h,onToggleDetails:()=>wt(e=>!e)}),c?.tone===`warning`?(0,$.jsx)(q,{error:c.message}):c?(0,$.jsx)(`div`,{className:`composer-notice info`,role:`status`,children:c.message}):null,(0,$.jsxs)(`div`,{className:`composer-input-shell`,ref:ke,children:[ut&&n!==`team`&&(0,$.jsx)(Td,{id:qt,ariaLabel:`Add to message`,className:`composer-add-command-menu`,menuIndex:et,menuRef:ze,sections:Vn,style:Qn,variant:`add`,onSelect:Or,onSelectIndex:tt}),It.length>0&&(0,$.jsx)(`div`,{className:`composer-attachments`,"aria-label":`Selected attachments`,children:It.map(e=>(0,$.jsx)(xe,{attachment:e,onRemove:()=>Rt(e.id)},e.id))}),Ft&&(0,$.jsx)(q,{error:Ft}),(0,$.jsx)(`div`,{className:`composer-textarea-frame`,onClick:e=>{e.target===e.currentTarget&&H.current?.focusAtPromptIndex(U)},children:(0,$.jsx)(sd,{ref:H,connectedAppMentions:u,disabled:ln,onCursorChange:W,onKeyDown:t=>{if(ut&&[`ArrowDown`,`ArrowUp`,`Home`,`End`,`Enter`,`Escape`].includes(t.key))t.preventDefault();else{if(Sn){if(t.key===`ArrowDown`){t.preventDefault(),Ye(e=>(e+1)%bn.length);return}if(t.key===`ArrowUp`){t.preventDefault(),Ye(e=>(e-1+bn.length)%bn.length);return}if(t.key===`Enter`||t.key===`Tab`){t.preventDefault(),gr(bn[Je]??bn[0]);return}if(t.key===`Escape`){t.preventDefault(),at(yn);return}}if(En){if(Tn.length>0&&t.key===`ArrowDown`){t.preventDefault(),Ze(e=>(e+1)%Tn.length);return}if(Tn.length>0&&t.key===`ArrowUp`){t.preventDefault(),Ze(e=>(e-1+Tn.length)%Tn.length);return}if(Tn.length>0&&(t.key===`Enter`||t.key===`Tab`)){t.preventDefault(),Cr(Tn[Xe]??Tn[0]);return}if(t.key===`Escape`){t.preventDefault(),lt(wn??s);return}}if(Nn){if(Mn.length>0&&t.key===`ArrowDown`){t.preventDefault(),$e(e=>(e+1)%Mn.length);return}if(Mn.length>0&&t.key===`ArrowUp`){t.preventDefault(),$e(e=>(e-1+Mn.length)%Mn.length);return}if(Mn.length>0&&(t.key===`Enter`||t.key===`Tab`)){t.preventDefault(),xr(Mn[Qe]??Mn[0]);return}if(t.key===`Escape`){t.preventDefault(),st(Dn??s);return}}(Qt||tn)&&t.key===`Backspace`&&U===(vt??0)?(t.preventDefault(),tr()):ld(t.key,t.ctrlKey,t.metaKey,t.shiftKey,e,n,!!be)?(t.preventDefault(),cd({attachmentsCount:It.length,hasSelectedInvocation:!!(Qt||tn),onSave:be,onSaved:tr,prompt:s,saving:ft,setSaving:pt,showInfo:e=>Se(e,`info`)})):t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),on||Fr())}},onPasteFiles:Lt,onPasteTextAsAttachment:Ut,onPromptChange:(e,t)=>{if(ut){let n=Math.max(0,Math.min(Be.current,e.length));t<n?(Be.current=t,rt(``)):rt(e.slice(n,t))}let r=n===`team`?null:mf(e,t,$t);if(r){let n=`${e.slice(0,r.start)}${e.slice(r.end)}`,i=r.start;Pe(e),W(t),window.requestAnimationFrame(()=>{_t(r.command.id),ht(null),yt(i),st(null),Pe(n),W(i),r.command.id===`submit-issue`&&rr(n),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(i,{afterToken:!0})})})}else Pe(e)},onTokenPositionChange:e=>{(Qt||tn)&&(e===null?tr():yt(e))},placeholder:Wt,prompt:s,token:an})}),(0,$.jsx)(rf,{trainingControl:n===`chat`?(0,$.jsx)(fl,{context:Me,disabled:_,placement:`top`}):null,surface:n,teamUseModel:r,teamUseModelLocked:i,onTeamUseModelChange:o,addFiles:Lt,addMenuId:qt,addMenuOpen:ut,addMenuRef:Re,busy:_,codexPermissionMode:se,codexReasoningEffort:ce,connection:N,contextStatusStyle:Zt,contextStatusTooltipId:Yt,contextWindowStatus:p,disabled:un,dropdownPlacement:`top`,fileInputRef:Ie,modelValue:Kt,modelOptions:_n,hideModelControls:k,openPondCommandAccessMode:R,showCommandAccess:Gt,profileTarget:O?null:ne,onCodexPermissionModeChange:he,onCodexReasoningEffortChange:ge,onOpenPondCommandAccessModeChange:_e,onProfileTargetChange:de,onModelChange:me,onOpenFilePicker:wr,onProviderChange:z,onProviderSetupOpen:le,onSend:Ir,onStop:sr,onToggleAddMenu:()=>{let e=Math.max(0,Math.min(U,s.length));ut||(Be.current=e,rt(``),tt(0),dt(!0)),window.requestAnimationFrame(()=>{H.current?.focusAtPromptIndex(e)})},onTranscript:Rr,voiceInputChannelKey:E,provider:F,providerSettings:P,providerOptions:gn,running:y,sendDisabled:sn,hasComposerInput:rn,sendTooltip:cn,showToast:Se,stopIcon:qn,stopLabel:Kn})]})]})}var Nf=(0,Q.memo)(function({draftStore:e,...t}){let n=Nr(e),r=e.getScopeKey(),i=(0,Q.useCallback)(t=>{e.setForScope(r,t)},[r,e]);return(0,$.jsx)(yn,{id:`composer`,children:(0,$.jsx)(Mf,{...t,prompt:n,onPromptChange:i})})}),Pf=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(` `)),Ff=new Set([`style`,`title`,`aria-label`,`alt`,`width`,`height`,`colspan`,`rowspan`]);function If(e){let t=new DOMParser().parseFromString(e,`text/html`);for(let e of t.body.querySelectorAll(`*`))if(!Pf.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);!Ff.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 Lf({preview:e,label:t}){let n=/^\s*<[a-z][\w-]*\b[^>]*>/i.test(e),r=(0,Q.useMemo)(()=>n?If(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)(G,{content:e})})}function Rf({questions:e,answers:t,disabled:n,onChange:r}){return(0,$.jsx)(`div`,{className:`native-question-fields`,children:e.map(e=>(0,$.jsx)(zf,{question:e,disabled:n,answer:t[e.question]??``,onChange:n=>r({...t,[e.question]:n})},e.question))})}function zf({question:e,answer:t,disabled:n,onChange:r}){let i=(0,Q.useId)(),[a,o]=(0,Q.useState)([]),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(``),d=s?`Your answer`:a.map(t=>e.options[t].label).join(`, `)||`Choose an answer`;function f(t){if(t===`custom`){c(!0),r(l);return}let n=Number(t),i=e.multiSelect&&!s?a.includes(n)?a.filter(e=>e!==n):[...a,n]:[n];o(i),c(!1),r(i.map(t=>e.options[t].label).join(`, `))}return(0,$.jsxs)(`fieldset`,{disabled:n,children:[(0,$.jsxs)(`legend`,{children:[e.header?(0,$.jsx)(`small`,{children:e.header}):null,e.question]}),(0,$.jsx)(Y,{label:e.question,disabled:n,floating:!0,floatingMenuWidth:380,value:s?`custom`:a.length===1?String(a[0]):`placeholder`,triggerContent:(0,$.jsx)(`span`,{children:d}),options:[{value:`placeholder`,label:`Choose an answer`,disabled:!0},...e.options.map((t,n)=>({value:String(n),label:`${e.multiSelect&&a.includes(n)&&!s?`✓ `:``}${t.label}`,description:t.description})),{value:`custom`,label:`Write your own answer`}],onChange:f}),e.multiSelect&&!s?(0,$.jsx)(`small`,{children:`Select one or more choices. Choose a selected item again to remove it.`}):null,s?(0,$.jsxs)(`label`,{className:`native-question-custom`,htmlFor:i,children:[`Your answer`,(0,$.jsx)(`textarea`,{id:i,maxLength:8e3,rows:3,value:t,onChange:e=>{u(e.target.value),r(e.target.value)}})]}):a.map(t=>{let n=e.options[t];return(0,$.jsxs)(`div`,{className:`native-question-selection`,children:[n.description?(0,$.jsx)(`p`,{children:n.description}):null,n.preview?(0,$.jsx)(Lf,{preview:n.preview,label:n.label}):null]},t)})]})}function Bf({approval:e,onResolve:t}){let[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)({});if((0,Q.useEffect)(()=>{r(null),a({})},[e?.id]),!e||e.kind===`create_plan`)return null;let o=Hf(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{}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(a){if(e&&!n){r(a);try{await t(e.id,a,a===`accept`&&l.length?i:void 0)}catch{r(null)}}}return(0,$.jsx)(`div`,{"data-notification-approval":e.id,className:`approval-request-shell ${l.length||u!==null?`native-input-shell`:``}`,role:`status`,"aria-live":`polite`,children:(0,$.jsxs)(`section`,{className:`approval-request-card`,"aria-label":u===null?l.length?`Questions from agent`:`${Vf(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?l.length?`Input needed`:Vf(e.kind):`Plan review`})}),!l.length&&u===null?(0,$.jsx)(`code`,{className:`approval-request-title`,title:e.title,children:e.title}):null,!l.length&&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)(G,{content:u}):(0,$.jsx)(`p`,{children:`Claude is ready to leave plan mode. Review the proposed plan in the conversation before continuing.`})}),l.length?(0,$.jsx)(Rf,{questions:l,answers:i,disabled:!!n,onChange:a},e.id):null]}),(0,$.jsxs)(`div`,{className:`approval-request-actions`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`approval-action primary`,disabled:!!n||l.some(e=>!i[e.question]?.trim())||s&&!c.some(e=>e.kind===`allow_once`),onClick:()=>void p(`accept`),children:[(0,$.jsx)(hr,{size:14}),(0,$.jsx)(`span`,{children:n===`accept`?`Sending`:l.length?`Submit answers`: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:!!n,onClick:()=>void p(`acceptForSession`),children:[(0,$.jsx)(Ki,{size:14}),(0,$.jsx)(`span`,{children:n===`acceptForSession`?`Approving`:s?f:`Session`})]}):null,(0,$.jsxs)(`button`,{type:`button`,className:`approval-action muted`,disabled:!!n||s&&!c.some(e=>e.kind===`reject_once`),onClick:()=>void p(`decline`),children:[(0,$.jsx)(qi,{size:14}),(0,$.jsx)(`span`,{children:n===`decline`?`Sending`:l.length?`Skip questions`: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:!!n,onClick:()=>void p(`cancel`),children:(0,$.jsx)(Tr,{size:15})})]})]})})}function Vf(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 Hf(e){let t=e.trim();if(!t)return``;try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}function Uf({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 Wf=/\.(?:m4v|mov|mp4|webm)$/i;function Gf(e){return Wf.test(e.trim().split(/[?#]/,1)[0]??``)}function Kf(e,t){let n=e.trim();if(!n||!Gf(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 qf({conversationKey:e,connection:t,handleOpenBrowserLink:n,activeWorkspaceAppId:r,rightSidebarUsesSandbox:i,rightSidebarSandboxId:o,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=Ze(t);(0,Q.useEffect)(()=>(p.current++,f(null),()=>{p.current++}),[g,r,e,o]),(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;ft(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?o:null),p=f??(d?.local?gt(e):r);if(ct(e)&&!d?.source&&t&&p){_t(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=Kf(e,l);if(g&&t){Z.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)&&a(()=>import(`./WorkspacePresentationPreview-WuS_B45u.js`),__vite__mapDeps([40,1,2,3,6,10,11,5,12,13,14,8,15,4,16,17,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,35,36,37,38,41,42,43])).catch(()=>{}),/\.docx$/i.test(e)&&(a(()=>import(`./FilePagePreview-CTHuPzJt.js`),__vite__mapDeps([44,1,2,3,6,10,11,5,12,13,14,8,15,4,16,17,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,35,36,37,38])).catch(()=>{}),a(()=>import(`./docx-preview-Blk_WGfs.js`),__vite__mapDeps([45,1,43])).catch(()=>{})),d?.sandboxId&&t){let n=m.current,r=++h.current;s(),u({id:++h.current,loadId:r,sandboxId:d.sandboxId,path:e,file:jr(e),loading:!0});try{let i=await yt(t,d.sandboxId,e);if(n!==m.current)return;let a=en(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:jr(e),error:t instanceof Error?t.message:`Could not open this file.`})}return}let _=ut(e,{workspaceRootPath:l}),v=d?.local?e:_?.path??e,y=gt(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:jr(v),loading:!0});try{let r=en(v)?await Z.signLocalImageUrl(t,{path:v}):null,i=r?jr(v):await Z.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:jr(v),error:t instanceof Error?t.message:`Could not open this file.`})}}else s(),u({id:++h.current,path:d?.source&&ct(e)?(_?.path??e).replace(/[?#].*$/,``):_?.path??e,source:d?.source})},[t,n,r,i,o,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=!!gt(e)&&(!i||!/^\/workspace(?:\/|$)/.test(e));if(a?.local||a?.sandboxId||s||!t||!r||i){_(e,s?{...a,local:!0}:a);return}let l=ut(e)?.path??e,u=ct(l)?l.match(/[?#].*$/)?.[0]??``:``,d=u?l.slice(0,-u.length):l;Z.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 Jf(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 Yf=new Set([`create`,`edit`,`help`,`list`]);function Xf(e,t,n=null){return Zf(e)}function Zf(e){let t=e.trim();if(!t)return`/skill`;let[n=``]=t.split(/\s+/,1);return Yf.has(n.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function Qf(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 $f(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 ep(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 Z.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===tp(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 tp(e){return`candidate:${e.runId}:${e.candidateId}`}function np(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??pe(n,t,r.providers);if(!l)throw Error(`Choose a model before changing an Agent.`);let u=await Z.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 Z.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 Z.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])}}var rp=72,ip=280,ap=460;function op(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=rp}var sp={canGoPrevious:!1,canGoNext:!1};function cp(e){return Array.from(e.children).filter(e=>e instanceof HTMLElement&&(e.matches(`.message-row.user`)||e.dataset.chatUserMessage===`true`))}function lp({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 up(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function dp(e,t){return up(e,t)+t.getBoundingClientRect().height}function fp(e){return e.scrollTop+24}function pp(e){return e.scrollTop+8}function mp(e){let t=fp(e),n=pp(e),r=!1,i=!1;for(let a of cp(e)){let o=up(e,a);if(dp(e,a)<n&&(r=!0),o>t+8&&(i=!0),r&&i)break}return{canGoPrevious:r,canGoNext:i}}function hp(e,t){let n=cp(e),r=fp(e);if(t===`previous`){let t=pp(e);for(let r=n.length-1;r>=0;--r){let i=n[r];if(dp(e,i)<t)return i}return null}for(let t of n)if(up(e,t)>r+8)return t;return null}function gp(e){return Math.min(ap,Math.max(ip,Math.abs(e)/5))}function _p(e){return e<.5?4*e*e*e:1-(-2*e+2)**3/2}function vp(e){let t=Ye({messages:e});return t?{run:t}:null}function yp(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(`
|
|
91
|
-
|
|
92
|
-
`):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 bp(e,t){return{surface:`chat`,workflowKind:`slash_command`,commandName:`/${e.command}`,commandSource:t}}function xp(e){return e.command===`goal`||e.command===`agent`||e.command===`skill`||e.command===`workflow`||e.command===`sync-cloud`}function Sp(e){let t=e?.trim()??``;return/^[a-z0-9]{24}$/.test(t)?t:null}function Cp({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){let i=vn(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?`${wp(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)(xr,{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)(mt,{size:14})})]}):null,(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close generated question handoff`,title:`Close`,disabled:e,onClick:n,children:(0,$.jsx)(Tr,{size:14})})]})]})}function wp(e){return e===`frozen_eval`?`Frozen evaluation`:e===`validation`?`Validation`:`Training`}function Tp({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)(Cp,{busy:n,handoff:r,onDismiss:i,onSelectTask:a})}function Ep({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)(xr,{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)(Ui,{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)(mt,{size:17})})]})}function Dp({busy:e,onSync:t}){return(0,$.jsxs)(`button`,{type:`button`,className:`sync-local-button`,disabled:e,onClick:t,children:[(0,$.jsx)(Yi,{size:15}),(0,$.jsx)(`span`,{children:e?`Syncing locally`:`Sync locally to work on this`})]})}function Op(e){return e.supportedView&&e.open&&!e.hasContentPanel}function kp(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`}function Ap(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,up(e,t.row)-96)}function jp(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 Mp(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 Np(e,t){if(t.row.parentElement!==e)return;let n=t.row.getBoundingClientRect().top-e.getBoundingClientRect().top;e.scrollTop+=n-t.offset}function Pp(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 Fp({browserConversationId:e,chatSubmissionVersion:t,chatHistoryHasMore:n,chatHistoryLoading:r,chatMessages:i,onLoadMoreChatHistory:a,pendingApproval:o,showChatThread:s,showThinkingIndicator:c,turnRunning:l,view:u}){let d=(0,Q.useRef)(null),[f,p]=(0,Q.useState)(null),m=(0,Q.useCallback)(e=>{d.current=e,p(t=>t===e?t:e)},[]),h=(0,Q.useRef)(null),g=(0,Q.useRef)(!0),_=(0,Q.useRef)(null),v=(0,Q.useRef)(!1),y=(0,Q.useRef)(0),b=(0,Q.useRef)(null),x=(0,Q.useRef)(0),S=(0,Q.useRef)(0),C=(0,Q.useRef)(0),w=(0,Q.useRef)(null),T=(0,Q.useRef)(null),E=(0,Q.useRef)(null),D=(0,Q.useRef)(!1),[O,k]=(0,Q.useState)(0),A=(0,Q.useRef)(!1),j=(0,Q.useRef)(!1),M=(0,Q.useRef)(null),N=(0,Q.useRef)(null),P=(0,Q.useRef)(null),[F,ee]=(0,Q.useState)(0),[te,ne]=(0,Q.useState)(null),[I,L]=(0,Q.useState)(!1),[re,ie]=(0,Q.useState)(132),[ae,oe]=(0,Q.useState)(sp),se=(0,Q.useMemo)(()=>ao(i,{showThinkingIndicator:c}),[i,c]),ce=(0,Q.useMemo)(()=>({"--chat-composer-reserve":`${re}px`}),[re]),R=i.at(-1),z=[se.length,R?.id??``,R?.content?.length??0,R?.timestamp??``,JSON.stringify(R?.resources??[]),c?`thinking`:``].join(`:`),le=n,ue=e,de=u===`chat`&&s&&!!ue&&te!==ue,fe=(0,Q.useCallback)(e=>{L(t=>t===e?t:e)},[]),pe=(0,Q.useCallback)(e=>{oe(t=>t.canGoPrevious===e.canGoPrevious&&t.canGoNext===e.canGoNext?t:e)},[]),me=(0,Q.useCallback)((e,t={})=>{let n=t.nearBottom??op(e);fe(!n),pe(mp(e))},[fe,pe]),he=(0,Q.useCallback)(e=>{let t=A.current;A.current=!1,ne(e),fe(!1),pe(sp),t&&ee(e=>e+1)},[fe,pe]),ge=(0,Q.useCallback)(()=>{P.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(P.current),P.current=null)},[]),_e=(0,Q.useCallback)((e,t,n)=>{ge();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=gp(s),l=window.performance.now(),u=t=>{if(d.current!==e){P.current=null;return}let r=Math.min(1,(t-l)/c),a=i();e.scrollTop=o+(a-o)*_p(r),r<1?P.current=window.requestAnimationFrame(u):(e.scrollTop=i(),P.current=null,n?.())};P.current=window.requestAnimationFrame(u)},[ge]),B=(0,Q.useCallback)(()=>{j.current=!1,M.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(M.current),M.current=null)},[]),V=(0,Q.useCallback)(()=>{N.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(N.current),N.current=null)},[]),ve=(0,Q.useCallback)(e=>{if(typeof window>`u`){e.scrollTop=e.scrollHeight;return}if(N.current!==null)return;let t=window.performance.now(),n=r=>{if(d.current!==e||!g.current){N.current=null;return}let i=Math.max(0,e.scrollHeight-e.clientHeight),a=i-e.scrollTop;if(Math.abs(a)<=1)e.scrollTop=i,N.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,N.current=window.requestAnimationFrame(n)}};N.current=window.requestAnimationFrame(n)},[]),ye=(0,Q.useCallback)((e,t={})=>{if(V(),e.scrollTop=e.scrollHeight,typeof window>`u`){t.finishInitial&&he(t.conversationKey??null);return}B(),j.current=!0;let n=0,r=0,i=e.scrollHeight,a=t.settle?12:2,o=()=>{let e=d.current;if(!e){M.current=null,j.current=!1,t.finishInitial&&he(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?M.current=window.requestAnimationFrame(o):(M.current=null,j.current=!1,g.current=!0,fe(!1),pe(mp(e)),t.finishInitial&&he(t.conversationKey??null))};M.current=window.requestAnimationFrame(o)},[B,V,he,fe,pe]),be=(0,Q.useCallback)(()=>{_.current=null,d.current?.style.removeProperty(`--chat-sent-message-space`);let e=d.current;e&&(B(),V(),g.current=!0,fe(!1),_e(e,()=>e.scrollHeight-e.clientHeight,()=>{d.current===e&&(e.scrollTop=e.scrollHeight,g.current=!0,fe(!1),pe(mp(e)))}))},[B,V,fe,pe,_e]),xe=(0,Q.useCallback)(e=>{_.current=null,e.style.removeProperty(`--chat-sent-message-space`),ge(),g.current=!0,ye(e,{settle:!0}),me(e,{nearBottom:!0})},[ge,ye,me]),Se=(0,Q.useCallback)(e=>{let t=d.current;if(!t)return;let n=hp(t,e);n&&(B(),V(),_.current&&(_.current.following=!1),_e(t,()=>n.isConnected?Math.max(0,up(t,n)-24):t.scrollTop,()=>{if(d.current!==t)return;let e=op(t);g.current=e,me(t,{nearBottom:e})}))},[B,V,_e,me]),Ce=(0,Q.useCallback)(async()=>{if(!le||!a||r||E.current)return;let e=d.current;if(!e)return;let t={anchor:Mp(e),firstRowId:se[0]?.id,settled:!1};T.current=t,g.current=!1,B(),V(),ge(),E.current=t,D.current=!1;try{let e=await a();E.current===t&&(D.current=!e),!e&&T.current===t&&(T.current=null)}catch{E.current===t&&(D.current=!0,T.current=null)}finally{t.settled=!0,E.current===t&&(E.current=null,k(e=>e+1))}},[le,r,a,se,B,V,ge]),we=(0,Q.useCallback)(e=>{let t=T.current;t&&(t.anchor=Mp(e));let n=op(e),i=Math.abs(e.scrollHeight-S.current)>1||Math.abs(e.clientHeight-C.current)>1,a=e.scrollTop<x.current-1,o=e.scrollTop>x.current+1,s=n&&o&&(!i||e.scrollHeight-e.scrollTop-e.clientHeight<=1);if(x.current=e.scrollTop,S.current=e.scrollHeight,C.current=e.clientHeight,_.current)!_.current.following&&s?xe(e):(g.current=!1,me(e));else if(j.current){g.current=!0,fe(!1),pe(sp);return}else n&&(g.current||s)?(g.current=!0,me(e,{nearBottom:!0})):a&&!i?(g.current=!1,V(),me(e,{nearBottom:!1})):g.current?(fe(!1),pe(mp(e))):me(e,{nearBottom:n});!A.current&&e.scrollTop<=120&&le&&!r&&Ce()},[le,V,r,Ce,xe,fe,pe,me]),Te=(0,Q.useCallback)(e=>{let t=_.current;if(t){let n=Ap(e,t);n!==null&&t.following&&P.current===null&&(e.scrollTop=n),me(e)}else g.current&&P.current===null&&!j.current&&ve(e)},[ve,me]);return(0,Q.useEffect)(()=>{let e=f;if(!e)return;let t=null,n=()=>{t!==null&&window.cancelAnimationFrame(t),t=null},r=()=>{n(),_.current&&(_.current.following=!1),g.current=!1,x.current=e.scrollTop,S.current=e.scrollHeight,C.current=e.clientHeight,B(),V(),ge()},i=()=>{_.current&&r()},a=e=>{[`ArrowUp`,`ArrowDown`,`PageUp`,`PageDown`,`Home`,`End`,` `].includes(e.key)&&i()},o=()=>{n();let r=op(e),i=w.current;t=window.requestAnimationFrame(()=>{t=null,d.current===e&&w.current===i&&(r||op(e))&&(!g.current||_.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=jp(e,r,o);return()=>{n(),s(),e.removeEventListener(`wheel`,i),e.removeEventListener(`touchmove`,i),e.removeEventListener(`pointerdown`,i),e.removeEventListener(`keydown`,a)}},[f,B,V,ge,xe]),(0,Q.useEffect)(()=>{if(!f||typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{_.current&&Te(f)});return e.observe(f),()=>e.disconnect()},[f,Te]),Pp({contentKey:z,enabled:u===`chat`&&s,onContentChange:Te,threadElement:f,threadRef:d}),(0,Q.useLayoutEffect)(()=>{if(u!==`chat`||!s||typeof window>`u`)return;let e=h.current;if(!e)return;let t=null,n=()=>{t=null;let n=Math.max(96,Math.ceil(e.getBoundingClientRect().height+20));ie(e=>e===n?e:n)},r=()=>{t===null&&(t=window.requestAnimationFrame(n))};r();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)}},[s,u]),(0,Q.useLayoutEffect)(()=>{let e=d.current;u===`chat`&&s&&e&&!A.current&&(_.current?Te(e):g.current&&ye(e,{settle:!0}))},[re,Te,ye,s,u]),(0,Q.useLayoutEffect)(()=>{_.current=null,v.current=!1,d.current?.style.removeProperty(`--chat-sent-message-space`),T.current=null,E.current=null,D.current=!1,A.current=!0,g.current=!0,x.current=0,S.current=0,C.current=0,V(),ge(),B(),ne(null),fe(!1),pe(sp)},[B,ge,V,ue,fe,pe]),(0,Q.useLayoutEffect)(()=>{if(t===0||t===y.current||u!==`chat`||!s)return;let e=d.current,n=e?cp(e).at(-1):void 0;if(!e||!n||n===b.current)return;y.current=t,B(),V();let r={row:n,following:!0};_.current=r,g.current=!1,Ap(e,r),_e(e,()=>Ap(e,r)??e.scrollTop),he(ue)},[t,se,f,ue,u,s,B,V,_e,he]),(0,Q.useLayoutEffect)(()=>{let e=d.current;b.current=e?cp(e).at(-1)??null:null}),(0,Q.useLayoutEffect)(()=>{if(l){v.current=!0;return}let e=i.length-1;for(;e>=0&&i[e]?.role!==`user`;)e--;let t=i.slice(e+1).some(e=>e.role===`assistant`&&e.finalAnswer);if(!v.current&&!t)return;v.current=!1;let n=d.current,r=_.current;n&&r&&(_.current=null,n.style.removeProperty(`--chat-sent-message-space`),ge(),g.current=r.following,r.following&&ye(n,{settle:!0}),me(n))},[i,l,ge,ye,me]),(0,Q.useEffect)(()=>{let e=d.current;u!==`chat`||!e||A.current||!le||r||D.current||e.scrollTop<=120&&Ce()},[le,r,F,O,se.length,Ce,u]),(0,Q.useLayoutEffect)(()=>{let e=T.current,t=d.current;e&&t&&!A.current&&(se[0]?.id===e.firstRowId?e.settled&&!r&&(T.current=null):(T.current=null,e.anchor&&Np(t,e.anchor),me(t)))},[se,r,me]),(0,Q.useLayoutEffect)(()=>{let e=d.current;if(u!==`chat`||!ue||!e){w.current=ue,g.current=!0,he(ue);return}let t=w.current!==ue;if(w.current=ue,_.current){he(ue);return}if(t||A.current){g.current=!0,ye(e,{conversationKey:ue,finishInitial:!0,settle:!0});return}let n=op(e);g.current?(g.current=!0,fe(!1),pe(mp(e)),ye(e,{settle:!0})):me(e,{nearBottom:n})},[ue,f,he,o?.id,ye,fe,pe,me,u]),(0,Q.useEffect)(()=>()=>{B(),ge(),V()},[B,ge,V]),{chatColumnStyle:ce,chatThreadPreparingInitialScroll:de,chatThreadRef:m,composerStackRef:h,goToUserMessage:Se,handleChatScroll:we,jumpToLatestChatMessage:be,showScrollToBottomButton:I,userMessageNavigation:ae,chatTimelineRows:se}}function Ip(e){return e.state===`proposed`&&[`waiting_input`,`waiting_approval`,`cancelled`].includes(e.target.status)}function Lp({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":`Ponder 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 Ponder 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||Ip(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,Ip(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 Rp(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 W(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`&&Ip(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 W(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 zp({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 W(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)(q,{error:u}):null]})}function Bp({message:e,connection:t,work:n,onOpenWork:r,onOpenOutput:i,onOpenLocalWork:a,onOpenLocalOutput:o,agentSources:s}){if(e.source===`ponder-recommendation`)return null;let c=e.metadata.ponderMessage,l=Ke.safeParse(e.metadata.ponderLocalMessage),u=l.success?l.data:null;if(!c&&!u&&e.role!==`user`&&e.role!==`assistant`)return null;let d=u?.body??c?.body??e.text;return!c&&!u&&e.role===`assistant`&&!d.trim()?null:(0,$.jsxs)(`div`,{className:`ponder-transcript-message ${u||c?`task-handoff`:``}`,"data-chat-user-message":e.role===`user`&&!u&&!c?`true`:void 0,children:[(0,$.jsx)(Oc,{showFooter:!1,connection:t,conversationLinks:n,onOpenSession:r,message:{id:e.id,role:u||c||e.role===`user`?`user`:`assistant`,content:d,timestamp:e.createdAt}}),u?(0,$.jsxs)(`div`,{className:`ponder-message-destination`,children:[(0,$.jsx)(zo,{timestamp:e.createdAt}),(0,$.jsxs)(`span`,{children:[u.direction===`sent`?`Sent to`:`Received from`,` `]}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>a(u),children:u.title}),(0,$.jsxs)(`span`,{children:[` `,`· Local task ·`,` `,u.status===`resolved`?`Delivered`:u.status===`included`?`Included in agent request`:u.status.replaceAll(`_`,` `)]})]}):null,c?(0,$.jsxs)(`div`,{className:`ponder-message-destination`,children:[(0,$.jsx)(zo,{timestamp:e.createdAt}),(0,$.jsxs)(`span`,{children:[c.direction===`sent`?`Sent to`:`Received from`,` `]}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>r(c.conversationId),children:c.title}),(0,$.jsxs)(`span`,{children:[` `,`·`,` `,c.status===`consumed`?`Delivered`:c.status.replaceAll(`_`,` `)]})]}):null,s,!u&&!c&&e.role===`assistant`?(0,$.jsx)(Ro,{content:d,timestamp:e.createdAt,kvCacheSummary:e.metadata.kvCacheSummary}):null,c?.outputFileIds.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),children:n.flatMap(e=>e.deliveries.flatMap(e=>e.outputs)).find(t=>t.id===e)?.title??`Saved file`},e)),u?.outputs.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>o(u,e.id),children:[e.title,` · Download`]},e.id))]})}function Vp(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 Hp({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} · ${Vp(e)}`,"aria-label":`Open ${e.title}`,onClick:()=>r(e),children:[t?(0,$.jsx)(Un,{session:t}):(0,$.jsx)(Mn,{size:14,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:e.title})]},e.sessionId)})})]})}async function Up(e,t,n,r){if(!t.turnId)throw Error(`This local result has no completed task turn.`);if(await Vo(e,t),!r())return;let i=await W(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 Wp(e){if(e instanceof qe&&(e.message===`public_api_route_not_found`||e.message===`product_route_not_found`))return`Ponder 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)?`Ponder Pal is temporarily unavailable. Please try again.`:t.length>240?`Ponder Pal couldn’t complete this action. Please try again.`:t}function Gp({connection:e,accountScopeKey:t,localSessions:n,composer:r,onOpenWork:i,onOpenLocalWork:a}){let[o,s]=(0,Q.useState)(null),[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(0),[v,y]=(0,Q.useState)(null);Lt(v?Wp(v):null);let b=rr(e,!!o,t,!1),x=b.data?.items??[],S=b.data?.localItems??[],C=b.data?.localHandoffs??[],w=Rp(e,o?.bindingId??null);Lt(w.error?Wp(w.error):null),Lt(c?.activeTurn?.status===`failed`?Wp(c.activeTurn.errorText??`Ponder couldn’t complete this request. Please try again.`):null);let[T,E]=(0,Q.useState)(null),D=T?w.items.find(e=>e.id===T.id):null,O=!(!T||D&&D.state===`proposed`&&D.revision===T.revision&&!Ip(D)),k=(0,Q.useRef)(``),A=(0,Q.useRef)({connection:e,bindingId:o?.bindingId,destination:T?.id??`chat`,draft:u});A.current={connection:e,bindingId:o?.bindingId,destination:T?.id??`chat`,draft:u};let j=(0,Q.useRef)(!1),M=(0,Q.useRef)(!0);function N(){E(null),d(k.current)}function P(e){T||(k.current=u),E(e),d(e.proposedText??``)}async function F(e,t){let n=A.current,r=T?.id===e.id;await w.action(e,t,t===`send`?r?u:e.proposedText??void 0:void 0)&&r&&A.current.connection===n.connection&&A.current.bindingId===n.bindingId&&A.current.destination===n.destination&&(A.current.draft===n.draft?N():E(null))}(0,Q.useEffect)(()=>{M.current=!0;let t=!0;return s(null),l(null),y(null),d(``),k.current=``,h(!1),p(``),E(null),W(e,`/v1/ponder`,{method:`POST`,body:`{}`}).then(e=>{t&&(s(e),y(null))}).catch(e=>{t&&y(Wp(e))}),()=>{t=!1,M.current=!1}},[e]),(0,Q.useEffect)(()=>{if(!o)return;let t=!0,n=!1,r=async()=>{if(!n){n=!0;try{let n=await W(e,`/v1/ponder/conversations/${encodeURIComponent(o.conversationId)}`);t&&l(n)}catch(e){t&&y(Wp(e))}finally{n=!1}}};r();let i=window.setInterval(()=>void r(),3e3);return()=>{t=!1,window.clearInterval(i)}},[e,o]),(0,Q.useEffect)(()=>{b.error&&y(Wp(b.error))},[b.error]);async function ee(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 W(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 W(e,`/v1/ponder/work-inputs/${encodeURIComponent(a.input.id)}/finalize`,{method:`POST`,body:`{}`})}async function te(t=[],n){let r=(n?.promptOverride??u).trim();if(!o||!r||j.current)return!1;let i=A.current,a=()=>M.current&&A.current.connection===i.connection&&A.current.bindingId===i.bindingId&&A.current.destination===i.destination;j.current=!0,h(!0);try{if(T){if(O)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 w.action(T,`send`,r);return a()?(e&&A.current.draft===i.draft&&N(),e):!1}let n=await Promise.all(t.map(ee));if(!a())return!1;let s=await W(e,`/v1/ponder/conversations/${encodeURIComponent(o.conversationId)}/turns`,{method:`POST`,headers:{"idempotency-key":crypto.randomUUID()},body:JSON.stringify({prompt:r,attachments:n})});return a()?(l(e=>e?{...e,activeTurn:s}:{id:o.conversationId,messages:[],activeTurn:s}),_(e=>e+1),A.current.draft===i.draft&&d(``),y(null),!0):!1}catch(e){return a()&&y(Wp(e)),!1}finally{j.current=!1,h(!1)}}async function ne(t,n){if(t.wait)try{await W(e,`/v1/ponder/turns/${encodeURIComponent(t.id)}/waits/${encodeURIComponent(t.wait.id)}/resolve`,{method:`POST`,body:JSON.stringify(n)}),p(``)}catch(e){y(Wp(e))}}async function I(t){try{await W(e,`/v1/ponder/turns/${encodeURIComponent(t.id)}/cancel`,{method:`POST`,body:`{}`})}catch(e){y(Wp(e))}}async function L(t){let n=window.open(`about:blank`,`_blank`);try{let r=await W(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(),y(Wp(e))}}async function re(t){if(!t.sessionId)return;let n=A.current,r=()=>M.current&&A.current.connection===n.connection&&A.current.bindingId===n.bindingId;try{if(await Vo(e,t),!r())return;a(t.sessionId)}catch(e){r()&&y(Wp(e))}}async function ie(t,n){let r=A.current,i=()=>M.current&&A.current.connection===r.connection&&A.current.bindingId===r.bindingId;try{await Up(e,t,n,i)}catch(e){i()&&y(Wp(e))}}let ae=!!(c?.activeTurn&&[`queued`,`running`,`retry_scheduled`].includes(c.activeTurn.status)),oe=!!(c?.activeTurn&&[`queued`,`running`,`retry_scheduled`,`waiting_approval`,`waiting_input`].includes(c.activeTurn.status)),se=c?.messages.reduce((e,t)=>t.role===`assistant`&&!t.metadata.ponderMessage&&!t.metadata.ponderLocalMessage&&t.text.trim()?t.id:e,void 0),ce=(0,$.jsx)(Hp,{items:S,workflow:C[0],sessions:n,onOpenTask:e=>void re(e)}),R=(0,Q.useMemo)(()=>(c?.messages??[]).map(e=>({id:e.id,role:e.role===`user`?`user`:`assistant`,content:e.text,timestamp:e.createdAt})),[c?.messages]),z=Fp({browserConversationId:c?.id??null,chatSubmissionVersion:g,chatMessages:R,chatHistoryHasMore:!1,chatHistoryLoading:!1,pendingApproval:null,showChatThread:!0,showThinkingIndicator:ae,turnRunning:oe,view:`chat`});return(0,$.jsxs)(`div`,{className:`chat-column`,"aria-label":`Ponder Pal`,style:z.chatColumnStyle,children:[(0,$.jsxs)(`section`,{className:`chat-thread`,"aria-label":`Conversation`,tabIndex:0,ref:z.chatThreadRef,onScroll:e=>z.handleChatScroll(e.currentTarget),children:[!c&&!v&&(0,$.jsx)(`article`,{className:`activity-group thinking-row`,role:`status`,children:(0,$.jsx)(so,{running:!0,children:`Loading conversation…`})}),(0,$.jsx)(zp,{connection:e,work:x,localWork:S,onOpenWork:i,onOpenLocalWork:e=>void re(e),onOpenLocalOutput:(e,t)=>void ie(e,t),onOpenOutput:e=>void L(e),busy:m||oe}),c?.messages.map(t=>(0,$.jsx)(Bp,{message:t,agentSources:t.id===se?ce:void 0,connection:e,work:x,onOpenWork:i,onOpenOutput:e=>void L(e),onOpenLocalWork:e=>void re(e),onOpenLocalOutput:(e,t)=>void ie(e,t)},t.id)),(0,$.jsx)(Lp,{items:w.items,busy:w.busy,editingId:T?.id??null,onEdit:P,onSend:e=>{F(e,`send`)},onDismiss:e=>{F(e,`dismiss`)},onOpen:i}),se?null:ce,ae&&(0,$.jsx)(zc,{}),c?.activeTurn?.wait&&(0,$.jsxs)(`section`,{className:`ponder-desktop-attention`,children:[(0,$.jsx)(`strong`,{children:c.activeTurn.wait.title}),c.activeTurn.wait.kind===`approval`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>void ne(c.activeTurn,{decision:`accepted`}),children:`Approve`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void ne(c.activeTurn,{decision:`declined`}),children:`Decline`})]}):c.activeTurn.wait.options.length>0?c.activeTurn.wait.options.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>void ne(c.activeTurn,{value:e}),children:e},e)):(0,$.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),ne(c.activeTurn,{value:f})},children:[(0,$.jsx)(`input`,{"aria-label":`Response to Ponder Pal`,value:f,onChange:e=>p(e.target.value)}),(0,$.jsx)(`button`,{type:`submit`,disabled:!f.trim(),children:`Send response`})]})]}),c?.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 L(e.id),children:e.name},e.id))]}),(0,$.jsxs)(`div`,{className:`composer-stack dock`,ref:z.composerStackRef,children:[z.showScrollToBottomButton&&!z.chatThreadPreparingInitialScroll&&(0,$.jsx)(Ep,{canGoNext:z.userMessageNavigation.canGoNext,canGoPrevious:z.userMessageNavigation.canGoPrevious,onJumpToLatest:z.jumpToLatestChatMessage,onNext:()=>z.userMessageNavigation.canGoNext&&z.goToUserMessage(`next`),onPrevious:()=>z.userMessageNavigation.canGoPrevious&&z.goToUserMessage(`previous`)}),T?(0,$.jsxs)(`div`,{className:`ponder-message-destination`,role:`status`,children:[(0,$.jsxs)(`span`,{children:[`Message to `,T.target.title,O?` — review the latest task state before sending`:``]}),(0,$.jsx)(`button`,{type:`button`,onClick:N,children:`Return to Ponder chat`})]}):null,(0,$.jsx)(Mf,{...r,experience:`chat`,mode:`dock`,showProjectFooter:!1,hideModelControls:!0,connection:e,prompt:u,onPromptChange:d,busy:m||O||!!w.busy||!o,running:ae&&!T,submissionScopeKey:`ponder:${o?.conversationId??`loading`}:${T?.id??`chat`}`,voiceInputChannelKey:`ponder:${o?.conversationId??`loading`}`,onSubmit:(e,t,n,r)=>te(e,r?.promptOverride?{promptOverride:r.promptOverride}:void 0),onStop:()=>c?.activeTurn?I(c.activeTurn):void 0})]})]})}function Kp({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)(Gp,{...n,onOpenWork:r})}function qp(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 Jp({expanded:e,terminalOpen:t,sideChatAvailable:n,onOpenFiles:r,onOpenReview:i,onOpenSideChat:a,onOpenTrainingDraft:o,trainingDraftAvailable:s,onResizeStart:c,onToggleExpanded:l,onToggleTerminal:u}){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:c}),(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)(nr,{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:l,children:e?(0,$.jsx)(st,{size:14}):(0,$.jsx)(At,{size:14})})})]}),(0,$.jsx)(`div`,{className:`right-sidebar-home-body`,children:(0,$.jsx)(Yp,{terminalOpen:t,sideChatAvailable:n,onOpenFiles:r,onOpenReview:i,onOpenSideChat:a,onOpenTrainingDraft:o,trainingDraftAvailable:s,onToggleTerminal:u})})]})}function Yp({terminalOpen:e,sideChatAvailable:t,onOpenFiles:n,onOpenFile:r,onOpenReview:i,onOpenExperiments:a,onOpenSideChat:o,onOpenTrainingDraft:s,trainingDraftAvailable:c,onToggleTerminal:l}){let u=[{id:`review`,label:`Review`,meta:`Diffs`,icon:ht,onSelect:i},{id:`files`,label:`Files`,meta:`Workspace`,icon:Ot,onSelect:n},{id:`side-chat`,label:`Side chat`,meta:`Context`,icon:$n,onSelect:o,disabled:!t},{id:`training-draft`,label:`Task draft`,meta:`Training`,icon:tn,onSelect:s,disabled:!c},{id:`terminal`,label:e?`Hide terminal`:`Terminal`,meta:`Shell`,icon:Vn,onSelect:l}];return a&&u.unshift({id:`experiments`,label:`Training`,meta:`Experiments and models`,icon:tn,onSelect:a}),r&&u.splice(a?3:2,0,{id:`open-file`,label:`Open file`,icon:Ot,onSelect:r}),(0,$.jsx)(`div`,{className:`right-sidebar-home-actions`,role:`menu`,"aria-label":`Workspace actions`,children:u.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 Xp=[];function Zp(e){let t=window.openpond?.browser,[n,r]=(0,Q.useState)(()=>({conversationId:e,activeTabId:null,tabs:Xp}));(0,Q.useEffect)(()=>{if(r({conversationId:e,activeTabId:null,tabs:Xp}),!t)return;let n=!1;t.getState({conversationId:e}).then(e=>{n||r(e)});let i=t.onState(t=>{t.conversationId===e&&r(t)});return()=>{n=!0,i()}},[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=Bt(n,{explicitFile:r.explicitFile});return i?(r.newTab?await t.newTab({conversationId:e,url:i,explicitFile:r.explicitFile}):await t.open({conversationId:e,url:i,explicitFile:r.explicitFile}),!0):!1},[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 Qp({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?.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)(xr,{size:15})}),(0,$.jsx)(`button`,{type:`button`,title:`Forward`,"aria-label":`Forward`,disabled:!e?.canGoForward,onClick:o,children:(0,$.jsx)(mt,{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)(Ft,{size:13}):(0,$.jsx)(Pt,{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)(En,{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)(Ht,{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 $p({conversationId:e,onOpenBrowser:t}){let n=Zp(e),r=It();return(0,$.jsx)(Qp,{activeTab:null,available:n.available,onBack:()=>{},onForward:()=>{},onReload:()=>{},onStop:()=>{},onOpenExternal:()=>{},onClearData:()=>{window.confirm(`Clear browser data for this conversation? Tabs, cookies, cache, and local storage will be removed.`)&&n.clearData()},onNavigate:e=>{n.open(e,{newTab:!0,explicitFile:!0}).then(e=>{e&&t()}).catch(e=>r?.(e instanceof Error?e.message:`Could not open browser.`,`error`))}})}var em=(0,Q.lazy)(()=>a(()=>import(`./FilePagePreview-CTHuPzJt.js`),__vite__mapDeps([44,1,2,3,6,10,11,5,12,13,14,8,15,4,16,17,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,35,36,37,38])));function tm({path:e,connection:t,workspaceId:n,sandboxId:r,revision:i}){let a=(0,Q.useRef)(null),[o,s]=(0,Q.useState)(!1),c=en(e),l=gt(e)||n,u=`${Ze(t)}:${l}:${r??``}:${e}`,d=rt(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 p=f({queryKey:[`file-thumbnail`,u,i],enabled:!(!o||!t||c&&!r||!l&&!r),queryFn:()=>r?yt(t,r,e):Z.workspaceFile(t,l,e),staleTime:i?1/0:15e3,gcTime:6e4}).data,m=c&&r&&p?.contentEncoding===`base64`&&p.content?`data:image/${/\.jpe?g$/i.test(e)?`jpeg`:e.split(`.`).pop()?.toLowerCase()};base64,${p.content}`:null;return(0,$.jsx)(`span`,{ref:a,className:`workspace-file-thumbnail`,children:d||m?(0,$.jsx)(`img`,{alt:``,src:d||m,loading:`lazy`}):p?.content&&(In(p)||/\.(?:docx|pdf)$/i.test(p.path))?(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Wt,{size:28}),children:(0,$.jsx)(em,{file:p})}):p?.content&&p.contentEncoding!==`base64`?(0,$.jsx)(`pre`,{children:p.content.slice(0,1200)}):(0,$.jsx)(Wt,{size:28})})}function nm({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)(()=>am(i),[i]),w=(0,Q.useMemo)(()=>sm(C),[C]),T=(0,Q.useMemo)(()=>rm(e),[e]),E=(0,Q.useMemo)(()=>im(e),[e]),D=(0,Q.useMemo)(()=>lm(e),[e]);(0,Q.useEffect)(()=>()=>{_?.objectUrl&&URL.revokeObjectURL(_.objectUrl)},[_?.objectUrl]);async function O(e){if(!t||!a||e.kind!==`file`)return null;g(om(e));try{let n=await Z.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=gm(n.data),i=typeof r.contentsBase64==`string`?r.contentsBase64:``;if(!i)throw Error(`The output did not include file data.`);return new File([pm(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(om(e));try{let n=await Z.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=>Z.workspaceTool(t,a,{action:`work_agent_package_install`,source:`ui_button`,args:{outputId:e.id,revision:e.revision,overwrite:n}});g(om(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)(st,{size:14}):(0,$.jsx)(At,{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)(G,{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)(Wt,{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]},om(e)))})]}):(0,$.jsxs)(`small`,{children:[`Revision `,t.revision]}),(0,$.jsx)(`small`,{children:dm(t)})]})]}),t.validation.length>0?(0,$.jsxs)(`div`,{className:`work-output-validation`,children:[(0,$.jsx)(nn,{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 ft(mm(t)),children:[(0,$.jsx)(Ot,{size:13}),`Reveal`]}),(0,$.jsx)(`button`,{type:`button`,onClick:async()=>{let e=await tt(mm(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===om(t),onClick:()=>void k(t),children:`Preview`}),(0,$.jsxs)(`button`,{type:`button`,disabled:h===om(t),onClick:()=>void A(t),children:[(0,$.jsx)(jt,{size:13}),`Use as input`]})]}):t.kind===`agent_package`?(0,$.jsx)(`button`,{type:`button`,disabled:h===om(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===om(t),onClick:()=>void M(t),children:[(0,$.jsx)(it,{size:13}),`Delete`]}):null,(0,$.jsx)(`button`,{type:`button`,disabled:h===om(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)(Wt,{size:16}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`strong`,{children:e.title}),(0,$.jsx)(`small`,{children:fm(e.sizeBytes)})]})]}),(0,$.jsx)(`div`,{className:`work-output-actions`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>void ft(e.path),children:[(0,$.jsx)(Ot,{size:13}),`Reveal`]})})]},e.path))}):(0,$.jsx)(um,{icon:Wt,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)(sr,{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)(um,{icon:sr,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)(jt,{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 rm(e){return e.flatMap(e=>e.activities??[]).filter(e=>e.kind!==`reasoning`).reverse()}function im(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 am(e){let t=new Map,n=new Set;for(let r of e){let e=cm(r.data);if(r.action===`work_output_delete`&&r.status===`completed`)for(let r of e){let e=om(r);n.add(e),t.delete(e)}else if(r.action!==`work_output_read`)for(let r of e){let e=om(r);n.has(e)||t.set(e,r)}}return[...t.values()].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)||t.revision-e.revision)}function om(e){return`${e.id}:${e.revision}`}function sm(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 cm(e,t=[],n=new Set,r=0){if(r>8||e==null)return t;let i=Se.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)cm(i,t,n,r+1);return t}if(typeof e==`object`)for(let i of Object.values(e))cm(i,t,n,r+1);return t}function lm(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} · ${fm(e.sizeBytes)}`});for(let e of n.sources??[])t.set(`source:${e.id}`,{key:`source:${e.id}`,title:e.title,detail:e.sourceName??hm(e.url)})}return[...t.values()]}function um({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 dm(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`?fm(e.sizeBytes):e.location.kind===`managed`?`Managed file`:e.location.provider}function fm(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1048576).toFixed(1)} MB`}function pm(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 mm(e){return e.kind===`file`&&e.location.kind===`local`?e.location.path:``}function hm(e){try{return new URL(e).hostname||e}catch{return e}}function gm(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function _m({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)(yo),d=Ze(i),p=t.filter(e=>e.name===`visual.published`||e.name===`workspace_action_result`||e.name===`tool.completed`||e.name===`turn.completed`).at(-1)?.id??``,m=f({queryKey:[`thread-html-visuals`,d,s,p],enabled:!!(i&&s),queryFn:async()=>Kn.array().parse((await W(i,`/v1/sessions/${encodeURIComponent(s)}/visuals`)).visuals),staleTime:15e3,refetchInterval:5e3}),h=(0,Q.useMemo)(()=>{let t=new Map;for(let e of m.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,m.data]),g=(0,Q.useMemo)(()=>am(t),[t]),_=f({queryKey:[`thread-output-files`,d,s,p],placeholderData:(e,t)=>t?.queryKey[1]===d&&t.queryKey[2]===s?e:void 0,enabled:!!(i&&s),queryFn:async()=>(await Z.sessionFiles(i,s)).files,staleTime:15e3,refetchOnWindowFocus:!0,refetchInterval:5e3}),v=(0,Q.useMemo)(()=>{if(_.data)return _.data;let t=new Map(im(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)($p,{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||h.length?(0,$.jsxs)($.Fragment,{children:[h.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)(et,{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)(Fs,{artifact:e,onOpenFileInSidebar:t=>r(t,{sandboxId:e.sandboxId,local:!e.sandboxId}),preview:(0,$.jsx)(tm,{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]})]})]})}var vm=e=>JSON.stringify([e.kind,e.id,e.owner??null,e.profileRef??null]),ym=(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),bm=e=>/^(queued|running|pending|starting|cancelling)$/i.test(e);function xm(e){return Le.array().parse(e)}function Sm(e,t,n){let{scope:r,focus:i}=e;if(!r||!i.scopeContext||!i.dataset)return[];let a=i.dataset;if(t&&!ym(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 ir.parse([{scopeId:r.id,selectionVersion:i.scopeContext.selectionVersion,evaluationModel:t?.model??r.evaluationModel,executionLocation:t?.location??r.executionLocation??`local`,resources:s,...n?{training:[ze(n)]}:{}}])}function Cm({title:e,children:t,open:n=!1}){return(0,$.jsxs)(`details`,{className:`training-workspace-section`,open:n,children:[(0,$.jsx)(`summary`,{children:e}),(0,$.jsx)(`div`,{className:`training-workspace-section-content`,children:t})]})}function wm({dataset:e,graders:t,model:n}){let r=n?[{role:`Training`,dataset:n.trainingDataset},{role:`Evaluation`,dataset:n.evaluationDataset}].filter(e=>e.dataset):[];return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Cm,{title:`Dataset`,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?r.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})]})}),n?(0,$.jsx)(`p`,{className:`chat-context-note`,children:`Model configuration. Each training run retains its own input snapshot.`}):null,!e&&!r.length?(0,$.jsx)(`p`,{children:`No dataset configured.`}):null]}),(0,$.jsx)(Cm,{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.`})})]})}var Tm=e(vr(),1),Em=e(ur(),1);Tm.default.extend(Em.default);var Dm=e=>(0,Tm.default)(e).isValid()?(0,Tm.default)(e).fromNow():`Unknown time`;function Om({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?hr:i?Tr:a?sn:ta;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 km({name:e,onOpen:t}){let n=L(le(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 Am({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,Tm.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,Ps.createPortal)((0,$.jsx)(`span`,{id:n,className:`evaluation-time-tooltip`,role:`tooltip`,style:s,children:d}),document.body):null]})}function jm({title:e,children:t}){return(0,$.jsxs)(`section`,{className:`evaluation-card`,children:[(0,$.jsx)(`h3`,{children:e}),t]})}function Mm({nodes:e,live:t,loopLabel:n,inference:r}){let i=(0,Q.useRef)(null),[a,o]=(0,Q.useState)(480),s=(0,Q.useId)().replace(/[^\w-]/g,``);(0,Q.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(e=>o(Math.max(220,e[0].contentRect.width)));return t.observe(e),()=>t.disconnect()},[]);let c=Math.max(1,Math.min(e.length,4,Math.floor((a-32)/174))),l=n?40:12,u=(a-40-36*(c-1))/c,d=e.map((t,n)=>{let r=Math.floor(n/c),i=n%c,o=Math.min(c,e.length-r*c),s=o*u+(o-1)*36;return{x:(a-s)/2+(r%2?o-i-1:i)*(u+36),y:l+r*104}}),f=Math.ceil(e.length/c),p=l+(f-1)*104+72+16+(r?104:0),m=d.filter((t,n)=>e[n]?.inLoop),h=t&&e.some(e=>e.inLoop&&e.state===`active`),g=d.slice(1).map((n,r)=>{let i=d[r],a=i.y===n.y,o=n.x>i.x;return{path:a?`M${i.x+(o?u:0)} ${i.y+36} H${n.x+(o?0:u)}`:`M${i.x+u/2} ${i.y+72} V${i.y+72+16} H${n.x+u/2} V${n.y}`,active:t&&(e[r]?.state===`active`||e[r+1]?.state===`active`),done:e[r]?.state===`done`}});return(0,$.jsx)(`div`,{ref:i,className:`run-flow`,"aria-label":`Run stages`,children:(0,$.jsxs)(`svg`,{className:`run-flow-diagram`,viewBox:`0 0 ${a} ${p}`,role:`img`,"aria-label":e.map(e=>`${e.label}: ${e.status}${e.detail?`, ${e.detail}`:``}`).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`})})}),m.length&&n?(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`rect`,{className:`run-flow-loop ${h?`live`:``}`,x:8,y:Math.min(...m.map(e=>e.y))-28,width:a-16,height:Math.max(...m.map(e=>e.y))-Math.min(...m.map(e=>e.y))+72+48,rx:12}),(0,$.jsx)(`text`,{className:`run-flow-caption`,x:20,y:Math.min(...m.map(e=>e.y))-12,children:n})]}):null,g.map((e,t)=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`path`,{d:e.path,className:`run-flow-wire ${e.done?`done`:``}`,markerEnd:`url(#${s})`}),e.active?(0,$.jsx)(Nm,{path:e.path}):null]},t)),h&&m.length>1?(0,$.jsx)(`path`,{className:`run-flow-stream`,d:`M${a-8} ${Math.max(...m.map(e=>e.y))+16} V${Math.min(...m.map(e=>e.y))-12}`,markerEnd:`url(#${s})`}):null,e.map((e,n)=>(0,$.jsx)(Pm,{node:e,...d[n],width:u,animated:t},e.label)),r?(0,$.jsxs)(`g`,{children:[(0,$.jsx)(Pm,{node:r,x:20,y:40+f*104,width:u,animated:t}),(0,$.jsx)(`path`,{className:`run-flow-wire`,d:`M${20+u/2} ${40+f*104} V${40+f*104-26} H${a-4} V${d.find((t,n)=>e[n]?.label.includes(`Roll`))?.y??40}`}),t&&r.state===`active`?(0,$.jsx)(Nm,{path:`M${20+u/2} ${40+f*104} V${40+f*104-26} H${a-4}`}):null]}):null]})})}function Nm({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 Pm({node:e,x:t,y:n,width:r,animated:i}){let a=(0,Q.useId)().replace(/[^\w-]/g,``),o=r-28,s=e.state===`active`,c=e=>e.length>Math.floor((r-24)/6)?`${e.slice(0,Math.floor((r-24)/6)-1)}…`:e,l=e.compute??([`Grade`,`Save checkpoint`].includes(e.label)?`cpu`:[`Rollouts`,`Update adapter`,`Activate policy`,`Evaluate`].includes(e.label)?`gpu`:void 0);return(0,$.jsxs)(`g`,{className:`run-flow-node ${e.state} ${l?`compute-${l}`:``}`,"aria-current":s?`step`:void 0,children:[(0,$.jsxs)(`title`,{children:[e.label,`: `,e.status,l?` (${l.toUpperCase()})`:``,e.detail?` — ${e.detail}`:``]}),s&&i?(0,$.jsx)(`rect`,{className:`run-flow-halo`,x:t-4,y:n-4,width:r+8,height:80,rx:14}):null,(0,$.jsx)(`rect`,{className:`run-flow-box`,x:t,y:n,width:r,height:72,rx:10}),e.state===`done`?(0,$.jsx)(`path`,{className:`run-flow-check`,d:`M${t+r-17} ${n+11} l2.5 2.5 l5 -5`}):null,(0,$.jsx)(`text`,{className:`run-flow-label`,x:t+12,y:n+20,children:c(e.label)}),(0,$.jsx)(`text`,{className:`run-flow-status`,x:t+12,y:n+37,children:c(e.status)}),e.detail?(0,$.jsx)(`text`,{className:`run-flow-detail`,x:t+12,y:n+53,children:c(e.detail)}):null,s||e.progress!==void 0?(0,$.jsxs)(`g`,{clipPath:`url(#${a})`,children:[(0,$.jsx)(`clipPath`,{id:a,children:(0,$.jsx)(`rect`,{x:t+14,y:n+64,width:o,height:2,rx:1})}),(0,$.jsx)(`rect`,{className:`run-flow-track`,x:t+14,y:n+64,width:o,height:2}),e.progress===void 0?null:(0,$.jsx)(`rect`,{className:`run-flow-fill`,x:t+14,y:n+64,width:o*Math.min(1,Math.max(0,e.progress)),height:2}),s&&i?(0,$.jsx)(`rect`,{className:`run-flow-shimmer`,x:t+14,y:n+64,width:o/3,height:2,children:(0,$.jsx)(`animate`,{attributeName:`x`,from:t+14-o/3,to:t+14+o,dur:`1.4s`,repeatCount:`indefinite`})}):null]}):null]})}function Fm({nodes:e,inference:t,live:n,loopLabel:r,groupLabel:i,policyLabel:a}){let o=(0,Q.useId)().replace(/[^\w-]/g,``),s=8,c=e.map((e,t)=>{let n=[`Grade`,`Save checkpoint`].includes(e.label);return!n&&t&&(s+=176),{x:s,y:n?40:140}}),l=s+140+8,u=e.flatMap((e,t)=>e.inLoop?[t]:[]),d=u[0],f=u.at(-1),p=n&&u.some(t=>e[t]?.state===`active`),m=e.slice(1).map((e,t)=>{let r=c[t],i=c[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&&c[0]&&m.push({id:`gpu-prepare`,path:`M${c[0].x+70} 236 V212`,active:n&&t.state===`active`&&e[0]?.state===`active`}),d!==void 0&&f!==void 0&&p&&m.push({id:`loop`,path:`M${c[f].x+70} 212 V228 H${c[d].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 ${l} 320`,style:{minWidth:l*.75,maxWidth:l*1.35},role:`img`,"aria-label":e.map(e=>`${e.label}: ${e.status}`).join(`. `),children:[(0,$.jsx)(`defs`,{children:(0,$.jsx)(`marker`,{id:o,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`})})}),d!==void 0&&f!==void 0?(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`rect`,{className:`run-flow-loop ${p?`live`:``}`,x:c[d].x-20,y:4,width:c[f].x-c[d].x+140+40,height:228,rx:14}),(0,$.jsx)(`text`,{className:`run-flow-caption`,x:c[d].x-6,y:22,children:r}),(0,$.jsx)(`text`,{className:`run-flow-caption`,x:c[f].x+140+6,y:22,textAnchor:`end`,children:a})]}):null,m.map(e=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`path`,{className:`run-flow-wire`,d:e.path,markerEnd:`url(#${o})`}),e.active?(0,$.jsx)(Nm,{path:e.path}):null]},e.id)),e.map((e,t)=>(0,$.jsx)(Pm,{node:e,...c[t],width:140,animated:n},e.label)),t?(0,$.jsx)(Pm,{node:{...t,compute:`gpu`},x:c[0]?.x??8,y:236,width:140,animated:n}):null]}),(0,$.jsx)(`span`,{className:`training-muted`,children:i})]})}function Im({run:e,view:t,loading:n,error:r,onRefresh:i}){let a=bm(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=a&&!o.some(e=>e.status!==`pending`),f=a&&!d&&c<s,p=a&&!d&&!f&&l<s,m=[{label:`Prepare`,state:d?`active`:o.length?`done`:`pending`,status:d?`Starting`:o.length?`Recorded`:`Waiting`},{label:`Rollouts`,state:f?`active`:s>0&&c===s?`done`:a?`pending`:`missing`,status:f?`Generating answers`:`Model outputs`,detail:`${c}/${s} generated`,progress:s?c/s:0},{label:`Grade`,state:p?`active`:s>0&&l===s?`done`:a?`pending`:`missing`,status:p?`Scoring`:`Dataset graders`,detail:`${l}/${s} graded`,progress:s?l/s:0},{label:`Results`,state:!a&&e.state===`completed`&&!r?`done`:a&&u===s?`active`:`pending`,status:a?`Waiting for evidence`:r?`Refresh unavailable`:e.state,detail:e.score==null?`Score unavailable`:`Mean score ${e.score.toFixed(3)}`}];return(0,$.jsxs)(`section`,{className:`dataset-workspace-run`,"aria-label":`Selected experiment progress`,children:[(0,$.jsx)(Mm,{nodes:m,live:a&&!r}),r?(0,$.jsx)(q,{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 Lm({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)(Lr,{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)(Om,{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)(Rm,{connection:e,run:t,cases:r},vm(t))]}):null}function Rm({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=zr({queryKey:[`dataset-workspace-logs`,Ze(e),vm(t),a],enabled:r&&s&&!!a,initialPageParam:void 0,getNextPageParam:e=>e.trace.nextCursor??void 0,queryFn:async({signal:n,pageParam:r})=>Ni.parse(await J(e,`experiment`,{action:`case`,payload:{id:t.id,receiptId:a,limit:100,...r?{afterSequence:r}:{}}},n)),refetchInterval:bm(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)(Y,{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)(q,{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))})]})}function zm(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 Bm({evidence:e}){let t=e.groups.flatMap(e=>e.attempts.flatMap(e=>e.reward===null?[]:[e.reward])),n=Math.min(...t),r=Math.max(...t);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 i=new Set(t.attempts.map(e=>e.slot)),a=Array.from({length:Math.min(1e3,t.plannedSlots)},(e,t)=>t).filter(e=>!i.has(e));return(0,$.jsxs)(`li`,{children:[(0,$.jsxs)(`span`,{children:[`Group `,t.index+1]}),(0,$.jsxs)(`div`,{children:[t.attempts.map(i=>{let a=i.state.endsWith(`failed`)||[`cancelled`,`expired`,`timed_out`].includes(i.state),o=e.live&&[`running`,`leased`,`scoring`].includes(i.state),s=`Group ${t.index+1}, slot ${i.slot+1}, attempt ${i.attempt}: ${i.state}${i.reward===null?``:`, reward ${i.reward.toFixed(3)}`}`;return(0,$.jsx)(`span`,{role:`img`,title:s,"aria-label":s,className:`training-rollout-cell ${a?`failed`:o?`active`:i.reward===null?``:`scored`}`,style:i.reward===null?void 0:{opacity:r>n?.35+.65*(i.reward-n)/(r-n):.8}},i.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:t.meanReward===null?t.state:`avg ${t.meanReward.toFixed(3)}`})]},t.index)})}),e.groupCount>e.groups.length?(0,$.jsxs)(`p`,{children:[`Showing `,e.groups.length,` of `,e.groupCount,` rollout groups.`]}):null]})}var Vm=b({job:Pe,events:h(Ie),outputs:Ve,flow:zi.nullable(),flowError:w().nullable()}),Hm=new Set([`completed`,`succeeded`,`failed`,`cancelled`,`budget_exhausted`]);function Um({connection:e,teamId:t,projectId:n,jobId:r,onOpenRun:i,compact:a=!1}){let o=JSON.stringify([e.serverUrl,e.token,t,n,r]),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{let i=new AbortController,a;async function s(){try{let l=Vm.parse(await W(e,`/v1/training/hosted-jobs/${encodeURIComponent(r)}?teamId=${encodeURIComponent(t)}`,{signal:i.signal}));if(l.job.id!==r||l.job.teamId!==t||l.job.modelProjectId!==n)throw Error(`Run does not belong to this Model Project.`);if(i.signal.aborted)return;c({scope:o,detail:l}),u(null),(!Hm.has(l.job.state)||l.flowError)&&(a=setTimeout(s,5e3))}catch(e){if(i.signal.aborted)return;u({scope:o,message:e instanceof Error?e.message:`Run progress is unavailable.`}),a=setTimeout(s,1e4)}}return s(),()=>{i.abort(),clearTimeout(a)}},[o,e.serverUrl,e.token,t,n,r]);let d=s?.scope===o?s.detail:null,f=l?.scope===o?l.message:null,p=d?.job,m=p?.executionMode===`qualification`,h=p?.rolloutProgress,g=[...d?.events??[]].reverse().find(e=>e.type===`rollout_metric`&&typeof e.data.rolloutGroupIndex==`number`)?.data.rolloutGroupIndex,_=d?.events.at(-1),v=d?.flow?.nodes.find(e=>e.state===`active`)?.label??(d?.flow&&!d.flow.live?xt(d.flow.state):p?xt(p.phase):`Loading run progress…`);return(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:m?`Qualification run`:`Training journey`}),(0,$.jsx)(`h3`,{children:v})]}),(0,$.jsx)(`button`,{className:`training-button secondary`,onClick:i,type:`button`,children:`View run`})]}),d?.flow?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Fm,{nodes:d.flow.nodes,inference:d.flow.inference,live:d.flow.live&&!f,loopLabel:m?`Rollout + grading`:`Training loop`,groupLabel:`group ${d.flow.groupsCompleted} of ${d.flow.groupsTarget}`,policyLabel:`policy v${d.flow.policyVersion}`}),(0,$.jsx)(Bm,{evidence:{...d.flow,live:d.flow.live&&!f}})]}):d?.flowError?(0,$.jsx)(q,{error:d.flowError}):null,(0,$.jsxs)(`div`,{className:`model-journey-facts`,"aria-live":`polite`,children:[(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:h?`${h.groupsCompleted} / ${h.groupsTarget}`:`—`}),` groups complete`,typeof g==`number`?` · latest recorded group ${g+1}`:``]}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:h?.optimizerUpdatesApplied??`—`}),` weight updates`]}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`b`,{children:h?.optimizerUpdatesSkipped??`—`}),` updates skipped`]}),(0,$.jsx)(`span`,{children:p?xt(p.state):`Connecting`})]}),(0,$.jsx)(q,{error:f}),(0,$.jsx)(`p`,{className:`model-journey-note`,children:f?d?`Showing last received evidence.`:`No run evidence received yet.`:p?.terminalReason??_?.message??`Stages update from recorded run events and artifacts.`}),p?(0,$.jsxs)(`p`,{className:`model-journey-time`,children:[`Updated `,bt(p.updatedAt),` · Stages reflect recorded evidence, not estimated progress.`]}):null,a&&d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Lr,{series:zm(d.events)}),(0,$.jsxs)(`details`,{className:`dataset-workspace-logs`,children:[(0,$.jsx)(`summary`,{children:`Training logs`}),(0,$.jsx)(`ol`,{children:d.flow?d.flow.logs.map((e,t)=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`time`,{children:bt(e.at)}),(0,$.jsx)(`strong`,{children:e.source}),(0,$.jsx)(`span`,{children:e.message})]},`${e.id}:${t}`)):d.events.slice(-100).map(e=>(0,$.jsxs)(`li`,{children:[(0,$.jsx)(`time`,{children:bt(e.createdAt)}),(0,$.jsx)(`span`,{children:e.message??xt(e.type)})]},e.id))})]})]}):null]})}function Wm(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=Ym(e.rolloutGroupId)??`group-0`,o=i.get(a),s=Jm(e.rolloutGroupIndex)??o?.groupIndex??i.size,c=Ym(e.taskId),l=(c?r.get(c):null)??(n.length?n[s%n.length]??null:null),u=Zm(l?.metadata),d={id:t.id,rolloutIndex:Jm(e.rolloutIndex),workerSlot:Jm(e.workerSlot),attempt:Jm(e.attempt)??1,policyVersion:Jm(e.policyVersion),reward:qm(e.reward),rewardEligible:e.rewardEligible===!0,terminalClass:Ym(e.terminalClass),failure:Ym(e.failureCode)??Ym(e.failureClass),inputTokens:Jm(e.inputTokens)??0,outputTokens:Jm(e.outputTokens)??0,components:Gm(e)};i.set(a,{id:a,groupIndex:s,taskId:c??l?.id??o?.taskId??null,taskLabel:$m(l)??o?.taskLabel??null,taskFamily:Ym(e.taskFamily)??Ym(e.scenarioFamily)??l?.clusterKey??Ym(u.scenarioFamily)??o?.taskFamily??null,policyVersion:Jm(e.policyVersion)??o?.policyVersion??null,trajectories:[...o?.trajectories??[],d]})}else if(e.metricKind===`optimizer_disposition`){let t=Ym(e.rolloutGroupId);if(!t)continue;let n=Ym(e.optimizerDisposition)??Ym(e.disposition)??Ym(e.remotePhase);n?.includes(`skipped`)&&a.add(t),n===`applied`&&o.set(t,Jm(e.step))}else if(e.metricKind===`policy_optimization`){let t=Jm(e.step),n=Ym(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:Km(t),minimum:t.length?Math.min(...t):null,maximum:t.length?Math.max(...t):null}})}function Gm(e){let t=[e.rewardComponents,e.rubricComponents,e.components].find(Xm);return t?Object.entries(t).flatMap(([e,t])=>{if(typeof t==`number`&&Number.isFinite(t))return[{id:e,label:Qm(e),score:t,passed:null,feedback:null}];if(!Xm(t))return[];let n=[t.score,t.reward,t.value,t.rewardContribution].map(qm).find(e=>e!==null);return n===void 0?[]:[{id:e,label:Ym(t.label)??Ym(t.name)??Qm(e),score:n,passed:typeof t.passed==`boolean`?t.passed:null,feedback:Ym(t.feedback)}]}):[]}function Km(e){return e.length?e.reduce((e,t)=>e+t,0)/e.length:null}function qm(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Jm(e){let t=qm(e);return t!==null&&Number.isInteger(t)?t:null}function Ym(e){return typeof e==`string`&&e.trim()?e.trim():null}function Xm(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Zm(e){return Xm(e)?e:{}}function Qm(e){return e.replaceAll(/[._-]+/g,` `).replace(/^./,e=>e.toUpperCase())}function $m(e){if(!e)return null;let t=Zm(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 eh=new Set([`optimizer.reward`,`rollout.reward`]),th=[{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`}],nh=[{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 rh({detail:e,loading:t,error:n,taskset:r=null}){Lt(n,{prefix:`Training metrics`});let i=(0,Q.useMemo)(()=>e?Wm(e.events,r?.tasks):[],[e,r]),a=(0,Q.useMemo)(()=>e?ah(oh(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)(Lr,{live:o,loading:t&&!e,series:a})}function ih(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 ah(e,t){let n=ih(t);return n?[n,...e.filter(e=>!eh.has(e.id))]:e}function oh(e){let t=mh(e.job.metadata.rolloutProgress),n=dh(e.job.metadata.optimizerUpdatesObserved)??dh(t.optimizerUpdatesApplied),r=ph(e)===`grpo`&&n!==null?Math.max(0,n):null,i=lh(e.stepMetrics).filter(e=>r===null||e.step<=r),a=[...ch(lh(e.policyMetrics),th),...ch(i,nh),...uh(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)=>sh(e.id,s)-sh(t.id,s)||e.label.localeCompare(t.label))}function sh(e,t){let n=t.indexOf(e);return n<0?999:n}function ch(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 lh(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 uh(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=dh(t.payload.value),i=dh(t.payload.step)??t.sequence;e&&n!==null&&r(e,fh(e),i,n)}if(t.payload.metricKind===`rollout_trajectory`){let e=dh(t.payload.rolloutIndex)??t.sequence,n=dh(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:dh(t.payload.attempt)??1,input:dh(t.payload.inputTokens)??0,output:dh(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)??fh(e),points:t,format:e.endsWith(`rate`)||e.includes(`fraction`)?`percent`:`number`}))}function dh(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function fh(e){return e.replaceAll(/[._]/g,` `).replace(/^./,e=>e.toUpperCase())}function ph(e){let t=e.job.metadata.trainingMethod;if(typeof t==`string`)return t;let n=mh(e.job.metadata.sourceSnapshot);return typeof n.method==`string`?n.method:null}function mh(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function hh({connection:e,resources:t,onRequest:n}){let r=t.focus.dataset,i=t.focus.scopeContext&&r?[...new Map(Fe(t.focus.scopeContext).filter(e=>e.id===t.scope?.id&&e.dataset&&vm(e.dataset)===vm(r)).flatMap(e=>e.training??[]).map(e=>[Re(e),e])).values()]:[],[a,o]=(0,Q.useState)(null),s=i.find(e=>Re(e)===a)??i.find(e=>Re(e)===t.scope?.selectedTrainingKey)??i.find(e=>e.location===`cloud`?![`completed`,`failed`,`cancelled`,`budget_exhausted`].includes(e.job.state):e.executionState===`running`)??i.at(-1);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:`Training`}),(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary icon-only`,"aria-label":`New training`,title:`New training`,onClick:()=>n(`New training`),children:(0,$.jsx)(Nt,{size:15})})]}),s?(0,$.jsx)(Om,{status:s.location===`cloud`?s.job.state:s.executionState}):null]}),i.length?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Y,{compact:!0,floating:!0,label:`Training run`,value:s?Re(s):``,options:i.map(e=>({value:Re(e),label:e.location===`cloud`?`Hosted run ${e.jobId.slice(-8)}`:e.modelId,description:e.location===`cloud`?e.job.state:e.executionState})),onChange:o}),s?.location===`cloud`?(0,$.jsx)(Um,{compact:!0,connection:e,teamId:s.owner.teamId,projectId:s.job.modelProjectId,jobId:s.jobId,onOpenRun:()=>n(`Check training`,void 0,s)},Re(s)):s?(0,$.jsx)(gh,{connection:e,training:s},Re(s)):null]}):(0,$.jsx)(`div`,{"aria-label":`Planned training stages`,children:(0,$.jsx)(Mm,{live:!1,nodes:[`Prepare`,`Rollouts`,`Optimize`,`Checkpoint`,`Activate policy`,`Evaluate`,`Finish`].map(e=>({label:e,state:`pending`,status:`Not started`}))})})]})}function gh({connection:e,training:t}){let n=f({queryKey:[`dataset-workspace-training`,Ze(e),Re(t)],queryFn:async()=>{let n=Fn.parse(await Z.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(n.error)return(0,$.jsx)(q,{error:n.error.message});if(!r)return(0,$.jsx)(`p`,{role:`status`,children:`Loading training evidence…`});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`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(km,{name:t.modelId}),(0,$.jsx)(Mm,{live:i,loopLabel:`Training loop`,nodes:[{label:`Prepare`,state:r.job.startedAt?`done`:i?`active`:`pending`,status:r.job.startedAt?`Recorded`:`Waiting`},{label:`Rollouts`,state:s?`done`:i?`active`:`pending`,status:s?`Recorded`:`Waiting for attempts`,inLoop:!0},{label:`Optimize`,state:o?`done`:`pending`,status:o?`Recorded`:`No recorded updates`,inLoop:!0},{label:`Finish`,state:c?`done`:i?`pending`:`missing`,status:r.job.status}]}),(0,$.jsx)(Lr,{series:oh(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))})]})]})}var _h=[{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 vh({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:_h.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:Rt(zt(`graders`,null,{area:`console`})),children:`Manage graders`})})]})}function yh({kind:e,resources:t,busy:n,onDraft:r}){let[i,a]=(0,Q.useState)(``);if(e===`rows`)return(0,$.jsx)(bh,{resources:t});let o=t.focus.dataset;if(e===`grader`)return(0,$.jsx)(vh,{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)(Nt,{size:13,"aria-hidden":!0}),` `,s.button]})]})}function bh({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)(q,{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 xh(e){return e===`small`||e===`small_experiment`}function Sh(e){return{maxSteps:1,trainingExamples:e===`grpo`?1:e===`sft`?4:2,rolloutGroupSize:4,rolloutConcurrency:1}}function Ch(e,t,n){if(!xh(e))return n;let r=Sh(t);return{maxSteps:r.maxSteps,rolloutGroupSize:r.rolloutGroupSize,rolloutConcurrency:r.rolloutConcurrency}}function wh(e){let t=Sh(`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 Th(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 Eh(e,t,n){if(!xh(e))return null;let r=Sh(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 Dh({method:e,methods:t,onMethodChange:n,value:r,onChange:i,disabled:a,recommendedAvailable:o=!0,sizing:s,onSizingChange:c}){let l=Th(e).filter(e=>o||e.id!==`standard`),u=xh(r)?l.find(e=>xh(e.id)).id:r;return(0,$.jsxs)(`div`,{className:`model-build-field training-run-configuration`,children:[(0,$.jsx)(`span`,{children:`Run configuration`}),(0,$.jsx)(Y,{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)(Y,{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 Oh({connection:e,resources:t,onAddToChat:n,initialPreset:r}){let[i,a]=(0,Q.useState)({prompts:xh(r)?1:Math.max(1,t.focus.dataset?.taskCount??1),rollouts:4,groups:xh(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)(``),[p,m]=(0,Q.useState)(``),h=f({queryKey:[`dataset-training-catalog`,Ze(e)],queryFn:async()=>fi.parse(await Z.portableTrainingCatalog(e))}),g=(h.data?.targets??[]).find(e=>e.destinationId===`openpond_managed`),_=(h.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(h.data&&y.length&&!y.includes(c)){let e=y[0];l(e),s(t=>xh(t)?e===`grpo`||e===`ppo`?`small_experiment`:`small`:t),d(``)}},[h.data,c]);let b=g?.approvalPolicy?.minimumSpendUsd??.01,x=g?.approvalPolicy?.maximumSpendUsd,S=Number(p),C=!!(g?.available&&g.methods.includes(c)&&v&&p.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;return(0,$.jsxs)(`div`,{className:`dataset-training-plan`,children:[h.error?(0,$.jsx)(q,{error:h.error.message,children:(0,$.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>void h.refetch(),children:`Retry`})}):null,(0,$.jsx)(Dh,{method:c,methods:y.length?y:[`grpo`],onMethodChange:e=>{l(e),s(xh(o)?e===`grpo`||e===`ppo`?`small_experiment`:`small`:o),d(``)},value:o,sizing:i,onSizingChange:a,onChange:e=>{s(e),e!==`custom`&&a({prompts:xh(e)?1:Math.max(1,w?.taskCount??1),rollouts:4,groups:xh(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)(Y,{floating:!0,searchable:!0,label:`Training model`,value:v?.selectionKey??``,options:[{value:``,label:h.isPending?`Loading models…`:`Choose training model`,disabled:!0},..._.map(e=>({value:e.selectionKey,label:e.label,description:e.reason??e.modelId}))],onChange:d,disabled:h.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:p,onChange:e=>m(e.target.value)}),(0,$.jsx)(`button`,{type:`button`,disabled:!0,title:`A provider estimate requires validated training data and a reviewed recipe.`,children:`Estimate after review`})]})]}),(0,$.jsx)(`button`,{type:`button`,className:`training-button`,disabled:!C||!E,onClick:()=>n(`Prepare a training plan using ${c.toUpperCase()} for ${w?.name}, revision ${w?.revision}, using ${v.modelId} on OpenPond Managed, 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 kh({dialog:e,connection:t,resources:n,onClose:r,onAddToChat:i}){let[a,o]=(0,Q.useState)(e.text??``);return(0,$.jsxs)(Nn,{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)(Tr,{size:18})})]}),e.title===`Add grader`?(0,$.jsx)(yh,{kind:`grader`,resources:n,busy:!1,onDraft:i}):e.title===`New training`?(0,$.jsx)(Oh,{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 Ah(e,t,n,r){let i=Ze(e),a=s(),o=zr({queryKey:[`dataset-workspace-runs`,i,t?vm(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 J(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:xm(r.summaries)}},refetchInterval:e=>e.state.data?.pages.some(e=>e.summaries.some(e=>t&&ym(e,t)&&bm(e.state)))?2e3:1e4});(0,Q.useEffect)(()=>{o.hasNextPage&&!o.isFetchingNextPage&&!o.isFetchNextPageError&&o.fetchNextPage()},[o.hasNextPage,o.isFetchingNextPage,o.isFetchNextPageError,o.fetchNextPage]);let c=r.filter(e=>[`workspace_action_result`,`turn.completed`].includes(e.name)).at(-1)?.id;(0,Q.useEffect)(()=>{c&&a.invalidateQueries({queryKey:[`dataset-workspace-runs`,i]})},[c,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=>ym(e,t)).map(e=>[vm(e),e])).values()].sort((e,t)=>Number(bm(t.state))-Number(bm(e.state))||(l.get(t.id)??0)-(l.get(e.id)??0)):[],history:o}}function jh({connection:e,sessionId:t,resources:n,events:r,selectedExperiment:i,experimentName:a}){let o=n.focus.dataset,s=o?vm(o):``,[c,l]=(0,Q.useState)(null),u=Ah(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=>vm(t)===vm(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=>bm(e.state))??p[0]??(f?d.runs.at(-1)??null:null):i,g=Mh(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){ml({sessionId:t,text:e,contexts:Sm(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||!_||bm(_.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)(Nt,{size:13}),` Add grader`]})]})]}),n.error?(0,$.jsx)(q,{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)(Im,{run:_,view:g.data?.view,loading:g.isPending,error:g.error,onRefresh:()=>void g.refetch()},`progress:${vm(_)}`):(0,$.jsx)(`p`,{children:`Evaluate this experiment, or configure a training run below.`}),u.history.error?(0,$.jsx)(q,{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)(wm,{dataset:o,graders:n.graders}),_?(0,$.jsx)(Cm,{title:`Results`,children:(0,$.jsx)(Lm,{connection:e,run:_,view:g.data?.view},`evidence:${vm(_)}`)}):null,(0,$.jsx)(Cm,{title:`Training`,children:(0,$.jsx)(hh,{connection:e,resources:n,onRequest:x})})]}):(0,$.jsx)(`p`,{children:`Choose an experiment, or create one from a dataset.`}),c?(0,$.jsx)(kh,{dialog:c,connection:e,resources:n,onClose:()=>l(null),onAddToChat:S},c.title):null]})}function Mh(e,t){return f({queryKey:[`dataset-workspace-run`,Ze(e),t?vm(t):null],enabled:!!t,queryFn:async({signal:n})=>{let r=await J(e,`experiment`,{action:`result`,payload:{id:t.id}},n),i=Le.parse(r.summary),a=Be.parse(r.view);if(vm(i)!==vm(t)||i.datasetId!==t.datasetId||i.datasetRevision!==t.datasetRevision)throw Error(`Run evidence changed its Dataset pin.`);return{summary:i,view:a}},refetchInterval:e=>bm(e.state.data?.summary.state??t?.state??``)?2e3:!1})}function Nh({connection:e,sessionId:t,events:n}){let r=Jc(e,t),i=ll(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&&vm(s.resource)===vm(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)(fl,{context:r})}),(0,$.jsx)(q,{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)(Y,{floating:!0,label:`Training run`,value:m,disabled:r.runs.isPending||r.selecting,options:[{value:``,label:r.runs.isPending?`Loading training runs…`:`No training runs`,disabled:!0},...h],onChange:e=>void g(e)}),(0,$.jsx)(q,{error:r.runs.error}),c?c.location===`cloud`?(0,$.jsx)(Um,{compact:!0,connection:e,teamId:c.owner.teamId,projectId:c.job.modelProjectId,jobId:c.jobId,onOpenRun:()=>window.location.assign(Rt(zt(`runs`,null,{area:`console`,resourceId:`hosted-run:${c.jobId}`})))}):(0,$.jsx)(gh,{connection:e,training:c}):(0,$.jsx)(Mm,{live:!1,nodes:[`Prepare`,`Rollouts`,`Optimize`,`Checkpoint`,`Activate policy`,`Evaluate`,`Finish`].map(e=>({label:e,state:`pending`,status:`Not started`}))}),(0,$.jsx)(wm,{dataset:s.dataset,graders:s.graders??[],model:s.model}),(0,$.jsx)(Cm,{title:`Experiments`,children:(0,$.jsx)(Y,{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)(jh,{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 Ph(e){return e.connection?(0,$.jsx)(Nh,{connection:e.connection,sessionId:e.sessionId??null,events:e.events}):(0,$.jsx)(`p`,{children:`Connect to OpenPond to browse experiments.`})}function Fh({leadingTabs:e,activeTabId:t,tabs:n,onCloseTab:r,onNewTab:i,onSelectTab:a}){return(0,$.jsxs)(`div`,{className:`browser-tabs`,role:`tablist`,"aria-label":`Browser tabs`,children:[e,n.length?null:(0,$.jsxs)(`div`,{className:`browser-tab active`,children:[(0,$.jsx)(Yt,{size:13,"aria-hidden":!0}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-main`,role:`tab`,"aria-selected":!0,children:`New tab`})]}),(0,$.jsx)(Ih,{activeTabId:t,tabs:n,onSelectTab:a,onCloseTab:r}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-add`,title:`New tab`,"aria-label":`New tab`,onClick:i,children:(0,$.jsx)(Nt,{size:14})})]})}function Ih({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)(Yt,{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:Lh(t)}),(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-close`,title:`Close tab`,"aria-label":`Close tab`,onClick:()=>n(t.id),children:(0,$.jsx)(Tr,{size:12})})]},t.id))})}function Lh(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 Rh=(0,Q.lazy)(()=>a(()=>import(`./WorkspaceDiffPanel-D0dzFgzW.js`).then(e=>e.n).then(e=>({default:e.WorkspaceDiffPanel})),__vite__mapDeps([46,1,2,3,11,5,14,13,12,8,15,4,27,6,9,7,10,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,37,38,47,48,49,41]))),zh=(0,Q.lazy)(()=>a(()=>import(`./AppTerminalPanel-Dqr6VS3I.js`).then(e=>({default:e.AppTerminalPanel})),__vite__mapDeps([50,1,2,3]))),Bh=(0,Q.lazy)(()=>a(()=>import(`./RightSidebarHomePanel-D46ktZg-.js`).then(e=>({default:e.RightSidebarHomePanel})),[]));(0,Q.lazy)(()=>a(()=>import(`./WorkSidebarPanel-myTA9tsh.js`).then(e=>({default:e.WorkSidebarPanel})),[]));var Vh=(0,Q.lazy)(()=>a(()=>import(`./CollaborationTabs-DNoknVMD.js`).then(e=>({default:e.CollaborationTabs})),__vite__mapDeps([51,2,1,3,6,10,11,5,12,13,14,8,15,4,16,17,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,35,36,37,38,52]))),Hh=(0,Q.lazy)(()=>a(()=>import(`./AppsView-27Fl_-49.js`).then(e=>({default:e.AppsView})),__vite__mapDeps([53,1,2,3,11,5,15,13,12,17,8,6,29,9,54,7,10,14,4,16,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,35,36,37,38,49,55,56,57,58]))),Uh=(0,Q.lazy)(()=>a(()=>import(`./GetStartedView-DvV_RMgM.js`).then(e=>({default:e.GetStartedView})),__vite__mapDeps([59,1,2,3,14,5,13,12,8,6,7,9,10,11,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,60]))),Wh=(0,Q.lazy)(()=>a(()=>import(`./LabsRoute-DOnw39du.js`).then(e=>({default:e.LabsRoute})),__vite__mapDeps([61,1,2,3,11,5,12,15,13,16,17,19,20,21,22,23,62,8,27,6,7,9,10,14,4,18,24,25,26,28,29,30,31,32,33,34,35,36,37,38,63,48,0,39,64]))),Gh=(0,Q.lazy)(()=>a(()=>import(`./ScheduledWorkPage-Cp0Hf-hs.js`).then(e=>({default:e.ScheduledWorkPage})),__vite__mapDeps([65,1,2,3,14,5,13,12,8,66,6,7,9,10,11,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,67,68,69,39,49,70]))),Kh=(0,Q.lazy)(()=>a(()=>import(`./OutputsPage-Dl63CVrw.js`).then(e=>({default:e.OutputsPage})),__vite__mapDeps([71,1,2,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,68,47,69]))),qh=(0,Q.lazy)(()=>a(()=>import(`./ProjectsPage-BNF1TiyR.js`).then(e=>({default:e.ProjectsPage})),__vite__mapDeps([72,1,2,3,15,13,5,12,6,63,9,10,11,14,8,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,73]))),Jh=(0,Q.lazy)(()=>a(()=>import(`./LabSkillSidebar-gjbl9Nlv.js`).then(e=>({default:e.LabSkillSidebar})),__vite__mapDeps([74,1,2,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,69,75]))),Yh=(0,Q.lazy)(()=>a(()=>import(`./BrowserSidebar-bnI3sSZO.js`).then(e=>({default:e.BrowserSidebar})),__vite__mapDeps([76,1,2,3,6,9,7,8,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]))),Xh=(0,Q.lazy)(()=>a(()=>import(`./RightChatPanelStack-CxVAAbp-.js`).then(e=>({default:e.RightChatPanelStack})),__vite__mapDeps([77,1,2,3,25,4,5,26,6,47,9,31,10,11,12,13,14,8,15,16,17,18,19,20,21,22,23,24,27,28,29,30,32,33,34,35,36,37,38,78]))),Zh=(0,Q.lazy)(()=>a(()=>import(`./NativeSkillSidebar-Br5Lk6iU.js`).then(e=>({default:e.NativeSkillSidebar})),__vite__mapDeps([79,2,1,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,80]))),Qh=(0,Q.lazy)(()=>a(()=>import(`./TeamChatView-BmxTJ9E5.js`).then(e=>({default:e.TeamChatView})),__vite__mapDeps([81,1,2,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,82,83]))),$h=(0,Q.lazy)(()=>a(()=>import(`./TeamChatView-BmxTJ9E5.js`).then(e=>({default:e.TeamChatProView})),__vite__mapDeps([81,1,2,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,82,83]))),eg=(0,Q.lazy)(()=>a(()=>import(`./CommunityView-CFKM7FTY.js`).then(e=>({default:e.CommunityView})),__vite__mapDeps([84,1,2,3,66,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,67,68,69,85,86,87]))),tg=(0,Q.lazy)(()=>a(()=>import(`./TeamChatView-BmxTJ9E5.js`).then(e=>({default:e.TeamAiThreadPanel})),__vite__mapDeps([81,1,2,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,82,83]))),ng=(0,Q.lazy)(()=>a(()=>import(`./TeamChatView-BmxTJ9E5.js`).then(e=>({default:e.TeamAgentConversationPanel})),__vite__mapDeps([81,1,2,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,82,83]))),rg=(0,Q.lazy)(()=>a(()=>import(`./TrainingDraftPanel-HznyNCJ4.js`).then(e=>({default:e.TrainingDraftPanel})),__vite__mapDeps([88,2,1,3,6,7,8,9,10,11,5,12,13,14,15,4,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]))),ig=(0,Q.lazy)(()=>a(()=>import(`./MainChatThread-BUKup-JB.js`).then(e=>({default:e.MainChatThread})),__vite__mapDeps([89,1,2,3,11,5,12,62,17,19,23,16,21,22,8,34,10,13,14,15,4,18,20,24,25,26,27,6,9,28,29,30,31,32,33,35,36,37,38,78]))),ag=(0,Q.lazy)(()=>a(()=>import(`./TrainingCreationPanel-CwfNPj_G.js`).then(e=>({default:e.TrainingCreationPanel})),__vite__mapDeps([90,1,2,3,6,10,11,5,12,13,14,8,15,4,16,17,18,19,20,21,22,23,24,25,26,27,9,28,29,30,31,32,33,34,35,36,37,38])));function og({ponderMode:e=null,onPonderModeChange:t,experience:n,view:r,teamChat:i,community:a,bootstrap:o,runtimeEvents:s,chatMessages:c,pendingUserMessage:l,contextWindowStatus:u,goalRuntime:d,subagentRuntime:f,selectedSessionId:p,composerDraftStore:m,mainComposerFocusRequestId:h,labCloseDetailRequestId:g,labCloseDetailKind:_,sideChatTrainingLaunchRequest:v,onSideChatTrainingLaunchHandled:y,mentionApps:b,connectedAppMentions:x,profileSkills:S,selectedMentionAppId:C,busy:w,turnRunning:T,activeProvider:E,activeModel:D,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,pendingApproval:j,activeWorkspaceAppId:M,activeWorkspaceId:N,activeWorkspaceKind:P,projectTarget:F,actionCatalog:ee,workspaceTarget:te,connection:I,workspaceName:L,workspaceState:re,workspaceDiff:ie,workspaceBusy:ae,diffBusy:oe,forceChatThread:se=!1,diffPanelOpen:ce,diffPanelExpanded:R,rightPanelMode:z,rightPanelTabRequest:le,rightChatPanels:ue,runtimeEventStore:de,nativeSkillSidebar:fe,extensionSkillSidebar:pe,workspaceDiffPanelViewState:me,sidebarFileOpenRequest:he,sidebarFileBookmarks:ge,onSetSidebarFileStatus:_e,browserConversationId:B,terminalScope:V,terminalTabs:ve,terminalCwd:ye,pendingTerminalCommand:be,terminalOpen:xe,onToggleTerminal:Se,onWorkspaceDiffPanelViewStateChange:Ce,training:we,trainingSessions:Te,trainingChatHandoff:Ee,trainingDetailTasksetId:De,onTrainingDetailTasksetIdChange:Oe,onTrainingChatTaskSelect:ke,onTrainingChatHandoffDismiss:H,onOpenSession:Ae,cloudProjects:je,projects:Me,projectsAccountBaseUrl:Ne,projectsTeamName:Pe,projectTaskCounts:Fe,onNewCloudProject:Ie,onNewLocalProject:Le,onNewProjectTask:Re,onToggleProjectPinned:ze,onUploadLocalProject:Be,chatHistoryHasMore:Ve=!1,chatHistoryLoading:He=!1,onDiffPanelResizeStart:Ue,canSyncWorkspace:We,startMessage:Ge,onPayload:Ke,onError:U,setView:W,onOpenProfileSettings:qe,onOpenProviderSettings:Ye,onOpenTrainingSettings:Ze,onOpenDatasetStorageSettings:Qe,changeDraftProvider:et,changeProjectTarget:tt,changeWorkspaceTarget:nt,setDraftProvider:rt,setDraftModel:it,onBeginNewChatWithModel:at,changeCodexPermissionMode:ot,changeCodexReasoningEffort:st,changeOpenPondCommandAccessMode:lt,resolveApproval:ut,answerCreateImproveQuestion:dt,approveCreateImproveRun:ft,applyCreateImproveCandidate:pt,cancelCreateImproveRun:mt,openCreateImprovePullRequest:ht,pauseCreateImproveRun:gt,reconcileCreateImprovePullRequest:_t,rejectCreateImproveCandidate:yt,resumeCreateImproveRun:bt,reviseCreateImproveRun:xt,setMentionedAppId:St,showToast:G,onSaveTaskDraft:Ct,sendPrompt:wt,stopTurn:Tt,syncWorkspaceLocally:Et,refreshWorkspaceDiff:Dt,onToggleDiffPanelExpanded:Ot,onShowDiffPanel:kt,onShowFilePreview:At,onShowBrowserPanel:jt,onShowTrainingDraftPanel:Mt,onShowFilesPanel:Nt,onShowExperimentsPanel:Pt,onShowRightChatPanel:Ft,onAddRightChat:It,onOpenRightChatForSession:Lt,onLabDetailOpenChange:Rt,evaluationSidebarActive:zt,onEvaluationSidebarControl:Bt,scheduledDetailOpen:Vt,onScheduledDetailOpenChange:Ht,onTerminalTabsChange:Ut,onCloseRightChatPanel:Wt,onCloseNativeSkillSidebar:Gt,onActivateRightChatPanel:Jt,onRightChatModelChange:Yt,onRightChatPromptChange:Xt,onRightChatScrollStateChange:Zt,onRightChatProviderChange:Qt,onSubmitRightChat:$t,onStopRightChat:en,onCloseTerminal:tn,onLoadMoreChatHistory:nn}){let rn=Zp(B),[sn]=(0,Q.useState)(()=>new Qc),dn=(0,Q.useRef)(null),fn=p&&!Rn(p)?p:null,hn=nl(de,fn),gn=(0,Q.useMemo)(()=>fn?an(s,hn.events):s,[fn,hn.events,s]),_n=(0,Q.useMemo)(()=>fn?Je(sn.project(gn),l):c,[sn,fn,l,gn,c]),[vn,yn]=(0,Q.useState)(null),[bn,xn]=(0,Q.useState)(0),Sn=(0,Q.useRef)(``),Cn=(0,Q.useCallback)(()=>Sn.current,[]),[wn,Tn]=(0,Q.useState)(null),En=Xc(B),[K,Dn]=(0,Q.useState)(null),[On,kn]=(0,Q.useState)(null),[An,jn]=(0,Q.useState)(null),[Mn,Nn]=(0,Q.useState)(null),[Pn,q]=(0,Q.useState)(null),[Fn,In]=(0,Q.useState)(null),[Ln,zn]=(0,Q.useState)([]);(0,Q.useEffect)(()=>{Tn(null)},[B]);let Bn=(0,Q.useMemo)(()=>o?.sessions.find(e=>e.id===p)??null,[o?.sessions,p]),Vn=Bn?.currentProfile??o?.profileLibrary?.lastUsed??null,Hn=qp(o),Un=Yc({connection:I,sessionId:p,accountScope:Hn,active:r===`chat`,onOpen:Pt}),Wn=tr(o?.profileLibrary??{lastUsed:null,profiles:[]},Vn)??o?.profile??null,Kn=(0,Q.useMemo)(()=>Kt(Wn,o?.extensionCatalog),[o?.extensionCatalog,Wn]),qn=(0,Q.useMemo)(()=>on(Wn),[Wn]),Jn=(0,Q.useCallback)(async(e,t=p)=>{if(!I||!o)return;let n=pn(o.profileLibrary??{lastUsed:null,profiles:[]},e);if(n)try{let e=await Qf({ref:n,session:t&&!Rn(t)?o.sessions.find(e=>e.id===t)??null:null,selectProfile:e=>Z.profileSelect(I,e),patchSession:(e,t)=>Z.patchSession(I,e,{currentProfile:t})}),r=o.sessions;e.session&&(r=r.map(t=>t.id===e.session.id?e.session:t)),Ke({...o,profile:e.selected.profile,profileLibrary:e.selected.library,sessions:r})}catch(e){let t=e instanceof Error?e.message:String(e);U(t),G(t,`error`)}},[o,I,U,Ke,p,G]);(0,Q.useEffect)(()=>{if(!ln(he,B))return;let{file:e,id:t}=he;if(Tn({id:t,path:e.path}),!I)return;let n=!1;return(e.workspaceKind===`local`?Z.workspaceFile(I,e.workspaceId,e.path).then(e=>e.content??``):Z.sandboxDownloadFile(I,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;yn({id:t,file:new File([r],i,{type:sg(e)})})}).catch(e=>{n||G(e instanceof Error?e.message:String(e),`error`)}),()=>{n=!0}},[B,I,G,he]);let Yn=n===`development`||n===`work`&&F.value!==`none`,Y=(0,Q.useMemo)(()=>{if(!Yn)return[];let e=new Map(ee.filter(e=>!mn(e)).map(e=>[e.id,e]));for(let t of qn)e.set(t.id,t);for(let t of Ln)e.set(t.id,t);return[...e.values()]},[ee,n,Yn,Ln,qn]),X=ep(I),$n=(0,Q.useCallback)(e=>{e?X.activate({runId:e.run.id,candidateId:e.candidate.id,title:e.run.objective,fileRootPath:e.fileRootPath,initialPath:e.initialPath}):X.activate(null)},[X.activate]),er=(0,Q.useCallback)(()=>{X.selection?.initialPath&&X.openFile(X.selection.initialPath),kt()},[X.openFile,X.selection?.initialPath,kt]),nr=(0,Q.useCallback)(e=>{kn(e),e&&kt()},[kt]),rr=(0,Q.useCallback)(()=>{kn(null),R&&Ot()},[R,Ot]);(0,Q.useEffect)(()=>{r!==`labs`&&kn(null)},[r]);let ir=(0,Q.useCallback)((e,t)=>{let n=Date.now(),r=ee.find(t=>t.id===e)??null;m.set(``),St(null),W(`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 zn(i),window.requestAnimationFrame(()=>{In({actionId:e,requestId:Math.max(Date.now(),n+1)})}),!0};I?Z.profileCurrent(I).then(t=>{let n=t.actionCatalog.map(e=>un(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`)},[ee,m,I,St,W,G]),ar=(0,Q.useCallback)((e,t)=>{m.set(e),St(null),t&&et(t),W(`chat`)},[et,m,St,W]),or=(0,Q.useMemo)(()=>ne(o?.preferences),[o?.preferences]),sr=or.training,{createAgentFromLab:cr,improveAgentFromLab:ur}=np({activeModel:D,activeProvider:E,bootstrap:o,codexPermissionMode:O,codexReasoningEffort:k,connection:I,onOpenRightChatForSession:Lt,onPayload:Ke}),dr=(0,Q.useMemo)(()=>{let e=we.payload?.tasksets??[];return e.some(e=>e.id===Mn)?Mn:e[0]?.id??null},[Mn,we.payload?.tasksets]),fr=r===`labs`&&dr?`profiles/${o?.profile.activeProfile??`default`}/tasksets/${dr}`:null,pr=(0,Q.useMemo)(()=>{if(r!==`labs`||!dr||!we.payload)return null;let e=we.payload.tasksets.find(e=>e.id===dr);if(!e)return null;let t=we.payload.plans.filter(t=>t.tasksetId===e.id),n=new Set(t.map(e=>e.id)),i=we.payload.jobs.filter(e=>n.has(e.planId)).sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),a=i.find(e=>e.id===Pn)??i[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?we.payload.models.find(e=>e.jobId===a.id)??null:null,artifacts:a?we.payload.artifacts.filter(e=>e.jobId===a.id):[]}},[dr,Pn,we.payload,r]),mr=(0,Q.useMemo)(()=>$f(we.payload,p),[p,we.payload]),hr=(0,Q.useMemo)(()=>vp(_n),[_n]),gr=!!d||!!hr||!!f,_r=r===`labs`&&!!X.selection,vr=r===`labs`&&ce&&z===`changes`&&!!On,br=(r===`chat`||r===`labs`)&&!!(M||wn?.file),xr=r===`chat`&&ce&&z===`chat`&&ue.length===0,Sr=qt(P)?N??Sp(L):null,Cr=r===`chat`&&!!Sr,wr=Sr,Tr=!!wr||te.value===`cloud`||te.value===`hybrid`,Er=(0,Q.useMemo)(()=>Jf({workspaceTarget:te.value,localWorkspaceId:M,sandboxSourceAvailable:Tr,sandboxWorkspaceId:wr,override:K}),[M,Tr,wr,K,te.value]),Dr=Er.source,Or=Dr===`sandbox`,kr=(0,Q.useMemo)(()=>Dr&&Er.options.length>1?{value:Dr,options:Er.options,onChange:Dn}:null,[Dr,Er.options]);(0,Q.useEffect)(()=>{Dn(null)},[M,B,wr,te.value]);let Ar=!vr&&(_r||r===`chat`||br||Cr)&&ce&&(z===`changes`||z===`home`&&r===`chat`||z===`goal`&&gr||xr),jr=r===`chat`&&ce&&z===`browser`,Mr=(r===`chat`||r===`labs`)&&ce&&z===`chat`&&ue.length>0,Nr=r===`chat`&&ce&&z===`training`,Pr=r===`chat`&&ce&&!!fe,Fr=r===`chat`&&ce&&!!pe,Ir=r===`team`&&ce&&z===`chat`&&!!i.aiThread,Lr=r===`team`&&ce&&z===`chat`&&!!i.agentConversation,Rr=Op({supportedView:r===`chat`&&Yn||r===`labs`,open:ce,hasContentPanel:Ar||vr||jr||Mr||Nr||Pr||Ir||Lr}),zr=!zt&&(Ar||vr||jr||Mr||Nr||Pr||Ir||Lr||Rr),Br=zr&&z!==`chat`&&R,Vr=o?.account.baseUrl??o?.account.activeProfile?.baseUrl??null,Hr=lp({activeWorkspaceId:N,cloudProjects:je}),Ur=r===`chat`&&T&&!j&&oo(_n),Wr=se||_n.length>0||Ur,Gr=p??`draft:${r}:${P??`none`}:${N??M??`none`}`;Sn.current=Gr;let Kr=(0,$.jsx)(Tp,{activeModel:D,activeProvider:E,busy:T,handoff:Ee,onDismiss:H,onSelectTask:ke}),qr=(0,Q.useMemo)(()=>({onAnswerQuestion:dt,onApprove:ft,onApplyCandidate:pt,onCancel:mt,onOpenPullRequest:ht,onPause:gt,onReconcilePullRequest:_t,onRejectCandidate:yt,onResume:bt,onRevise:xt}),[dt,ft,pt,mt,ht,gt,_t,yt,bt,xt]),Jr=(0,Q.useMemo)(()=>hr?{...hr,...qr}:null,[qr,hr]),Yr=kp(r,Wr),Xr=(0,Q.useCallback)(async(e=[],t=null,r=null,i={})=>{let a=i.promptOverride??m.getSnapshot(),s=()=>{i.preservePrompt||(m.set(``),St(null))};if(!t){let t=r?{command:r.id,args:a.trim()}:Xn(a);if(t){if(!Gn({id:t.command},n))return G(`/${t.command} isn't available in ${n}.`,`info`),!1;if(t.command===`train`)return e.length>0?(G(`/train uses the selected chat; add other chats from Models.`,`error`),!1):p?(s(),jn({id:Date.now(),objective:t.args.trim()||null,initialSessionIds:[p]}),W(`labs`),!0):(s(),jn({id:Date.now(),objective:t.args.trim()||null,initialSessionIds:[]}),W(`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 lr(x)?(xn(e=>e+1),wt([],null,Zn(t.args),{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:bp(t,r?`composer_selection`:`prompt_parse`)})):(G(`Connect the GitHub app before using /submit-issue.`,`error`),!1);if(xp(t)){let e=t.command===`skill`?Xf(t.args,E,o?.profile.sourcePath??null):yp(t);return xn(e=>e+1),wt([],null,e,{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:bp(t,r?`composer_selection`:`prompt_parse`)})}return xn(e=>e+1),wt([],null,yp(t),{clearPrompt:i.preservePrompt?()=>void 0:void 0,usageAttribution:bp(t,r?`composer_selection`:`prompt_parse`)})}}return xn(e=>e+1),wt(e,t,i.promptOverride,{clearPrompt:i.preservePrompt?()=>void 0:void 0,displayPrompt:i.displayPrompt,turnMetadata:i.turnMetadata,sessionMetadata:i.sessionMetadata,onSessionCreated:i.onSessionCreated})},[D,E,P,o?.profile,x,m,n,wt,p,St,W,G,we,r]),Zr=(0,Q.useCallback)(e=>{Ee&&e!==Ee.model.modelId&&H(),yr(E,e),rt(E),it(e)},[E,H,it,rt,Ee]),Qr=(0,Q.useCallback)((e,t)=>{Ee&&e!==Ee.model.providerId&&H(),et(e,t)},[et,H,Ee]),{chatColumnStyle:$r,chatThreadPreparingInitialScroll:ei,chatThreadRef:ti,chatTimelineRows:ni,composerStackRef:ri,goToUserMessage:ii,handleChatScroll:ai,jumpToLatestChatMessage:oi,showScrollToBottomButton:si,userMessageNavigation:ci}=Fp({browserConversationId:B,chatSubmissionVersion:bn,chatHistoryHasMore:Ve,chatHistoryLoading:He,chatMessages:_n,onLoadMoreChatHistory:nn,pendingApproval:j,showChatThread:Wr,showThinkingIndicator:Ur,turnRunning:T,view:r}),li=(0,Q.useCallback)((e,t)=>{Xe({conversationId:B,href:e,explicitFile:t?.explicitFile,newTab:t?.newTab}).then(e=>{e&&window.openpond?.browser&&(En.showBrowser(),jt())}).catch(e=>G(e instanceof Error?e.message:`Could not open browser.`,`error`))},[B,En.showBrowser,jt,G]),ui=vt({projectTargetDetail:F.detail,projectTargetValue:F.value,workspaceRepoPath:re?.repoPath,workspaceTargetValue:te.value}),{handleOpenFileInSidebar:di,fileResolution:fi,dismissFileResolution:pi,selectFileResolution:mi}=qf({conversationKey:B,connection:I,handleOpenBrowserLink:li,activeWorkspaceAppId:M,rightSidebarUsesSandbox:Or,rightSidebarSandboxId:wr,onShowDiffPanel:At,showToast:G,workspaceRootPath:ui,setOpenDiffFileRequest:Tn}),hi=(0,Q.useCallback)(async e=>{if(!I||!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 Z.chatAttachmentFile(I,e.filePreview);r.content=n.content,ct(t)&&(a=await $e(I,t,n.content))}else e.imagePreview&&(i=(await Z.signChatAttachmentImageUrl(I,e.imagePreview)).url);a?li(a):At(),Tn({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`)}},[I,li,At,G]),gi=ae&&!!M&&!re;(0,Q.useEffect)(()=>{let e=gn.filter(e=>e.sessionId===p&&e.source===`server`&&e.name===`workspace_action_result`).at(-1),t=e?`${p}:${e.id}`:null;if(!dn.current||dn.current.sessionId!==p){dn.current={sessionId:p,eventId:t};return}if(t===dn.current.eventId)return;dn.current={sessionId:p,eventId:t};let n=e?.data;r===`chat`&&n?.chatResourcePresentation!==`context`&&n?.chatResource?.kind===`experiment`&&bm(n.chatResource.state??``)&&Pt()},[gn,p,r,Pt]);let _i=X.selection?`candidate:${X.selection.runId}:${X.selection.candidateId}`:null,vi=r===`chat`?(e,t)=>(0,$.jsx)(t===-1?Ph:_m,{conversationId:B,onOpenBrowser:jt,sessionId:p,connection:I,workspaceId:M,sandboxId:Or?wr:null,messages:_n,events:gn,onOpenFile:di,actions:(0,$.jsx)(Yp,{terminalOpen:xe,sideChatAvailable:!0,onOpenFile:e,onOpenFiles:Nt,onOpenExperiments:Pt,onOpenReview:kt,onOpenSideChat:It,onOpenTrainingDraft:Mt,trainingDraftAvailable:!!p,onToggleTerminal:Se})}):null,yi=(0,Q.useMemo)(()=>z===`home`&&r===`chat`?{id:-1,tab:`outputs`,overview:`new`}:le,[r,z,le]),bi=Ar?(0,$.jsx)(Rh,{appId:_r?_i:Or?null:M,workspaceId:_r?_i:Or?wr:M,workspaceKind:_r?`local_project`:Or?null:`local_project`,connection:I,runtimeEvents:gn,diff:_r?X.diff:Or?null:ie,fileRootPath:_r?X.selection?.fileRootPath??null:Or?null:fr,filesWithPreview:_r,editorPreferences:o?.preferences.editor??null,loading:_r?X.loading:Or?ae:oe||gi,openFileRequest:_r?X.openFileRequest:z===`home`?null:wn,sidebarFileBookmarks:ge,sidebarFileSourceSessionId:p,onSetSidebarFileStatus:_e,readOnly:_r,sideChatTabs:ue.map(e=>({id:e.id,title:e.title,running:e.running})),sourceSwitcher:_r?null:kr,tabRequest:yi,additionalTabs:r===`chat`?(0,$.jsx)(Ih,{tabs:rn.state.tabs,activeTabId:null,onSelectTab:e=>{rn.selectTab(e),En.showBrowser(),jt()},onCloseTab:e=>void rn.closeTab(e)}):void 0,renderOutputs:vi??void 0,outputsLabel:Un,viewState:me,workspaceName:_r?X.selection?.title??`Change`:Or?L??`Sandbox`:L,workspaceInitialized:_r?!0:Or?!!wr:!!re?.initialized,workspaceError:_r?X.error:Or?null:re?.error??ie?.error??null,expanded:R,onResizeStart:Ue,onRefresh:e=>void(_r?X.refresh(e):Dt(e)),onToggleExpanded:Ot,onOpenBrowser:jt,onOpenBrowserUrl:li,onViewStateChange:Ce,onCloseSideChat:Wt,onOpenSideChat:r===`chat`?It:void 0,onSelectSideChat:e=>{Jt(e),Ft()},goalDetails:{active:z===`goal`,createRuntime:Jr,goalRuntime:d,subagentRuntime:f},sandboxFileSource:Or?{sandboxId:wr,emptyMessage:`No sandbox filesystem yet.`}:null,trainingSummary:pr}):null,xi=(0,Q.useCallback)(e=>{En.open(e),jt()},[En.open,jt]),Si=(0,Q.useCallback)(async(e,t,n)=>{if(!I||e.sessionId!==p)throw Error(`Open the originating conversation to select this resource.`);let r=await J(I,`dataset`,{action:`context`,payload:{sessionId:e.sessionId}}),i=await J(I,`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 Qn.queueTaskInput(I,e.sessionId,cn.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},[I,p]),Ci=jr?(0,$.jsx)(Yh,{conversationId:B,connection:I,visualTabs:En,leadingTabs:r===`chat`?(0,$.jsx)(`button`,{type:`button`,className:`browser-tab-main sidebar-tool-tab`,role:`tab`,"aria-selected":!1,onClick:Pt,children:Un}):void 0,expanded:R,onResizeStart:Ue}):null,wi=Ir?(0,Q.createElement)(tg,{...i,key:i.aiThread?.conversationId,onResizeStart:Ue}):null,Ti=Lr?(0,Q.createElement)(ng,{...i,key:i.agentConversation?.run.id,onResizeStart:Ue}):null,Ei=Mr?(0,$.jsx)(Xh,{panels:ue,runtimeEventStore:de,actionCatalog:Y,createImproveActions:qr,contextCompaction:or.contextCompaction,steerActiveResponses:or.steerActiveResponses,busy:w,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,connection:I,connectedAppMentions:x,mentionApps:b,codexPersonalSkills:o?.codexPersonalSkills??[],profileSkills:S,profileLibrary:o?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:o?.extensionCatalog??null,projectTarget:F,providerSettings:o?.providers??null,accountBaseUrl:Vr,billingOrganizationSlug:Hr.organizationSlug,billingTeamId:Hr.teamId,showToast:G,workspaceTarget:te,onAddChat:It,onActivatePanel:Jt,onClosePanel:Wt,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:lt,onModelChange:Yt,onOpenAttachmentInSidebar:hi,onOpenFileInSidebar:di,onOpenProfileSettings:qe,onOpenSession:Ae,onOpenPonder:()=>t?.(`clean`),onProviderChange:Qt,onProviderSetupOpen:Ye,onPromptChange:Xt,onProfileTargetChange:(e,t)=>void Jn(t,e),onScrollStateChange:Zt,onProjectTargetChange:tt,onResolveApproval:ut,onResizeStart:Ue,onSelectFiles:Nt,onShowBrowserPanel:jt,onStop:en,onSubmit:$t,onWorkspaceTargetChange:e=>void nt(e)}):null,Di=Ti??wi??Ei??(Pr&&fe?(0,$.jsx)(Zh,{expanded:R,skill:fe,onClose:Gt,onResizeStart:Ue,onToggleExpanded:Ot}):null)??(Fr&&pe?(0,$.jsx)(Jh,{connection:I,expanded:R,selection:pe,onClose:Gt,onResizeStart:Ue,onToggleExpanded:Ot}):null)??(vr&&On?(0,$.jsx)(Jh,{connection:I,expanded:R,selection:On,onClose:rr,onResizeStart:Ue,onToggleExpanded:Ot}):null)??bi??Ci??(Nr?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(rg,{training:we,sessionId:p,expanded:R,onOpenTraining:()=>W(`labs`),onResizeStart:Ue,onToggleExpanded:Ot})}):null)??(Rr?(0,$.jsx)(Bh,{expanded:R,terminalOpen:xe,sideChatAvailable:r===`chat`||r===`labs`,onOpenFiles:Nt,onOpenReview:kt,onOpenSideChat:It,onOpenTrainingDraft:Mt,trainingDraftAvailable:!!p,onResizeStart:Ue,onToggleExpanded:Ot,onToggleTerminal:Se}):null),Oi=(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(zh,{open:xe,connection:I,scope:V,tabs:ve,onTabsChange:Ut,cwd:ye,appId:M,workspaceName:L,queuedCommand:be,onClose:tn})});return(0,$.jsx)(Vc.Provider,{value:Hn,children:(0,$.jsx)(yo.Provider,{value:xi,children:(0,$.jsx)(bo.Provider,{value:Si,children:(0,$.jsxs)(`main`,{tabIndex:-1,"data-thread-session":r===`chat`&&!e?p??void 0:void 0,className:`main-pane ${Yr} ${xe?`terminal-open`:``} ${zr?`diff-open`:``} ${Br?`diff-expanded`:``}`,children:[fi?(0,$.jsx)(Uf,{resolution:fi,onClose:pi,onSelect:mi}):null,r===`team`||r===`community`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Vh,{onSelect:W,view:r})}):null,r===`chat`&&e&&I&&o?.account.activeProfile?(0,$.jsx)(Kp,{accountScopeKey:Hn,connection:I,presentation:e,localSessions:Te,composer:{contextWindowStatus:u,providerSettings:o.providers??null,provider:E,model:D,projectTarget:F,workspaceTarget:te,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,onProviderChange:Qr,onProviderSetupOpen:Ye,onProjectTargetChange:tt,onWorkspaceTargetChange:e=>{nt(e)},onModelChange:Zr,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:lt,showToast:G},accountBaseUrl:Ne,onOpenBrowserLink:li,onOpenLocalWork:Ae},Hn):r===`apps`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Hh,{payload:o,onPayload:Ke,account:o?.account??null,connection:I,defaultTeamId:o?.preferences.defaultTeamId??null,onToast:G})}):r===`team`?(0,$.jsxs)(Q.Suspense,{fallback:null,children:[i.teamId?(0,$.jsx)(Qh,{...i}):(0,$.jsx)($h,{}),zr?Di:null]}):r===`community`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(eg,{...a})}):r===`get-started`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Uh,{})}):r===`scheduled`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Gh,{connection:I,selectedProfileKey:Vn?JSON.stringify(Vn):null,onOpenSession:Ae,detailOpen:Vt,detailExpanded:R,onDetailOpenChange:Ht,onDetailResizeStart:Ue,onToggleDetailExpanded:Ot},Hn)}):r===`outputs`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Kh,{connection:I,onViewChat:Ae})}):r===`projects`?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(qh,{accountBaseUrl:Ne,connection:I,onNewCloudProject:Ie,onNewLocalProject:Le,onNewTask:Re,onTogglePinned:ze,onUploadLocalProject:Be,projects:Me,taskCountByProjectId:Fe,teamName:Pe},Hn)}):r===`labs`?Br?(0,$.jsx)(Q.Suspense,{fallback:null,children:Di}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Wh,{account:o?.account??null,closeDetailRequestId:g,closeDetailKind:_,onNewModel:(e,t,n)=>{jn({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:e,learnedPreferenceReward:t,initialModelId:n})},onUseAgent:ir,onCreateAgent:cr,onImproveAgent:ur,onDetailOpenChange:Rt,onEvaluationSidebarControl:Bt,onSkillSelectionChange:nr,onOpenRunConversation:Lt,onAnswerQuestion:dt,onApplyCandidate:pt,onApprove:ft,onCancel:mt,candidateReview:{diff:X.diff,error:X.error,loading:X.loading},onCandidateReviewChange:$n,onOpenPullRequest:ht,onOpenCandidateFiles:er,onPause:gt,onReconcilePullRequest:_t,onRejectCandidate:yt,onResume:bt,onRevise:xt,profileView:{payload:o,connection:I,onPayload:Ke,onError:U,onToast:G,onSkillCommand:ar},training:{training:we,sessions:Te,localProjects:o?.localProjects??[],connection:I,defaultModel:{providerId:E,modelId:D},onError:U,onToast:G,onSettingsPreferences:e=>{o&&Ke({...o,preferences:e.preferences})},onOpenTrainingSettings:Ze,onOpenProviderSettings:Ye,onOpenDatasetStorageSettings:Qe,onOpenChat:Ae,onChatWithModel:at,onOpenTasksetFiles:Nt,launchRequest:v??An,onLaunchHandled:e=>{v?.id===e?y(e):jn(t=>t?.id===e?null:t)},preferences:sr,settingsPreferences:or,providerSettings:o?.providers??null,reasoningEffort:k,selectedTasksetId:dr,onSelectedTasksetIdChange:Nn,onSelectedTrainingJobIdChange:q,detailTasksetId:De,onDetailTasksetIdChange:Oe}})}),Oi,zr?(0,$.jsx)(Q.Suspense,{fallback:null,children:Di}):null]}):Br?(0,$.jsx)(Q.Suspense,{fallback:null,children:Di}):Wr?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`chat-column ${j?`has-approval`:``}`,style:$r,children:[(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(ig,{formalReviewTeamId:or.defaultTeamId??null,formalReviewActorId:o?.account.profile?.id??null,formalReviewScopeKey:Hn,onFormalReviewOpen:()=>W(`labs`),accountBaseUrl:Vr,activeWorkspaceAppId:M,billingOrganizationSlug:Hr.organizationSlug,billingTeamId:Hr.teamId,connection:I,conversationKey:B??`draft`,creation:mr,onOpenBrowserLink:li,onOpenAttachmentInSidebar:hi,onOpenFileInSidebar:di,onOpenProfileSettings:qe,onResolveUserQuestion:async(e,t)=>{let n=t.action===`answer`?t.text:`Dismiss this question`;if(!await wt([],null,n,{displayPrompt:n,turnMetadata:{userQuestionResolution:t}}))throw Error(`The question response could not be sent.`)},onOpenSession:Ae,onOpenPonder:()=>t?.(`clean`),onScroll:e=>ai(e.currentTarget),rows:ni,sessionId:B,turnRunning:T,userAttachmentDisplay:E===`codex`?`compact`:`full`,threadRef:ti,workspaceRootPath:ui})}),(0,$.jsxs)(`div`,{className:`composer-stack dock ${j?`has-approval`:``}`,ref:ri,children:[mr?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(ag,{compact:!0,creation:mr,training:we,onOpenTraining:()=>W(`labs`)})}):null,Kr,(0,$.jsx)(Bf,{approval:j,onResolve:ut}),si&&!ei?(0,$.jsx)(Ep,{canGoNext:ci.canGoNext,canGoPrevious:ci.canGoPrevious,onJumpToLatest:oi,onNext:()=>{ci.canGoNext&&ii(`next`)},onPrevious:()=>{ci.canGoPrevious&&ii(`previous`)}}):null,(0,$.jsx)(Nf,{experience:n,readOnlyReason:typeof Bn?.metadata?.nativeReadOnlyReason==`string`?Bn.metadata.nativeReadOnlyReason:null,draftStore:m,attachmentRequest:vn,mode:`dock`,focusRequestId:h,mentionApps:Yn?b:[],connectedAppMentions:x,profileSkills:E===`codex`?o?.codexPersonalSkills??[]:Kn,selectedMentionAppId:C,contextWindowStatus:u,goalRuntime:d,subagentRuntime:f,createImproveRuntime:Yn?Jr:null,busy:T,running:T,steerActiveResponses:or.steerActiveResponses,taskSessionId:fn,taskEvents:gn,submissionScopeKey:Gr,composerDraftStore:m,getCurrentSubmissionScopeKey:Cn,voiceInputChannelKey:`main-composer:${Gr}`,showProjectFooter:!0,connection:I,providerSettings:o?.providers??null,provider:E,model:D,projectTarget:F,profileTarget:null,actionCatalog:Y,requestedAction:Fn,workspaceTarget:te,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,onProviderChange:Qr,onProviderSetupOpen:Ye,onProjectTargetChange:tt,onProfileTargetChange:e=>void Jn(e),onWorkspaceTargetChange:e=>void nt(e),onModelChange:Zr,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:lt,onMentionAppSelect:St,onSaveTaskDraft:Ct,showToast:G,onSubmit:Xr,onStop:Tt})]})]}),Oi,(0,$.jsx)(Q.Suspense,{fallback:null,children:Di})]}):(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)(Dp,{busy:ae,onSync:()=>void Et()})]}),(0,$.jsxs)(`div`,{className:`composer-stack start`,children:[Kr,(0,$.jsx)(Bf,{approval:j,onResolve:ut}),(0,$.jsx)(Nf,{experience:n,draftStore:m,attachmentRequest:vn,mode:`start`,autoFocus:!0,focusRequestId:h,mentionApps:Yn?b:[],connectedAppMentions:x,profileSkills:E===`codex`?o?.codexPersonalSkills??[]:Kn,selectedMentionAppId:C,contextWindowStatus:u,goalRuntime:d,subagentRuntime:f,createImproveRuntime:Yn?Jr:null,busy:T,running:T,steerActiveResponses:or.steerActiveResponses,taskSessionId:fn,taskEvents:gn,submissionScopeKey:Gr,composerDraftStore:m,getCurrentSubmissionScopeKey:Cn,voiceInputChannelKey:`main-composer:${Gr}`,connection:I,providerSettings:o?.providers??null,provider:E,model:D,showProjectFooter:!0,projectTarget:F,profileTarget:null,actionCatalog:Y,requestedAction:Fn,workspaceTarget:te,codexPermissionMode:O,codexReasoningEffort:k,openPondCommandAccessMode:A,onProviderChange:Qr,onProviderSetupOpen:Ye,onProjectTargetChange:tt,onProfileTargetChange:e=>void Jn(e),onWorkspaceTargetChange:e=>void nt(e),onModelChange:Zr,onCodexPermissionModeChange:ot,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:lt,onMentionAppSelect:St,onSaveTaskDraft:Ct,showToast:G,onSubmit:Xr,onStop:Tt})]})]}),Oi,(0,$.jsx)(Q.Suspense,{fallback:null,children:Di})]})]})})})})}function sg(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{Pi as $,nl as A,So as B,Jp as C,Pd as D,Mf as E,Eo as F,$a as G,ao as H,To as I,Yi as J,Qa as K,ko as L,Oc as M,og as MainPane,zc as N,Nd as O,wo as P,Li as Q,Oo as R,Yp as S,Bf as T,io as U,so as V,oo as W,zi as X,Wi as Y,Ni as Z,im as _,Th as a,xi as at,Qp as b,wh as c,zr as ct,jm as d,bi as et,km as f,nm as g,Dm as h,Ch as i,Di as it,Qc as j,sd as k,rh as l,Am as m,Dh as n,Ti as nt,Eh as o,Fi as ot,Om as p,$i as q,xh as r,ji as rt,Sh as s,Kr as st,Fh as t,Ei as tt,Um as u,rm as v,Pp as w,Zp as x,am as y,Do as z};
|