openpond 0.2.67 → 0.2.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +668 -1
- package/dist/app-server.js +1 -1
- package/dist/chunks/{account-context-TIJOM22A.js → account-context-MWB6HN6I.js} +1 -1
- package/dist/chunks/{acp-NASAJV5E.js → acp-2OIXATRY.js} +1 -1
- package/dist/chunks/{acp-agent-C3CRF6DT.js → acp-agent-PAGX2B47.js} +1 -1
- package/dist/chunks/actions-command-2VE6YI4W.js +2 -0
- package/dist/chunks/{app-layer-XIEZ6ALX.js → app-layer-YNEUEOEP.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-IB6M35NS.js → app-server-connected-apps-TZOAUOYR.js} +1 -1
- package/dist/chunks/app-server-evaluations-RRLYWLPK.js +2 -0
- package/dist/chunks/app-server-harness-services-XXM336NU.js +2 -0
- package/dist/chunks/app-server-runtime-GBX65JJ7.js +2 -0
- package/dist/chunks/apps-RSFEJOQN.js +2 -0
- package/dist/chunks/chunk-2PXKSAG6.js +2 -0
- package/dist/chunks/{chunk-XEU4J4GJ.js → chunk-2TGHZXJE.js} +2 -2
- package/dist/chunks/{chunk-AXO6OHJB.js → chunk-3A2Y7UK3.js} +1 -1
- package/dist/chunks/chunk-3Z4VM2LF.js +4 -0
- package/dist/chunks/{chunk-V3T2OJBZ.js → chunk-4BUM6JEC.js} +2 -2
- package/dist/chunks/chunk-4G3GTEVS.js +23 -0
- package/dist/chunks/{chunk-43QYVOYA.js → chunk-4KNPCJR4.js} +1 -1
- package/dist/chunks/chunk-4KTGYHCE.js +2 -0
- package/dist/chunks/chunk-4PUOWSDE.js +13 -0
- package/dist/chunks/chunk-55YD4UTW.js +2 -0
- package/dist/chunks/chunk-5G7BQAUA.js +2 -0
- package/dist/chunks/chunk-65FJWWXG.js +2 -0
- package/dist/chunks/{chunk-4EZI4KCT.js → chunk-65WRWLUD.js} +1 -1
- package/dist/chunks/chunk-6D3FI2XT.js +2 -0
- package/dist/chunks/chunk-73TW6BKK.js +6 -0
- package/dist/chunks/{chunk-5TPYBXWM.js → chunk-7NCM6GBN.js} +1 -1
- package/dist/chunks/chunk-7OFD6TFD.js +2 -0
- package/dist/chunks/chunk-7OKZCJHS.js +3 -0
- package/dist/chunks/{chunk-ADOCQA4D.js → chunk-7PKDJHT6.js} +1 -1
- package/dist/chunks/chunk-7RJOCGQ6.js +2 -0
- package/dist/chunks/{chunk-YR5URT73.js → chunk-7RSQOC5M.js} +3 -3
- package/dist/chunks/{chunk-FVK4W27G.js → chunk-AFH462DO.js} +1 -1
- package/dist/chunks/{chunk-GUG2SWRZ.js → chunk-AFKFN25T.js} +1 -1
- package/dist/chunks/chunk-AFYYIJ6K.js +2 -0
- package/dist/chunks/{chunk-U3MVH2YT.js → chunk-APKXXAUF.js} +1 -1
- package/dist/chunks/chunk-AQUZCWM3.js +2 -0
- package/dist/chunks/chunk-AUO5DCEU.js +2 -0
- package/dist/chunks/chunk-AYOMVI7J.js +2 -0
- package/dist/chunks/{chunk-RWRKUO5D.js → chunk-B66QCXH2.js} +1 -1
- package/dist/chunks/{chunk-SODAOLAP.js → chunk-BHKXPWFB.js} +1 -1
- package/dist/chunks/chunk-BU6MW65V.js +10 -0
- package/dist/chunks/{chunk-P6NQYXN6.js → chunk-CCZ276IA.js} +1 -1
- package/dist/chunks/{chunk-YONDU5TN.js → chunk-CIZI6Z7D.js} +1 -1
- package/dist/chunks/{chunk-ATFV2NA4.js → chunk-CO23RRN7.js} +1 -1
- package/dist/chunks/{chunk-QAFXQHHG.js → chunk-D6L6UNUQ.js} +2 -2
- package/dist/chunks/chunk-DDOIPTOM.js +2 -0
- package/dist/chunks/{chunk-CSU7RDA5.js → chunk-DKOVZ6R2.js} +3 -3
- package/dist/chunks/chunk-DRLP7GIU.js +2 -0
- package/dist/chunks/{chunk-DAEUVT2I.js → chunk-DRTHKWHK.js} +1 -1
- package/dist/chunks/{chunk-XDFXKRTI.js → chunk-DWF3FCY4.js} +1 -1
- package/dist/chunks/{chunk-W3ZILZUL.js → chunk-DWM5G7BU.js} +1 -1
- package/dist/chunks/chunk-DXJC3QW7.js +2 -0
- package/dist/chunks/{chunk-IDILAYCW.js → chunk-E2JB5OCO.js} +1 -1
- package/dist/chunks/{chunk-GI7LTJV3.js → chunk-EDYCSW22.js} +1 -1
- package/dist/chunks/{chunk-4JYTFEND.js → chunk-EFP75UEX.js} +1 -1
- package/dist/chunks/{chunk-CX7HKSQ4.js → chunk-EGP6DF34.js} +2 -2
- package/dist/chunks/{chunk-D5OFN47Z.js → chunk-ESYPMD7Q.js} +1 -1
- package/dist/chunks/{chunk-PWKJ5KLZ.js → chunk-EXYSD45J.js} +1 -1
- package/dist/chunks/{chunk-R6VI7MX5.js → chunk-EYTTZ5H4.js} +1 -1
- package/dist/chunks/chunk-FKUWCJ73.js +161 -0
- package/dist/chunks/{chunk-WD6ANOLL.js → chunk-FNGZ4UDZ.js} +1 -1
- package/dist/chunks/{chunk-JFZ6USNQ.js → chunk-G7X73SBG.js} +1 -1
- package/dist/chunks/{chunk-36FNNR5N.js → chunk-GEYZVOGD.js} +1 -1
- package/dist/chunks/{chunk-ULJZ7NUF.js → chunk-GY7YSD6J.js} +1 -1
- package/dist/chunks/{chunk-CWAQOFLP.js → chunk-GYYJ47GX.js} +1 -1
- package/dist/chunks/chunk-HG2YFMVU.js +4 -0
- package/dist/chunks/{chunk-YQBL5P6R.js → chunk-HKVFU3B3.js} +1 -1
- package/dist/chunks/{chunk-VEXJV5H5.js → chunk-IIT66347.js} +4 -4
- package/dist/chunks/{chunk-B2K5WQZE.js → chunk-IO5DZUKL.js} +1 -1
- package/dist/chunks/chunk-J256AEEE.js +2 -0
- package/dist/chunks/{chunk-CRDKBFRN.js → chunk-JEMECEQH.js} +1 -1
- package/dist/chunks/{chunk-7P5SH3CI.js → chunk-JPUSTFZC.js} +1 -1
- package/dist/chunks/{chunk-YMCF5GR2.js → chunk-JQOVC35K.js} +1 -1
- package/dist/chunks/{chunk-6LFTQBXP.js → chunk-JT5YQ52I.js} +1 -1
- package/dist/chunks/chunk-JVMSN7LH.js +2 -0
- package/dist/chunks/{chunk-HORMGT2Q.js → chunk-JXYJQT5Q.js} +1 -1
- package/dist/chunks/{chunk-WDKZMXIU.js → chunk-K7KBFM2T.js} +1 -1
- package/dist/chunks/{chunk-UBTP3QWI.js → chunk-KCLMA2IH.js} +1 -1
- package/dist/chunks/chunk-KDER7R45.js +2 -0
- package/dist/chunks/{chunk-IXZ5ZGIL.js → chunk-KOC3YJEU.js} +2 -2
- package/dist/chunks/{chunk-R6MMWEH4.js → chunk-KP2MYTP5.js} +1 -1
- package/dist/chunks/{chunk-TV2LE2BD.js → chunk-KU4TPDPH.js} +2 -2
- package/dist/chunks/{chunk-WJSJXK2N.js → chunk-KUE46HTH.js} +1 -1
- package/dist/chunks/chunk-LVXL7T5O.js +2 -0
- package/dist/chunks/{chunk-TSQ2I6XV.js → chunk-M4A7G4S5.js} +2 -2
- package/dist/chunks/{chunk-MX7KV5DA.js → chunk-M4ZHFDRJ.js} +1 -1
- package/dist/chunks/{chunk-26ID6A5C.js → chunk-MEJLWNRS.js} +1 -1
- package/dist/chunks/{chunk-XT5WUQGT.js → chunk-MIFVX5PK.js} +1 -1
- package/dist/chunks/{chunk-4VZJQRQI.js → chunk-MOXIGLN2.js} +1 -1
- package/dist/chunks/{chunk-UKSSFB4Q.js → chunk-N5EAVX4G.js} +1 -1
- package/dist/chunks/{chunk-4B7EGNYX.js → chunk-NMMHXYDJ.js} +1 -1
- package/dist/chunks/{chunk-EBOTNBUS.js → chunk-NRYC4NH6.js} +1 -1
- package/dist/chunks/chunk-NSSZ2ZIU.js +2 -0
- package/dist/chunks/{chunk-4TTXNVCE.js → chunk-OFJPOTES.js} +1 -1
- package/dist/chunks/chunk-OIH2LPIT.js +2 -0
- package/dist/chunks/chunk-OUJ63LMU.js +2 -0
- package/dist/chunks/{chunk-SD2XDZQW.js → chunk-P4QM63L3.js} +1 -1
- package/dist/chunks/chunk-PACLKDTN.js +2 -0
- package/dist/chunks/{chunk-VPAEFG7X.js → chunk-PAYFJHPO.js} +1 -1
- package/dist/chunks/{chunk-OPTJYDZN.js → chunk-PHZZBXDO.js} +1 -1
- package/dist/chunks/{chunk-HPTEJBP4.js → chunk-PKJHN666.js} +1 -1
- package/dist/chunks/{chunk-HNDAGZCF.js → chunk-PLROXHG2.js} +1 -1
- package/dist/chunks/{chunk-UNE52L3Y.js → chunk-PNPV2LDE.js} +1 -1
- package/dist/chunks/{chunk-2RSGVLZT.js → chunk-PSY6IRJE.js} +8 -8
- package/dist/chunks/{chunk-SVNEPXU3.js → chunk-Q73RKX7I.js} +1 -1
- package/dist/chunks/{chunk-IF5A3XWP.js → chunk-Q7FBVLLB.js} +1 -1
- package/dist/chunks/{chunk-V5AOM5MZ.js → chunk-Q7P34B2O.js} +1 -1
- package/dist/chunks/{chunk-375PADDM.js → chunk-QLGP2OAQ.js} +1 -1
- package/dist/chunks/{chunk-QQLS5FB7.js → chunk-QUNQM2E3.js} +1 -1
- package/dist/chunks/chunk-R2FYCJL6.js +2 -0
- package/dist/chunks/{chunk-6HQUIKC5.js → chunk-R4EEGWXB.js} +1 -1
- package/dist/chunks/chunk-RBTDSI4L.js +11 -0
- package/dist/chunks/chunk-RCQYEHHD.js +2 -0
- package/dist/chunks/{chunk-TGULVWPV.js → chunk-RFQD6B44.js} +1 -1
- package/dist/chunks/{chunk-3WJQ4IGK.js → chunk-RPM4FDRX.js} +1 -1
- package/dist/chunks/{chunk-MCBRB5D6.js → chunk-RY46UPBO.js} +4 -4
- package/dist/chunks/{chunk-K3LS5SK7.js → chunk-SDHG6CKU.js} +1 -1
- package/dist/chunks/{chunk-XKZ4PFMQ.js → chunk-SO4GMSNP.js} +1 -1
- package/dist/chunks/{chunk-O6ZYDHEJ.js → chunk-SSHE6B7Z.js} +1 -1
- package/dist/chunks/{chunk-SH7POUVX.js → chunk-SV7ZBEK2.js} +6 -6
- package/dist/chunks/{chunk-BJXPQIVD.js → chunk-U7D6Q744.js} +1 -1
- package/dist/chunks/chunk-U7X5ZLAL.js +2 -0
- package/dist/chunks/{chunk-N54CPLVD.js → chunk-UANH7U3Y.js} +1 -1
- package/dist/chunks/{chunk-BUZ7CBJC.js → chunk-UGFSAG4U.js} +1 -1
- package/dist/chunks/chunk-ULTV6INR.js +2 -0
- package/dist/chunks/{chunk-V3ILZQER.js → chunk-UMAVVMXL.js} +7 -7
- package/dist/chunks/chunk-V24VHT76.js +2 -0
- package/dist/chunks/chunk-VEBW7NKD.js +2 -0
- package/dist/chunks/chunk-VJR2GNRY.js +2 -0
- package/dist/chunks/{chunk-JD76ANPN.js → chunk-VJYOKU3C.js} +1 -1
- package/dist/chunks/{chunk-H2XG5N7D.js → chunk-VWWKWYSQ.js} +1 -1
- package/dist/chunks/chunk-WCNPGKST.js +2 -0
- package/dist/chunks/chunk-WD4KAKEX.js +2 -0
- package/dist/chunks/chunk-WGQ3FMRF.js +2 -0
- package/dist/chunks/{chunk-6C3CXME7.js → chunk-WNXUSELC.js} +1 -1
- package/dist/chunks/{chunk-RS526BG7.js → chunk-WZ35ICTE.js} +3 -3
- package/dist/chunks/chunk-XHACK2KR.js +2 -0
- package/dist/chunks/chunk-XOPHFUUY.js +2 -0
- package/dist/chunks/{chunk-YKTJPCYZ.js → chunk-XQAUHXL4.js} +4 -4
- package/dist/chunks/{chunk-ZVMQLIRA.js → chunk-XT4CSKHM.js} +1 -1
- package/dist/chunks/{chunk-KQD36SBJ.js → chunk-XY7HFXLH.js} +1 -1
- package/dist/chunks/{chunk-UXO33ST5.js → chunk-XYZV3FKD.js} +1 -1
- package/dist/chunks/{chunk-GC6RJBRZ.js → chunk-Y2WNZWT2.js} +1 -1
- package/dist/chunks/chunk-Y4I6CFZJ.js +2 -0
- package/dist/chunks/chunk-YDZBX4XQ.js +2 -0
- package/dist/chunks/chunk-YI6ME6PU.js +22 -0
- package/dist/chunks/{chunk-H42UW6IF.js → chunk-YXMYK5P7.js} +1 -1
- package/dist/chunks/{chunk-QFL2VQKX.js → chunk-Z33RVGP6.js} +1 -1
- package/dist/chunks/{chunk-OY4B7Y3T.js → chunk-ZDEIVUUI.js} +1 -1
- package/dist/chunks/{chunk-XGJG2ZKE.js → chunk-ZIQJDTQB.js} +1 -1
- package/dist/chunks/{chunk-IR2Y2VQY.js → chunk-ZYLLPRPU.js} +1 -1
- package/dist/chunks/cli-R7TAP6Z2.js +2 -0
- package/dist/chunks/{command-NWOZXU57.js → command-LNOVZQSK.js} +3 -3
- package/dist/chunks/{configuration-command-ZEIBQKB3.js → configuration-command-CNITTZRP.js} +1 -1
- package/dist/chunks/connected-app-executor-FGWCLOJO.js +2 -0
- package/dist/chunks/connected-evidence-5VZBYNWN.js +2 -0
- package/dist/chunks/{connected-starting-assets-66Y46ZPM.js → connected-starting-assets-KWOFEIE4.js} +1 -1
- package/dist/chunks/{connection-GDWPMHPC.js → connection-VMBXW5PD.js} +1 -1
- package/dist/chunks/{continual-TNPTWTKK.js → continual-FVOLGGOE.js} +1 -1
- package/dist/chunks/core-commands-BPYXVT7O.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-UUYFWWCT.js +4 -0
- package/dist/chunks/datasets-E5TXSVIY.js +2 -0
- package/dist/chunks/desktop-test-FX7DTY4N.js +3 -0
- package/dist/chunks/dist-2MKJC6HN.js +2 -0
- package/dist/chunks/{dist-GR56E3QK.js → dist-DKE7RJZN.js} +1 -1
- package/dist/chunks/evaluation-coordination-KUTZEEPB.js +2 -0
- package/dist/chunks/experiment-improvements-PQNR5YHN.js +2 -0
- package/dist/chunks/experiments-Z4BJWT3Y.js +2 -0
- package/dist/chunks/experiments-signal-3GCLKUWZ.js +2 -0
- package/dist/chunks/{extension-UH34ZF7N.js → extension-3EKIT6BB.js} +1 -1
- package/dist/chunks/{help-O53DTZGN.js → help-K6YLZ3KL.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-UF4ATIUF.js +2 -0
- package/dist/chunks/host-profile-external-dataset-KSEPXY2S.js +2 -0
- package/dist/chunks/hosted-app-server-composition-LA3BZ4SE.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-VG2WE7XZ.js +3 -0
- package/dist/chunks/hosted-harness-runtime-MMTLCL23.js +2 -0
- package/dist/chunks/hosted-profile-candidate-PTGQLPZO.js +3 -0
- package/dist/chunks/hosted-profile-compiler-FS5R6CHJ.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-UUEZEMXU.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-4F7OEF4T.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-LIJJZDHQ.js +3 -0
- package/dist/chunks/hosted-tasksets-NXVF4AQA.js +2 -0
- package/dist/chunks/human-review-2ZOB7CJZ.js +2 -0
- package/dist/chunks/{import-OBAKUJPM.js → import-YHYKZ6JN.js} +2 -2
- package/dist/chunks/{learning-CRR6NRPN.js → learning-LAXMGWSQ.js} +1 -1
- package/dist/chunks/learning-Y3UKNUGE.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-3YJQRYXC.js +2 -0
- package/dist/chunks/local-harness-taskset-review-XQHQ6JCR.js +2 -0
- package/dist/chunks/{model-projects-HP4DELCP.js → model-projects-6YWVD2TS.js} +1 -1
- package/dist/chunks/opchat-XXI2ZM53.js +3 -0
- package/dist/chunks/opchat-bounded-chat-3MZGCRLY.js +2 -0
- package/dist/chunks/organizations-W7HI2JA4.js +2 -0
- package/dist/chunks/{profile-3WZJ65CT.js → profile-P2SJPBOJ.js} +1 -1
- package/dist/chunks/project-action-payload-LTIQBX77.js +2 -0
- package/dist/chunks/project-agent-XRIXMXQK.js +2 -0
- package/dist/chunks/published-experiment-source-SDXUVPE7.js +2 -0
- package/dist/chunks/refiner-profile-service-56VYLZQJ.js +2 -0
- package/dist/chunks/{runtime-XP4DEGR3.js → runtime-Q7JUJO4D.js} +2 -2
- package/dist/chunks/sandbox-command-HVA5FJU4.js +2 -0
- package/dist/chunks/{sandbox-template-YFMHEMUQ.js → sandbox-template-U536EEWY.js} +1 -1
- package/dist/chunks/saved-work-KSIQPXC2.js +2 -0
- package/dist/chunks/{send-turn-D3GTSSHI.js → send-turn-YLY3YNEQ.js} +1 -1
- package/dist/chunks/setup-RMZ2BHLM.js +2 -0
- package/dist/chunks/{src-GQPWOPYA.js → src-C3ZUESMK.js} +1 -1
- package/dist/chunks/src-SGQYVBNQ.js +424 -0
- package/dist/chunks/standalone-experiment-turn-owner-TW5MTWIO.js +2 -0
- package/dist/chunks/store-chat-resources-IRHBW2EC.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-VVRQO2JK.js → store-continual-support-reviews-3KK42L4I.js} +1 -1
- package/dist/chunks/store-conversation-serving-IVURK52V.js +2 -0
- package/dist/chunks/{store-create-improve-2XI36AET.js → store-create-improve-UTCLBXF2.js} +1 -1
- package/dist/chunks/{store-datasets-UFY422NG.js → store-datasets-4AQOVAQY.js} +1 -1
- package/dist/chunks/store-evaluation-results-PK2P3IMH.js +7 -0
- package/dist/chunks/{store-harness-workspaces-SGUEYDO2.js → store-harness-workspaces-YEXB4IRV.js} +1 -1
- package/dist/chunks/store-human-review-O4BVHP25.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-44SVX6YB.js +2 -0
- package/dist/chunks/{store-learning-BFOT4QVT.js → store-learning-SIUQIY5C.js} +1 -1
- package/dist/chunks/{store-learning-credentials-DYTMWQTC.js → store-learning-credentials-BUHR7SN6.js} +1 -1
- package/dist/chunks/store-local-experiments-BHVTKPPE.js +97 -0
- package/dist/chunks/store-model-batch-review-RVAYUVK2.js +2 -0
- package/dist/chunks/{store-model-configuration-NJFWSYSA.js → store-model-configuration-6L3OYXF4.js} +1 -1
- package/dist/chunks/store-model-project-preparation-AAEKCF6V.js +2 -0
- package/dist/chunks/store-modification-recordings-LCPK6K2T.js +9 -0
- package/dist/chunks/{store-preference-comparison-MZAYONCK.js → store-preference-comparison-5YVIQNVB.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-J3JEVAYR.js → store-sidebar-file-bookmarks-WLMYDA4E.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-2JHTFXJK.js → store-sidebar-preferences-AFMYIDWT.js} +1 -1
- package/dist/chunks/{store-subagents-PUBQVWSU.js → store-subagents-KFPVSTRO.js} +1 -1
- package/dist/chunks/{store-task-inbox-3BREANOX.js → store-task-inbox-L6IQTY26.js} +1 -1
- package/dist/chunks/{store-task-inventory-5HRZCDUT.js → store-task-inventory-QWS2C656.js} +1 -1
- package/dist/chunks/store-taskset-drafts-FRFL6ITK.js +9 -0
- package/dist/chunks/{store-training-S3FXWLT6.js → store-training-FYXZU2FE.js} +1 -1
- package/dist/chunks/{store-training-jobs-2LCXPA7G.js → store-training-jobs-3N3VKPIY.js} +1 -1
- package/dist/chunks/{store-training-models-7AMKS7ZW.js → store-training-models-VOFVGPZR.js} +1 -1
- package/dist/chunks/{taskset-PLKWRT4X.js → taskset-UDDLFYKV.js} +1 -1
- package/dist/chunks/taskset-catalog-RZYEBCRQ.js +2 -0
- package/dist/chunks/taskset-packages-T6B6HYKZ.js +2 -0
- package/dist/chunks/taskset-packages-WMG5DUBN.js +2 -0
- package/dist/chunks/{teams-bot-VQXUA7U4.js → teams-bot-MPWL2PP4.js} +1 -1
- package/dist/chunks/tool-learning-ZQ6NSJ5K.js +2 -0
- package/dist/chunks/training-5NT2YB2L.js +2 -0
- package/dist/chunks/training-5UMT45UL.js +2 -0
- package/dist/chunks/training-UY6KRG4M.js +2 -0
- package/dist/chunks/{training-error-LQKCOQDJ.js → training-error-WF463UNZ.js} +1 -1
- package/dist/chunks/{training-hardware-ESXRWUIK.js → training-hardware-UWQCRDMV.js} +1 -1
- package/dist/chunks/training-hosted-CKSDRVL6.js +2 -0
- package/dist/chunks/training-hosted-alphaedit-HSMRDJTD.js +2 -0
- package/dist/chunks/training-hosted-decision-7JALOU6O.js +2 -0
- package/dist/chunks/training-hosted-engram-SXO75MFG.js +2 -0
- package/dist/chunks/{training-hosted-learning-WQ2IP5FP.js → training-hosted-learning-E2N32YU5.js} +1 -1
- package/dist/chunks/training-hosted-modification-comparison-TXFDJFTG.js +2 -0
- package/dist/chunks/training-hosted-neuron-training-J42WK4EH.js +2 -0
- package/dist/chunks/training-hosted-serving-report-BAEABGJH.js +2 -0
- package/dist/chunks/training-hosted-steering-T556BUBG.js +2 -0
- package/dist/chunks/training-model-start-P3PXDWNT.js +2 -0
- package/dist/chunks/web-search-ZEKJHZW4.js +2 -0
- package/dist/chunks/{workspaces-MCS2AQX6.js → workspaces-EK62ANTB.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/sandbox/types/billing.d.ts +87 -6
- package/dist/sandbox/types/io.d.ts +3 -0
- package/dist/sandbox-template/manifest.js +1 -1
- package/dist/skills/manifest.json +3 -3
- package/dist/skills/openpond-cli/references/experiments-and-training.md +461 -1
- package/dist/web/assets/App-CCuh99JW.js +54 -0
- package/dist/web/assets/{AppDialog-BvskhHE9.js → AppDialog-CxjDHVk9.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-CKJIVpKa.js +2 -0
- package/dist/web/assets/{AppToastContext-D2788RqX.js → AppToastContext-EpiT1dHs.js} +1 -1
- package/dist/web/assets/AppsView-BsMyPX_3.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DVluUHuc.js → AttachmentTypeIcon-BXvZy5gB.js} +1 -1
- package/dist/web/assets/BrowserSidebar-BIIV4aq4.js +1 -0
- package/dist/web/assets/{CartesianChart-DdBZ69lI.js → CartesianChart-brqLBqnF.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-CwZbn16X.js +8 -0
- package/dist/web/assets/{CollaborationTabs-ba6WupeJ.js → CollaborationTabs-BU4uc4tZ.js} +1 -1
- package/dist/web/assets/{CommandMenu-D7wTaEgl.js → CommandMenu-DkWpXR55.js} +1 -1
- package/dist/web/assets/CommunityView-CsSxJZGn.js +1 -0
- package/dist/web/assets/{ComposerAttachments-aO90qXYz.js → ComposerAttachments-BdJGCYzI.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-BPUJBSyS.js → ComposerCreateImproveStrip-CWy0j1vv.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-Bo836wKJ.js → ConversationImportsSettings-DCmiakbZ.js} +1 -1
- package/dist/web/assets/DatasetReviewImport-DEnF_pGu.js +1 -0
- package/dist/web/assets/ExperimentTrainingDataWorkspace-WhwQ0QBi.js +2 -0
- package/dist/web/assets/{FilePagePreview-C6wIp6uX.js → FilePagePreview-BRhhz99q.js} +2 -2
- package/dist/web/assets/{GetStartedView-CxMv8q-h.js → GetStartedView-CLVD-qEi.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-CEb0cS-o.js → GettingStartedDialog-CMxaAMg-.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-Cn-j-rDo.js +1 -0
- package/dist/web/assets/HostedModelLearningSettings-VNBvf38S.js +1 -0
- package/dist/web/assets/{HtmlVisual-CCuUkYT8.js → HtmlVisual-D5y2WG9L.js} +10 -10
- package/dist/web/assets/LabModelVersionDetailPage-BxRmYD6h.js +1 -0
- package/dist/web/assets/{TrainingRunLineage-PXzWR65d.css → LabModelWorkspace-DOrgCk9Z.css} +1 -1
- package/dist/web/assets/LabModelWorkspace-u2Ulm_z4.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-CFROlATQ.js → LabSkillSidebar-C7IceJTJ.js} +1 -1
- package/dist/web/assets/LabsRoute-C9Y0GU34.css +1 -0
- package/dist/web/assets/LabsRoute-CbztQaEf.js +74 -0
- package/dist/web/assets/LearningBatchesPage-B1NZTBSv.css +1 -0
- package/dist/web/assets/LearningBatchesPage-CJqgZNvM.js +26 -0
- package/dist/web/assets/MainChatThread-DNMfrrRq.js +2 -0
- package/dist/web/assets/{MainPane-BOWkynGB.css → MainPane-BZlNLfTM.css} +1 -1
- package/dist/web/assets/MainPane-CQQxSDPS.js +13 -0
- package/dist/web/assets/ModelProjectPageHeader-Dge19aE1.js +1 -0
- package/dist/web/assets/NativeSetupTerminal-D4JnbpyD.js +2 -0
- package/dist/web/assets/{NativeSkillSidebar-MAJWS4mL.js → NativeSkillSidebar-Jzx1BeKV.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-MQiUBVx3.js → NewProjectDialog-DcnGzEd9.js} +1 -1
- package/dist/web/assets/{OutputsPage-DpF-aRTu.js → OutputsPage-Cmk15Vt_.js} +1 -1
- package/dist/web/assets/{PageChrome-8gH2hyDb.js → PageChrome-Cz_fCqtn.js} +1 -1
- package/dist/web/assets/{ProjectsPage-BQ98oGyu.js → ProjectsPage-BZ3Eo3Mz.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-C6H2vU9N.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-BfMMVkM1.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-CGCqZz_H.js → ScheduledWorkPage-CAkSwM0T.js} +1 -1
- package/dist/web/assets/{SettingsView-CqpMFLxy.js → SettingsView-DvQXGw3_.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-DJvIvzBb.js → TasksetDraftEditorPrimitives-JuU1k8vr.js} +1 -1
- package/dist/web/assets/TeamChatView-DmHjr8W9.js +1 -0
- package/dist/web/assets/{TerminalOverlay-D--M876l.js → TerminalOverlay-DlaM9d8F.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-DDUoHQHU.js → TrainingCreationPanel-ClpylNsr.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-CwLXn3Z7.js → TrainingDraftPanel-6tH2xSDj.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CGwPregx.js → UsageSettingsSection-CzDqxOYM.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-CY-AHZ4-.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-B4e0lyF7.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-D01ZkZZF.js +35 -0
- package/dist/web/assets/{WorkspaceFileLocation-D-ctFM4d.js → WorkspaceFileLocation-C5s_njZb.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-CQ28j3R7.js → WorkspaceGitDialogs-DjPZ6KIh.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-BrZs6-EW.js → WorkspaceMonacoEditor-CC4sfOiU.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-CU6PSjjN.js → WorkspacePdfPreview-vszQqFa4.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-IjXVXpIy.js → WorkspacePresentationPreview-DQTvhaRD.js} +1 -1
- package/dist/web/assets/api-client-DJRVOFzS.js +1 -0
- package/dist/web/assets/{app-models-CKXrDTEU.js → app-models-BUdzQbXo.js} +1 -1
- package/dist/web/assets/bot-Doyx3T4j.js +1 -0
- package/dist/web/assets/{browser-sidebar-links-D9v2cyJa.js → browser-sidebar-links-PVPCrsDJ.js} +1 -1
- package/dist/web/assets/chat-resources-Beh5lB36.js +1 -0
- package/dist/web/assets/chevron-down-DX1hzujj.js +1 -0
- package/dist/web/assets/chevron-right-DHN0y3KC.js +1 -0
- package/dist/web/assets/chevron-up-_QrW88NF.js +1 -0
- package/dist/web/assets/{chunk-TLSP5JKG-BrrVo5rJ.js → chunk-3BYFS4RO-ztZjcMmt.js} +1 -1
- package/dist/web/assets/chunk-AG6UJ3DI-D9KZjTYP.js +1 -0
- package/dist/web/assets/chunk-C3TS766N-ppRhs95p.js +1 -0
- package/dist/web/assets/chunk-GCUWJUUM-Dy6oUNJ6.js +9 -0
- package/dist/web/assets/chunk-GS5HEE4M-C0RLeIsy.js +1 -0
- package/dist/web/assets/{chunk-H3JZ3P5T-CzpTARDY.js → chunk-H3JZ3P5T-DolwEJXo.js} +2 -2
- package/dist/web/assets/chunk-Q4RGCEOI-Cr-dg4Nk.js +1 -0
- package/dist/web/assets/client-DwZ92xtu.js +1 -0
- package/dist/web/assets/{client-choice-storage-DUWsS4X0.js → client-choice-storage-DitqKiIT.js} +1 -1
- package/dist/web/assets/cloud-upload-HdzNTgr2.js +1 -0
- package/dist/web/assets/common-BWVSBnpX.js +1 -0
- package/dist/web/assets/copy-DTQhoBNg.js +1 -0
- package/dist/web/assets/create-pipeline-DsZzNkt9.js +1 -0
- package/dist/web/assets/{cssMode-SclUkqPt.js → cssMode-BRTtfXxU.js} +1 -1
- package/dist/web/assets/dataset-workspaces-BTPi71mz.js +1 -0
- package/dist/web/assets/external-link-H1629UU6.js +1 -0
- package/dist/web/assets/folder-open-CAGdWOrr.js +1 -0
- package/dist/web/assets/folder-plus-C14cs2mE.js +1 -0
- package/dist/web/assets/git-commit-horizontal-DFUfuVvF.js +1 -0
- package/dist/web/assets/{htmlMode-X3mQtOeh.js → htmlMode-BVaCcL76.js} +1 -1
- package/dist/web/assets/icons-Bk2b68aC.js +1 -0
- package/dist/web/assets/image-0DPVY6Ev.js +1 -0
- package/dist/web/assets/{index-LXNhSUEL.js → index-B6XX_0h3.js} +2 -2
- package/dist/web/assets/info-C8b_tafZ.js +1 -0
- package/dist/web/assets/{intake-contracts-wCkD2ErR.js → intake-contracts-B8JZKYwb.js} +1 -1
- package/dist/web/assets/{jsonMode-BoKiIdHd.js → jsonMode-BCKKQmmV.js} +1 -1
- package/dist/web/assets/loader-circle-y-SSPwpk.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-CO2mzpy1.js → lspLanguageFeatures-DozmNUOx.js} +1 -1
- package/dist/web/assets/maximize-2-CByk9-zN.js +1 -0
- package/dist/web/assets/message-square-C889vRqm.js +1 -0
- package/dist/web/assets/{monaco.contribution-wacA5FjV.js → monaco.contribution-B9q6qbbo.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CVe3mWSY.js → monaco.contribution-BITdsRbn.js} +2 -2
- package/dist/web/assets/{monaco.contribution-hrusiaZi.js → monaco.contribution-BqA-XZ44.js} +2 -2
- package/dist/web/assets/{monaco.contribution-C7CAQIKF.js → monaco.contribution-DxAV1oS5.js} +2 -2
- package/dist/web/assets/monitor-BtxlcLuI.js +1 -0
- package/dist/web/assets/paperclip-BeIdaspf.js +1 -0
- package/dist/web/assets/{pdf-Ct3M2mVw.js → pdf-perlzwEB.js} +1 -1
- package/dist/web/assets/play-CHXXdkuO.js +1 -0
- package/dist/web/assets/plus-DFFWjhPw.js +1 -0
- package/dist/web/assets/{ponder-desktop-D-zB6X4L.js → ponder-desktop-Ca-9KggQ.js} +1 -1
- package/dist/web/assets/presentation-0bzvu6_u.js +1 -0
- package/dist/web/assets/{profile-ref-CCxrOCio.js → profile-ref-D8lxL7dW.js} +1 -1
- package/dist/web/assets/{python-C0-pUUAU.js → python-B9hOnkOI.js} +1 -1
- package/dist/web/assets/refresh-cw-D61-Ozk3.js +1 -0
- package/dist/web/assets/{requests-DjSt-duM.js → requests-DmeUYik4.js} +1 -1
- package/dist/web/assets/reward-checks-DJJZYgf8.js +7 -0
- package/dist/web/assets/save-iEMNZoPe.js +1 -0
- package/dist/web/assets/schemas-Brv9Vmnk.js +64 -0
- package/dist/web/assets/settings-BC-bzgk6.js +21 -0
- package/dist/web/assets/settings-lists-C84qxFmP.js +5 -0
- package/dist/web/assets/square-BE_4JMR3.js +1 -0
- package/dist/web/assets/square-terminal-Djpzo2Qs.js +1 -0
- package/dist/web/assets/{submit-issue-command-Gk3RKrY-.js → submit-issue-command-HfKzyxg5.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BnYUBgZB.js → toggleHighContrast-ClsXu39R.js} +1 -1
- package/dist/web/assets/training-DWfghwfZ.js +1 -0
- package/dist/web/assets/{training-model-data-CxR3xpmK.js → training-model-data-CIysl8wH.js} +4 -4
- package/dist/web/assets/{tsMode-BVNyOY8h.js → tsMode-nbmaMc-D.js} +1 -1
- package/dist/web/assets/upload-C6ug8RD-.js +1 -0
- package/dist/web/assets/{useAccountSettings-4_XfwJQi.js → useAccountSettings-Dr9h4Qz_.js} +1 -1
- package/dist/web/assets/{useAgentInventory-CVuamyT3.js → useAgentInventory-ByCk2JAv.js} +1 -1
- package/dist/web/assets/useChatContextSelection-C0eMm2g6.js +1 -0
- package/dist/web/assets/{useLocalAgentSchedules-CmwN4ohy.js → useLocalAgentSchedules-Do0y_leJ.js} +1 -1
- package/dist/web/assets/useQuery-D2MQ7e5U.js +1 -0
- package/dist/web/assets/wifi-off-Dr-CapyW.js +1 -0
- package/dist/web/assets/work-outputs-D_8TovAK.js +1 -0
- package/dist/web/assets/{workers-CjtQ2aBD.js → workers-DKvM2NdM.js} +1 -1
- package/dist/web/assets/x-Jx2jlP9u.js +1 -0
- package/dist/web/assets/{yaml-N1KUjBZ8.js → yaml-C02vq4ar.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +93 -3
- package/package.json +1 -1
- package/dist/chunks/actions-command-BYPLSGZL.js +0 -2
- package/dist/chunks/app-server-evaluations-5YZUFXQ2.js +0 -2
- package/dist/chunks/app-server-harness-services-N5F5QVZI.js +0 -2
- package/dist/chunks/app-server-runtime-HJ2N57DL.js +0 -2
- package/dist/chunks/apps-WJTW64NW.js +0 -2
- package/dist/chunks/chunk-263WS3TB.js +0 -2
- package/dist/chunks/chunk-2UZHLO2V.js +0 -23
- package/dist/chunks/chunk-2W22IXHB.js +0 -2
- package/dist/chunks/chunk-46RMTR2Z.js +0 -2
- package/dist/chunks/chunk-4JJ4RYIB.js +0 -6
- package/dist/chunks/chunk-4NN5OLKW.js +0 -161
- package/dist/chunks/chunk-543QHE3D.js +0 -2
- package/dist/chunks/chunk-5QOFUGYQ.js +0 -2
- package/dist/chunks/chunk-5ZNE43XC.js +0 -10
- package/dist/chunks/chunk-6IS5OLI5.js +0 -2
- package/dist/chunks/chunk-7HAGSE7L.js +0 -2
- package/dist/chunks/chunk-AXYAEWWA.js +0 -2
- package/dist/chunks/chunk-B7XJBP4U.js +0 -2
- package/dist/chunks/chunk-BBIA24GD.js +0 -10
- package/dist/chunks/chunk-CJDGLPNX.js +0 -4
- package/dist/chunks/chunk-FCXDPVGJ.js +0 -3
- package/dist/chunks/chunk-FE2ENE3U.js +0 -2
- package/dist/chunks/chunk-H6EUFJJK.js +0 -2
- package/dist/chunks/chunk-IOSBGCRT.js +0 -2
- package/dist/chunks/chunk-K6DB5QWG.js +0 -2
- package/dist/chunks/chunk-LI56PPCN.js +0 -2
- package/dist/chunks/chunk-OE2OOWEQ.js +0 -2
- package/dist/chunks/chunk-OYIFH2OM.js +0 -2
- package/dist/chunks/chunk-QOUOU7FE.js +0 -22
- package/dist/chunks/chunk-R5GRESW3.js +0 -2
- package/dist/chunks/chunk-TERKCK4I.js +0 -2
- package/dist/chunks/chunk-TS5HNRZB.js +0 -2
- package/dist/chunks/chunk-V3KEG6MI.js +0 -2
- package/dist/chunks/chunk-WGISITX6.js +0 -4
- package/dist/chunks/chunk-XD4ZIQZ2.js +0 -2
- package/dist/chunks/chunk-XHU4BZQY.js +0 -13
- package/dist/chunks/chunk-ZWEY66RT.js +0 -2
- package/dist/chunks/cli-HV32F7HD.js +0 -2
- package/dist/chunks/connected-app-executor-DFHWNMRM.js +0 -2
- package/dist/chunks/connected-evidence-WOM6N5HO.js +0 -2
- package/dist/chunks/core-commands-GWRHH53F.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-WJ2XEUO7.js +0 -4
- package/dist/chunks/datasets-XIMF54QN.js +0 -2
- package/dist/chunks/desktop-test-HF42V2EP.js +0 -3
- package/dist/chunks/dist-T6ES2TSM.js +0 -2
- package/dist/chunks/evaluation-coordination-WZT6FDMS.js +0 -2
- package/dist/chunks/experiment-improvements-H35VS6XZ.js +0 -2
- package/dist/chunks/experiments-F54C32EE.js +0 -2
- package/dist/chunks/experiments-signal-ONIGTGYR.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-LMCJ3MDJ.js +0 -2
- package/dist/chunks/host-profile-external-dataset-4HOXANWK.js +0 -2
- package/dist/chunks/hosted-app-server-composition-Y64A2A2B.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-B2V2WIUI.js +0 -3
- package/dist/chunks/hosted-harness-runtime-C7I4KSDK.js +0 -2
- package/dist/chunks/hosted-profile-candidate-CXPVEEYQ.js +0 -3
- package/dist/chunks/hosted-profile-compiler-FGCI2VRW.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-INNUYMBD.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-UPTBRYMS.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-TIQSVKLQ.js +0 -3
- package/dist/chunks/hosted-tasksets-7VMYOTIO.js +0 -2
- package/dist/chunks/human-review-7XC77NQP.js +0 -2
- package/dist/chunks/learning-3XDGIYUL.js +0 -2
- package/dist/chunks/local-harness-improvement-runtime-UIKQSAMM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-6KJN3EQL.js +0 -2
- package/dist/chunks/opchat-NWYWWIA7.js +0 -3
- package/dist/chunks/opchat-bounded-chat-ICURZM6R.js +0 -2
- package/dist/chunks/organizations-7DBQGCCV.js +0 -2
- package/dist/chunks/project-action-payload-7DRABTHY.js +0 -2
- package/dist/chunks/project-agent-AXJOWXRU.js +0 -2
- package/dist/chunks/published-experiment-source-YBBPLNF2.js +0 -2
- package/dist/chunks/refiner-profile-service-ATEFPF5O.js +0 -2
- package/dist/chunks/sandbox-command-CF2PJCFX.js +0 -2
- package/dist/chunks/saved-work-3OAVRBH3.js +0 -2
- package/dist/chunks/setup-RHIMFI2Y.js +0 -2
- package/dist/chunks/src-V236S6MV.js +0 -424
- package/dist/chunks/standalone-experiment-turn-owner-CDRMGLWW.js +0 -2
- package/dist/chunks/store-chat-resources-P4EKCLSY.js +0 -2
- package/dist/chunks/store-conversation-serving-YFEZYQD3.js +0 -2
- package/dist/chunks/store-evaluation-results-VBH4R2U7.js +0 -7
- package/dist/chunks/store-human-review-RFCVZ3HP.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-FNBGGZU6.js +0 -2
- package/dist/chunks/store-local-experiments-XPXGYXNM.js +0 -97
- package/dist/chunks/store-model-batch-review-J2L5JQV2.js +0 -2
- package/dist/chunks/store-model-project-preparation-OCLIFKI2.js +0 -2
- package/dist/chunks/store-taskset-drafts-BNKUVHPA.js +0 -9
- package/dist/chunks/taskset-packages-SXBLYHSP.js +0 -2
- package/dist/chunks/taskset-packages-V5T4V7YN.js +0 -2
- package/dist/chunks/tool-learning-47XQKELE.js +0 -2
- package/dist/chunks/training-7VQNCOGH.js +0 -2
- package/dist/chunks/training-VKLPNCMC.js +0 -2
- package/dist/chunks/training-hosted-NNE6BP6S.js +0 -2
- package/dist/chunks/training-hosted-serving-report-VZ4SMLMG.js +0 -2
- package/dist/chunks/training-model-start-G7YDZ7ZG.js +0 -2
- package/dist/chunks/web-search-56QRZGPR.js +0 -2
- package/dist/web/assets/App-DmEA-Lia.js +0 -53
- package/dist/web/assets/AppTerminalPanel-ScQKJV4z.js +0 -2
- package/dist/web/assets/AppsView-B1uNg9IQ.js +0 -1
- package/dist/web/assets/BrowserSidebar-DfVQoJHn.js +0 -1
- package/dist/web/assets/ChatTimelineEntry-Bbc6HRks.js +0 -8
- package/dist/web/assets/CommunityView-mO58f2B0.js +0 -1
- package/dist/web/assets/HostedModelLearningReview-BQIS7hkd.js +0 -1
- package/dist/web/assets/HostedModelLearningSettings-BQ-YeFMT.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-BkHeVbAx.js +0 -1
- package/dist/web/assets/LabsRoute-CE45yAXJ.css +0 -1
- package/dist/web/assets/LabsRoute-YA9YckKj.js +0 -101
- package/dist/web/assets/MainChatThread-DpyPgGKW.js +0 -2
- package/dist/web/assets/MainPane-WOeodByM.js +0 -10
- package/dist/web/assets/NativeSetupTerminal-fmG2c65K.js +0 -2
- package/dist/web/assets/RightChatPanelStack-Bs7A4dLs.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-C-D4kba2.js +0 -1
- package/dist/web/assets/TeamChatView-DjmIaLO1.js +0 -1
- package/dist/web/assets/TrainingRunLineage-CtYe1KGX.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-C6wWuo7U.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-JDOUmrC-.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-sfL5LZeB.js +0 -35
- package/dist/web/assets/api-client-Dgz-fOMl.js +0 -1
- package/dist/web/assets/bot-Cd761lRF.js +0 -1
- package/dist/web/assets/chat-resources-BUDXdoG0.js +0 -1
- package/dist/web/assets/chevron-down-DEbd6Ek-.js +0 -1
- package/dist/web/assets/chevron-right-DLYNg_Oq.js +0 -1
- package/dist/web/assets/chevron-up-DFJJccDl.js +0 -1
- package/dist/web/assets/chunk-GHPCQXG5-DKDBSd8H.js +0 -9
- package/dist/web/assets/chunk-GJRXJL6G-luaxRTYI.js +0 -1
- package/dist/web/assets/chunk-JDQVAG3R-C0-rh1aR.js +0 -1
- package/dist/web/assets/chunk-XMVSQIK4-BBU7r_NH.js +0 -1
- package/dist/web/assets/client-BNjO4Xi8.js +0 -1
- package/dist/web/assets/cloud-upload-CoM1FGeB.js +0 -1
- package/dist/web/assets/common-CFsO2ppZ.js +0 -1
- package/dist/web/assets/copy-BGOhV6Pk.js +0 -1
- package/dist/web/assets/create-pipeline-DRR0Qeec.js +0 -1
- package/dist/web/assets/createLucideIcon-Bv-_eGcE.js +0 -1
- package/dist/web/assets/external-link-CVXsNeO3.js +0 -1
- package/dist/web/assets/folder-open-MnOmh19D.js +0 -1
- package/dist/web/assets/folder-plus-BRddLBtO.js +0 -1
- package/dist/web/assets/git-commit-horizontal-Bm4rkXug.js +0 -1
- package/dist/web/assets/icons-CZxmQtZs.js +0 -1
- package/dist/web/assets/image-BViGUAiq.js +0 -1
- package/dist/web/assets/info-DYPIbKKD.js +0 -1
- package/dist/web/assets/loader-circle-JFgFNsP5.js +0 -1
- package/dist/web/assets/maximize-2-DXZCQO0b.js +0 -1
- package/dist/web/assets/message-square-cOCAL8J1.js +0 -1
- package/dist/web/assets/models-route-CWcJuOd0.js +0 -1
- package/dist/web/assets/monitor-B35XSAvn.js +0 -1
- package/dist/web/assets/paperclip-CKgDxioG.js +0 -1
- package/dist/web/assets/play-DzqLr7fM.js +0 -1
- package/dist/web/assets/plus-Ddp1vXnw.js +0 -1
- package/dist/web/assets/presentation-B0S9v7ib.js +0 -1
- package/dist/web/assets/refresh-cw-D45mW-vs.js +0 -1
- package/dist/web/assets/reward-checks-D139zwha.js +0 -7
- package/dist/web/assets/save-Gu4R_82E.js +0 -1
- package/dist/web/assets/schemas-C9IwV7NS.js +0 -64
- package/dist/web/assets/settings-DdonLCIN.js +0 -21
- package/dist/web/assets/settings-lists-CFHFtO0D.js +0 -5
- package/dist/web/assets/square-Dqduqyyu.js +0 -1
- package/dist/web/assets/square-terminal-DS3zwi6X.js +0 -1
- package/dist/web/assets/training-QBuGBGJd.js +0 -2
- package/dist/web/assets/upload-ABSJxuUM.js +0 -1
- package/dist/web/assets/useQuery-CCjwL8VI.js +0 -1
- package/dist/web/assets/wifi-off-DGJH7Pke.js +0 -1
- package/dist/web/assets/work-outputs-CnbRtTLg.js +0 -1
- package/dist/web/assets/x-B-_zJVOZ.js +0 -1
- /package/dist/chunks/{chunk-SFR32TMJ.js → chunk-JXLDEYRW.js} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalOverlay-D--M876l.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-LXNhSUEL.js","assets/index-g7UqJhnX.css","assets/api-client-Dgz-fOMl.js","assets/icons-CZxmQtZs.js","assets/chevron-down-DEbd6Ek-.js","assets/createLucideIcon-Bv-_eGcE.js","assets/plus-Ddp1vXnw.js","assets/x-B-_zJVOZ.js","assets/AppToastContext-D2788RqX.js","assets/ui-theme.generated-D-mc26qt.js","assets/App-DmEA-Lia.js","assets/useQuery-CCjwL8VI.js","assets/schemas-C9IwV7NS.js","assets/common-CFsO2ppZ.js","assets/settings-DdonLCIN.js","assets/client-choice-storage-DUWsS4X0.js","assets/requests-DjSt-duM.js","assets/create-pipeline-DRR0Qeec.js","assets/profile-ref-CCxrOCio.js","assets/chunk-H3JZ3P5T-CzpTARDY.js","assets/work-outputs-CnbRtTLg.js","assets/training-QBuGBGJd.js","assets/chunk-GJRXJL6G-luaxRTYI.js","assets/chunk-GHPCQXG5-DKDBSd8H.js","assets/reward-checks-D139zwha.js","assets/intake-contracts-wCkD2ErR.js","assets/chunk-JDQVAG3R-C0-rh1aR.js","assets/ponder-desktop-D-zB6X4L.js","assets/chat-resources-BUDXdoG0.js","assets/app-models-CKXrDTEU.js","assets/model-display-zPvC4L2B.js","assets/submit-issue-command-Gk3RKrY-.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-D9v2cyJa.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/bot-Cd761lRF.js","assets/chevron-right-DLYNg_Oq.js","assets/copy-BGOhV6Pk.js","assets/external-link-CVXsNeO3.js","assets/loader-circle-JFgFNsP5.js","assets/maximize-2-DXZCQO0b.js","assets/message-square-cOCAL8J1.js","assets/refresh-cw-D45mW-vs.js","assets/square-terminal-DS3zwi6X.js","assets/models-route-CWcJuOd0.js","assets/NativeSetupTerminal-fmG2c65K.js","assets/AppDialog-BvskhHE9.js","assets/PageChrome-8gH2hyDb.js","assets/NativeSetupTerminal-3eR9D_R3.css","assets/organization-types-PP-yuR2J.js","assets/App-DpFKLxuA.css","assets/TerminalOverlay-DoUFGstN.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n,t as r}from"./index-LXNhSUEL.js";var i=e(t(),1),a=n(),o=(0,i.lazy)(()=>r(()=>import(`./TerminalOverlay-D--M876l.js`).then(e=>({default:e.TerminalOverlay})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55])));function s({open:e,connection:t,scope:n,tabs:r,onTabsChange:s,cwd:c,appId:l,workspaceName:u,queuedCommand:d,onClose:f}){let[p,m]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{e&&m(!0)},[e]),p?(0,a.jsx)(i.Suspense,{fallback:null,children:(0,a.jsx)(o,{open:e,connection:t,scope:n,tabs:r,onTabsChange:s,cwd:c,appId:l,workspaceName:u,queuedCommand:d,onClose:f})}):null}export{s as AppTerminalPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,l as n,m as r,s as i}from"./index-LXNhSUEL.js";import{T as a,t as o}from"./useQuery-CCjwL8VI.js";import{a as s,c,d as l,m as u,o as d,p as f,r as p,v as m}from"./schemas-C9IwV7NS.js";import{U as h,d as g,i as _,it as v}from"./chunk-H3JZ3P5T-CzpTARDY.js";import{C as y}from"./app-models-CKXrDTEU.js";import{n as b}from"./api-client-Dgz-fOMl.js";import"./icons-CZxmQtZs.js";import{t as x}from"./chevron-right-DLYNg_Oq.js";import{t as S}from"./external-link-CVXsNeO3.js";import{a as C,i as w,n as T,t as E}from"./settings-lists-CFHFtO0D.js";import{t as D}from"./plus-Ddp1vXnw.js";import{t as O}from"./refresh-cw-D45mW-vs.js";import{t as k}from"./x-B-_zJVOZ.js";import{r as A}from"./AppToastContext-D2788RqX.js";import{i as j}from"./models-route-CWcJuOd0.js";import{t as M}from"./NativeSetupTerminal-fmG2c65K.js";import{At as N,Bt as P,Gt as F,Mn as I,Nn as L,Nt as R,Rt as z,bn as ee,kt as B,un as te}from"./App-DmEA-Lia.js";import{D as V,O as ne}from"./MainPane-WOeodByM.js";import{i as H,n as U,r as W,t as re}from"./client-BNjO4Xi8.js";import{n as G,r as ie,t as ae}from"./useAgentInventory-CVuamyT3.js";/* empty css */var K=e(t(),1),q=r();function oe({context:e,baseUrl:t,onClose:n}){let[r,i]=(0,K.useState)(`claude_code`),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(null),l=C(n);A(s);async function u(){try{await navigator.clipboard.writeText(`Read ${new URL(`/agent-setup.md`,t).href} and connect ${re(r)} tool capture to my private saved Fix-it dataset. Reuse my existing OpenPond home and account and select workspace ${e.teamId}. Inspect openpond tool-learning --help and the Model commands. Reuse an owner-controlled private capture Model, or create one if needed, without activating training. All my connected agents should contribute to the same Fix-it dataset. I consent to bounded, sanitized tool arguments, error excerpts and follow-up actions from the workspace I select being saved as dataset records until I remove them; raw capture buffers retain their separate bounded retention. Confirm the actual client version and exact permitted tool names, then use tool-learning setup --client ${r} --team-id ${e.teamId} --project-id <private-capture-model> --workspace <chosen-workspace> --environment-file <bounded-context-file> --tools <exact-tool-names> --allow-upload with my existing home/account. Preserve unrelated hooks and permissions. ${r===`codex`?`Use the installed openpond-fix-it skill and tool-learning run for captured Codex CLI tasks; ordinary Codex desktop chats are outside this connection.`:``} Use doctor to verify observed capture and inspect the uploaded records through the normal dataset commands. Do not import conversation history, start OpenPond inference or training, provision compute, or activate a specialist.`),c(null),o(!0)}catch{c(`The setup prompt could not be copied. Please retry.`)}}return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:n,children:(0,q.jsxs)(`section`,{ref:l,className:`git-dialog provider-details-dialog agent-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Connect Fix-it`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{className:`git-dialog-close`,"aria-label":`Close`,onClick:n,children:(0,q.jsx)(k,{size:16})}),(0,q.jsx)(`div`,{className:`provider-dialog-header`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Connect Fix-it`}),(0,q.jsx)(`span`,{children:`Tool capture to your saved dataset`})]})}),(0,q.jsxs)(`div`,{className:`provider-dialog-body`,children:[(0,q.jsx)(`div`,{className:`agent-sync-form`,children:(0,q.jsxs)(`label`,{children:[`Coding agent`,(0,q.jsx)(z,{label:`Fix-it coding agent`,value:r,onChange:e=>{i(e),o(!1)},options:[{value:`claude_code`,label:`Claude Code`},{value:`opencode`,label:`OpenCode`},{value:`codex`,label:`Codex CLI`},{value:`openpond`,label:`OpenPond`}]})]})}),r===`codex`?(0,q.jsx)(`p`,{className:`provider-dialog-note`,children:`Captures tasks launched through the installed Codex CLI skill. Existing desktop chats are outside this connection.`}):null,(0,q.jsx)(`div`,{className:`settings-button-row`,children:(0,q.jsx)(`button`,{className:`agent-connect-button`,onClick:()=>void u(),children:a?`Setup prompt copied`:`Copy capture setup prompt`})}),(0,q.jsx)(`p`,{className:`provider-dialog-note`,children:`Paste this into your agent in the workspace you want to connect. Captures stay in your saved dataset until removed. Training stays off.`})]})]})})}function se({context:e,baseUrl:t}){let n=U(e),r=W(e),[i,a]=(0,K.useState)(!1);A(n.error);let o=n.data,s=r.data?.installations.filter(e=>e.state!==`revoked`)??[];function c(){n.refetch(),r.refetch()}return(0,q.jsxs)(`section`,{className:`connected-agents-view`,"aria-label":`Fix-it connections`,children:[(0,q.jsxs)(`header`,{className:`agent-connections-heading`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Fix-it`}),(0,q.jsx)(`p`,{children:`Tool errors from all your connected agents go to one private saved dataset.`})]}),(0,q.jsxs)(`div`,{className:`agent-connections-actions`,children:[(0,q.jsx)(`button`,{onClick:c,disabled:n.isFetching||r.isFetching,children:`Refresh`}),(0,q.jsx)(`button`,{className:`agent-connect-button`,onClick:()=>a(!0),children:`Connect agent`})]})]}),(0,q.jsxs)(`div`,{className:`evaluation-card`,children:[(0,q.jsxs)(`h3`,{children:[`Destination: `,o?.name??`Fix-it`]}),(0,q.jsx)(`p`,{role:`status`,"aria-live":`polite`,children:o?`${o.taskCount??0} saved ${o.taskCount===1?`record`:`records`}`:n.isPending?`Loading dataset…`:n.error?null:`No capture dataset available`}),(0,q.jsx)(`button`,{className:`training-text-button`,disabled:!o,onClick:()=>o&&void R({kind:`models`,route:j(`datasets`,null,{area:`console`,resourceId:o.id,detailTab:`tasks`,projectId:null,executionLocation:`hosted`})}),children:`Open dataset`}),n.error?(0,q.jsx)(`button`,{className:`training-text-button`,onClick:()=>void n.refetch(),children:`Retry`}):null]}),(0,q.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:`Agent`}),(0,q.jsx)(`th`,{children:`Capture`}),(0,q.jsx)(`th`,{children:`Tools`}),(0,q.jsx)(`th`,{children:`Dataset`})]})}),(0,q.jsxs)(`tbody`,{children:[s.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`div`,{children:re(e.client)}),(0,q.jsx)(`small`,{children:e.clientVersion})]}),(0,q.jsx)(`td`,{children:e.state===`enabled`?`Enabled`:`Paused`}),(0,q.jsx)(`td`,{children:e.collectionPolicy.permittedTools.join(`, `)}),(0,q.jsx)(`td`,{children:o?.name??`Fix-it`})]},e.id)),(0,q.jsx)(H,{columns:4,loading:r.isPending,error:r.error?.message,retry:()=>void r.refetch(),empty:!s.length,children:`Connect a coding agent to start capturing tool errors.`})]})]})}),(0,q.jsx)(`p`,{className:`evaluation-meta-line`,children:`Captures are saved as dataset records. Recovery candidates need separate review before training.`}),i?(0,q.jsx)(oe,{context:e,baseUrl:t,onClose:()=>a(!1)}):null]})}function ce({agent:e,account:t,native:n,inventory:r,projects:i,teamId:a,learningControl:o,connected:s,onHide:c,onManage:l}){let u=r?.collector.connections.filter(t=>t.source===e.id)??[],d=r?.sources.some(t=>t.source===e.id&&t.available&&t.capabilities.history);return(0,q.jsxs)(`article`,{className:`agent-connection-card`,"aria-label":e.name,children:[(0,q.jsxs)(`div`,{className:`agent-card-title`,children:[(0,q.jsx)(`img`,{src:e.icon,alt:``}),(0,q.jsx)(`span`,{children:e.name}),(0,q.jsx)(`button`,{type:`button`,className:`agent-hide`,"aria-label":`Hide ${e.name}`,onClick:c,children:(0,q.jsx)(k,{size:14})})]}),e.id===`openpond_chat`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`small`,{children:t?.state===`signed_in`?`Connected to OpenPond`:`Sign in to OpenPond`}),(0,q.jsx)(`p`,{children:`Use Pal from the sidebar.`}),(0,q.jsx)(`button`,{type:`button`,className:`agent-account-link`,onClick:()=>void R({kind:`settings`,section:`account`}),children:`Account setup`})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`small`,{children:n?n.available?n.enabled?`Ready to chat`:`Installed · chat disabled`:n.lastError??`Check installation`:`Conversation import`}),(0,q.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:!s,onClick:l,children:n?.available||u.length?`Manage`:`Connect`}),(0,q.jsx)(`div`,{className:`agent-card-sync`,children:u.length?u.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{children:ie(e,r.collector)}),(0,q.jsxs)(`small`,{children:[i.find(t=>t.id===e.projectId&&e.teamId===a)?.content.name??e.projectId,` `,`· `,e.admitted,` tasks`]}),e.teamId===a?null:(0,q.jsxs)(`small`,{children:[`Team: `,e.teamId]}),e.queued?(0,q.jsxs)(`small`,{children:[e.queued,` updates queued`]}):null,e.lastAdmissionAt?(0,q.jsxs)(`small`,{children:[`Last sync: `,new Date(e.lastAdmissionAt).toLocaleString()]}):null,e.error?(0,q.jsx)(P,{error:e.error}):null]},e.id)):(0,q.jsx)(`small`,{children:r?d?`History available · sync not connected`:`No local history found`:`Reading local setup…`})})]}),o]})}function le(e,t,n,r){let i=(0,K.useRef)({providers:t,onProvider:n});i.current={providers:t,onProvider:n};let a=JSON.stringify([`claude-code`,`opencode`,`grok-build`].map(e=>{let n=t?.providers[e];return[e,n?.binaryPath,n?.sourceHome,n?.enabled]}));(0,K.useEffect)(()=>{if(!e||!i.current.providers)return;let t=!1,n=[`claude-code`,`opencode`,`grok-build`].map(n=>{let a=i.current.providers?.providers[n],o=new AbortController,s=r>0?{promise:b(e,`/v1/providers/${n}/native-setup`,{method:`POST`,body:JSON.stringify({action:`check`}),signal:o.signal}),release:()=>o.abort()}:V(e,n,i.current.providers?.providers[n]);return s.promise.then(o=>{t||(r>0&&o.session&&!o.error&&ne(e,n,o,a),i.current.onProvider(n,o.settings))},()=>{}),s});return()=>{t=!0,n.forEach(e=>e.release())}},[e,a,r])}var J=m().trim().min(1).max(240),ue=f().int().positive(),de=p([`dataset`,`evaluator`,`model`,`training_configuration`,`training_run`,`harness`,`environment`,`experiment`,`learning_policy`,`deployment`]),fe=u({kind:de,resourceId:J,release:_.nullable(),role:p([`training`,`validation`,`holdout`,`target`,`reward`,`evaluation`,`serving`,`source`])}).strict(),pe=c(`kind`,[u({kind:l(`model`),providerId:J,modelId:J,artifact:_.nullable(),messages:s(u({role:p([`system`,`user`,`assistant`]),content:m().max(1e5)}).strict()).max(100)}).strict(),u({kind:l(`harness`),profileRepositoryId:J,source:v}).strict(),u({kind:l(`agent`),source:h}).strict(),u({kind:l(`suite`),profileRepositoryId:J,suiteId:J,sources:s(v).min(1).max(1e3)}).strict().superRefine((e,t)=>{let n=e.sources[0],r=new Set;for(let[i,a]of e.sources.entries())r.has(a.definitionId)&&t.addIssue({code:`custom`,path:[`sources`,i],message:`Suite definitions must be unique.`}),r.add(a.definitionId),(a.profileId!==n.profileId||a.sourceRevision!==n.sourceRevision||a.catalogHash!==n.catalogHash||g(a.harnessRelease)!==g(n.harnessRelease))&&t.addIssue({code:`custom`,path:[`sources`,i],message:`Suite checks must belong to the same pinned Profile source and Harness release.`})})]),me=u({name:m().trim().min(1).max(200),description:m().max(1e4),targets:s(u({id:J,name:m().trim().min(1).max(200),target:pe}).strict()).max(100),defaultTargetId:J.nullable(),resources:s(fe).max(1e3)}).strict().superRefine((e,t)=>{new Set(e.targets.map(e=>e.id)).size!==e.targets.length&&t.addIssue({code:`custom`,path:[`targets`],message:`Target identities must be unique.`}),e.defaultTargetId&&!e.targets.some(t=>t.id===e.defaultTargetId)&&t.addIssue({code:`custom`,path:[`defaultTargetId`],message:`Default target must belong to this Project.`}),new Set(e.resources.map(e=>g(e))).size!==e.resources.length&&t.addIssue({code:`custom`,path:[`resources`],message:`Resource links must be unique.`})}),he=u({schemaVersion:l(`openpond.trainingProject.v1`),id:J,teamId:J,creatorUserId:J,ownerScope:p([`workspace`,`personal`]).optional(),revision:ue,content:me,archived:d(),createdAt:m().datetime(),updatedAt:m().datetime()}).strict();u({operationId:J,id:J,expectedRevision:f().int().nonnegative(),content:me,ownerScope:p([`workspace`,`personal`]).optional()}).strict(),u({operationId:J,expectedRevision:ue,archived:d()}).strict();var ge=u({teamId:J,projects:s(he).max(100),nextCursor:J.nullable()}).strict();u({operation:p([`evaluate`,`train`,`enable_learning`,`accept_candidate`,`serve`]),support:p([`supported`,`unsupported`]),state:p([`ready`,`needs_setup`,`blocked`]),reasons:s(u({code:J,message:m().min(1).max(2e3),field:m().nullable(),action:p([`choose_target`,`choose_data`,`choose_evaluator`,`configure_runtime`,`request_access`,`configure_budget`,`wait`,`review_evidence`]).nullable()}).strict()).max(100)}).strict().superRefine((e,t)=>{e.state===`ready`&&(e.support!==`supported`||e.reasons.length)&&t.addIssue({code:`custom`,message:`Ready operations must be supported with no blockers.`}),e.state!==`ready`&&!e.reasons.length&&t.addIssue({code:`custom`,message:`Unavailable operations must explain the next step.`})});var Y=new WeakMap;function _e(e,t,n){let r=JSON.stringify([t?.activeProfile,t?.profile?.id,n]),i=e?Y.get(e)?.get(r):void 0,[a,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(null),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(0),p=t?.state===`signed_in`?a?.key===r&&a.connection===e?a.value:i:void 0;(0,K.useEffect)(()=>{if(!e||!n||t?.state!==`signed_in`)return;let i=new AbortController;u(!0),c(null);async function a(){let t=[],a=new Set,s;do{let r=ge.parse(await b(e,`/v1/training/evaluation-workspace`,{method:`POST`,body:JSON.stringify({teamId:n,operation:`projects`,value:{cursor:s}}),signal:i.signal}));if(r.teamId!==n)throw Error(`The hosted project workspace changed. Refresh connections.`);if(t.push(...r.projects.filter(e=>!e.archived)),s=r.nextCursor??void 0,s&&a.has(s))throw Error(`Project pagination stalled. Refresh connections.`);s&&a.add(s)}while(s&&!i.signal.aborted);if(i.signal.aborted)return;let c=Y.get(e);c||(c=new Map,Y.set(e,c));let l=c.get(r)?.selected,u={projects:t,selected:l&&t.some(e=>e.id===l)?l:t.length===1?t[0].id:``};c.set(r,u),o({key:r,connection:e,value:u})}return a().catch(e=>{i.signal.aborted||c(e instanceof Error?e.message:`Unable to list hosted projects.`)}).finally(()=>{i.signal.aborted||u(!1)}),()=>i.abort()},[e,r,n,t?.state,d]);let m=(0,K.useCallback)(t=>{if(!e)return;let n=Y.get(e)?.get(r);if(!n||!n.projects.some(e=>e.id===t))return;let i={...n,selected:t};Y.get(e).set(r,i),o({key:r,connection:e,value:i})},[e,r]);return{projects:p?.projects??[],projectId:p?.selected??``,select:m,error:s,loading:l,refresh:()=>f(e=>e+1)}}var ve=e(N(),1),ye=e(B(),1);function be({connection:e,connectionId:t,disabled:n,projectName:r,onUpload:i,onClose:a}){let[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(`all`),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(()=>new Map),[m,h]=(0,K.useState)(!0),[g,_]=(0,K.useState)(null),[v,y]=(0,K.useState)(0);w(e,g,()=>y(e=>e+1));let x=(0,K.useRef)(null),S=(0,K.useRef)(0);(0,K.useEffect)(()=>{let n=new AbortController;x.current?.abort(),x.current=n,h(!0),d(null),_(null);let r=window.setTimeout(()=>{let r=v!==S.current;S.current=v,b(e,`/v1/native-history/collector`,{method:`POST`,signal:n.signal,body:JSON.stringify({command:`conversations`,connectionId:t,query:o,range:c,refresh:r})}).then(e=>{n.signal.aborted||d(e)}).catch(e=>{n.signal.aborted||_(e instanceof Error?e.message:`Unable to list conversations.`)}).finally(()=>{n.signal.aborted||h(!1)})},200);return()=>{window.clearTimeout(r),n.abort(),x.current?.abort()}},[e,t,o,c,v]);async function C(){if(m||u?.nextOffset==null)return;let n=new AbortController;x.current=n,h(!0),_(null);try{let r=await b(e,`/v1/native-history/collector`,{method:`POST`,signal:n.signal,body:JSON.stringify({command:`conversations`,connectionId:t,query:o,range:c,offset:u.nextOffset})});n.signal.aborted||d(e=>({...r,items:[...new Map([...e?.items??[],...r.items].map(e=>[e.key,e])).values()]}))}catch(e){n.signal.aborted||_(e instanceof Error?e.message:`Unable to load more conversations.`)}finally{n.signal.aborted||h(!1)}}function T(e,t){p(n=>{let r=new Map(n);return t?r.set(e.key,e):r.delete(e.key),r})}let E=u?.items??[],D=E.filter(e=>!e.issue),O=D.length>0&&D.every(e=>f.has(e.key)),k=new Set(E.map(e=>e.key)),A=[...f.keys()].filter(e=>!k.has(e)).length;return(0,q.jsxs)(`section`,{className:`conversation-upload-picker`,"aria-label":`Choose conversations to upload`,children:[(0,q.jsx)(`h3`,{children:`Choose conversations`}),(0,q.jsxs)(`p`,{children:[`Upload to `,(0,q.jsx)(`strong`,{children:r}),`. This selection also sets which conversations later syncs update. Previously uploaded data stays in the project.`]}),(0,q.jsxs)(`div`,{className:`conversation-upload-toolbar`,children:[(0,q.jsx)(`input`,{autoFocus:!0,type:`search`,"aria-label":`Search conversations`,placeholder:`Search title, folder, or session ID`,value:o,disabled:n,onChange:e=>s(e.target.value)}),(0,q.jsx)(z,{label:`Conversation activity`,value:c,disabled:n,onChange:l,options:[{value:`all`,label:`All dates`},{value:`week`,label:`Active last week`},{value:`day`,label:`Active last day`}]})]}),(0,q.jsxs)(`div`,{className:`conversation-upload-selection`,role:`status`,children:[(0,q.jsxs)(`span`,{children:[f.size,` selected`,A?` · ${A} outside this view`:``,u?` · ${u.total} matching`:``]}),(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Refresh`}),(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||!f.size,onClick:()=>p(new Map),children:`Clear selection`})]}),(0,q.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame conversation-upload-table`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:(0,q.jsx)(`input`,{type:`checkbox`,className:`training-chat-checkbox`,"aria-label":`Select visible conversations`,checked:O,disabled:n||m||!D.length,onChange:e=>{let t=e.target.checked;p(e=>{let n=new Map(e);return D.forEach(e=>{t?n.set(e.key,e):n.delete(e.key)}),n})}})}),(0,q.jsx)(`th`,{children:`Conversation`}),(0,q.jsx)(`th`,{children:`Last activity`})]})}),(0,q.jsxs)(`tbody`,{children:[E.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`input`,{type:`checkbox`,className:`training-chat-checkbox`,"aria-label":`Select ${e.title}`,checked:f.has(e.key),disabled:n||!!e.issue,onChange:t=>T(e,t.target.checked)})}),(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`span`,{className:`conversation-upload-title`,title:e.title,children:e.title}),(0,q.jsx)(`small`,{title:e.cwd??e.nativeSessionId,children:e.cwd??e.nativeSessionId}),e.issue?(0,q.jsx)(`small`,{role:`status`,children:e.issue}):e.approved?(0,q.jsx)(`small`,{children:`Already approved for sync`}):null]}),(0,q.jsx)(`td`,{children:(0,q.jsx)(`time`,{dateTime:e.updatedAt,children:new Date(e.updatedAt).toLocaleDateString()})})]},e.key)),m?(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:3,role:`status`,children:`Loading conversations…`})}):!E.length&&!g?(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:3,children:o.trim()||c!==`all`?`No conversations match these filters.`:`No saved conversations found in this installation.`})}):null]})]})}),g?(0,q.jsx)(P,{error:g,children:(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Retry`})}):null,u?.nextOffset==null?null:(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>void C(),children:`Load more conversations`}),(0,q.jsx)(`p`,{children:`The complete selected conversations are uploaded, including their prompts, responses, and tool history. Date filters help you find conversations; they do not trim their contents.`}),(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:n||!f.size,onClick:()=>void i([...f.keys()]),children:`Upload ${f.size} conversation${f.size===1?``:`s`}`}),(0,q.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n,onClick:a,children:`Cancel`})]})]})}ve.default.extend(ye.default);function xe({agent:e,inventory:t,connection:n,account:r,teamId:i,projects:a,projectId:o,onRefresh:s,learningUrl:c}){let l=t?.sources.filter(t=>t.source===e.id)??[],[u,d]=(0,K.useState)(l.length===1?l[0].instanceId:``),[f,p]=(0,K.useState)(o),[m,h]=(0,K.useState)(null),[g,_]=(0,K.useState)(null),[v,y]=(0,K.useState)(!1),[x,S]=(0,K.useState)(null),C=l.find(e=>e.instanceId===u)??(!u&&l.length===1?l[0]:void 0),w=t?.collector.connections.filter(t=>t.source===e.id)??[],T=r?.baseUrl??r?.activeProfile?.baseUrl,E=r?.apiBaseUrl;async function D(e,t,r){if(!(!n||v||g)){y(!0),S(null);try{let a=await b(n,`/v1/native-history/collector`,{method:`POST`,body:JSON.stringify({command:e,...t?{connectionId:t}:{},...r?{sessionKeys:r}:{},...e===`connect`?{setup:{sourceInstanceId:C?.instanceId,teamId:i,projectId:f,accountBaseUrl:T,apiBaseUrl:E,range:`all`}}:{}})});a.command?_(a.command):await s()}catch(e){S(e instanceof Error?e.message:`Unable to update this connection.`)}finally{y(!1)}}}let O=v||g!==null,k=w.find(e=>e.id===m),A=g&&n?(0,q.jsx)(M,{connection:n,command:g,onComplete:()=>{_(null),h(null),s()},onClose:()=>{_(null),s()}}):null;return k&&n?(0,q.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,q.jsx)(be,{connection:n,connectionId:k.id,projectName:a.find(e=>e.id===k.projectId&&k.teamId===i)?.content.name??k.projectId,disabled:O||!!t?.collector.running,onClose:()=>h(null),onUpload:e=>D(`upload`,k.id,e)},k.id),x?(0,q.jsx)(P,{error:x}):null,A]}):(0,q.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,q.jsxs)(`p`,{children:[`Sync saved `,e.name,` conversations to an existing OpenPond project. Connecting authorizes the destination. Choose conversations and confirm an upload when ready.`]}),w.map(n=>(0,q.jsxs)(`section`,{className:`agent-retained-connection`,"aria-label":`${e.name} sync connection`,children:[(0,q.jsx)(`strong`,{children:ie(n,t.collector)}),(0,q.jsxs)(`span`,{children:[`Project:`,` `,n.teamId===i?a.find(e=>e.id===n.projectId)?.content.name??n.projectId:n.projectId,` `,`· Team: `,n.teamId]}),(0,q.jsx)(`small`,{children:n.accountBaseUrl??`Hosted destination`}),(0,q.jsx)(`small`,{className:`agent-source-path`,children:n.sourceRoot}),(0,q.jsxs)(`span`,{children:[n.admitted,` tasks imported · `,n.queued,` updates queued`]}),(0,q.jsx)(`small`,{children:n.selectedConversations===null?`All history approved for sync`:`${n.selectedConversations} conversations approved for sync`}),n.backfill.total>0&&n.backfill.stage!==`complete`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`progress`,{"aria-label":`History import progress`,value:n.backfill.admitted+n.backfill.skipped,max:n.backfill.total}),(0,q.jsxs)(`small`,{children:[n.backfill.admitted+n.backfill.skipped,` of`,` `,n.backfill.total,` conversations processed`]})]}):null,(0,q.jsx)(`small`,{children:n.lastAdmissionAt?`Last synced ${(0,ve.default)(n.lastAdmissionAt).fromNow()}`:`No uploads acknowledged yet`}),n.error?(0,q.jsx)(P,{error:n.error}):null,(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:O||n.state!==`active`||t?.collector.running,onClick:()=>h(n.id),children:`Choose conversations…`}),n.state===`disconnected`?(0,q.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(`reconnect`,n.id),children:`Reconnect`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(n.state===`paused`?`resume`:`pause`,n.id),children:n.state===`paused`?`Resume`:`Pause`}),(0,q.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>{window.confirm(`Disconnect this conversation source? Imported data stays in its project.`)&&D(`disconnect`,n.id)},children:`Disconnect`})]}),n.destinationLinks.tasks?(0,q.jsx)(`a`,{href:n.destinationLinks.tasks,target:`_blank`,rel:`noreferrer`,children:`View tasks`}):null,n.destinationLinks.conversations?(0,q.jsx)(`a`,{href:n.destinationLinks.conversations,target:`_blank`,rel:`noreferrer`,children:`View conversations`}):null]})]},n.id)),(0,q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),D(`connect`)},className:`agent-sync-form`,children:[(0,q.jsx)(`h3`,{children:w.length?`Add another connection`:`Connect conversations`}),(0,q.jsxs)(`label`,{className:`agent-source-field`,children:[`Source installation`,(0,q.jsx)(z,{label:`Source installation`,value:C?.instanceId??``,disabled:O,onChange:d,options:[{value:``,label:`Select installation`},...l.map(e=>({value:e.instanceId,label:e.root,disabled:!e.available||!e.capabilities.history}))]})]}),C?.reason?(0,q.jsx)(`small`,{children:C.reason}):null,l.some(e=>e.available&&e.capabilities.history)?null:(0,q.jsxs)(`small`,{children:[`No readable conversation history found.`,` `,e.provider?`Use Agent setup to check the installation, or create a conversation in this agent first.`:`Open this agent and create a conversation, then refresh connections.`]}),(0,q.jsxs)(`label`,{children:[`Project`,(0,q.jsx)(z,{label:`Upload destination project`,value:f,disabled:O||!i,onChange:p,searchable:!0,options:[{value:``,label:`Select project`},...a.map(e=>({value:e.id,label:e.content.name}))]})]}),(0,q.jsx)(`p`,{children:`No conversations are uploaded during setup. Continual imports are off by default and can be scheduled after choosing conversations.`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>R({kind:`settings`,section:`conversation-imports`}),children:`Manage continual imports in Settings`}),r?.state!==`signed_in`||!i?(0,q.jsx)(`small`,{children:`Sign in and select a default team in Account settings to choose a hosted project.`}):null,(0,q.jsx)(`button`,{type:`submit`,className:`agent-connect-button`,disabled:O||!C?.available||!C.capabilities.history||!a.some(e=>e.id===f)||!i||!T||!E||r?.state!==`signed_in`,children:v?`Opening setup…`:`Connect conversations`})]}),c?(0,q.jsx)(`a`,{className:`agent-learning-link`,href:c,target:`_blank`,rel:`noreferrer`,children:`Configure continual learning in Console`}):null,t?(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`CLI setup`}),(0,q.jsxs)(`small`,{className:`agent-source-path`,children:[`Importer directory: `,t.directory]}),(0,q.jsx)(`code`,{children:t.statusCommand})]}):null,x?(0,q.jsx)(P,{error:x}):null,A]})}var X=e=>JSON.stringify([e.origin,e.sourceInstanceId]),Se=e=>({id:e.id,revision:e.revision,contentHash:e.contentHash});function Z(e,t,n,r,i){return b(e,`/v1/conversation-learning/${n}?${new URLSearchParams({teamId:t})}`,{method:r===void 0?`GET`:`POST`,...r===void 0?{}:{body:JSON.stringify(r)},signal:i})}function Ce(e,t,n,r){let i=a(),s=[`native-conversation-learning`,e?.serverUrl,n,t];return{...o({queryKey:s,enabled:!!(e&&t&&r),queryFn:({signal:n})=>Z(e,t,`options`,void 0,n),staleTime:15e3,refetchInterval:3e4}),refresh:()=>i.invalidateQueries({queryKey:s})}}function we(e,t,n,r,i){return Z(e,t,`policies`,{...n?{id:n.id}:{},expectedRevision:n?.revision??0,configuration:r,enabled:i})}function Q(e,t,n=[]){let r=t?.configuration;return{projectId:e,name:r?.name??`Continuous learning`,mode:r?.mode??`activate`,definition:r?.definition??null,configurationId:r?.configuration?.id??``,trainingPolicyId:r?.learningPolicy?.id??``,graderIds:[],sourceKeys:[...new Set([...r?.sources.filter(e=>e.enabled).map(X)??[],...n.map(X)])],adapter:r?.adapter??{kind:`complete_text`,qualitativeOnly:!0},generator:r?.generator??null,graderSelection:r?.graderSelection??(t?{mode:`manual`}:{mode:`auto`,modelId:`gpt-6-luna`,sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}),schedule:r?.schedule??{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,hour:2,minute:0,endHour:6,endMinute:0},limits:r?.limits??{perCycleUsd:5,dailyUsd:5,monthlyUsd:25,gradeUsd:.2,maximumTasks:10,minimumExamples:5,maxGpuSeconds:10800,maximumAttempts:2,lookbackDays:30},exceptions:r?.exceptions??`block`,minimumScore:r?.minimumScore??.8,selection:r?.selection??{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1},acceptance:r?.acceptance??{minimumCasesPerCheck:20,minimumImprovement:.05,windowCasesPerCheck:20},failurePolicy:r?.failurePolicy??{pauseAfterConsecutiveFailures:3},...r?.serving?{serving:r.serving}:{serving:{targetId:``,canarySeconds:120,rollbackOnRuntimeFailure:!0}}}}function $(e,t){let n=e?.configurations.find(e=>e.id===t);return e?.trainingPolicies.filter(e=>e.modelProjectId===n?.portableProjectId&&e.training.recipe.id===`model-recipe-${n?.etag}`&&!e.id.startsWith(`conversation-training-`))??[]}async function Te(e,t,n,r,i,a){let o=r.configurations.find(e=>e.id===n.configurationId),s=$(r,n.configurationId).find(e=>e.id===n.trainingPolicyId);if(!n.name.trim())throw Error(`Enter a policy name.`);if(!r.projects.some(e=>e.id===n.projectId))throw Error(`This owned Project is unavailable for continuous learning.`);if(n.configurationId&&(!o||!r.projects.find(e=>e.id===n.projectId)?.configurationIds.includes(o.id)))throw Error(`Choose a model configuration attached to this Project.`);if(n.mode!==`evaluate`&&(!o||!s))throw Error(`Choose an owned model and its reviewed training setup.`);if(n.limits.perCycleUsd>n.limits.dailyUsd||n.limits.dailyUsd>n.limits.monthlyUsd)throw Error(`Daily and monthly spending limits must cover the run limit.`);if(n.limits.minimumExamples>n.limits.maximumTasks-Math.floor(n.limits.maximumTasks*(n.selection?.replayFraction??0)))throw Error(`Leave capacity for the minimum new examples after replay.`);let c=r.sources.filter(e=>e.projectId===n.projectId&&n.sourceKeys.includes(X(e)));if(!c.length)throw Error(`Select a source agent for this Project.`);let l=[...(i?.configuration.sources??[]).filter(e=>!c.some(t=>X(t)===X(e))).map(e=>({...e,enabled:!1})),...c.map(e=>({origin:e.origin,sourceInstanceId:e.sourceInstanceId,enabled:!0}))],u=n.definition;if(o&&(i?.configuration.configuration?.id!==o.id||i.configuration.configuration.expectedEtag!==o.etag))u=await Z(e,t,`definitions`,{projectId:n.projectId,configuration:{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}});else if(n.graderIds.length){let i=r.graders.flatMap(e=>e&&n.graderIds.includes(e.id)?[Se(e)]:[]);u=await Z(e,t,`definitions`,{projectId:n.projectId,graders:i})}if(!u)throw Error(`Select evaluation rubrics or an existing task definition.`);let d=n.serving,f=r.servingTargets.find(e=>e.id===d?.targetId);if(n.mode===`activate`&&d?.targetId&&(!f||!f.enabled||f.projectId!==n.projectId))throw Error(`Select an available serving target in this Project.`);if(n.mode===`activate`&&(!d?.targetId||f?.hostedPonder)&&(d={targetId:(await Z(e,t,`serving-targets`,{action:`ensure_hosted_ponder`,projectId:n.projectId,bindingId:r.ponderBindingId})).id,canarySeconds:d?.canarySeconds??120,rollbackOnRuntimeFailure:!0}),n.mode===`activate`&&!d?.targetId)throw Error(`Choose a serving target, or enable the policy to register hosted Pal.`);let{sourceKeys:p,configurationId:m,trainingPolicyId:h,graderIds:g,..._}=n,v={..._,name:n.name.trim(),definition:u,sources:l,configuration:o?{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}:null,learningPolicy:s?Se(s):null,...n.mode===`activate`?{serving:d}:{}};return n.mode!==`activate`&&delete v.serving,n.mode===`evaluate`&&delete v.acceptance,we(e,t,i,v,a)}function Ee({draft:e,options:t,loading:n,onChange:r}){let i=t?.sources.filter(t=>t.projectId===e.projectId)??[],a=i.filter(e=>[`active`,`paused`].includes(e.state)),o=a.length>0&&a.every(t=>e.sourceKeys.includes(X(t))),s=t=>r({...e,sourceKeys:t}),c=t?.graders.flatMap(e=>e?[e]:[])??[];return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Source agents`}),(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:o,disabled:!a.length,ref:t=>{t&&(t.indeterminate=!o&&a.some(t=>e.sourceKeys.includes(X(t))))},onChange:t=>s(t.target.checked?[...new Set([...e.sourceKeys,...a.map(X)])]:e.sourceKeys.filter(e=>!a.some(t=>X(t)===e)))}),`Select all`,` `,(0,q.jsxs)(`small`,{children:[`(`,i.filter(t=>e.sourceKeys.includes(X(t))).length,` selected)`]})]}),(0,q.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Source agents`,children:[i.map(t=>{let n=X(t),r=e.sourceKeys.includes(n),i=G.find(e=>e.id===(t.origin.startsWith(`native_`)?`openpond_chat`:t.origin)),a=t.origin===`native_chat`?`Pal Chat`:t.origin===`native_work`?`Pal Work`:i?.name??t.name;return(0,q.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:r,disabled:!r&&![`active`,`paused`].includes(t.state),onChange:t=>s(t.target.checked?[...new Set([...e.sourceKeys,n])]:e.sourceKeys.filter(e=>e!==n))}),i?(0,q.jsx)(`img`,{src:i.icon,alt:``}):null,(0,q.jsxs)(`span`,{children:[a,(0,q.jsx)(`small`,{children:t.sourceInstanceId?t.name===t.origin?`Local connection`:t.name:t.origin.startsWith(`native_`)?`Hosted conversations`:`Uploaded history`})]}),(0,q.jsx)(`small`,{children:t.state})]},n)}),i.length?null:(0,q.jsx)(`p`,{role:`status`,children:n?`Fetching source agents…`:`Connect or import an agent into this Project first.`})]}),(0,q.jsx)(`p`,{children:`Paused agents can use uploaded conversations. Selecting them leaves collection paused.`})]}),(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Evaluation rubrics`}),e.configurationId?(0,q.jsx)(`p`,{children:`The training configuration pins the task definition and its rubrics. Choose grader selection in Preparation.`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,disabled:!c.length,checked:c.length>0&&c.every(t=>e.graderIds.includes(t.id)),onChange:t=>r({...e,graderIds:t.target.checked?c.map(e=>e.id):[]})}),`Select all `,(0,q.jsxs)(`small`,{children:[`(`,e.graderIds.length,` selected)`]})]}),(0,q.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Evaluation rubrics`,children:[c.map(t=>(0,q.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:e.graderIds.includes(t.id),onChange:n=>r({...e,graderIds:n.target.checked?[...e.graderIds,t.id]:e.graderIds.filter(e=>e!==t.id)})}),(0,q.jsxs)(`span`,{children:[t.name,(0,q.jsxs)(`small`,{children:[`Version `,t.revision]})]})]},`${t.id}:${t.revision}`)),c.length?null:(0,q.jsx)(`p`,{role:`status`,children:n?`Fetching evaluation rubrics…`:`No owned evaluation rubrics are available.`})]}),e.definition&&!e.graderIds.length?(0,q.jsx)(`p`,{children:`The saved task definition and rubrics remain unchanged.`}):null,(0,q.jsxs)(`label`,{children:[`Existing task definition`,(0,q.jsxs)(`select`,{value:e.definition?.id??``,onChange:n=>{let i=t?.definitions.find(e=>e.id===n.target.value);r({...e,definition:i?{id:i.id,revision:i.revision,contentHash:i.contentHash}:null,graderIds:[]})},children:[(0,q.jsx)(`option`,{value:``,children:`Select a definition or choose rubrics above`}),e.definition&&!t?.definitions.some(t=>t.id===e.definition?.id)?(0,q.jsx)(`option`,{value:e.definition.id,children:`Saved task definition`}):null,t?.definitions.map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[e.name,` (version `,e.revision,`)`]},e.id))]})]})]}),(0,q.jsxs)(`label`,{children:[`Minimum verified score`,(0,q.jsx)(`input`,{type:`number`,min:0,max:1,step:.01,value:e.minimumScore,onChange:t=>r({...e,minimumScore:Number(t.target.value)})})]})]})]})}function De({draft:e,options:t,loading:n,onChange:r}){let i=t?.projects.find(t=>t.id===e.projectId)?.configurationIds??[],a=$(t,e.configurationId),o=e.graderSelection??{mode:`manual`};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[`Mode`,(0,q.jsxs)(`select`,{value:e.mode,onChange:t=>r({...e,mode:t.target.value}),children:[(0,q.jsx)(`option`,{value:`evaluate`,children:`Evaluate only`}),(0,q.jsx)(`option`,{value:`train`,children:`Train automatically, approve candidate`}),(0,q.jsx)(`option`,{value:`activate`,children:`Train and activate automatically`})]})]}),(0,q.jsxs)(`label`,{children:[`Model to train`,(0,q.jsxs)(`select`,{value:e.configurationId,onChange:n=>{let i=n.target.value,a=$(t,i);r({...e,configurationId:i,trainingPolicyId:a.length===1?a[0].id:``,adapter:i?{kind:`reference_text`,inputPointer:`/prompt`,match:`contained`}:{kind:`complete_text`,qualitativeOnly:!0}})},children:[(0,q.jsx)(`option`,{value:``,children:n?`Fetching configurations…`:`Select configuration`}),t?.configurations.filter(e=>i.includes(e.id)).map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.mode===`evaluate`?null:(0,q.jsxs)(`label`,{children:[`Reviewed training setup`,(0,q.jsxs)(`select`,{value:e.trainingPolicyId,onChange:t=>r({...e,trainingPolicyId:t.target.value}),children:[(0,q.jsx)(`option`,{value:``,children:`Select reviewed setup`}),a.map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[`Reviewed setup (version `,e.revision,`)`]},e.id))]})]}),e.configurationId?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[`Task construction`,(0,q.jsxs)(`select`,{value:e.adapter.kind,onChange:t=>r({...e,adapter:t.target.value===`reference_text`?{kind:`reference_text`,inputPointer:`/prompt`,match:`contained`}:{kind:`complete_text`,qualitativeOnly:!0}}),children:[(0,q.jsx)(`option`,{value:`reference_text`,children:`Match a published executable task`}),(0,q.jsx)(`option`,{value:`complete_text`,children:`Complete text context and calibrated judges`})]})]}),e.adapter.kind===`reference_text`?(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,q.jsxs)(`label`,{children:[`Public task input field`,(0,q.jsx)(`input`,{value:e.adapter.inputPointer,onChange:t=>r({...e,adapter:{kind:`reference_text`,inputPointer:t.target.value,match:e.adapter.kind===`reference_text`?e.adapter.match:`contained`}})})]}),(0,q.jsxs)(`label`,{children:[`Reference matching`,(0,q.jsxs)(`select`,{value:e.adapter.match,onChange:t=>r({...e,adapter:{kind:`reference_text`,inputPointer:e.adapter.kind===`reference_text`?e.adapter.inputPointer:`/prompt`,match:t.target.value}}),children:[(0,q.jsx)(`option`,{value:`contained`,children:`Contained`}),(0,q.jsx)(`option`,{value:`exact`,children:`Exact`})]})]})]}):null,(0,q.jsxs)(`label`,{children:[`Grader selection`,(0,q.jsxs)(`select`,{value:o.mode,onChange:t=>r({...e,graderSelection:t.target.value===`auto`?{mode:`auto`,modelId:`gpt-6-luna`,sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}:{mode:`manual`}}),children:[(0,q.jsx)(`option`,{value:`auto`,children:`Choose compatible rubrics automatically`}),(0,q.jsx)(`option`,{value:`manual`,children:`Use the pinned rubrics`})]})]}),o.mode===`auto`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[`Selection model`,(0,q.jsxs)(`select`,{value:o.modelId,onChange:t=>r({...e,graderSelection:{...o,modelId:t.target.value}}),children:[t?.generators.some(e=>e.id===o.modelId)?null:(0,q.jsx)(`option`,{value:o.modelId,children:o.modelId}),t?.generators.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`sampleSize`,`Sample examples`,1,30],[`maximumOutputTokens`,`Output token limit`,256,4096],[`maximumSpendUsd`,`Selection spending limit ($)`,.01,1e5]].map(([t,n,i,a])=>(0,q.jsxs)(`label`,{children:[n,(0,q.jsx)(`input`,{type:`number`,min:i,max:a,step:t===`maximumSpendUsd`?.01:1,value:o[t],onChange:n=>r({...e,graderSelection:{...o,[t]:Number(n.target.value)}})})]},t))})]}):null]}):null,(0,q.jsxs)(`label`,{children:[`Answer improvement model`,(0,q.jsxs)(`select`,{value:e.generator?.modelId??``,onChange:t=>r({...e,generator:t.target.value?{modelId:t.target.value,maximumOutputTokens:e.generator?.maximumOutputTokens??2048,maximumSpendUsd:e.generator?.maximumSpendUsd??.1}:null}),children:[(0,q.jsx)(`option`,{value:``,children:`Use recorded answers only`}),t?.generators.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.generator?(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,q.jsxs)(`label`,{children:[`Per improved answer limit ($)`,(0,q.jsx)(`input`,{type:`number`,min:.01,step:.01,value:e.generator.maximumSpendUsd,onChange:t=>r({...e,generator:{...e.generator,maximumSpendUsd:Number(t.target.value)}})})]}),(0,q.jsxs)(`label`,{children:[`Output token limit`,(0,q.jsx)(`input`,{type:`number`,min:256,max:16384,value:e.generator.maximumOutputTokens,onChange:t=>r({...e,generator:{...e.generator,maximumOutputTokens:Number(t.target.value)}})})]})]}):null,e.mode===`activate`?(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Serving authorization`}),(0,q.jsxs)(`label`,{children:[`Serving target`,(0,q.jsxs)(`select`,{value:e.serving?.targetId??``,onChange:t=>r({...e,serving:{targetId:t.target.value,canarySeconds:e.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}),children:[(0,q.jsx)(`option`,{value:``,children:`Pal in this Project`}),t?.servingTargets.filter(t=>t.projectId===e.projectId&&t.enabled).map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.hostedPonder?`Hosted Pal`:`${e.role} / ${e.roleTargetId}`},e.id))]})]}),(0,q.jsxs)(`label`,{children:[`Runtime canary (seconds)`,(0,q.jsx)(`input`,{type:`number`,min:30,max:600,value:e.serving?.canarySeconds??120,onChange:t=>r({...e,serving:{targetId:e.serving?.targetId??``,canarySeconds:Number(t.target.value),rollbackOnRuntimeFailure:!0}})})]}),(0,q.jsx)(`p`,{children:`Saving authorizes the selected target. Failed runtime checks restore its prior model. Training runs only within the saved policy's schedule and limits.`})]}):null]})}var Oe=(e,t)=>e===void 0||t===void 0?``:`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;function ke({draft:e,onChange:t}){let n=(n,r)=>t({...e,limits:{...e.limits,[n]:r}});return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Run window`}),(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,q.jsxs)(`label`,{children:[`From`,(0,q.jsx)(`input`,{type:`time`,required:!0,value:Oe(e.schedule.hour,e.schedule.minute),onChange:n=>{let[r,i]=n.target.value.split(`:`).map(Number);t({...e,schedule:{...e.schedule,hour:r,minute:i}})}})]}),(0,q.jsxs)(`label`,{children:[`Until`,(0,q.jsx)(`input`,{type:`time`,value:Oe(e.schedule.endHour,e.schedule.endMinute),onChange:n=>{let[r,i]=n.target.value.split(`:`).map(Number),{endHour:a,endMinute:o,...s}=e.schedule;t({...e,schedule:n.target.value?{...s,endHour:r,endMinute:i}:s})}})]})]}),(0,q.jsxs)(`label`,{children:[`Timezone`,(0,q.jsx)(`input`,{required:!0,value:e.schedule.timezone,onChange:n=>t({...e,schedule:{...e.schedule,timezone:n.target.value}})})]}),(0,q.jsx)(`p`,{children:`Queued learning starts within this window. A run already started may finish afterward.`})]}),(0,q.jsxs)(`fieldset`,{children:[(0,q.jsx)(`legend`,{children:`Maximum spending`}),(0,q.jsx)(`p`,{children:`These are limits, not prices. Evaluation, answer improvements and training count toward them.`}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`perCycleUsd`,`Per run ($)`],[`dailyUsd`,`Per day ($)`],[`monthlyUsd`,`Per month ($)`]].map(([t,r])=>(0,q.jsxs)(`label`,{children:[r,(0,q.jsx)(`input`,{type:`number`,required:!0,min:.01,max:1e5,step:.01,value:e.limits[t],onChange:e=>n(t,Number(e.target.value))})]},t))})]}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Advanced limits`}),(0,q.jsxs)(`div`,{className:`agent-learning-columns`,children:[[[`gradeUsd`,`Per evaluation ceiling ($)`,0,1e3,.01],[`maximumTasks`,`Maximum tasks`,1,200,1],[`minimumExamples`,`Minimum training examples`,1,200,1],[`maximumAttempts`,`Maximum correction attempts`,1,5,1],[`lookbackDays`,`Uploaded history window (days)`,1,30,1]].map(([t,r,i,a,o])=>(0,q.jsxs)(`label`,{children:[r,(0,q.jsx)(`input`,{type:`number`,required:!0,min:i,max:a,step:o,value:e.limits[t],onChange:e=>n(t,Number(e.target.value))})]},t)),(0,q.jsxs)(`label`,{children:[`Maximum GPU session (hours)`,(0,q.jsx)(`input`,{type:`number`,required:!0,min:.01,max:3,step:.01,value:e.limits.maxGpuSeconds/3600,onChange:e=>n(`maxGpuSeconds`,Math.round(Number(e.target.value)*3600))})]}),(0,q.jsxs)(`label`,{children:[`Pause after failed cycles`,(0,q.jsx)(`input`,{type:`number`,required:!0,min:1,max:20,value:e.failurePolicy?.pauseAfterConsecutiveFailures??3,onChange:n=>t({...e,failurePolicy:{pauseAfterConsecutiveFailures:Number(n.target.value)}})})]})]}),(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:e.exceptions===`eligible_remainder`,onChange:n=>t({...e,exceptions:n.target.checked?`eligible_remainder`:`block`})}),`Use the independently verified remainder when exceptions occur`]})]}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Training data balance`}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`maximumSourceShare`,`Maximum from one agent`,100],[`maximumFailureShare`,`Maximum from one error type`,100],[`maximumLengthShare`,`Maximum from one conversation length`,100],[`replayFraction`,`Previously learned examples`,50],[`auditFraction`,`Examples checked for quality`,100]].map(([n,r,i])=>(0,q.jsxs)(`label`,{children:[r,` (%)`,(0,q.jsx)(`input`,{type:`number`,min:+!!n.startsWith(`maximum`),max:i,value:Math.round((e.selection?.[n]??0)*100),onChange:r=>t({...e,selection:{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1,...e.selection,[n]:Number(r.target.value)/100}})})]},n))})]}),e.mode===`evaluate`?null:(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Checks before using the trained model`}),(0,q.jsx)(`div`,{className:`agent-learning-columns`,children:[[`windowCasesPerCheck`,`New examples per quality check`,2,1e4],[`minimumCasesPerCheck`,`Minimum paired examples`,2,1e4],[`minimumImprovement`,`Required improvement`,1e-4,1]].map(([n,r,i,a])=>(0,q.jsxs)(`label`,{children:[r,(0,q.jsx)(`input`,{type:`number`,min:i,max:a,step:n===`minimumImprovement`?.01:1,value:e.acceptance?.[n]??i,onChange:r=>t({...e,acceptance:{minimumCasesPerCheck:20,windowCasesPerCheck:20,minimumImprovement:.05,...e.acceptance,[n]:Number(r.target.value)}})})]},n))}),(0,q.jsx)(`p`,{children:`Current and trained models use the same unseen examples. Insufficient evidence keeps the current model active.`})]})]})}function Ae({connection:e,teamId:t,projectId:n,projectName:r,initialPolicy:i,bindings:a,query:o,onClose:s}){let[c,l]=(0,K.useState)(i),[u,d]=(0,K.useState)(()=>Q(n,i,i?[]:a)),[f,p]=(0,K.useState)(!!o.data),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(null),[b,x]=(0,K.useState)(i?.status===`enabled`||!i),[S,w]=(0,K.useState)(`sources`),[T,E]=(0,K.useState)(!1),[D,O]=(0,K.useState)(null),A=(0,K.useRef)(f);A.current=f;let j=o.data?.policies.filter(e=>e.configuration.projectId===n)??[];(0,K.useEffect)(()=>{if(!o.data||A.current)return;let e=o.data.policies.find(e=>e.configuration.projectId===n&&e.status===`enabled`)??o.data.policies.find(e=>e.configuration.projectId===n);l(e),d(Q(n,e,e?[]:a)),x(e?.status===`enabled`||!e),p(!0)},[o.data,n,a]);let M=()=>{g||(m?E(!0):s())},N=C(M);function F(e){let t=j.find(t=>t.id===e);t&&(l(t),d(Q(n,t)),x(t.status===`enabled`),h(!1),O(null),E(!1),y(null))}function I(e){d(e),h(!0)}async function L(){if(o.data&&f&&!g&&!o.isError){_(!0),y(null);try{await Te(e,t,u,o.data,c,b),await o.refresh(),h(!1),s()}catch(e){y(e instanceof Error?e.message:`Unable to save continuous learning.`)}finally{_(!1)}}}let R={draft:u,options:o.data,loading:o.isPending,onChange:I};return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:M,children:(0,q.jsxs)(`section`,{ref:N,className:`git-dialog provider-details-dialog agent-learning-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Continuous learning`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close continuous learning`,disabled:g,onClick:M,children:(0,q.jsx)(k,{size:16})}),(0,q.jsx)(`div`,{className:`provider-dialog-header`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Continuous learning`}),(0,q.jsx)(`span`,{children:r})]})}),T?(0,q.jsxs)(`div`,{className:`agent-learning-discard`,role:`alert`,children:[(0,q.jsx)(`p`,{children:`Discard unsaved policy changes?`}),(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>{E(!1),O(null)},children:`Keep editing`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>D?F(D):s(),children:`Discard changes`})]})]}):null,j.length>1?(0,q.jsxs)(`label`,{className:`agent-learning-policy-picker`,children:[`Learning policy`,(0,q.jsx)(`select`,{disabled:g,value:c?.id??``,onChange:e=>{m?(O(e.target.value),E(!0)):F(e.target.value)},children:j.map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[e.configuration.name,` (`,e.status,`)`]},e.id))})]}):null,(0,q.jsx)(`div`,{className:`surface-tabs provider-agent-tabs`,role:`tablist`,"aria-label":`Continuous learning settings`,children:[[`sources`,`Sources & rubrics`],[`preparation`,`Preparation`],[`schedule`,`Run window & budget`]].map(([e,t])=>(0,q.jsx)(`button`,{type:`button`,id:`learning-tab-${e}`,role:`tab`,"aria-selected":S===e,"aria-controls":`learning-panel-${e}`,tabIndex:S===e?0:-1,onClick:()=>w(e),onKeyDown:t=>{let n=[`sources`,`preparation`,`schedule`],r=n.indexOf(e);if([`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(t.key)){t.preventDefault();let e=n[t.key===`Home`?0:t.key===`End`?2:(r+(t.key===`ArrowRight`?1:2))%3];w(e),document.getElementById(`learning-tab-${e}`)?.focus()}},children:t},e))}),(0,q.jsxs)(`form`,{className:`agent-learning-form`,onSubmit:e=>{e.preventDefault(),L()},children:[(0,q.jsx)(`fieldset`,{disabled:!f||g,children:(0,q.jsxs)(`label`,{children:[`Policy name`,(0,q.jsx)(`input`,{required:!0,maxLength:200,value:u.name,onChange:e=>I({...u,name:e.target.value})})]})}),(0,q.jsx)(`div`,{id:`learning-panel-${S}`,role:`tabpanel`,"aria-labelledby":`learning-tab-${S}`,children:(0,q.jsx)(`fieldset`,{disabled:!f||g,children:S===`sources`?(0,q.jsx)(Ee,{...R}):S===`preparation`?(0,q.jsx)(De,{...R}):(0,q.jsx)(ke,{...R})})}),o.isPending?(0,q.jsx)(`p`,{role:`status`,children:`Fetching available sources, rubrics and models…`}):null,o.isError?(0,q.jsx)(P,{error:o.error.message,children:(0,q.jsx)(`button`,{type:`button`,onClick:()=>void o.refetch(),children:`Retry settings`})}):null,v?(0,q.jsx)(P,{error:v}):null,(0,q.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:b,disabled:!f||g,onChange:e=>{x(e.target.checked),h(!0)}}),`Enable this policy after saving`]}),(0,q.jsx)(`p`,{children:`Saving enables only the reviewed sources, schedule and limits. No training is dispatched by opening this dialog.`}),(0,q.jsxs)(`div`,{className:`settings-button-row agent-learning-footer`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:g,onClick:M,children:`Cancel`}),(0,q.jsx)(`button`,{type:`submit`,className:`primary`,disabled:!f||!o.data||o.isError||g||!u.sourceKeys.length,children:g?`Saving…`:b?`Save and enable`:`Save paused`})]})]})]})})}function je({agent:e,inventory:t,connection:n,teamId:r,projectId:i,projectName:a,query:o,signedIn:s}){let[c,l]=(0,K.useState)(!1),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(!1),[m,h]=(0,K.useState)(null),[g,_]=(0,K.useState)(``),v=(0,K.useMemo)(()=>new Set(t?.collector.connections.filter(t=>t.source===e.id&&t.teamId===r&&t.projectId===i&&t.state!==`disconnected`).map(e=>e.sourceInstanceId)??[]),[t,e.id,r,i]),y=o.data?.sources.filter(t=>t.projectId===i&&(e.id===`openpond_chat`?[`native_chat`,`native_work`].includes(t.origin)&&t.sourceInstanceId===null:t.origin===e.id&&t.sourceInstanceId!==null&&v.has(t.sourceInstanceId)))??[],b=[...new Set(y.flatMap(e=>e.sourceInstanceId?[e.sourceInstanceId]:[]))],x=b.includes(g)?g:b[0],S=y.filter(e=>e.sourceInstanceId===null||e.sourceInstanceId===x).map(e=>({origin:e.origin,sourceInstanceId:e.sourceInstanceId,enabled:!0})),C=o.data?.policies.filter(e=>e.configuration.projectId===i)??[],w=C.filter(e=>e.status===`enabled`&&e.configuration.sources.some(e=>e.enabled&&S.some(t=>X(t)===X(e)))),T=w[0]??C.find(e=>e.status===`enabled`)??C[0],E=!!(n&&r&&i&&s&&o.data?.projects.some(e=>e.id===i));async function D(e,t){if(!n||!r||!o.data)return;let a={...e.configuration,sources:e.configuration.sources.map(e=>S.some(t=>X(t)===X(e))?{...e,enabled:t}:e)};if(t)for(let e of S)a.sources.some(t=>X(t)===X(e))||a.sources.push(e);let s=o.data.servingTargets.find(e=>e.id===a.serving?.targetId);if(t&&a.mode===`activate`&&a.serving?.targetId&&(!s||!s.enabled||s.projectId!==i))throw Error(`Review the policy's serving target before adding a source.`);if(t&&a.mode===`activate`&&(!a.serving?.targetId||s?.hostedPonder)){let e=await Z(n,r,`serving-targets`,{action:`ensure_hosted_ponder`,projectId:i,bindingId:o.data.ponderBindingId});a={...a,serving:{targetId:e.id,canarySeconds:a.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}}return we(n,r,e,a,a.sources.some(e=>e.enabled))}async function O(e){if(!f){p(!0),h(null);try{if(e){let e=C.find(e=>e.id===u);if(!e)throw Error(`Refresh the learning policy before joining.`);await D(e,!0),d(null)}else for(let e of w)await D(e,!1);await o.refresh()}catch(e){h(e instanceof Error?e.message:`Unable to update this learning source.`),await o.refresh()}finally{p(!1)}}}return(0,q.jsxs)(`div`,{className:`agent-learning-control`,children:[b.length>1?(0,q.jsxs)(`label`,{children:[`Learning connection`,(0,q.jsx)(`select`,{"aria-label":`${e.name} learning connection`,value:x,disabled:f,onChange:e=>_(e.target.value),children:b.map(e=>(0,q.jsx)(`option`,{value:e,children:y.find(t=>t.sourceInstanceId===e)?.name??`Local connection`},e))})]}):null,(0,q.jsxs)(`div`,{className:`agent-learning-control-row`,children:[(0,q.jsxs)(`label`,{className:`provider-toggle`,children:[(0,q.jsx)(`input`,{type:`checkbox`,"aria-label":`${e.name} continuous learning`,checked:w.length>0,disabled:!E||!S.length||o.isPending||o.isError||f,onChange:e=>{if(e.target.checked){let e=C.find(e=>e.status===`enabled`);e?d(e.id):l(!0)}else O(!1)}}),(0,q.jsx)(`span`,{"aria-hidden":`true`})]}),(0,q.jsx)(`button`,{type:`button`,className:`agent-learning-settings`,disabled:!n||!r||!i||!s||f,onClick:()=>l(!0),children:`Continuous learning`}),(0,q.jsx)(`small`,{children:o.isError?`Needs attention`:o.isPending?`Loading…`:w.length?`On schedule`:C.length?`Paused`:`Off`})]}),i&&!S.length&&o.data?(0,q.jsx)(`small`,{children:`Sync this agent to the selected Project to use its local connection.`}):null,m?(0,q.jsx)(P,{error:m}):null,c&&n&&r?(0,q.jsx)(Ae,{connection:n,teamId:r,projectId:i,projectName:a,initialPolicy:T,bindings:S,query:o,onClose:()=>l(!1)},i):null,u?(0,q.jsx)(Me,{policies:C.filter(e=>e.status===`enabled`),policyId:u,agentName:e.name,busy:f,error:m,onChoose:d,onClose:()=>{f||d(null)},onJoin:()=>void O(!0)}):null]})}function Me({policies:e,policyId:t,agentName:n,busy:r,error:i,onChoose:a,onClose:o,onJoin:s}){let c=C(o),l=e.find(e=>e.id===t);return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:o,children:(0,q.jsxs)(`section`,{ref:c,className:`git-dialog agent-learning-join`,role:`dialog`,"aria-modal":`true`,"aria-label":`Add learning source`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{type:`button`,className:`git-dialog-close`,disabled:r,"aria-label":`Cancel`,onClick:o,children:(0,q.jsx)(k,{size:16})}),(0,q.jsxs)(`h2`,{children:[`Add `,n,` to `,l?.configuration.name??`continuous learning`,`?`]}),(0,q.jsx)(`p`,{children:`This agent will contribute conversations to the existing model, schedule and spending limits. Collection settings stay unchanged.`}),e.length>1?(0,q.jsxs)(`label`,{children:[`Existing policy`,(0,q.jsx)(`select`,{value:t,disabled:r,onChange:e=>a(e.target.value),children:e.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.configuration.name},e.id))})]}):null,i?(0,q.jsx)(P,{error:i}):null,(0,q.jsxs)(`div`,{className:`settings-button-row`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:r,onClick:o,children:`Cancel`}),(0,q.jsx)(`button`,{type:`button`,className:`primary`,disabled:r||!l,onClick:s,children:r?`Adding…`:`Add agent`})]})]})})}function Ne(e){let[t,n]=(0,K.useState)(!1),r=e.payload?.account,i=e.payload?.preferences.defaultTeamId??r?.accounts.find(e=>e.isActive)?.apiKeyAccess?.teamId,a=r?.baseUrl??r?.activeProfile?.baseUrl;return(0,q.jsxs)(q.Fragment,{children:[e.connection&&i&&a&&r?.state===`signed_in`?(0,q.jsx)(se,{context:{connection:e.connection,teamId:i,accountKey:JSON.stringify(r.activeProfile)},baseUrl:a}):(0,q.jsxs)(`section`,{className:`connected-agents-view`,children:[(0,q.jsx)(`h2`,{children:`Fix-it`}),(0,q.jsx)(`p`,{children:`Sign in and select a workspace to connect an agent.`})]}),(0,q.jsx)(`div`,{className:`connected-agents-view`,children:(0,q.jsx)(`button`,{className:`training-text-button`,"aria-expanded":t,onClick:()=>n(e=>!e),children:t?`Hide history imports`:`History import tools`})}),t?(0,q.jsx)(Pe,{...e}):null]})}function Pe({connection:e,payload:t,onPayload:n,onToast:r}){let{inventory:i,error:a,loading:o,refresh:s}=ae(e),[c,l]=(0,K.useState)(null),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(0),m=`openpond-agent-cards:${JSON.stringify(t?.account.activeProfile??null)}`,[h,g]=(0,K.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(m)??`null`);return Array.isArray(e)?e.filter(e=>typeof e==`string`&&G.some(t=>t.id===e)):[`oh_my_pi`]}catch{return[`oh_my_pi`]}});(0,K.useEffect)(()=>{try{localStorage.setItem(m,JSON.stringify(h))}catch{}},[m,h]);let[_,v]=(0,K.useState)(!1),b=(0,K.useRef)(null);(0,K.useEffect)(()=>{if(!_)return;let e=e=>{b.current?.contains(e.target)||v(!1)},t=e=>{e.key===`Escape`&&(v(!1),b.current?.querySelector(`button`)?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[_]);let x=(0,K.useRef)({payload:t,onPayload:n});x.current={payload:t,onPayload:n};let S=(0,K.useRef)(!0);(0,K.useEffect)(()=>(S.current=!0,()=>{S.current=!1}),[]);let C=t?.account??null,w=t?.preferences.defaultTeamId??C?.accounts.find(e=>e.isActive)?.apiKeyAccess?.teamId??null,k=(0,K.useCallback)(e=>{l(e),e&&r?.(e,`error`)},[r]),A=(0,K.useCallback)(e=>{let t=x.current;S.current&&t.payload&&t.onPayload({...t.payload,providers:e})},[]),j=(0,K.useCallback)((e,t)=>{let n=x.current;if(!S.current||!n.payload)return;let r=n.payload.providers,i={...n.payload,providers:{...r,statuses:{...r.statuses,[e]:t.statuses[e]},modelCaches:{...r.modelCaches,[e]:t.modelCaches[e]}}};x.current={...n,payload:i},n.onPayload(i)},[]);le(e,t?.providers,j,f);let M=(0,K.useCallback)(e=>{let t=x.current;t.payload&&t.onPayload({...t.payload,preferences:e.preferences})},[]),N=E({connection:e,onError:k,onPayload:n,onPreferences:M,onProviders:A,preferences:y(t?.preferences),providers:t?.providers}),F=_e(e,C,w),{projects:I,projectId:L,loading:ee,error:B}=F,te=Ce(e,w,JSON.stringify([C?.activeProfile??null,C?.profile?.id??null]),C?.state===`signed_in`),V=C?.baseUrl??C?.activeProfile?.baseUrl,ne=V&&w?`${V.replace(/\/$/u,``)}/console/connections?${new URLSearchParams({teamId:w,...L?{project:L}:{}})}`:null,H=u?.provider,U=H?t?.providers.statuses[H]:null,W=u?(0,q.jsx)(xe,{agent:u,inventory:i,connection:e,account:C,teamId:w,projects:I,projectId:L,onRefresh:s,learningUrl:ne},u.id):null;return(0,q.jsxs)(`section`,{className:`connected-agents-view`,"aria-label":`Continuous learning`,children:[(0,q.jsxs)(`div`,{className:`agent-connections-heading`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:`Conversation history imports`}),(0,q.jsx)(`p`,{children:`Import existing conversations and manage their original learning setup.`})]}),(0,q.jsxs)(`div`,{className:`agent-connections-actions`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:o||!e,"aria-label":`Refresh agent connections`,onClick:()=>{s(),F.refresh(),p(e=>e+1)},children:(0,q.jsx)(O,{size:15})}),(0,q.jsxs)(`div`,{className:`agent-more`,ref:b,children:[(0,q.jsx)(`button`,{type:`button`,"aria-expanded":_,onClick:()=>v(e=>!e),children:`More agents`}),_?(0,q.jsxs)(`div`,{className:`agent-more-menu`,children:[G.filter(e=>h.includes(e.id)).map(e=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{g(t=>t.filter(t=>t!==e.id)),v(!1)},children:[(0,q.jsx)(D,{size:14}),(0,q.jsx)(`span`,{children:e.name})]},e.id)),h.length===0?(0,q.jsx)(`span`,{children:`All agents shown`}):null]}):null]})]})]}),(0,q.jsxs)(`label`,{className:`agent-project-scope`,children:[`Project`,(0,q.jsx)(z,{label:`Connections project`,value:L,disabled:!I.length,onChange:F.select,searchable:!0,options:[{value:``,label:ee&&!I.length?`Fetching projects…`:`Select project`},...I.map(e=>({value:e.id,label:e.content.name}))]})]}),B?(0,q.jsx)(P,{error:B}):null,a?(0,q.jsx)(P,{error:a}):null,c?(0,q.jsx)(P,{error:c}):null,(0,q.jsx)(`div`,{className:`agent-connections-grid`,children:G.filter(e=>!h.includes(e.id)).map(n=>(0,q.jsx)(ce,{agent:n,account:C,native:n.provider?t?.providers.statuses[n.provider]:null,inventory:i,projects:I,teamId:w,learningControl:(0,q.jsx)(je,{agent:n,inventory:i,connection:e,teamId:w,projectId:L,projectName:I.find(e=>e.id===L)?.content.name??`Selected Project`,query:te,signedIn:C?.state===`signed_in`}),connected:!!e,onHide:()=>g(e=>[...e,n.id]),onManage:()=>d(n)},`${JSON.stringify([C?.activeProfile,C?.profile?.id])}:${w}:${L}:${n.id}`))}),i?(0,q.jsxs)(`div`,{className:`agent-importer-footer`,children:[(0,q.jsx)(`span`,{children:i.collector.running?`Import in progress`:`No import running`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>R({kind:`settings`,section:`conversation-imports`}),children:`Conversation import settings`})]}):null,u&&H&&U&&t?(0,q.jsx)(T,{checkNativeProvider:N.checkNativeProvider,connection:e,account:C,codex:t.codex,providerId:H,providerBusy:N.providerBusy,settings:t.providers,status:U,onClose:()=>d(null),onDeleteCredential:N.deleteProviderCredential,onRefreshModels:N.refreshProviderModels,onSaveConfig:N.saveProviderConfig,onSaveCredential:N.saveProviderCredential,onStartOpenAiSubscriptionAuth:N.startOpenAiSubscriptionAuth,onValidate:N.validateProvider,conversationPanel:W}):u?(0,q.jsx)(Fe,{agent:u,onClose:()=>d(null),children:W}):null]})}function Fe({agent:e,onClose:t,children:n}){let r=C(t);return(0,q.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:t,children:(0,q.jsxs)(`section`,{ref:r,className:`git-dialog provider-details-dialog agent-setup-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`${e.name} connection`,onMouseDown:e=>e.stopPropagation(),children:[(0,q.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close`,onClick:t,children:(0,q.jsx)(k,{size:16})}),(0,q.jsx)(`div`,{className:`provider-dialog-header`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:e.name}),(0,q.jsx)(`span`,{children:`Conversation syncing`})]})}),n]})})}var Ie=[`For agents`,`Featured`,`Productivity`,`Developer tools`],Le=new Set([`slack`,`google`,`github`,`mcp`]);function Re({account:e,connection:t,defaultTeamId:n,onToast:r,payload:i,onPayload:a}){let[o,s]=(0,K.useState)(`apps`),c=(0,K.useId)(),[l,u]=(0,K.useState)(null),[d,f]=(0,K.useState)(``),[p,m]=(0,K.useState)(`For agents`),[h,g]=(0,K.useState)(()=>L()),[_,v]=(0,K.useState)(null),y=e?.baseUrl??e?.activeProfile?.baseUrl??null,b=ze(n,_),x=(0,K.useMemo)(()=>h.filter(e=>Ue(e,p)).filter(e=>We(e,d)),[p,d,h]);(0,K.useEffect)(()=>{let e=!0;return!t||o!==`apps`?(g(L()),v(null),()=>{e=!1}):(ee.connectedAppStatus(t,{status:`all`}).then(t=>{e&&(g(t.apps),v(t.teamId?.trim()||null))}).catch(t=>{e&&(console.warn(`Unable to load connected app status.`,t),g(L()),v(null))}),()=>{e=!1})},[t,o]);function S(e){Ke(I({appId:e.id,baseUrl:y,teamId:b})).catch(e=>{r?.(e instanceof Error?e.message:String(e),`error`)})}return(0,q.jsxs)(`div`,{className:`apps-workspace-view`,children:[(0,q.jsx)(`div`,{className:`apps-page-tabs`,role:`tablist`,"aria-label":`Apps pages`,onKeyDown:e=>{if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=e.key===`Home`?`apps`:e.key===`End`?`agents`:o===`agents`?`apps`:`agents`;s(t),e.currentTarget.querySelector(`#${CSS.escape(`${c}-${t}`)}`)?.focus()},children:[{value:`apps`,label:`Apps`},{value:`agents`,label:`Fix-it`}].map(e=>(0,q.jsx)(`button`,{type:`button`,role:`tab`,id:`${c}-${e.value}`,"aria-controls":`${c}-${e.value}-panel`,tabIndex:o===e.value?0:-1,"aria-selected":o===e.value,onClick:()=>s(e.value),children:e.label},e.value))}),(0,q.jsx)(`div`,{role:`tabpanel`,id:`${c}-${o}-panel`,"aria-labelledby":`${c}-${o}`,children:o===`agents`?(0,q.jsx)(Ne,{connection:t,payload:i,onPayload:a,onToast:r},JSON.stringify([e?.activeProfile,n])):(0,q.jsxs)(`section`,{className:`connected-apps-view`,"aria-label":`Apps`,children:[(0,q.jsxs)(`div`,{className:`connected-apps-header`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h1`,{children:`Apps`}),(0,q.jsx)(`p`,{children:`Connect apps that agents can use for chat, knowledge, files, and workflow actions.`})]}),(0,q.jsxs)(`label`,{className:`connected-apps-search`,children:[(0,q.jsx)(F,{size:15}),(0,q.jsx)(`input`,{"aria-label":`Search apps`,onChange:e=>f(e.target.value),placeholder:`Search apps`,type:`search`,value:d})]})]}),(0,q.jsxs)(`section`,{className:`connected-apps-hero`,"aria-label":`App context`,children:[(0,q.jsxs)(`div`,{className:`connected-apps-hero-copy`,children:[(0,q.jsx)(`span`,{className:`connected-apps-hero-icon`,children:(0,q.jsx)(He,{appId:`github`})}),(0,q.jsx)(`h2`,{children:`Work with your apps`}),(0,q.jsx)(`p`,{children:`Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond.`})]}),(0,q.jsxs)(`div`,{className:`connected-apps-context-card`,"aria-hidden":`true`,children:[(0,q.jsx)(`strong`,{children:`Agent context`}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`files`,children:`Files`}),(0,q.jsx)(`span`,{className:`chat`,children:`Chat`}),(0,q.jsx)(`span`,{className:`oauth`,children:`OAuth`}),(0,q.jsx)(`span`,{className:`mcp`,children:`MCP`})]})]})]}),(0,q.jsx)(`div`,{className:`connected-apps-filters`,role:`tablist`,"aria-label":`App categories`,children:Ie.map(e=>(0,q.jsx)(`button`,{"aria-selected":p===e,className:p===e?`active`:``,onClick:()=>m(e),role:`tab`,type:`button`,children:e},e))}),(0,q.jsxs)(`div`,{className:`connected-apps-list`,children:[x.map(e=>(0,q.jsx)(Be,{app:e,onSelect:()=>u(e)},e.id)),x.length===0?(0,q.jsx)(`div`,{className:`connected-apps-empty`,children:`No apps match the current search.`}):null]}),l?(0,q.jsx)(Ve,{app:l,onClose:()=>u(null),onInstall:()=>S(l)}):null]})})]})}function ze(e,t){return e?.trim()||t?.trim()||null}function Be({app:e,onSelect:t}){return(0,q.jsxs)(`button`,{className:`connected-app-row`,onClick:t,type:`button`,children:[(0,q.jsxs)(`span`,{className:`connected-app-row-main`,children:[(0,q.jsx)(He,{appId:e.id}),(0,q.jsxs)(`span`,{className:`connected-app-copy`,children:[(0,q.jsxs)(`span`,{className:`connected-app-title`,children:[(0,q.jsx)(`strong`,{children:e.label}),(0,q.jsxs)(`span`,{children:[e.shortLabel===e.label?e.category:e.shortLabel,` / `,e.setupSurfaceLabel]})]}),(0,q.jsx)(`span`,{children:e.description}),(0,q.jsxs)(`span`,{className:`connected-app-capability-row`,children:[e.capabilityLabels.slice(0,2).map(e=>(0,q.jsx)(`span`,{children:e},e)),e.capabilityLabels.length>2?(0,q.jsxs)(`span`,{children:[`+`,e.capabilityLabels.length-2]}):null]})]})]}),(0,q.jsx)(`span`,{className:`connected-app-status-pill ${e.status}`,children:e.statusLabel}),(0,q.jsx)(x,{size:16})]})}function Ve({app:e,onClose:t,onInstall:n}){let r=e.connections.filter(e=>e.status===`active`);return(0,q.jsx)(`div`,{className:`connected-app-dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,q.jsxs)(`section`,{className:`connected-app-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`connected-app-dialog-title`,children:[(0,q.jsx)(`button`,{className:`connected-app-dialog-close`,type:`button`,"aria-label":`Close app details`,onClick:t,children:(0,q.jsx)(k,{size:17})}),(0,q.jsxs)(`div`,{className:`connected-app-dialog-identity`,children:[(0,q.jsx)(`span`,{className:`openpond-mark`,children:(0,q.jsx)(`img`,{alt:``,src:i})}),(0,q.jsxs)(`span`,{className:`connection-dots`,"aria-hidden":`true`,children:[(0,q.jsx)(`span`,{}),(0,q.jsx)(`span`,{}),(0,q.jsx)(`span`,{})]}),(0,q.jsx)(He,{appId:e.id})]}),(0,q.jsxs)(`h2`,{id:`connected-app-dialog-title`,children:[`Connect `,e.label]}),(0,q.jsxs)(`div`,{className:`connected-app-approval`,children:[(0,q.jsx)(te,{size:16}),(0,q.jsx)(`span`,{children:e.statusLabel})]}),(0,q.jsxs)(`div`,{className:`connected-app-dialog-body`,children:[(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:e.setupSurfaceLabel}),(0,q.jsx)(`p`,{children:`The web flow shows the provider account, workspace, and requested access before anything is connected.`})]}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:`Connected account`}),(0,q.jsx)(`p`,{children:qe(r)})]}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:`Available capabilities`}),(0,q.jsx)(`div`,{className:`connected-app-dialog-capabilities`,children:e.capabilities.map(e=>(0,q.jsx)(`span`,{children:e.label},e.id))})]}),(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`h3`,{children:`Sandbox lease policy`}),(0,q.jsx)(`p`,{children:e.leasePolicy.leaseable?`Leaseable for ${e.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:`Managed as setup or tool discovery; no OAuth lease is required.`})]})]}),(0,q.jsxs)(`button`,{className:`connected-app-dialog-primary`,type:`button`,onClick:n,children:[(0,q.jsx)(`span`,{children:e.installLabel}),(0,q.jsx)(S,{size:15})]})]})})}function He({appId:e}){return(0,q.jsx)(`span`,{className:`connected-app-icon app-${e}`,children:(0,q.jsx)(`img`,{alt:``,src:Ge(e)})})}function Ue(e,t){return t===`For agents`?!0:t===`Featured`?Le.has(e.id):t===`Productivity`?e.category===`Productivity`||e.category===`Chat`:e.category===`Developer tools`||e.id===`mcp`}function We(e,t){let n=t.trim().toLowerCase();return!n||[e.id,e.label,e.shortLabel,e.category,e.description,e.providerFamily,e.setupSurface].some(e=>e.toLowerCase().includes(n))}function Ge(e){return n(e)}async function Ke(e){let t=window.openpond?.browser;if(t){let n=await t.openExternal({conversationId:`connected-apps`,url:e});if(!n.ok)throw Error(n.error??`Unable to open app setup.`)}else window.open(e,`_blank`,`noopener,noreferrer`)}function qe(e){return e.length===0?`No active OAuth connection for this setup surface.`:e.map(e=>{let t=e.accountLabel??`Connected account`;return e.workspaceLabel?`${t} / ${e.workspaceLabel}`:t}).join(`, `)}export{Re as AppsView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";import"./icons-CZxmQtZs.js";import{t as r}from"./createLucideIcon-Bv-_eGcE.js";import{N as i}from"./training-model-data-CxR3xpmK.js";import{t as a}from"./copy-BGOhV6Pk.js";import{t as o}from"./x-B-_zJVOZ.js";import{n as s}from"./AppToastContext-D2788RqX.js";import{Bt as c,en as l,on as u}from"./App-DmEA-Lia.js";import{t as d}from"./HtmlVisual-CCuUkYT8.js";import{S as f,t as p,x as m}from"./MainPane-WOeodByM.js";var h=r(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),g=e(t(),1),_=n();function v({active:e,onBounds:t}){let n=(0,g.useRef)(null),r=(0,g.useRef)(null),i=(0,g.useRef)(null),a=(0,g.useCallback)(e=>{let n=e?`${e.x}:${e.y}:${e.width}:${e.height}`:`null`;r.current!==n&&(r.current=n,t(e))},[t]),o=(0,g.useCallback)(()=>{let t=n.current;if(!e||!t){a(null);return}let r=t.getBoundingClientRect(),i=Math.max(0,Math.round(r.width)),o=Math.max(0,Math.round(r.height));a(i===0||o===0?null:{x:Math.round(r.left),y:Math.round(r.top),width:i,height:o})},[e,a]),s=(0,g.useCallback)(()=>{i.current===null&&(i.current=window.requestAnimationFrame(()=>{i.current=null,o()}))},[o]);return(0,g.useLayoutEffect)(()=>{r.current=null,o();let t=n.current;if(!e||!t)return a(null),()=>a(null);let c=new ResizeObserver(s);return c.observe(t),window.addEventListener(`resize`,s),window.addEventListener(`scroll`,s,!0),()=>{i.current!==null&&(window.cancelAnimationFrame(i.current),i.current=null),c.disconnect(),window.removeEventListener(`resize`,s),window.removeEventListener(`scroll`,s,!0),a(null)}},[e,a,o,s]),(0,_.jsx)(`div`,{className:`browser-viewport`,ref:n,hidden:!e})}function y({available:e,busy:t,onCapture:n,onCancel:r}){let[i,a]=(0,g.useState)(!1),s=(0,g.useRef)(null);return(0,g.useEffect)(()=>{if(!i)return;let e=e=>{s.current?.contains(e.target)||a(!1)},t=e=>{e.key===`Escape`&&a(!1)};return window.addEventListener(`pointerdown`,e),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e),window.removeEventListener(`keydown`,t)}},[i]),(0,_.jsxs)(`div`,{className:`browser-menu-anchor`,ref:s,children:[(0,_.jsx)(`button`,{type:`button`,title:t?`Cancel snapshot`:`Take snapshot`,"aria-label":t?`Cancel snapshot`:`Take snapshot`,disabled:!e&&!t,"aria-haspopup":t?void 0:`menu`,"aria-expanded":i,onClick:()=>t?r():a(e=>!e),children:t?(0,_.jsx)(o,{size:15}):(0,_.jsx)(h,{size:15})}),i?(0,_.jsxs)(`div`,{className:`browser-options-menu browser-snapshot-menu`,role:`menu`,"aria-label":`Snapshot options`,children:[(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`page`)},children:`Full page snapshot`}),(0,_.jsx)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{a(!1),n(`node`)},children:`Select an element…`})]}):null]})}function b({image:e,onClose:t}){let n=s(),r=e.source?.length===64e3?`HTML excerpt`:`HTML`;async function c(){let t=`${e.selector.replace(/[^a-z0-9._-]+/gi,`-`).slice(0,80)||`snapshot`}.png`;if(window.openpond?.files?.saveImage){let r=await window.openpond.files.saveImage({url:e.dataUrl,suggestedName:t});!r.ok&&!r.canceled&&n?.(r.error??`Snapshot could not be saved.`,`error`)}else{let n=document.createElement(`a`);n.href=e.dataUrl,n.download=t,n.click()}}return(0,_.jsxs)(`section`,{className:`browser-snapshot-preview`,"aria-label":`Snapshot preview`,children:[(0,_.jsxs)(`div`,{className:`html-visual-toolbar`,children:[(0,_.jsxs)(`span`,{children:[e.selector,` · `,e.width,` × `,e.height]}),e.source?(0,_.jsx)(`button`,{type:`button`,"aria-label":`Copy ${r}`,title:`Copy ${r}`,onClick:()=>void i(e.source),children:(0,_.jsx)(a,{size:15})}):null,(0,_.jsx)(`button`,{type:`button`,"aria-label":`Save snapshot PNG`,title:`Save snapshot PNG`,onClick:()=>void c(),children:(0,_.jsx)(u,{size:15})}),(0,_.jsx)(`button`,{type:`button`,"aria-label":`Close snapshot`,title:`Close snapshot`,onClick:t,children:(0,_.jsx)(o,{size:15})})]}),(0,_.jsx)(`div`,{className:`browser-snapshot-image`,children:(0,_.jsx)(`img`,{src:e.dataUrl,alt:`Snapshot of ${e.selector}`})}),e.source?(0,_.jsxs)(`details`,{children:[(0,_.jsx)(`summary`,{children:r}),(0,_.jsx)(`pre`,{children:e.source})]}):null]})}function x(e,t,n,r){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(null),u=(0,g.useRef)(0),d=(0,g.useRef)(null),f=(0,g.useCallback)(()=>{u.current++,d.current?.(),d.current=null,a(null)},[]);return(0,g.useEffect)(()=>(s(null),l(null),f),[e,t,n,f]),(0,g.useEffect)(()=>{if(i!==`node`)return;let e=e=>{e.key===`Escape`&&f()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i,f]),{busy:i,image:o,error:c,capture:(0,g.useCallback)(async i=>{f();let o=u.current;s(null),l(null),a(i);try{let a=window.openpond?.browser;if(!a)throw Error(`Snapshots are available in the desktop app.`);let c;if(n){let e=r.current;if(!e)throw Error(`Wait for the HTML page to finish loading.`);d.current=()=>e.cancel();let t=await e.capture(i);if(o!==u.current)return;c=await a.captureHtml(t)}else{if(!t)throw Error(`Open a browser page before taking a snapshot.`);let n={conversationId:e,tabId:t};d.current=()=>{a.cancelCapture(n)},c=await a.capturePage({...n,mode:i})}if(o!==u.current)return;c.ok?s(c.image):c.canceled||l(c.error)}catch(e){o===u.current&&!(e instanceof DOMException&&e.name===`AbortError`)&&l(e instanceof Error?e.message:`Snapshot failed.`)}finally{o===u.current&&(a(null),d.current=null)}},[f,e,t,n,r]),cancel:f,close:()=>s(null)}}function S({conversationId:e,expanded:t,onResizeStart:n,connection:r=null,visualTabs:i}){let a=f(e),o=s(),[u,h]=(0,g.useState)({}),S=i?.tabs.find(e=>e.publicationId===i.activeId),C=(0,g.useRef)(null),w=x(e,a.activeTab?.id??null,S?.publicationId??null,C),T=(i?.tabs??[]).map(e=>({id:e.publicationId,url:`${e.output.title}.html`,title:e.output.title,faviconUrl:null,loading:!1,canGoBack:!1,canGoForward:!1,error:null})),E=T.find(e=>e.id===S?.publicationId),D=(0,g.useCallback)(t=>{window.openpond?.browser?.setBounds({conversationId:e,bounds:t})},[e]),O=(0,g.useCallback)(e=>{i?.showBrowser(),a.open(e,{explicitFile:!0}).catch(e=>o?.(e instanceof Error?e.message:`Could not open browser.`,`error`))},[a,i,o]),k=(0,g.useCallback)(()=>{window.confirm(`Clear shared browser data? Cookies, logins, cache, and site storage will be removed for all chats. This chat's browser tabs will also close.`)&&a.clearData()},[a]);return(0,_.jsxs)(`aside`,{className:`workspace-diff-panel browser-sidebar-panel ${t?`expanded`:``} ${w.busy===`node`||w.error?`has-capture-status`:``}`,"aria-label":`Browser`,children:[!t&&(0,_.jsx)(`div`,{className:`workspace-diff-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize browser panel`,onPointerDown:n}),(0,_.jsx)(p,{activeTabId:S?.publicationId??a.state.activeTabId,tabs:[...a.state.tabs,...T],onCloseTab:e=>{T.some(t=>t.id===e)?i?.close(e):a.closeTab(e)},onNewTab:()=>{i?.showBrowser(),a.newTab()},onSelectTab:e=>{T.some(t=>t.id===e)?i?.select(e):(i?.showBrowser(),a.selectTab(e))}}),(0,_.jsx)(m,{activeTab:E??a.activeTab,documentName:E?.url,available:a.available,snapshotActions:(0,_.jsx)(y,{available:!w.image&&!!(S?window.openpond?.browser?.captureHtml:a.activeTab&&!a.activeTab.loading&&window.openpond?.browser?.capturePage),busy:!!w.busy,onCapture:e=>void w.capture(e),onCancel:w.cancel}),onBack:()=>void a.back(),onClearData:k,onForward:()=>void a.forward(),onNavigate:O,onOpenExternal:()=>void a.openExternal(),onReload:()=>{S?h(e=>({...e,[S.publicationId]:(e[S.publicationId]??0)+1})):a.reload()},onStop:()=>void a.stop()}),w.busy===`node`?(0,_.jsx)(`p`,{className:`browser-snapshot-status`,role:`status`,children:`Hover to highlight an element, then click to capture it. Press Esc to cancel.`}):null,w.error?(0,_.jsx)(c,{error:w.error}):null,(0,_.jsxs)(`div`,{className:`browser-content`,children:[w.image?(0,_.jsx)(b,{image:w.image,onClose:w.close}):null,i?.tabs.map(e=>(0,_.jsx)(`div`,{className:`browser-visual-document`,role:`tabpanel`,"aria-label":e.output.title,hidden:!!w.image||e.publicationId!==S?.publicationId,children:(0,_.jsx)(d,{visual:e,connection:r,expanded:!0,snapshotRef:e.publicationId===S?.publicationId?C:void 0},u[e.publicationId]??0)},e.publicationId)),!S&&!a.available?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Desktop browser bridge unavailable.`})]}):!S&&a.state.tabs.length===0?(0,_.jsxs)(`div`,{className:`browser-empty-state`,children:[(0,_.jsx)(l,{size:18}),(0,_.jsx)(`span`,{children:`Enter a URL to open a browser tab for this conversation.`})]}):null,(0,_.jsx)(v,{active:!w.image&&!S&&a.available&&a.state.tabs.length>0,onBounds:D})]})]})}export{S as BrowserSidebar};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";import{n as r}from"./create-pipeline-DRR0Qeec.js";import{n as i}from"./api-client-Dgz-fOMl.js";import"./icons-CZxmQtZs.js";import{t as a}from"./createLucideIcon-Bv-_eGcE.js";import{D as o,E as s,N as c,O as l,P as u,S as d,T as f,w as p,x as m}from"./training-model-data-CxR3xpmK.js";import{Ut as h}from"./CartesianChart-DdBZ69lI.js";import{t as g}from"./bot-Cd761lRF.js";import{t as _}from"./chevron-down-DEbd6Ek-.js";import{t as v}from"./chevron-up-DFJJccDl.js";import{t as y}from"./copy-BGOhV6Pk.js";import{t as b}from"./external-link-CVXsNeO3.js";import{t as x}from"./folder-open-MnOmh19D.js";import{t as S}from"./image-BViGUAiq.js";import{t as C}from"./loader-circle-JFgFNsP5.js";import{t as w}from"./message-square-cOCAL8J1.js";import{t as T}from"./play-DzqLr7fM.js";import{t as E}from"./refresh-cw-D45mW-vs.js";import{t as D}from"./square-terminal-DS3zwi6X.js";import{t as O}from"./x-B-_zJVOZ.js";import{n as k,r as A}from"./AppToastContext-D2788RqX.js";import{n as j,t as M}from"./profile-agent-labels-Duh96b8x.js";import{$t as ee,Bt as te,D as ne,Gt as re,Ht as N,Qt as ie,Rt as ae,T as P,Xt as F,an as I,b as L,bn as R,c as oe,dn as z,dt as se,en as B,fn as V,jt as H,k as ce,ln as le,nn as ue,sn as de,un as fe,ut as pe,w as me,x as U,xn as he,zt as W}from"./App-DmEA-Lia.js";import{t as ge}from"./HtmlVisual-CCuUkYT8.js";import{a as _e,i as ve}from"./TasksetDraftEditorPrimitives-DJvIvzBb.js";import{r as ye,t as be}from"./AttachmentTypeIcon-DVluUHuc.js";import{F as xe,G as Se,I as Ce,K as we,L as Te,P as Ee,R as De,V as G,Y as Oe}from"./MainPane-WOeodByM.js";var ke=a(`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`}]]),Ae=a(`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`}]]),je=a(`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`}]]),K=e(t(),1),q=n();function Me(e,t=!0){let n=He(e);if(n)return n;let r=Ve(),i=``,a=[],o=[],s=[];for(let t of e)!i&&t.label&&(i=t.label),lt(o,t.label),ut(s,t),t.kind===`command`&&t.content?We(r,Ke(t.content)):Ge(r,t)||ct(a,t.label);let c=[...Qe(r),...o,...s],l=r.runCount>0?at(r.runCount):``,u=mt(a),d=(e.length===1&&e[0]?.kind===`command`&&e[0].content&&o.length===0&&s.length===0?Fe(e[0].content,`completed`):null)||st(c,l)||u||i||`Ran command`;return{kind:it(r,l),text:t?Ne(d,e):d}}function Ne(e,t){let n=Pe(t);return n.length?`${e}, started ${n.length===1?`subagent`:`subagents`} ${X(n)}`:e}function Pe(e){return[...new Set(e.flatMap(e=>e.startedAgent&&(e.action!==`openpond_start_agent`||e.state===`completed`)?[e.startedAgent]:[]))]}function Fe(e,t=`completed`){let n=vt(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(bt))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(bt))return r?`Running shell command`:`Ran shell command`;let i=qe(n);if(!i)return null;let[a,o]=i;if(a===`cat`){let e=Q(o);return e.length===0?r?`Reading standard input`:`Read standard input`:`${r?`Reading`:`Read`} ${$(e)}`}if(a===`sed`)return Be(gt([a,...o]),r);if(a===`rg`)return _t([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`?Q(o):[];return e.length===0?r?`Listing files`:`Listed files`:`${r?`Listing`:`Listed`} files in ${$(e)}`}if([`head`,`tail`,`nl`,`wc`,`awk`,`jq`].includes(a)){let e=Xe(a,o);return e.length===0?r?`Running ${a}`:`Ran ${a}`:`${r?`Reading`:`Read`} ${$(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 Ie(o,r);if(ze(a))return Le(a,o,r);if(Ye(a))return Re(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 ${J(a)} script`:`Ran ${J(a)} script`;let s=J(a);return r?`Running ${s} command`:`Ran ${s} command`}function Ie(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 Le(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 ${J(e)} command`:`Ran ${J(e)} command`}function Re(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 ze(e){return[`bun`,`npm`,`pnpm`,`yarn`].includes(e)}function J(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 Be(e,t){return!e||!t?e:e.startsWith(`Read `)?`Reading ${e.slice(5)}`:e.startsWith(`Run `)?`Running ${e.slice(4)}`:e}function Ve(){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 He(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:Z(X([n>0?Ue(n,`received`):null,r>0?Ue(r,`sent`):null].filter(e=>!!e)))}}function Ue(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function We(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 Ge(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 tt(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 Ke(e){let t=vt(e);if(t.length===0||t.some(bt))return{countedAsRun:!0};let n=qe(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(Je(r,i)||Ye(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=Xe(r,i);return a.length>0?{countedAsRun:!1,readFiles:a}:{countedAsRun:!0}}function qe(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 Je(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 Ye(e){return[`eslint`,`jest`,`playwright`,`prettier`,`tsc`,`vitest`].includes(e)}function Xe(e,t){if(e===`cat`||e===`nl`||e===`head`||e===`tail`||e===`wc`)return Ze(Q(t));if(e===`sed`){let e=t.findIndex(e=>e!==`-n`&&!e.startsWith(`--`));return Ze(e>=0?Q(t.slice(e+1)):[])}return e===`awk`||e===`jq`?Ze(Q(t.slice(1))):[]}function Ze(e){return e.filter(e=>!(!e||e===`.`||e===`-`||/^\d+$/.test(e)))}function Qe(e){let t=[],n=et(e);n&&t.push(n),e.editCount>0&&t.push(`made edits`);let r=e.readFiles.size||e.readFileCount;return r>0&&t.push(ot(`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(ot(`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(...$e(e)),t}function $e(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 et(e){let t=nt(e);return t.failed>0?Y(t.failed,`failed`):t.blocked>0?Y(t.blocked,`blocked`):t.stale>0?Y(t.stale,`stale`):t[`needs revision`]>0?Y(t[`needs revision`],`needs revision`):t.submitted>0?Y(t.submitted,`submitted`):t.running>0&&t.completed===0&&t.accepted===0?Y(t.running,`running`):t.accepted>0?Y(t.accepted,`accepted`):t.completed>0?Y(t.completed,`completed`):t.archived>0?Y(t.archived,`archived`):null}function tt(e,t,n){let r=t.openSession?.sessionId??(t.content.trim()||t.id),i=e.subagentStatuses.get(r);(!i||rt(n)>rt(i))&&e.subagentStatuses.set(r,n)}function nt(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 rt(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 Y(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function it(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 at(e){return e===1?`ran a command`:`ran ${e} commands`}function ot(e,t,n){return t===1?`${e} a ${n}`:`${e} ${t} ${n}s`}function st(e,t){return e.length===0?t?Z(t):``:Z(X(t?[...e,t]:e))}function ct(e,t){let n=t.trim();n&&(e.includes(n)||e.push(n))}function lt(e,t){let n=dt(t);n&&!e.includes(n)&&e.push(n)}function ut(e,t){let n=t.receipt;if(!n)return;let r=`${n.status} receipt ${pt(n.id)} ${ft(n.totalUsd)}`;e.includes(r)||e.push(r)}function dt(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 ft(e){let t=e.trim();return t.startsWith(`$`)?t:`$${t}`}function pt(e){let t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function mt(e){return e.length===0?``:Z(X(e.map(ht)))}function ht(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function X(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 Z(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function gt(e){let t=e.findIndex((e,t)=>t>0&&e!==`-n`&&!e.startsWith(`--`)),n=t>=0?e[t]??``:``,r=t>=0?Q(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 ${$(r)}`:`Read ${n}`}return r.length>0?`Read ${$(r)} with sed`:`Run sed`}function _t(e,t=!1){let n=e.slice(1);if(n.includes(`--files`)){let e=Q(n.filter(e=>e!==`--files`));return e.length>0?`${t?`Listing`:`Listed`} files matching ${$(e)}`:t?`Listing files`:`Listed files`}let r=Q(n),i=r[0],a=r.slice(1);return i?a.length>0?`${t?`Searching`:`Searched`} for ${St(i)} in ${$(a)}`:`${t?`Searching`:`Searched`} for ${St(i)}`:t?`Searching files`:`Searched files`}function vt(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(e=>yt(e)).filter(Boolean)}function yt(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function bt(e){return[`|`,`&&`,`||`,`;`,`>`,`>>`,`<`,`(`,`)`].includes(e)}function Q(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];r.startsWith(`-`)?xt(r)&&n+1<e.length&&(n+=1):t.push(r)}return t}function xt(e){return[`-e`,`-f`,`-g`,`--glob`,`--type`,`-t`,`--context`,`-C`,`-A`,`-B`,`-m`,`-n`,`-c`].includes(e)}function $(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function St(e){return`"${e}"`}function Ct(e,t,n){return new Set(e.filter(e=>{if(t.has(e.id))return!1;if(n===void 0)return!0;if(typeof e.timestamp!=`string`)return!1;let r=Date.parse(e.timestamp);return Number.isFinite(r)&&r>=n}).map(e=>e.id))}function wt(e){let t=null;for(let n of e){if(typeof n.timestamp!=`string`)continue;let e=Date.parse(n.timestamp);Number.isFinite(e)&&(t=t===null?e:Math.max(t,e))}return t}function Tt(e,t){let n=(0,K.useRef)({scopeKey:t,ids:new Set(e.map(e=>e.id)),initialized:!1,liveCutoff:null}),r=n.current.scopeKey===t,i=r&&n.current.initialized?Ct(e,n.current.ids,n.current.liveCutoff??void 0):new Set;return(0,K.useLayoutEffect)(()=>{let r=n.current,i=r.scopeKey!==t,a=Date.now();n.current={scopeKey:t,ids:new Set(e.map(e=>e.id)),initialized:!i,liveCutoff:i?Math.max(a,wt(e)??0):r.liveCutoff??Math.max(a,wt(e)??0)}},[e,r,t]),i}var Et=new Map,Dt=[200,600,1500];function Ot({connection:e,latestTurnId:t,sessionId:n,turnRunning:r}){let[i,a]=(0,K.useState)(()=>({sessionId:null,summaries:Et}));return(0,K.useEffect)(()=>{if(!e||!n)return;let i=!1,o=null,s=r?null:t,c=e=>{let t=Dt[e];t===void 0||i||(o=setTimeout(()=>void l(e+1),t))},l=async t=>{try{let r=await R.usageTurnCache(e,n);if(i)return;let o=new Map(r.turns.map(e=>[e.turnId,e]));a({sessionId:n,summaries:o}),s&&!o.has(s)&&c(t)}catch{c(t)}};return l(0),()=>{i=!0,o!==null&&clearTimeout(o)}},[e,t,n,r]),i.sessionId===n?i.summaries:Et}function kt(e){let t=[],n=[],r=()=>{if(n.length){if(n.length===1||!n.some(e=>e.message.role===`activity_group`))t.push(...n);else{let e=n[0],r=n.map(e=>e.message).filter(e=>e.role===`activity_group`),i=r.at(-1),a={...e.message,role:`activity_group`,content:void 0,taskMessage:void 0,taskMessagePresentation:void 0,refinerActivity:r.slice().reverse().find(e=>e.refinerActivity)?.refinerActivity,activityMessages:n.map(e=>e.message),activities:r.flatMap(e=>e.activities??[]),traceStartedAt:r[0]?.traceStartedAt,traceCompletedAt:i.traceCompletedAt,traceState:r.some(e=>e.traceState===`failed`)?`failed`:r.some(e=>e.traceState===`running`)?`running`:i.traceState};t.push({...e,message:a,showFooter:!1})}n=[]}};for(let i of e){let e=i.message;e.role===`activity_group`&&!e.deliverables?.length&&!e.userQuestion?n.push(i):(r(),t.push(i))}return r(),t}function At({notification:e,onOpenFile:t}){let n=e.status===`completed`?`Background task completed`:e.status===`failed`?`Background task failed`:`Background task stopped`;return(0,q.jsxs)(`article`,{className:`native-task-notification ${e.status}`,"aria-label":n,children:[(0,q.jsxs)(`header`,{children:[e.status===`completed`?(0,q.jsx)(z,{size:14}):(0,q.jsx)(le,{size:14}),(0,q.jsx)(`strong`,{children:n})]}),(0,q.jsx)(`p`,{children:e.summary}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Task details`}),(0,q.jsx)(`code`,{children:e.taskId}),e.outputFile?(0,q.jsx)(`div`,{children:t?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>t(e.outputFile),children:[(0,q.jsx)(D,{size:13}),`Open output`]}):(0,q.jsx)(`code`,{children:e.outputFile})}):null]})]})}function jt({name:e,version:t,summary:n,primary:r,actions:i=[],children:a}){let[o,s]=(0,K.useState)(!1),c=[r,...i];return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`header`,{className:`chat-resource-toolbar`,children:[(0,q.jsx)(`strong`,{title:e,children:e}),(0,q.jsxs)(`span`,{className:`chat-resource-version`,children:[`V`,t]}),(0,q.jsx)(`span`,{className:`chat-resource-toolbar-summary`,title:n,children:n}),(0,q.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,q.jsx)(ae,{compact:!0,floating:!0,placement:`bottom`,floatingMenuWidth:220,label:`Actions for ${e}`,value:``,triggerContent:(0,q.jsx)(Ae,{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,q.jsx)(`div`,{className:`chat-resource-details`,children:a}):null]})}function Mt({initial:e,connection:t,context:n}){let[r,i]=(0,K.useState)(e),[a,o]=(0,K.useState)(null),[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(!1),[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(0),[_,v]=(0,K.useState)(null),[y,b]=(0,K.useState)([]),[x,S]=(0,K.useState)(null);(0,K.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 W(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,q.jsxs)(`section`,{className:`chat-resource-summary ${s?``:`compact`}`,"aria-label":`grader: ${r.name}`,children:[(0,q.jsx)(jt,{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,q.jsxs)(`dl`,{children:[(0,q.jsx)(`dt`,{children:`Type`}),(0,q.jsx)(`dd`,{children:r.graderType}),(0,q.jsx)(`dt`,{children:`Dataset version`}),(0,q.jsxs)(`dd`,{children:[`V`,r.datasetRevision]}),(0,q.jsx)(`dt`,{children:`Checks`}),(0,q.jsx)(`dd`,{children:r.description})]})}),s&&(0,q.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${s?`expanded`:``}`,tabIndex:0,"aria-label":`Grader examples`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:`Example`}),(0,q.jsx)(`th`,{children:`Output`})]})}),(0,q.jsx)(`tbody`,{children:E.length?E.slice(h*5,h*5+5).map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{title:e.label,children:e.label}),(0,q.jsx)(`td`,{title:e.detail,children:e.detail})]},e.id)):(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:2,children:`No saved examples. Add known-good and known-bad outputs before testing.`})})})]})}),s&&E.length>5&&(0,q.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:h===0,onClick:()=>g(e=>e-1),children:`Previous`}),(0,q.jsxs)(`span`,{children:[h+1,`/`,Math.ceil(E.length/5)]}),(0,q.jsx)(`button`,{type:`button`,disabled:(h+1)*5>=E.length,onClick:()=>g(e=>e+1),children:`Show more`})]}),s&&D&&(0,q.jsx)(`div`,{className:`chat-resource-checks`,children:D.issues.filter(e=>!e.graderId||e.graderId===r.graderId).map((e,t)=>(0,q.jsx)(`p`,{children:e.message},t))}),l&&_&&(0,q.jsxs)(`div`,{className:`chat-resource-grader-editor`,children:[(0,q.jsx)(`p`,{children:`Save a new Dataset revision. Earlier examples and Experiment inputs stay pinned to their saved version.`}),(0,q.jsx)(_e,{label:`Grader definition`,value:_,disabled:d,onChange:e=>{v(e),S(null)}}),(0,q.jsx)(ve,{label:`Saved calibration examples`,value:y,disabled:d,onChange:e=>{b(e),S(null)}}),(0,q.jsxs)(`div`,{className:`chat-resource-actions`,children:[(0,q.jsx)(`button`,{className:`training-button`,disabled:d,onClick:()=>void w(async()=>{let e=x??crypto.randomUUID();S(e);let a=await W(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 W(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,q.jsx)(`button`,{className:`training-button secondary`,disabled:d,onClick:()=>u(!1),children:`Close editor`})]})]}),p&&(0,q.jsx)(te,{error:p})]})}function Nt(e){return e.initial.kind===`grader`?(0,q.jsx)(Mt,{...e}):(0,q.jsx)(Pt,{...e})}function Pt({initial:e,connection:t,context:n}){let[r,i]=(0,K.useState)(e),[a,o]=(0,K.useState)(!1),[s,c]=(0,K.useState)(0),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(null),[h,g]=(0,K.useState)(!1),[_,v]=(0,K.useState)([]),[y,b]=(0,K.useState)(``),[x,S]=(0,K.useState)([]),[C,w]=(0,K.useState)(``),[T,E]=(0,K.useState)(`10`),[D,O]=(0,K.useState)([]),[k,A]=(0,K.useState)(e.location??`local`),[j,M]=(0,K.useState)(null),[ee,ne]=(0,K.useState)(!0),re=[...new Set([...x,...y?[y]:[]])],N=k===`local`&&!ee&&re.length>0&&re.every(e=>e.startsWith(`codex/`)),[ie]=(0,K.useState)(()=>crypto.randomUUID());(0,K.useEffect)(()=>i(e),[e]);let P=[`Creating`,`Importing`,`Failed`,`Cancelled`].includes(r.state)&&r.kind===`dataset`;(0,K.useEffect)(()=>{if(!t||P||r.kind===`experiment`&&![`queued`,`running`,`cancelling`].includes(r.state))return;let e=new AbortController,n,a=async()=>{try{let n=r.kind===`dataset`?await W(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision},e.signal):await W(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,P]);async function F(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 I(e,a={}){let o=await W(t,`dataset`,{action:e,id:r.id,expectedRevision:r.revision,payload:a,context:n});i(o.summary),m(o)}async function L(){if(a)o(!1);else{if(r.kind===`dataset`){let e=await W(t,`dataset`,{action:`read`,id:r.id,expectedRevision:r.revision});m(e)}else{let e=await W(t,`experiment`,{action:`result`,payload:{id:r.id}});m(e.view)}c(0),o(!0)}}async function R(){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([W(t,`experiment`,{action:`models`}),W(t,`dataset`,{action:`read`,id:e,expectedRevision:n})]);ne(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 oe(){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)||!N&&(!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 W(t,`experiment`,{action:k===`cloud`?`run_cloud`:`run`,context:n,payload:{datasetId:s,revision:c,operationId:o,...N?{}:{maximumCostUsd:i},taskLimit:a,models:e.map(e=>({providerId:e.providerId,modelId:e.id}))}});n||O(l.summaries),g(!1),M(null)}let z=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||P,run:()=>void F(L)},B=[],V=(e,n,r=!1)=>B.push({label:e,run:()=>void F(n),disabled:l||!t||r});r.kind===`dataset`?(V(`Run experiment`,R,P),V(`Check graders`,()=>I(`check_graders`),P),!P&&r.syncState!==`Synced`&&r.syncState!==`Paused`&&V(r.syncState===`Local`?`Upload to cloud`:`Retry sync`,()=>I(r.syncState===`Local`?`upload`:`sync`)),a&&!P&&r.syncState!==`Local`&&(V(r.syncState===`Paused`?`Resume sync`:`Pause sync`,()=>I(`pause_sync`,{paused:r.syncState!==`Paused`})),V(`Disconnect cloud`,()=>I(`disconnect_sync`)))):[`queued`,`running`,`cancelling`].includes(r.state)?V(`Cancel experiment`,async()=>{let e=await W(t,`experiment`,{action:`cancel`,payload:{id:r.id}});i(t=>({...e.summary,datasetId:t.datasetId,datasetRevision:t.datasetRevision}))}):(!r.owner&&!r.profileRef&&V(`Run again`,R,!r.datasetId),V(`HTML charts`,async()=>{await W(t,`experiment`,{action:`charts`,context:n,payload:{ids:[r.id],operationId:ie}})},!n));let H=r.score==null?``:`${Number((r.score*100).toFixed(1))}%`,ce=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${H?` · ${H}`:``}`;return(0,q.jsxs)(`section`,{className:`chat-resource-summary ${a?``:`compact`}`,"aria-label":`${r.kind}: ${r.name}`,children:[(0,q.jsx)(jt,{name:r.name,version:r.revision,summary:ce,primary:se,actions:B,children:(0,q.jsxs)(`dl`,{children:[(0,q.jsx)(`dt`,{children:`Status`}),(0,q.jsx)(`dd`,{children:r.state}),r.kind===`dataset`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`Storage`}),(0,q.jsx)(`dd`,{children:r.syncState??`Local`}),(0,q.jsx)(`dt`,{children:`Grader checks`}),(0,q.jsx)(`dd`,{children:r.checkState??`Not checked`})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`Model`}),(0,q.jsx)(`dd`,{children:r.model??`Unavailable`}),(0,q.jsx)(`dt`,{children:`Location`}),(0,q.jsx)(`dd`,{children:r.location??`local`}),(0,q.jsx)(`dt`,{children:r.scoreLabel??`Mean task score`}),(0,q.jsx)(`dd`,{children:H||`Unavailable`}),(0,q.jsx)(`dt`,{children:`Cost`}),(0,q.jsx)(`dd`,{children:r.costUsd==null?`Unavailable`:`$${r.costUsd.toFixed(4)}`}),(0,q.jsx)(`dt`,{children:`Quality failures`}),(0,q.jsx)(`dd`,{children:r.qualityFailureCount??`Unavailable`}),(0,q.jsx)(`dt`,{children:`Execution failures`}),(0,q.jsx)(`dd`,{children:r.executionFailureCount??`Unavailable`}),(0,q.jsx)(`dt`,{children:`Ungraded`}),(0,q.jsx)(`dd`,{children:r.ungradedCount??`Unavailable`})]})]})}),a&&(0,q.jsx)(`div`,{className:`training-table-wrap chat-resource-table ${a?`expanded`:``}`,tabIndex:0,"aria-label":`Resource rows`,children:(0,q.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:r.kind===`dataset`?`Task`:`Case`}),(0,q.jsx)(`th`,{children:r.kind===`dataset`?`Graders`:`Outcome`}),r.kind===`experiment`&&(0,q.jsx)(`th`,{children:`Score`})]})}),(0,q.jsx)(`tbody`,{children:z.length?z.slice(s*5,s*5+5).map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{title:e.label,children:e.label}),(0,q.jsx)(`td`,{title:e.detail,children:e.detail}),r.kind===`experiment`&&(0,q.jsx)(`td`,{children:e.score==null?`Unavailable`:`${(e.score*100).toFixed(1)}%`})]},e.id)):(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:r.kind===`experiment`?3:2,children:[`Creating`,`Importing`].includes(r.state)?`Waiting for saved tasks…`:`No saved rows to show.`})})})]})}),a&&z.length>5&&(0,q.jsxs)(`div`,{className:`chat-resource-pagination`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:s===0,onClick:()=>c(e=>e-1),children:`Previous`}),(0,q.jsxs)(`span`,{children:[s+1,`/`,Math.ceil(z.length/5)]}),(0,q.jsx)(`button`,{type:`button`,disabled:(s+1)*5>=z.length,onClick:()=>c(e=>e+1),children:`Show more`})]}),h&&(0,q.jsxs)(`div`,{className:`chat-resource-run-setup`,children:[(0,q.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,q.jsx)(ae,{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,q.jsx)(ae,{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,q.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,q.jsxs)(`table`,{className:`training-data-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:`Selected model`}),(0,q.jsx)(`th`,{children:`Actions`})]})}),(0,q.jsx)(`tbody`,{children:x.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:_.find(t=>`${t.providerId}/${t.id}`===e)?.name??e}),(0,q.jsx)(`td`,{children:(0,q.jsx)(`button`,{type:`button`,className:`training-text-button`,disabled:l,onClick:()=>{S(x.filter(t=>t!==e)),M(null)},children:`Remove`})})]},e))})]}),!_.length&&(0,q.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.`}),N?(0,q.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,q.jsxs)(`label`,{children:[`Total budget (USD)`,(0,q.jsx)(`input`,{type:`number`,min:`0.000001`,step:`any`,value:C,onChange:e=>{w(e.target.value),M(null)},disabled:l})]}),(0,q.jsxs)(`label`,{children:[`Maximum tasks`,(0,q.jsx)(`input`,{type:`number`,min:`1`,max:`100`,value:T,onChange:e=>{E(e.target.value),M(null)},disabled:l})]}),(0,q.jsx)(`button`,{type:`button`,className:`training-button`,disabled:l||!x.length&&!y||!N&&!C,onClick:()=>void F(oe),children:k===`cloud`?`Run in cloud`:`Run experiment`}),(0,q.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:l,onClick:()=>g(!1),children:`Close`})]}),d&&(0,q.jsx)(te,{error:d}),D.map(e=>(0,q.jsx)(Nt,{initial:e,connection:t},e.id))]})}function Ft({resources:e,connection:t,context:n}){let[r,i]=(0,K.useState)(!1),a=(0,K.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,q.jsx)(Nt,{initial:e,connection:t,context:n},`${e.kind}:${e.id}`));if(!s||!o)return(0,q.jsx)(q.Fragment,{children:c});let l=e.length-1;return(0,q.jsxs)(`section`,{className:`chat-resource-summary compact`,"aria-label":`Resources for ${o.name}`,children:[(0,q.jsx)(jt,{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,q.jsx)(`div`,{id:a,className:`chat-resource-group-details`,children:c}):null]})}var It=`<openpond_trusted_runtime_context>`,Lt=`</openpond_trusted_runtime_context>`;function Rt(e){let t=e.trimStart();if(!t.startsWith(It))return e;let n=t.indexOf(Lt,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 zt({content:e,timestamp:t,kvCacheSummary:n}){let r=(0,K.useRef)(null),i=(0,K.useRef)(0),[a,o]=(0,K.useState)(!1),[s,l]=(0,K.useState)(null);A(s),(0,K.useEffect)(()=>{let e=r.current?.closest(`.message-row, .ponder-transcript-message`),t=()=>{i.current++,o(!1)},n=n=>{e?.contains(n.relatedTarget)||t()};return t(),e?.addEventListener(`pointerleave`,t),e?.addEventListener(`focusout`,n),window.addEventListener(`scroll`,t,!0),()=>{i.current++,e?.removeEventListener(`pointerleave`,t),e?.removeEventListener(`focusout`,n),window.removeEventListener(`scroll`,t,!0)}},[e]);async function u(){if(!e)return;let t=++i.current;l(null);let n=await c(e);t===i.current&&(o(n),n||l(Error(`Could not copy the message. Try again.`)))}let d=n?.cacheHitRate,f=typeof d==`number`&&Number.isFinite(d)&&d>=0&&d<=1?Math.round(d*100):0,p=f>0?`${f}%`:null;return(0,q.jsxs)(`div`,{className:`assistant-message-footer`,ref:r,children:[(0,q.jsx)(Bt,{timestamp:t}),p?(0,q.jsxs)(`span`,{className:`message-kv-cache-metric`,"aria-label":`KV cache reuse ${p}`,children:[`KV `,p]}):null,(0,q.jsx)(`button`,{type:`button`,className:`message-copy-button${a?` is-copied`:``}`,title:a?`Copied`:`Copy message`,"aria-label":a?`Message copied`:`Copy assistant message`,disabled:!e,onClick:()=>void u(),children:a?(0,q.jsx)(z,{size:14}):(0,q.jsx)(y,{size:14})})]})}function Bt({timestamp:e}){let t=me(e);return t?(0,q.jsx)(`time`,{className:`message-timestamp`,dateTime:e,title:P(e),children:t}):null}function Vt({peer:e,connection:t,onOpenSession:n,onOpenPonder:r,showIcon:a=!1}){let[o,s]=(0,K.useState)(null),c=(0,K.useRef)(0);(0,K.useEffect)(()=>(c.current++,()=>{c.current++}),[t,e.sessionId,e.bindingId]);async function l(){if(!t||!r)return;let n=c.current;try{if(!e.ponderScope)throw Error(`This message has no verified Pal source.`);await De(t,e.ponderScope);let a=await i(t,`/v1/ponder`,{method:`POST`,body:`{}`});if(n!==c.current)return;if(a.bindingId!==e.bindingId)throw Error(`This task's original Pal conversation is no longer active.`);s(null),r()}catch(e){n===c.current&&s(e instanceof Error?e.message:String(e))}}let u=e.kind===`ponder`?!!(r&&t):!!(n&&e.sessionId),d=(0,q.jsxs)(q.Fragment,{children:[a?(0,q.jsx)(H,{session:{provider:e.provider}}):null,(0,q.jsx)(`span`,{className:`task-message-conversation-name`,children:e.title})]});return(0,q.jsxs)(q.Fragment,{children:[u?(0,q.jsx)(`button`,{type:`button`,className:`task-message-conversation`,title:e.title,onClick:()=>e.kind===`ponder`?void l():n?.(e.sessionId),children:d}):(0,q.jsx)(`span`,{className:`task-message-direction`,children:d}),o?(0,q.jsx)(te,{error:o}):null]})}function Ht({message:e,onOpenSession:t,onOpenPonder:n,connection:r}){let[i,a]=(0,K.useState)(!1),o=(0,K.useId)(),s=e.taskMessage??e.taskMessagePresentation;if(!s)return null;let{input:c,direction:l,peer:u}=s,d=c.error?c.error:{pending:`Queued`,included:`Included in agent request`,resolved:`Delivered to agent`,rejected:`Not delivered`,cancelled:`Cancelled`}[c.state],f=c.state===`rejected`,p=c.state===`resolved`?z:f?le:c.state===`cancelled`?O:C;return(0,q.jsxs)(`article`,{className:`activity-tool-row task-message-row`,children:[(0,q.jsxs)(`div`,{className:`task-message-summary-row`,children:[(0,q.jsxs)(G,{className:`activity-tool-summary`,danger:f,icon:(0,q.jsx)(w,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}),children:[(0,q.jsx)(`span`,{children:l===`sent`?`Sent to`:`Received from`}),` `,(0,q.jsx)(Vt,{peer:u,connection:r,onOpenSession:t,onOpenPonder:n}),(0,q.jsx)(`span`,{className:`task-message-state`,role:`img`,"aria-label":d,title:d,children:(0,q.jsx)(p,{"aria-hidden":!0,size:12})})]}),(0,q.jsx)(`button`,{type:`button`,className:`activity-summary activity-tool-summary`,"aria-controls":o,"aria-expanded":i,"aria-label":`${l===`sent`?`Sent to`:`Received from`} ${u.title}: message details`,onClick:()=>a(e=>!e),children:(0,q.jsx)(_,{"aria-hidden":!0,className:`activity-summary-toggle ${i?`expanded`:``}`,size:14})})]}),i?(0,q.jsx)(`div`,{className:`activity-tool-details`,id:o,children:(0,q.jsx)(`pre`,{className:`activity-detail-output`,children:c.body})}):null]})}function Ut({content:e}){let[t,n]=(0,K.useState)(!1),[r,i]=(0,K.useState)(!1),a=(0,K.useRef)(null),o=(0,K.useId)();return(0,K.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,q.jsxs)(`div`,{className:`user-message-content-wrap`,children:[(0,q.jsx)(`div`,{ref:a,id:o,className:`user-message-content ${t?``:`collapsed`}`,children:e}),r?(0,q.jsxs)(`button`,{type:`button`,className:`user-message-show-more`,"aria-expanded":t,"aria-controls":o,onClick:()=>n(e=>!e),children:[t?(0,q.jsx)(v,{size:14}):(0,q.jsx)(_,{size:14}),(0,q.jsx)(`span`,{children:t?`Show less`:`Show more`})]}):null]})}var Wt=64,Gt=120,Kt=210,qt=360,Jt=40,Yt=120,Xt=600,Zt=100,Qt=33,$t=new Set,en=!1;function tn(e,t,n=0){if(e<=0)return{characterCount:0,remainder:0};let r=n+Math.min(Math.max(t,0),Zt)*(e>Xt?qt:e>Yt?Kt:e>Jt?Gt:Wt)/1e3,i=Math.min(e,Math.floor(r));return{characterCount:i,remainder:r-i}}function nn(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 rn(){return typeof window<`u`&&typeof window.matchMedia==`function`&&typeof document<`u`&&document.visibilityState===`visible`&&!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function an(e,t,n){return t&&n?nn(``,e,1):e}function on(e,t=!1){let[n,r]=(0,K.useState)(()=>an(e,t,rn())),i=(0,K.useRef)(n),a=(0,K.useRef)(e),o=(0,K.useRef)(null),s=(0,K.useRef)(null),c=(0,K.useRef)(0),l=(0,K.useRef)(!0);return(0,K.useEffect)(()=>(l.current=!0,()=>{l.current=!1,o.current!==null&&(window.clearTimeout(o.current),o.current=null)}),[]),(0,K.useEffect)(()=>{if(a.current=e,!rn()||!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=tn(d,s.current===null?16:u-s.current,c.current);if(s.current=u,c.current=f.remainder,f.characterCount>0){let t=nn(e,n,f.characterCount);i.current=t,r(t)}o.current=window.setTimeout(t,Qt)};return o.current=window.setTimeout(t,Qt),()=>{o.current!==null&&(window.clearTimeout(o.current),o.current=null)}},[e]),(0,K.useEffect)(()=>{let e=sn(()=>{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 sn(e){return $t.add(e),en||=(document.addEventListener(`visibilitychange`,cn),!0),()=>{$t.delete(e),$t.size===0&&en&&(document.removeEventListener(`visibilitychange`,cn),en=!1)}}function cn(){for(let e of $t)e()}function ln({visibleContent:e,content:t,...n}){let r=p(e,e.length===t.length),i=un(r,e.length===t.length);return(0,q.jsx)(m,{...n,content:r,finalizedContent:i.finalized,mutableContent:i.mutable})}function un(e,t){if(t||!e)return{finalized:e,mutable:``};let n=e.split(`
|
|
2
|
-
`),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 dn({content:e=``,reasoningContent:t=``,animateInitialContent:n,children:r,footer:i,...a}){let o=on(e,n),s=on(t,n),c=o===e&&s===t;return(0,q.jsxs)(q.Fragment,{children:[t?(0,q.jsx)(`div`,{className:`assistant-message`,children:(0,q.jsx)(ln,{...a,content:t,visibleContent:s})}):null,e?(0,q.jsx)(`div`,{className:`assistant-message`,children:(0,q.jsx)(ln,{...a,content:e,visibleContent:o})}):null,r,c?i:null]})}function fn({actionRun:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r=null}){let i=_n(e.status),a=vn(e);return(0,q.jsxs)(`div`,{className:`action-run-card ${e.status}`,children:[(0,q.jsxs)(`div`,{className:`action-run-header`,children:[(0,q.jsx)(`span`,{className:`action-run-status`,title:e.status,children:(0,q.jsx)(i,{size:15})}),(0,q.jsxs)(`div`,{className:`action-run-title`,children:[(0,q.jsx)(`strong`,{children:e.title}),(0,q.jsx)(`span`,{children:e.actionName})]})]}),a.length>0&&(0,q.jsx)(`div`,{className:`action-run-meta`,"aria-label":`Action run metadata`,children:a.map(e=>(0,q.jsxs)(`span`,{className:`action-run-chip`,children:[e.icon,(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`code`,{children:e.value})]},e.label))}),e.responseText&&(0,q.jsx)(`p`,{className:`action-run-response`,children:e.responseText}),e.refs.length>0&&(0,q.jsx)(`div`,{className:`action-run-ref-list`,"aria-label":`Action run references`,children:e.refs.slice(0,8).map(e=>(0,q.jsx)(gn,{refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r},e.id))}),e.childCalls.length>0&&(0,q.jsx)(`div`,{className:`action-run-child-list`,"aria-label":`Child implementation calls`,children:e.childCalls.map(e=>(0,q.jsxs)(`div`,{className:`action-run-child ${e.status}`,children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`small`,{children:e.status}),e.detail&&(0,q.jsx)(`code`,{children:e.detail})]},e.id))})]})}function pn(e){return e.implementationType===`openpond-profile-action`}function mn(e){let t=e.agentName??e.agentId;return e.actionName.endsWith(`.chat`)?j({actionId:e.actionName,label:e.title,name:t}):t?j({actionId:e.actionName,name:t}):e.title&&!M(e.title)?j({actionId:e.actionName,label:e.title}):j({actionId:e.actionName})}function hn(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 gn({refItem:e,onOpenBrowserLink:t,onOpenFileInSidebar:n,workspaceRootPath:r}){let i=n?l(e.target,{workspaceRootPath:r}):null,a=yn(e.target)&&t,o=!!(i&&n);return(0,q.jsxs)(`div`,{className:`action-run-ref ${e.kind}`,children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`code`,{children:e.target}),a&&(0,q.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>t(e.target,{newTab:!0}),children:(0,q.jsx)(h,{size:13})}),o&&(0,q.jsx)(`button`,{type:`button`,title:`Open ${e.target}`,"aria-label":`Open ${e.label}`,onClick:()=>{i&&n&&n(i.path)},children:(0,q.jsx)(h,{size:13})})]})}function _n(e){return e===`completed`?fe:e===`failed`?je:Oe}function vn(e){let t=[];return e.implementationType&&t.push({label:`Type`,value:e.implementationType,icon:(0,q.jsx)(u,{size:12})}),e.runId&&t.push({label:`Run`,value:e.runId,icon:(0,q.jsx)(I,{size:12})}),e.sandboxId&&t.push({label:`Sandbox`,value:e.sandboxId,icon:(0,q.jsx)(I,{size:12})}),e.sourceRef&&t.push({label:`Source`,value:e.sourceRef,icon:(0,q.jsx)(ue,{size:12})}),e.manifestHash&&t.push({label:`Manifest`,value:e.manifestHash,icon:(0,q.jsx)(I,{size:12})}),t}function yn(e){return/^https?:\/\//i.test(e)}function bn(e){let t=new Map;for(let n of e){if(!n.startedAgent||n.action===`openpond_start_agent`&&n.state!==`completed`)continue;let e=n.openSession?.sessionId??``;t.set(e||n.startedAgent,{sessionId:e,title:n.startedAgent,provider:n.startedAgentProvider??``})}return[...t.values()]}function xn({activities:e,messages:t,createdOnly:n=!1,onToggle:r,expanded:i,controls:a,...o}){let s=bn(e);for(let e of s){let n=t.map(e=>e.taskMessage??e.taskMessagePresentation).find(t=>t?.peer.sessionId===e.sessionId);!e.provider&&n&&(e.provider=n.peer.provider)}let c=new Set(s.map(e=>e.sessionId).filter(Boolean)),l={sent:new Map,received:new Map};for(let e of t){let t=e.taskMessage??e.taskMessagePresentation;if(t){let e=t.peer;if(t.direction===`sent`&&c.has(e.sessionId))continue;l[t.direction].set(e.sessionId||e.bindingId||e.title,e)}}let u=(e,t=!1)=>e.map((n,r)=>(0,q.jsxs)(K.Fragment,{children:[r?r===e.length-1?` and `:`, `:``,(0,q.jsx)(Vt,{...o,peer:n,showIcon:t})]},n.sessionId||n.title));return n?(0,q.jsx)(q.Fragment,{children:s.map(e=>(0,q.jsxs)(`div`,{className:`activity-created-agents`,children:[(0,q.jsx)(H,{session:{provider:e.provider}}),(0,q.jsx)(Vt,{...o,peer:e}),(0,q.jsx)(`span`,{children:`started`})]},e.sessionId||e.title))}):(0,q.jsxs)(q.Fragment,{children:[l.sent.size?(0,q.jsxs)(q.Fragment,{children:[`, `,(0,q.jsx)(`button`,{type:`button`,className:`activity-summary-label-toggle`,"aria-expanded":i,"aria-controls":a,onClick:r,children:`sent to`}),` `,u([...l.sent.values()])]}):null,l.received.size?(0,q.jsxs)(q.Fragment,{children:[`, `,(0,q.jsx)(`button`,{type:`button`,className:`activity-summary-label-toggle`,"aria-expanded":i,"aria-controls":a,onClick:r,children:`received from`}),` `,u([...l.received.values()])]}):null]})}function Sn(e,t){let n=Cn(e),[r,i]=(0,K.useState)(()=>n.getUrl(t));return(0,K.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function Cn(e){let[,t]=(0,K.useState)(0),n=(0,K.useCallback)(t=>!e||!t?null:(U.activateConnection(e),U.get(L(e,`local-video`,t))),[e]),r=(0,K.useCallback)(async n=>{if(!e||!n)return null;U.activateConnection(e);let r=L(e,`local-video`,n);return U.load(r,()=>R.signLocalVideoUrl(e,{path:n})).finally(()=>t(e=>e+1))},[e]);return(0,K.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}var wn=4;function Tn({onOpenSession:e,onShowAll:t,sessions:n}){let r=n.slice(0,wn),i=Math.max(0,n.length-r.length),a=n.map(kn).join(`, `);return(0,q.jsxs)(`div`,{"aria-label":`Subagent conversations: ${a}`,className:`activity-subagent-avatar-group`,title:`Subagent conversations: ${a}`,children:[r.map(t=>(0,q.jsx)(En,{openSession:t,onOpenSession:e},t.sessionId)),i>0?(0,q.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 En({className:e=``,onOpenSession:t,openSession:n}){let r=jn(n.roleId),i=Mn(n.status),a=`Open ${kn(n)} conversation`;return(0,q.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,q.jsx)(Dn,{roleId:r})})}function Dn({roleId:e}){return e===`coding`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M9.4 7.2 4.8 12l4.6 4.8`}),(0,q.jsx)(`path`,{d:`m14.6 7.2 4.6 4.8-4.6 4.8`}),(0,q.jsx)(`path`,{d:`m12.9 5.7-1.8 12.6`})]}):e===`research`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`circle`,{cx:`10.8`,cy:`10.8`,r:`5.2`}),(0,q.jsx)(`path`,{d:`m15 15 4 4`}),(0,q.jsx)(`path`,{d:`M8.6 10.8h4.4`}),(0,q.jsx)(`path`,{d:`M10.8 8.6v4.4`})]}):e===`review`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,q.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,q.jsx)(`path`,{d:`m8.9 14.2 2 2 4.3-4.7`})]}):e===`test`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M9.2 4.8h5.6`}),(0,q.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,q.jsx)(`path`,{d:`M8.2 15.8h7.6`})]}):e===`docs`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M7 4.8h7.2L18 8.6v10.6H7z`}),(0,q.jsx)(`path`,{d:`M14 4.8v4h4`}),(0,q.jsx)(`path`,{d:`M9.2 11.4h5.6`}),(0,q.jsx)(`path`,{d:`M9.2 14.2h5.6`}),(0,q.jsx)(`path`,{d:`M9.2 17h3.4`})]}):e===`planner`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`circle`,{cx:`7.2`,cy:`7.2`,r:`2.1`}),(0,q.jsx)(`circle`,{cx:`16.8`,cy:`7.2`,r:`2.1`}),(0,q.jsx)(`circle`,{cx:`12`,cy:`16.8`,r:`2.1`}),(0,q.jsx)(`path`,{d:`M9 8.2h6`}),(0,q.jsx)(`path`,{d:`m8.5 9 2.4 5.4`}),(0,q.jsx)(`path`,{d:`m15.5 9-2.4 5.4`})]}):e===`summarizer`?(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`path`,{d:`M7 6.8h10`}),(0,q.jsx)(`path`,{d:`M7 10.4h8.2`}),(0,q.jsx)(`path`,{d:`M7 14h6.2`}),(0,q.jsx)(`path`,{d:`M7 17.6h4.2`})]}):(0,q.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 24 24`,className:`activity-subagent-avatar-svg`,children:[(0,q.jsx)(`circle`,{cx:`12`,cy:`8.2`,r:`3.2`}),(0,q.jsx)(`path`,{d:`M6.5 19.2c.6-3 2.5-5 5.5-5s4.9 2 5.5 5`}),(0,q.jsx)(`path`,{d:`M5.2 11.8h2`}),(0,q.jsx)(`path`,{d:`M16.8 11.8h2`})]})}function On(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 kn(e){let t=`${An(e.roleId)} subagent`,n=e.status?.replace(/_/g,` `).trim();return n?`${t} (${n})`:t}function An(e){return jn(e).split(/[-_]+/).filter(Boolean).map(e=>e.slice(0,1).toUpperCase()+e.slice(1)).join(` `)||`Subagent`}function jn(e){let t=e?.trim().toLowerCase()||`subagent`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`subagent`}function Mn(e){let t=e?.trim().toLowerCase()||`unknown`;return/^[a-z][a-z0-9_-]*$/.test(t)?t:`unknown`}function Nn({activity:e,defaultExpanded:t=!1}){let[n,r]=(0,K.useState)(t),i=(0,K.useId)(),a=In(e);return(0,q.jsxs)(`section`,{className:`harness-refiner-receipt ${e.state} ${e.result??``}`,children:[(0,q.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,q.jsx)(E,{"aria-hidden":!0,className:e.state===`running`?`spinning`:void 0,size:12}),(0,q.jsx)(`span`,{children:ne(e)}),a?(0,q.jsx)(_,{"aria-hidden":!0,className:`harness-refiner-receipt-toggle ${n?`expanded`:``}`,size:13}):null]}),a&&n?(0,q.jsxs)(`div`,{className:`harness-refiner-receipt-details`,id:i,children:[(0,q.jsx)(Pn,{activity:e}),e.reason?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Reason`}),(0,q.jsx)(`p`,{children:e.reason})]}):null,e.expectedOutcome?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Expected outcome`}),(0,q.jsx)(`p`,{children:e.expectedOutcome})]}):null,e.evidenceBasis?(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Evidence basis`}),(0,q.jsx)(`p`,{children:e.evidenceBasis.kind.replaceAll(`_`,` `)}),(0,q.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,q.jsxs)(`section`,{children:[(0,q.jsx)(`strong`,{children:`Validation`}),(0,q.jsx)(`div`,{className:`harness-refiner-validation-list`,children:e.validations.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:e.status,children:e.status}),(0,q.jsx)(`p`,{children:e.summary})]},e.id))})]}):null,e.edits.length?(0,q.jsxs)(`details`,{className:`harness-refiner-exact-edits`,children:[(0,q.jsxs)(`summary`,{children:[`Review `,e.edits.length,` exact edit`,e.edits.length===1?``:`s`]}),e.edits.map(e=>(0,q.jsxs)(`section`,{children:[(0,q.jsxs)(`strong`,{children:[e.operation,` · `,e.target]}),(0,q.jsx)(`p`,{children:e.summary}),e.content===null?(0,q.jsx)(`small`,{children:`File deleted.`}):(0,q.jsx)(`pre`,{children:e.content})]},e.id))]}):null,(0,q.jsx)(Fn,{refs:e.refs})]}):null]})}function Pn({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,q.jsx)(`dl`,{className:`harness-refiner-receipt-facts`,children:t.map(([e,t])=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e}),(0,q.jsx)(`dd`,{children:t?.replaceAll(`_`,` `)})]},e))}):null}function Fn({refs:e}){let t=Object.entries(e).filter(e=>!!e[1]);return t.length?(0,q.jsxs)(`details`,{className:`harness-refiner-references`,children:[(0,q.jsx)(`summary`,{children:`Receipt references`}),(0,q.jsx)(`dl`,{children:t.map(([e,t])=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:Ln(e)}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{children:t})})]},e))})]}):null}function In(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 Ln(e){let t=e.replace(/([a-z])([A-Z])/g,`$1 $2`);return`${t[0]?.toUpperCase()??``}${t.slice(1)}`}var Rn=5,zn=280;function Bn({activeWorkspaceAppId:e,connection:t,message:n,onOpenFileInSidebar:r,onOpenSession:i,onOpenPonder:a}){let o=n.activities??[],[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(null),d=(0,K.useId)(),p=(0,K.useMemo)(()=>Me(o,!1),[o]),m=(0,K.useMemo)(()=>we(o,s),[o,s]),h=o.find(e=>e.imagePreview)?.imagePreview??null,g=n.deliverables??[],v=Te(o),y=xe(),b=y?.messageIds.has(n.id)||n.activityMessages?.some(e=>y?.messageIds.has(e.id)),x=lr(l,t,e),S=n.traceState===`running`,C=n.traceState===`failed`||n.traceState===`interrupted`,w=Se(n.traceStartedAt,n.traceCompletedAt),T=Qn(p.text,n.traceState,w,o),E=bn(o),D=E.length>0||!!n.activityMessages?.some(e=>e.taskMessage||e.taskMessagePresentation),O=On(o),k=o.length>0&&o.every(e=>e.subagentMessage),A=m.toolCount>0||!!n.refinerActivity||!!n.activityMessages?.some(e=>e.taskMessage||e.taskMessagePresentation);return k&&!n.refinerActivity&&!n.activityMessages?(0,q.jsx)(Yn,{activities:o}):(0,q.jsx)(q.Fragment,{children:o.length>0||g.length>0||n.refinerActivity?(0,q.jsxs)(`article`,{className:`activity-group work-trace ${S?`running`:`settled`}`,children:[o.length>0||n.refinerActivity?(0,q.jsxs)(`div`,{className:`activity-summary-row`,children:[(0,q.jsxs)(G,{controls:A?d:void 0,danger:C,expanded:m.toolsExpanded,icon:h?(0,q.jsx)(or,{activeWorkspaceAppId:e,connection:t,image:h}):(0,q.jsx)(sr,{kind:p.kind}),onToggle:A&&!D?()=>c(e=>!e):void 0,running:S,children:[D&&A?(0,q.jsx)(`button`,{type:`button`,className:`activity-summary-label-toggle`,"aria-expanded":s,"aria-controls":d,onClick:()=>c(e=>!e),children:T===`Ran`?`Ran commands`:T||`Worked`}):T===`Ran`?`Ran commands`:T||`Worked`,D?(0,q.jsx)(xn,{activities:o,messages:n.activityMessages??[],onToggle:()=>c(e=>!e),expanded:s,controls:d,connection:t,onOpenSession:i,onOpenPonder:a}):null]}),D&&A?(0,q.jsx)(`button`,{type:`button`,className:`activity-summary activity-tool-summary`,"aria-label":`Tool activity details`,"aria-expanded":s,"aria-controls":d,onClick:()=>c(e=>!e),children:(0,q.jsx)(_,{"aria-hidden":!0,className:`activity-summary-toggle ${s?`expanded`:``}`,size:14})}):null,O.length>0&&i&&!D?(0,q.jsx)(Tn,{onOpenSession:i,onShowAll:()=>c(!0),sessions:O}):null]}):null,E.length?(0,q.jsx)(xn,{createdOnly:!0,activities:o,messages:n.activityMessages??[],connection:t,onOpenSession:i,onOpenPonder:a}):null,v&&!b?(0,q.jsx)(Ce,{entries:v}):null,g.length>0?(0,q.jsx)(Wn,{artifacts:g,connection:t,onOpenFileInSidebar:r}):null,s&&A?(0,q.jsx)(`div`,{className:`work-trace-flow`,id:d,children:(n.activityMessages??[n]).map(n=>n.role===`task_message`?(0,q.jsx)(Ht,{message:n,connection:t,onOpenSession:i,onOpenPonder:a},n.id):(0,q.jsxs)(`div`,{className:`activity-tool-row`,children:[we(n.activities??[],!0).visibleActivities.map(n=>(0,q.jsx)(Hn,{activeWorkspaceAppId:e,activity:n,connection:t,onOpenImage:u,onOpenSession:i},n.id)),(0,q.jsx)(Vn,{activity:n.refinerActivity})]},n.id))}):null,(0,q.jsx)(f,{open:!!x,src:x,title:l?.path??``,onClose:()=>u(null)})]}):null})}function Vn({activity:e}){return e?(0,q.jsx)(`article`,{className:`refiner-activity-row`,children:(0,q.jsx)(Nn,{activity:e})}):null}function Hn({activeWorkspaceAppId:e,activity:t,connection:n,onOpenImage:r,onOpenSession:i}){let[a,o]=(0,K.useState)(!1),s=(0,K.useId)();return t.subagentMessage?(0,q.jsx)(Jn,{activity:t}):(0,q.jsxs)(`div`,{className:`activity-tool-row ${t.controlKind===`turn_aborted`?`danger`:``}`,children:[(0,q.jsx)(G,{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,q.jsx)(D,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_dataset`?(0,q.jsx)(ie,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):t.action===`openpond_experiment`?(0,q.jsx)(V,{"aria-hidden":!0,className:`activity-summary-kind-icon`,size:12}):void 0,onToggle:()=>o(e=>!e),children:tr(t)}),a?(0,q.jsx)(Un,{activeWorkspaceAppId:e,activity:t,connection:n,detailsId:s,onOpenImage:r,onOpenSession:i}):null]})}function Un({activeWorkspaceAppId:e,activity:t,connection:n,detailsId:r,onOpenImage:i,onOpenSession:a}){let o=lr(t.imagePreview??null,n,e);return(0,q.jsxs)(`div`,{className:`activity-tool-details`,id:r,children:[t.kind===`command`&&t.content?(0,q.jsx)(nr,{command:t.content,exitCode:t.terminal?.exitCode,output:t.detail,state:t.state}):t.content?dr(t.content)?(0,q.jsx)(`pre`,{className:`activity-detail-output`,children:t.content}):(0,q.jsx)(`code`,{className:`activity-tool-content`,children:t.content}):null,t.detail&&t.kind!==`command`?(0,q.jsx)(`pre`,{className:`activity-detail-output`,children:t.detail.replace(/\r\n/g,`
|
|
3
|
-
`).trimEnd()}):null,t.meta?(0,q.jsx)(`small`,{className:`activity-detail-meta`,children:t.meta}):null,t.imagePreview&&o?(0,q.jsx)(`button`,{type:`button`,className:`activity-image-preview`,title:`Open ${t.imagePreview.path}`,onClick:()=>i(t.imagePreview??null),children:(0,q.jsx)(`img`,{alt:ce(t.imagePreview.path),decoding:`async`,loading:`lazy`,src:o})}):null,t.openSession&&a?(0,q.jsx)(En,{className:`activity-subagent-detail-avatar`,openSession:t.openSession,onOpenSession:a}):null]})}function Wn({artifacts:e,connection:t,onOpenFileInSidebar:n}){return(0,q.jsx)(`div`,{className:`activity-artifact-list`,children:e.map(e=>e.contentType.startsWith(`video/`)?(0,q.jsx)(Kn,{artifact:e,connection:t,onOpenFileInSidebar:n},e.path):e.contentType.startsWith(`image/`)?(0,q.jsx)(Gn,{artifact:e,connection:t},e.path):(0,q.jsx)(Ee,{artifact:e,onOpenFileInSidebar:n},e.path))})}function Gn({artifact:e,connection:t}){let[n,r]=(0,K.useState)(!1),i=o(t,e.path);return(0,q.jsxs)(`div`,{className:`activity-artifact-image`,title:e.path,children:[(0,q.jsx)(`button`,{type:`button`,disabled:!i,onClick:()=>r(!0),title:`Open ${e.title}`,children:i?(0,q.jsx)(`img`,{alt:e.title,decoding:`async`,loading:`lazy`,src:i}):(0,q.jsx)(S,{"aria-hidden":!0,size:20})}),(0,q.jsx)(`strong`,{children:e.title}),(0,q.jsx)(f,{open:n&&!!i,src:i,title:e.title,onClose:()=>r(!1)})]})}function Kn({artifact:e,connection:t,onOpenFileInSidebar:n}){let r=(0,K.useRef)(null),[i,a]=(0,K.useState)(!1),o=Sn(t,e.path);return(0,q.jsxs)(`div`,{className:`activity-artifact-video`,title:e.path,children:[(0,q.jsxs)(`div`,{className:`activity-artifact-video-stage`,children:[o?(0,q.jsx)(`video`,{controls:!0,onPlay:()=>a(!0),preload:`metadata`,ref:r,src:o}):(0,q.jsx)(`div`,{className:`activity-artifact-video-loading`,children:`Preparing video…`}),o&&!i?(0,q.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,q.jsx)(T,{"aria-hidden":!0,fill:`currentColor`,size:22})}):null]}),(0,q.jsxs)(`div`,{className:`activity-artifact-video-footer`,children:[(0,q.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-file`,onClick:()=>void d(e.path),title:`Show ${e.path} in its folder`,children:[(0,q.jsx)(x,{"aria-hidden":!0,size:13}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`strong`,{children:e.title}),(0,q.jsx)(`code`,{children:e.path})]}),(0,q.jsx)(`small`,{children:e.sizeBytes==null?e.contentType:qn(e.sizeBytes)})]}),n?(0,q.jsxs)(`button`,{type:`button`,className:`activity-artifact-video-sidebar`,onClick:()=>n(e.path),title:`Open video in sidebar`,children:[(0,q.jsx)(F,{"aria-hidden":!0,size:13}),`Open in sidebar`]}):null]})]})}function qn(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 Jn({activity:e}){let[t,n]=(0,K.useState)(!1),r=e.subagentMessage;if(!r)return null;let i=`${An(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=Xn(r),c=Zn(r.body);return(0,q.jsx)(`div`,{className:`activity-child-message ${r.direction}`,children:(0,q.jsxs)(`div`,{className:`activity-child-message-card`,children:[(0,q.jsxs)(`div`,{className:`activity-child-message-header`,children:[(0,q.jsxs)(`span`,{className:`activity-child-message-title`,children:[(0,q.jsx)(g,{"aria-hidden":!0,size:14}),(0,q.jsx)(`strong`,{title:o,children:o})]}),(0,q.jsx)(`small`,{children:r.kind.replace(/_/g,` `)})]}),(0,q.jsx)(`p`,{className:c&&!t?`collapsed`:void 0,style:{"--subagent-message-visible-lines":Rn},children:r.body}),c?(0,q.jsx)(`button`,{type:`button`,className:`activity-child-message-toggle`,"aria-expanded":t,onClick:()=>n(e=>!e),children:t?`Show less`:`Show more`}):null,(0,q.jsxs)(`details`,{className:`activity-child-message-details`,children:[(0,q.jsx)(`summary`,{children:`Message details`}),(0,q.jsx)(`div`,{className:`activity-child-message-facts`,"aria-label":`Child message metadata`,children:s.map(e=>(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`small`,{children:e.label}),(0,q.jsx)(`code`,{title:e.value,children:e.value})]},e.label))})]}),r.refs?.length?(0,q.jsx)(`div`,{className:`activity-child-message-refs`,"aria-label":`Child message references`,children:r.refs.map(e=>(0,q.jsxs)(`span`,{children:[e.kind,`:`,e.id,` (`,e.label,`)`]},`${e.kind}:${e.id}`))}):null]})},e.id)}function Yn({activities:e}){let t=e[0]?.subagentMessage?.direction??`received`;return(0,q.jsx)(`article`,{className:`activity-child-message-group ${t}`,children:e.map(e=>(0,q.jsx)(Jn,{activity:e},e.id))})}function Xn(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 Zn(e){return e.length>zn||e.split(/\r?\n/).length>Rn}function Qn(e,t,n,r){return t===`running`?$n(r)||e||`Working…`:t===`failed`?`${n?`Failed after ${n}`:`Failed`}${e?` · ${e}`:``}`:t===`interrupted`?`${n?`Interrupted after ${n}`:`Interrupted`}${e?` · ${e}`:``}`:e}function $n(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 er(r)}return t?er(t):null}function er(e){return e.kind===`command`?e.state===`failed`?`Command failed`:Fe(e.content,e.state)??(e.state===`running`||e.state===`pending`?`Running command`:`Ran command`):e.label.trim()||null}function tr(e){if(e.kind!==`command`)return e.label;if(e.state===`running`||e.state===`pending`)return er(e)??`Running command`;let t=rr(e.terminal?.durationMs);return e.state===`failed`?`Command failed${t?` in ${t}`:``}`:`${er(e)??`Ran command`}${t?` in ${t}`:``}`}function nr({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,q.jsxs)(`section`,{"aria-label":`Shell command output`,className:`activity-command-terminal ${r??`completed`}`,children:[(0,q.jsx)(`header`,{children:`Shell`}),(0,q.jsx)(`pre`,{children:(0,q.jsxs)(`code`,{className:`shell-command-code`,children:[(0,q.jsx)(`span`,{className:`activity-command-prompt`,"aria-hidden":!0,children:`$\xA0`}),ir(e),n?(0,q.jsx)(`span`,{className:`activity-command-output`,children:`\n${n.replace(/\r\n/g,`
|
|
4
|
-
`).trimEnd()}`}):null]})}),(0,q.jsx)(`footer`,{children:i})]})}function rr(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 ir(e){return ar(e).map((e,t)=>(0,q.jsx)(`span`,{className:`shell-token ${e.kind}`,children:e.text},`${t}-${e.text}`))}function ar(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 or({activeWorkspaceAppId:e,connection:t,image:n}){let r=lr(n,t,e);return r?(0,q.jsx)(`img`,{"aria-hidden":!0,className:`activity-summary-image`,decoding:`async`,loading:`lazy`,src:r,alt:``}):null}function sr({kind:e}){let t=cr(e);return(0,q.jsx)(t,{"aria-hidden":!0,className:`activity-summary-kind-icon ${e}`,size:14})}function cr(e){return e===`approval`||e===`control`?le:e===`edit`?N:e===`image`?S:e===`list`?ie:e===`read`?I:e===`reasoning`?ke:e===`search`?re:e===`subagent`?g:e===`web`?B:D}function lr(e,t,n){let r=e&&ur(e.path)?e.path:null,i=e?.appId??n,a=o(t,r),c=s(t,r?null:i,r?null:e?.path);return r?a:c}function ur(e){return/^file:\/\//i.test(e)||e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)}function dr(e){return e.includes(`
|
|
5
|
-
`)||e.length>160}function fr({summary:e,onOpenFileInSidebar:t}){let[n,r]=(0,K.useState)(null),i=`Workspace changes · ${e.filesChanged} ${e.filesChanged===1?`file`:`files`}`,a=e.files.reduce((e,t)=>{let n=mr(t);return{additions:e.additions+n.additions,deletions:e.deletions+n.deletions}},{additions:0,deletions:0});return(0,q.jsxs)(`div`,{className:`change-summary-card`,children:[(0,q.jsxs)(`div`,{className:`change-summary-header`,children:[(0,q.jsxs)(`span`,{children:[i,(0,q.jsx)(`br`,{}),(0,q.jsx)(`small`,{style:{color:`var(--text-muted)`},children:`May include edits from other chats or tools.`})]}),(0,q.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,q.jsxs)(`span`,{className:`diff-addition`,children:[`+`,a.additions]}),(0,q.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,a.deletions]})]})]}),(0,q.jsx)(`div`,{className:`change-summary-files`,children:e.files.map(e=>(0,q.jsx)(pr,{file:e,onOpenFileInSidebar:t,open:n===e.path,onToggle:()=>r(t=>t===e.path?null:e.path)},e.path))})]})}function pr({file:e,onOpenFileInSidebar:t,open:n,onToggle:r}){let i=mr(e),a=gr(e.patch);return(0,q.jsxs)(`div`,{className:`change-summary-file`,children:[(0,q.jsxs)(`div`,{className:`change-summary-file-trigger`,children:[(0,q.jsx)(`button`,{type:`button`,className:`change-summary-file-toggle`,onClick:r,children:(0,q.jsx)(`span`,{children:e.path})}),(0,q.jsxs)(`span`,{className:`change-summary-counts`,children:[(0,q.jsxs)(`span`,{className:`diff-addition`,children:[`+`,i.additions]}),(0,q.jsxs)(`span`,{className:`diff-deletion`,children:[`-`,i.deletions]})]}),t&&(0,q.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,q.jsx)(h,{size:14})}),(0,q.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,q.jsx)(_,{className:n?`expanded`:``,size:14})})]}),n&&a&&(0,q.jsx)(`div`,{className:`change-summary-patch-unavailable`,children:`Patch is no longer available for this workspace path.`}),n&&e.patch&&!a&&(0,q.jsx)(`pre`,{className:`change-summary-patch`,children:(0,q.jsx)(`code`,{children:e.patch})})]})}function mr(e){if((e.status===`added`||e.status===`untracked`)&&e.additions===0&&e.content)return{additions:hr(e.content),deletions:0};if(e.additions>0||e.deletions>0||!e.patch||gr(e.patch))return{additions:e.additions,deletions:e.deletions};let t=_r(e.patch);return t.additions>0||t.deletions>0?t:{additions:e.additions,deletions:e.deletions}}function hr(e){let t=e.endsWith(`
|
|
6
|
-
`)?e.slice(0,-1):e;return t?t.split(`
|
|
7
|
-
`).length:0}function gr(e){return/^error: Could not access /m.test(e)}function _r(e){let t=0,n=0;for(let r of e.split(`
|
|
8
|
-
`))r.startsWith(`+++`)||r.startsWith(`---`)||(r.startsWith(`+`)&&(t+=1),r.startsWith(`-`)&&(n+=1));return{additions:t,deletions:n}}function vr({run:e}){let t=e.plan,n=e.questions.find(e=>e.status===`pending`)??null,i=r(t?.metadata),a=e.target.kind===`agent`?null:e.sourceRefs[0]??t?.sourcePlan[0]?.path??null,o=e.checkRefs.length||t?.checks.length||0;return(0,q.jsxs)(`section`,{className:`chat-create-receipt`,"aria-label":`Create or improve status`,children:[(0,q.jsxs)(`div`,{className:`chat-create-receipt-heading`,children:[(0,q.jsx)(I,{size:14}),(0,q.jsx)(`span`,{children:yr(e)}),(0,q.jsx)(`small`,{children:e.target.kind})]}),(0,q.jsx)(`p`,{children:br(e,t?.summary??null,n?.prompt??null)}),i||a||o?(0,q.jsxs)(`div`,{className:`chat-create-receipt-facts`,children:[i?(0,q.jsx)(`span`,{title:i.detail,children:i.label}):null,a?(0,q.jsx)(`span`,{title:a,children:a}):null,o?(0,q.jsxs)(`span`,{children:[o,` Evals`]}):null]}):null]})}function yr(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 br(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 xr(e,t){let n=Sr(e),[r,i]=(0,K.useState)(()=>n.getUrl(t));return(0,K.useEffect)(()=>{let e=!1;return i(n.getUrl(t)),n.loadUrl(t).then(t=>{e||i(t)}),()=>{e=!0}},[t,n]),r}function Sr(e){let[,t]=(0,K.useState)(0),n=(0,K.useCallback)(t=>!e||!t?null:(U.activateConnection(e),U.get(Cr(e,t))),[e]),r=(0,K.useCallback)(async n=>{if(!e||!n)return null;let r=Cr(e,n);return U.activateConnection(e),U.load(r,()=>R.signChatAttachmentImageUrl(e,n)).finally(()=>t(e=>e+1))},[e]);return(0,K.useMemo)(()=>({getUrl:n,loadUrl:r}),[n,r])}function Cr(e,t){return L(e,`chat-attachment-image`,t.sessionId,t.turnId,t.attachmentId,t.storageName,t.contentType)}function wr({attachments:e,compact:t,connection:n,onOpenAttachment:r}){return(0,q.jsx)(`div`,{className:`user-message-attachments${t?` compact`:``}`,"aria-label":`Attached files`,children:e.map(e=>(0,q.jsx)(Tr,{attachment:e,connection:n,onOpenAttachment:r},e.id))})}function Tr({attachment:e,connection:t,onOpenAttachment:n}){return e.kind===`image`&&e.imagePreview?(0,q.jsx)(Dr,{attachment:e,connection:t,onOpenAttachment:n}):(0,q.jsx)(Er,{attachment:e,onOpenAttachment:n})}function Er({attachment:e,onOpenAttachment:t}){let[n,r]=(0,K.useState)(!1),i=!!((e.filePreview||e.imagePreview)&&t),a=n?`Opening`:e.lineCount===void 0?null:ye(e.lineCount),o=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(be,{attachment:e,size:13}),(0,q.jsx)(`span`,{children:e.name}),a?(0,q.jsx)(`small`,{children:a}):null]});return i?(0,q.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,q.jsx)(`span`,{className:`user-message-attachment`,title:e.name,children:o})}function Dr({attachment:e,connection:t,onOpenAttachment:n}){let r=xr(t,e.imagePreview),[i,a]=(0,K.useState)(!1);return(0,q.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,q.jsx)(`img`,{alt:``,decoding:`async`,loading:`lazy`,src:r}):(0,q.jsx)(S,{size:24})})}function Or({connection:e,sessionId:t,failedTurnId:n,recover:r=he.recoverCodex}){let[i,a]=(0,K.useState)(!1),[o,s]=(0,K.useState)(null),[c,l]=(0,K.useState)(null),u=(0,K.useRef)(!1),d=(0,K.useRef)(0),f=k(),{confirmAction:p,confirmDialog:m,resolveConfirmDialog:g}=se();A(c),(0,K.useEffect)(()=>(d.current++,u.current=!1,a(!1),s(null),l(null),()=>{d.current++,g(!1)}),[e,t,n,g]);async function _(){if(u.current)return;let i=d.current;u.current=!0,a(!0),l(null);try{let a=await r(e,t,{failedTurnId:n});if(i!==d.current)return;if(a.state===`active`){let o=a.activeTurnId;if(!await p({title:`Stop the current turn?`,body:`This chat is running in OpenPond. Stop that turn before retrying the saved message? Review completed tool activity before continuing.`,confirmLabel:`Stop and resume`,tone:`danger`})||i!==d.current||(a=await r(e,t,{failedTurnId:n,confirmedActiveTurnId:o}),i!==d.current))return;if(a.state===`active`){f?.(`The active turn changed. Nothing else was stopped; retry to review the current turn.`,`info`);return}}s(a),a.state===`external`&&f?.(`Open this chat in Codex and archive it to release its writer. Then return here and choose Retry; OpenPond will restore the same thread.`,`info`),a.state===`resumed`&&f?.(`Saved message queued to resume in OpenPond.`,`success`),a.state===`superseded`&&f?.(`This saved message changed or the chat has moved on. Use the current composer or queue to continue.`,`info`)}catch(e){i===d.current&&l(e)}finally{i===d.current&&(u.current=!1,a(!1))}}let v=o?.state===`resumed`||o?.state===`superseded`,y=o?.state===`external`?o.threadId:null,x=y?`codex://threads/${encodeURIComponent(y)}`:null;return(0,q.jsxs)(q.Fragment,{children:[v?null:(0,q.jsxs)(`div`,{className:`codex-ownership-actions`,"aria-label":`Chat ownership recovery`,"aria-busy":i,children:[(0,q.jsxs)(`button`,{type:`button`,className:`composer-steer-row-action primary`,disabled:i,onClick:()=>void _(),children:[(0,q.jsx)(h,{size:12,"aria-hidden":!0}),(0,q.jsx)(`span`,{children:i?`Checking ownership…`:y?`Retry`:`Resume in OpenPond`})]}),x?(0,q.jsxs)(`a`,{className:`composer-steer-row-action`,href:x,"aria-disabled":i,onClick:e=>{if(i)e.preventDefault();else if(window.openpond?.openCodexThread){e.preventDefault();let t=d.current;window.openpond.openCodexThread({threadId:y}).catch(e=>{t===d.current&&l(e)})}},children:[(0,q.jsx)(b,{size:12,"aria-hidden":!0}),(0,q.jsx)(`span`,{children:`Open in Codex`})]}):null]}),(0,q.jsx)(pe,{state:m,onResolve:g})]})}var kr=(0,K.memo)(function({activeWorkspaceAppId:e=null,animateInitialContent:t=!1,accountBaseUrl:n=null,billingOrganizationSlug:r=null,billingTeamId:i=null,connection:a=null,conversationLinks:o,message:s,codexRecoveryEnabled:c=!0,kvCacheSummary:l=null,onOpenBrowserLink:u,onOpenAttachmentInSidebar:d,onOpenFileInSidebar:f,onOpenProfileSettings:p,onResolveUserQuestion:h,onOpenSession:g,onOpenPonder:_,showFooter:v=!0,userAttachmentDisplay:y=`full`,workspaceRootPath:b=null}){if(s.nativeTaskNotification)return(0,q.jsx)(`div`,{className:`message-row assistant`,children:(0,q.jsx)(At,{notification:s.nativeTaskNotification,onOpenFile:f})});if(s.role===`resources`)return(0,q.jsx)(`article`,{className:`message-row assistant`,"data-resource-response":s.turnId,children:(0,q.jsx)(Ft,{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,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsx)(ge,{visual:s.visual,connection:a},s.visual.publicationId)});if(s.role===`task_message`)return(0,q.jsx)(Ht,{message:s,onOpenSession:g,onOpenPonder:_,connection:a});if(s.role===`status_divider`)return(0,q.jsx)(Vr,{message:s});if(s.role===`activity_group`)return(0,q.jsx)(Bn,{activeWorkspaceAppId:e,connection:a,message:s,onOpenFileInSidebar:f,onOpenSession:g,onOpenPonder:_});if(s.role===`error`)return s.errorKind===`opchat_quota_exceeded`?(0,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsx)(Rr,{accountBaseUrl:n,billingOrganizationSlug:r,billingTeamId:i,onOpenBrowserLink:u})}):(0,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsxs)(`div`,{className:`assistant-message error-message`,children:[s.content??``,a&&s.codexRecovery&&c?(0,q.jsx)(Or,{connection:a,...s.codexRecovery},s.codexRecovery.failedTurnId):null]})});if(s.role===`user`){let e=Rt(s.content??``),t=s.attachments??[],n=y===`compact`,r=t.length>0;return!e&&!r?null:(0,q.jsx)(`article`,{className:`message-row user`,children:(0,q.jsxs)(`div`,{className:`user-message ${r?`has-attachments`:``}`,children:[t.length?(0,q.jsx)(wr,{attachments:t,compact:n,connection:a,onOpenAttachment:d}):null,e?(0,q.jsx)(Ut,{content:e}):null]})})}let x=s.actionRun&&pn(s.actionRun)?mn(s.actionRun):null;return(0,q.jsx)(`article`,{className:`message-row assistant`,"data-notification-turn":s.turnId,"data-notification-final":s.finalAnswer?`true`:void 0,children:(0,q.jsxs)(dn,{activeWorkspaceAppId:e,animateInitialContent:t,connection:a,content:s.content,reasoningContent:s.reasoningContent,conversationLinks:o,onOpenConversation:g,onOpenBrowserLink:u,onOpenFileInSidebar:f,workspaceRootPath:b,footer:v&&s.finalAnswer?(0,q.jsx)(zt,{content:s.content,timestamp:s.timestamp,kvCacheSummary:l}):null,children:[s.sources?.length?(0,q.jsx)(Nr,{sources:s.sources,onOpenBrowserLink:u}):null,s.actionRun&&pn(s.actionRun)?(0,q.jsxs)(`div`,{className:`assistant-message action-run-profile-message ${s.actionRun.status}`,children:[(0,q.jsx)(m,{activeWorkspaceAppId:e,connection:a,content:s.actionRun.responseText??hn(s.actionRun),onOpenBrowserLink:u,onOpenFileInSidebar:f,workspaceRootPath:b}),x?(0,q.jsx)(`div`,{className:`action-run-agent-label`,children:p?(0,q.jsx)(`button`,{type:`button`,className:`action-run-agent-link`,onClick:p,children:x}):(0,q.jsx)(`span`,{children:x})}):null]}):s.actionRun?(0,q.jsx)(fn,{actionRun:s.actionRun,onOpenBrowserLink:u,onOpenFileInSidebar:f,workspaceRootPath:b}):null,s.changeSummary&&(0,q.jsx)(fr,{summary:s.changeSummary,onOpenFileInSidebar:f}),s.createImproveRun?(0,q.jsx)(vr,{run:s.createImproveRun}):null,s.userQuestion?(0,q.jsx)(Mr,{question:s.userQuestion,onResolve:h}):null]})})},Ar);function Ar(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&&jr(e.message,t.message)}function jr(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&&zr(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&&e.taskMessagePresentation===t.taskMessagePresentation}function Mr({question:e,onResolve:t}){let[n,r]=(0,K.useState)(``),[i,a]=(0,K.useState)(!1),o=async n=>{if(t&&!i&&e.status===`pending`){a(!0);try{await t(e,n)}finally{a(!1)}}};return(0,q.jsxs)(`section`,{"data-notification-question":e.id,className:`user-question-card ${e.status}`,"aria-label":`Question from OpenPond`,children:[(0,q.jsxs)(`header`,{className:`user-question-header`,children:[(0,q.jsx)(`span`,{className:`user-question-icon`,"aria-hidden":!0,children:(0,q.jsx)(ee,{size:17})}),(0,q.jsxs)(`span`,{className:`user-question-heading`,children:[(0,q.jsx)(`span`,{className:`user-question-eyebrow`,children:`Question`}),(0,q.jsx)(`strong`,{children:e.question})]})]}),e.reason?(0,q.jsx)(`p`,{className:`user-question-reason`,children:e.reason}):null,e.status===`pending`?(0,q.jsxs)(q.Fragment,{children:[e.options.length>0?(0,q.jsx)(`div`,{className:`user-question-options`,children:e.options.map((n,r)=>(0,q.jsxs)(`button`,{disabled:i||!t,type:`button`,onClick:()=>void o({questionId:e.id,action:`answer`,optionId:n.id,text:n.label}),children:[(0,q.jsx)(`span`,{className:`user-question-option-index`,"aria-hidden":!0,children:r+1}),(0,q.jsxs)(`span`,{className:`user-question-option-copy`,children:[(0,q.jsx)(`span`,{children:n.label}),n.description?(0,q.jsx)(`small`,{children:n.description}):null]})]},n.id))}):null,e.allowFreeform?(0,q.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,q.jsx)(`label`,{htmlFor:`question-answer-${e.id}`,children:`Or write your own answer`}),(0,q.jsxs)(`span`,{className:`user-question-freeform-controls`,children:[(0,q.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,q.jsx)(`button`,{disabled:i||!t||!n.trim(),type:`submit`,children:i?`Sending…`:`Answer`})]})]}):null,(0,q.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,q.jsxs)(`span`,{className:`user-question-resolution`,children:[(0,q.jsx)(fe,{"aria-hidden":!0,size:15}),(0,q.jsx)(`small`,{children:e.status===`answered`?`Answered${e.answer?.text?`: ${e.answer.text}`:``}`:`Skipped`})]})]})}function Nr({sources:e,onOpenBrowserLink:t}){return(0,q.jsx)(`div`,{className:`assistant-sources`,"aria-label":`Sources`,children:(0,q.jsx)(`div`,{className:`assistant-source-stack`,children:e.map(e=>(0,q.jsx)(Pr,{source:e,onOpenBrowserLink:t},`${e.id}:${e.url}`))})})}function Pr({source:e,onOpenBrowserLink:t}){let n=Ir(e),r=[e.title,Lr(e.url)].filter(Boolean).join(` - `),i=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Fr,{source:e}),(0,q.jsx)(`span`,{children:n})]});return t?(0,q.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,q.jsx)(`a`,{className:`assistant-source-pill`,href:e.url,target:`_blank`,rel:`noreferrer`,title:r||n,"aria-label":`Open source ${n}`,children:i})}function Fr({source:e}){let[t,n]=(0,K.useState)(!1);return!e.faviconUrl||t?(0,q.jsx)(B,{className:`assistant-source-fallback-icon`,size:13}):(0,q.jsx)(`img`,{alt:``,"aria-hidden":`true`,className:`assistant-source-favicon`,decoding:`async`,loading:`lazy`,src:e.faviconUrl,onError:()=>n(!0)})}function Ir(e){return e.sourceName?.trim()||Lr(e.url)||e.title}function Lr(e){try{return new URL(e).hostname.replace(/^www\./i,``)}catch{return null}}function Rr({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:n,onOpenBrowserLink:r}){let i=oe({accountBaseUrl:e,organizationSlug:t,teamId:n}),a=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(de,{size:15}),(0,q.jsx)(`span`,{children:`Add credits`}),(0,q.jsx)(b,{size:13})]});return(0,q.jsxs)(`div`,{className:`assistant-message quota-error-card`,role:`alert`,children:[(0,q.jsx)(`div`,{className:`quota-error-card-icon`,children:(0,q.jsx)(de,{size:17})}),(0,q.jsxs)(`div`,{className:`quota-error-card-body`,children:[(0,q.jsx)(`strong`,{children:`OpenPond Chat allowance reached`}),(0,q.jsx)(`p`,{children:`You have reached your OpChat token allowance for this period. Add credits or wait for the allowance to reset.`}),r?(0,q.jsx)(`button`,{type:`button`,className:`quota-error-card-action`,onClick:()=>r(i,{newTab:!0}),children:a}):(0,q.jsx)(`a`,{className:`quota-error-card-action`,href:i,target:`_blank`,rel:`noreferrer`,children:a})]})]})}function zr(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 Br=(0,K.memo)(function(){return(0,q.jsx)(`article`,{className:`activity-group thinking-row`,"aria-live":`polite`,children:(0,q.jsx)(G,{running:!0,children:`Thinking…`})})});function Vr({message:e}){let t=e.statusTone??`info`,n=e.statusState??`idle`;return(0,q.jsx)(`article`,{className:`status-divider ${t} ${n}`,"aria-live":t===`danger`?`assertive`:`polite`,children:(0,q.jsx)(`span`,{children:e.content??``})})}function Hr({row:e,renderMessage:t}){let[n,r]=(0,K.useState)(!1),i=(0,K.useId)(),a=(0,K.useMemo)(()=>e.type===`work`?kt(e.messages):[],[e]);return e.type===`thinking`?(0,q.jsx)(Br,{}):e.type===`message`?t(e):(0,q.jsxs)(`div`,{className:`chat-work-history`,children:[(0,q.jsx)(G,{className:`chat-work-history-summary`,controls:i,expanded:n,onToggle:()=>r(e=>!e),children:e.label}),n?(0,q.jsx)(`div`,{className:`chat-work-history-content`,id:i,children:a.map(e=>(0,q.jsx)(`div`,{children:t(e)},e.id))}):null]})}export{Tt as i,kr as n,Ot as r,Hr as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";import{o as r,r as i,t as a}from"./ComposerAttachments-aO90qXYz.js";import"./icons-CZxmQtZs.js";import{F as o,x as s}from"./training-model-data-CxR3xpmK.js";import{i as c,n as l,r as u,t as d}from"./wifi-off-DGJH7Pke.js";import{t as f}from"./paperclip-CKgDxioG.js";import{t as p}from"./refresh-cw-D45mW-vs.js";import{t as m}from"./x-B-_zJVOZ.js";import{r as h}from"./AppToastContext-D2788RqX.js";import{Bt as g,Ht as _,Vt as v}from"./App-DmEA-Lia.js";import{X as y,k as b,q as x}from"./MainPane-WOeodByM.js";var S=e(t(),1),C=n(),w=2e4,T=10,E=12582912,D=new Set([`image/png`,`image/jpeg`,`image/webp`,`image/gif`]);function O(e){let[t,n]=(0,S.useState)(``),[o,s]=(0,S.useState)(0),[c,l]=(0,S.useState)([]),[u,d]=(0,S.useState)(null),[p,h]=(0,S.useState)(!1),[_,v]=(0,S.useState)([]),[x,O]=(0,S.useState)(0),[N,P]=(0,S.useState)(null),F=(0,S.useRef)(null),I=(0,S.useRef)(null),L=(0,S.useRef)(c);L.current=c;let R=(0,S.useMemo)(()=>k(t,o),[t,o]),z=R?`${R.start}:${R.end}:${R.query}`:null,B=R?.query??null,V=(0,S.useMemo)(()=>{if(!R)return[];let t=new Map;for(let n of[...e.members,..._])t.set(n.userId,n);let n=R.query.toLowerCase();return[...t.values()].filter(e=>`${e.handle??``} ${e.name??``}`.toLowerCase().includes(n)).slice(0,8)},[R,e.members,_]),H=!!(R&&z!==N&&V.length>0),U=!!(e.disabled||e.busy||p),W=!U&&(!!t.trim()||c.length>0);(0,S.useEffect)(()=>{if(B==null){v([]);return}let t=!0,n=window.setTimeout(()=>{e.onSearchMembers(B).then(e=>{t&&v(e)},()=>{t&&v([])})},150);return()=>{t=!1,window.clearTimeout(n)}},[B,e.onSearchMembers]),(0,S.useEffect)(()=>{O(0)},[z]),(0,S.useEffect)(()=>()=>M(L.current),[]);async function G(i){if(i?.preventDefault(),W){d(null),h(!0);try{let i=await Promise.all(c.map(r));if(!await e.onSend({body:t,mentionUserIds:A(t,e.members),attachments:i,replyToMessageId:e.replyTo?.id??null}))return;M(c),n(``),s(0),l([]),e.onCancelReply()}catch(e){d(e instanceof Error?e.message:String(e))}finally{h(!1)}}}function K(e){if(H){if(e.key===`ArrowDown`){e.preventDefault(),O(e=>(e+1)%V.length);return}if(e.key===`ArrowUp`){e.preventDefault(),O(e=>(e-1+V.length)%V.length);return}if(e.key===`Enter`||e.key===`Tab`){e.preventDefault(),X(V[x]??V[0]);return}if(e.key===`Escape`){e.preventDefault(),P(z);return}}e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),G())}function q(e){if(!e)return;d(null);let t=Math.max(0,T-c.length);if(t===0){d(`You can attach up to ${T} images.`),Y();return}let n=[...e],r=n.slice(0,t),a=r.find(e=>!D.has(e.type)),o=r.find(e=>e.size<=0||e.size>E);if(a){d(`${a.name} is not a supported image type.`),Y();return}if(o){d(`${o.name} must be smaller than 12 MB.`),Y();return}let s=r.map(e=>({id:i(),file:e,name:e.name,mediaType:e.type,sizeBytes:e.size,kind:`image`,previewUrl:URL.createObjectURL(e)}));l(e=>[...e,...s]),n.length>t&&d(`Only ${T} images can be attached to one message.`),Y()}function J(e){l(t=>{let n=t.find(t=>t.id===e);return n?.previewUrl&&URL.revokeObjectURL(n.previewUrl),t.filter(t=>t.id!==e)})}function Y(){F.current&&(F.current.value=``)}function X(e){if(!R)return;let r=`@${j(e)} `,i=`${t.slice(0,R.start)}${r}${t.slice(R.end)}`,a=R.start+r.length;n(i),s(a),P(null),window.requestAnimationFrame(()=>I.current?.focusAtPromptIndex(a))}return(0,C.jsxs)(`form`,{className:`composer dock community-composer${c.length>0?` has-attachments`:``}${u?` has-attachment-error`:``}`,onSubmit:G,children:[e.replyTo?(0,C.jsxs)(`div`,{className:`community-composer-reply`,children:[(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`strong`,{children:`Replying to`}),e.replyTo.body.slice(0,100)||`message`]}),(0,C.jsx)(`button`,{type:`button`,"aria-label":`Cancel reply`,onClick:e.onCancelReply,children:(0,C.jsx)(m,{size:13})})]}):null,H?(0,C.jsx)(`div`,{className:`community-mention-menu`,role:`listbox`,"aria-label":`Community members`,children:V.map((e,t)=>(0,C.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t===x,onMouseDown:e=>e.preventDefault(),onClick:()=>X(e),children:[(0,C.jsx)(`strong`,{children:e.name??e.handle??`Community member`}),e.handle?(0,C.jsxs)(`small`,{children:[`@`,e.handle]}):null]},e.userId))}):null,(0,C.jsxs)(`div`,{className:`composer-input-shell`,children:[c.length>0?(0,C.jsx)(`div`,{className:`composer-attachments`,"aria-label":`Selected attachments`,children:c.map(e=>(0,C.jsx)(a,{attachment:e,onRemove:()=>J(e.id)},e.id))}):null,u?(0,C.jsx)(g,{error:u}):null,(0,C.jsx)(`div`,{className:`composer-textarea-frame`,onClick:e=>{e.target===e.currentTarget&&I.current?.focusAtPromptIndex(o)},children:(0,C.jsx)(b,{ref:I,disabled:U,onCursorChange:s,onKeyDown:K,onPromptChange:(e,t)=>{let r=e.slice(0,w);n(r),s(Math.min(t,r.length))},onTokenPositionChange:()=>void 0,placeholder:e.disabled?`Accept the community rules to post`:`Message community`,prompt:t,token:null})}),(0,C.jsxs)(`div`,{className:`composer-primary-controls team-chat-composer-controls`,children:[(0,C.jsx)(`input`,{ref:F,className:`composer-file-input`,hidden:!0,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,multiple:!0,onChange:e=>q(e.currentTarget.files)}),(0,C.jsx)(`button`,{type:`button`,className:`composer-icon`,"aria-label":`Attach images`,disabled:U||c.length>=T,onClick:()=>F.current?.click(),children:(0,C.jsx)(f,{size:17})}),(0,C.jsx)(`div`,{className:`composer-spacer`}),(0,C.jsx)(`button`,{type:`submit`,className:`send-button`,"aria-label":`Send message`,disabled:!W,children:(0,C.jsx)(y,{size:17})})]})]})]})}function k(e,t=e.length){let n=Math.max(0,Math.min(t,e.length)),r=/(?:^|\s)@([\w-]*)$/.exec(e.slice(0,n));return!r||r.index==null?null:{start:r.index+r[0].indexOf(`@`),end:n,query:r[1]??``}}function A(e,t){let n=new Set([...e.matchAll(/(?:^|\s)@([\w-]+)/g)].map(e=>e[1]?.toLowerCase()));return t.filter(e=>n.has(j(e).toLowerCase())).map(e=>e.userId)}function j(e){return e.handle??e.name?.replace(/[^\w-]/g,``)??e.userId}function M(e){for(let t of e)t.previewUrl&&URL.revokeObjectURL(t.previewUrl)}function N(e){let[t,n]=(0,S.useState)(!1),[r,i]=(0,S.useState)(e.message.body),a=e.message.refs.find(e=>e.refType===`message_reply`),c=a?e.messagesById.get(a.refId)??null:null,l=c?.authorUserId?e.membersById.get(c.authorUserId)??null:null;return(0,C.jsxs)(`article`,{className:`community-message${e.own?` own`:``}`,id:`community-message-${e.message.id}`,children:[(0,C.jsx)(`div`,{className:`community-avatar`,children:P(e.author?.name??e.author?.handle??`?`)}),(0,C.jsxs)(`div`,{className:`community-message-content`,children:[(0,C.jsxs)(`header`,{children:[(0,C.jsx)(`strong`,{children:e.author?.name??e.author?.handle??`Community member`}),(0,C.jsx)(`time`,{dateTime:e.message.createdAt,children:F(e.message.createdAt)}),e.message.editedAt?(0,C.jsx)(`span`,{children:`edited`}):null,e.message.deletedAt?null:(0,C.jsxs)(`div`,{className:`community-message-actions`,children:[(0,C.jsx)(`button`,{type:`button`,"aria-label":`Reply`,onClick:()=>e.onReply(e.message),children:(0,C.jsx)(x,{size:13})}),e.own?(0,C.jsx)(`button`,{type:`button`,"aria-label":`Edit`,onClick:()=>n(!0),children:(0,C.jsx)(_,{size:13})}):null,e.own?(0,C.jsx)(`button`,{type:`button`,"aria-label":`Delete`,onClick:()=>void e.onDelete(e.message.id),children:(0,C.jsx)(o,{size:13})}):null]})]}),a?(0,C.jsxs)(`button`,{type:`button`,className:`community-reply-quote`,onClick:()=>document.getElementById(`community-message-${a.refId}`)?.scrollIntoView({behavior:`smooth`,block:`center`}),children:[(0,C.jsx)(`strong`,{children:l?.name??`Community member`}),(0,C.jsx)(`span`,{children:c?.deletedAt?`Message deleted`:c?.body??String(a.preview.body??`Earlier message`)})]}):null,t?(0,C.jsxs)(`form`,{className:`community-message-edit`,onSubmit:t=>{t.preventDefault(),e.onEdit(e.message.id,r).then(e=>{e&&n(!1)})},children:[(0,C.jsx)(`textarea`,{autoFocus:!0,value:r,onChange:e=>i(e.currentTarget.value)}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`button`,{type:`button`,onClick:()=>n(!1),children:`Cancel`}),(0,C.jsx)(`button`,{type:`submit`,disabled:!r.trim(),children:`Save`})]})]}):e.message.deletedAt?(0,C.jsx)(`div`,{className:`community-message-deleted`,children:`Message deleted`}):(0,C.jsx)(s,{content:e.message.body}),!e.message.deletedAt&&e.message.attachments.length>0?(0,C.jsx)(`div`,{className:`community-message-attachments`,children:e.message.attachments.map(t=>e.attachmentsAccessible?(0,C.jsxs)(`button`,{type:`button`,onClick:()=>void e.onDownloadAttachment(t.id),children:[(0,C.jsx)(`span`,{children:t.name}),(0,C.jsx)(`small`,{children:I(t.sizeBytes)})]},t.id):(0,C.jsxs)(`div`,{className:`community-attachment-placeholder`,children:[(0,C.jsx)(`span`,{children:t.name}),(0,C.jsxs)(`small`,{children:[`Join to view · `,I(t.sizeBytes)]})]},t.id))}):null]})]})}function P(e){return e.split(/\s+/).slice(0,2).map(e=>e[0]?.toUpperCase()??``).join(``)||`?`}function F(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function I(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function L(e){let[t,n]=(0,S.useState)(!1),r=(0,S.useRef)(null),i=(0,S.useRef)(e.onClose);(0,S.useEffect)(()=>n(!1),[e.rules.id]),(0,S.useEffect)(()=>{i.current=e.onClose},[e.onClose]),(0,S.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null,t=r.current,n=()=>[...t?.querySelectorAll(`button:not([disabled]), input:not([disabled]), [href], [tabindex]:not([tabindex="-1"])`)??[]];n()[0]?.focus();let a=e=>{if(e.key===`Escape`){e.preventDefault(),i.current();return}if(e.key!==`Tab`)return;let r=n();if(r.length===0){e.preventDefault(),t?.focus();return}let a=r[0],o=r.at(-1);e.shiftKey&&document.activeElement===a?(e.preventDefault(),o.focus()):!e.shiftKey&&document.activeElement===o&&(e.preventDefault(),a.focus())};return document.addEventListener(`keydown`,a),()=>{document.removeEventListener(`keydown`,a),e?.focus()}},[]);let a=e.mode!==`review`;return(0,C.jsx)(`div`,{className:`community-dialog-backdrop`,role:`presentation`,onMouseDown:e.onClose,children:(0,C.jsxs)(`section`,{ref:r,className:`community-rules-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`community-rules-title`,tabIndex:-1,onMouseDown:e=>e.stopPropagation(),children:[(0,C.jsxs)(`header`,{children:[(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`small`,{children:[`Community rules · version `,e.rules.version]}),(0,C.jsx)(`h2`,{id:`community-rules-title`,children:e.rules.title})]}),(0,C.jsx)(`button`,{type:`button`,"aria-label":`Close rules`,onClick:e.onClose,children:(0,C.jsx)(m,{size:16})})]}),(0,C.jsx)(`div`,{className:`community-rules-body`,children:(0,C.jsx)(s,{content:e.rules.bodyMarkdown})}),(0,C.jsxs)(`footer`,{children:[a?(0,C.jsxs)(`label`,{className:`community-rules-acceptance`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:t,onChange:e=>n(e.currentTarget.checked)}),(0,C.jsx)(`span`,{children:`I have read and agree to follow these rules.`})]}):(0,C.jsx)(`span`,{}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:e.onClose,children:`Cancel`}),a?(0,C.jsx)(`button`,{type:`button`,disabled:!t||e.busy,onClick:()=>void e.onAccept().then(t=>{t&&e.onClose()}),children:e.busy?`Saving…`:e.mode===`join`?`Agree and join`:`Accept updated rules`}):null]})]})]})})}function R({communities:e,chat:t,currentUserId:n}){h(e.discoveryError),h(t.lostMembership?`Your membership changed. Refresh the community before continuing.`:null),h(e.previewError),h(e.membershipError?.message),h(t.channelsError,{prefix:`Channels`}),h(t.messagesError,{prefix:`Messages`}),h(t.actionError);let[r,i]=(0,S.useState)(null),[a,o]=(0,S.useState)(null),s=(0,S.useRef)(null),c=e.preview,u=c?.membership?.status===`active`,f=!!c?.capabilities.requiresRulesAcceptance,m=(0,S.useMemo)(()=>new Map(t.members.map(e=>[e.userId,e])),[t.members]),g=(0,S.useMemo)(()=>new Map(t.messages.map(e=>[e.id,e])),[t.messages]),_=t.messages.at(-1)?.sequence??0;if((0,S.useEffect)(()=>{let e=s.current;e&&(e.scrollTop=e.scrollHeight)},[t.selectedChannelId,_]),(0,S.useEffect)(()=>{o(null),f&&c?.currentRules&&i(`reaccept`)},[c?.currentRules,f]),!e.selectedSummary)return(0,C.jsx)(`section`,{className:`community-empty-page`,children:(0,C.jsxs)(`div`,{className:`community-discovery-card`,children:[(0,C.jsx)(v,{size:30}),(0,C.jsx)(`h1`,{children:`Discover communities`}),(0,C.jsx)(`p`,{children:e.discoveryLoading&&e.items.length===0?`Finding communities…`:`Preview public conversations and join after accepting each community's rules.`}),e.items.length>0?(0,C.jsx)(`div`,{className:`community-discovery-list`,children:e.items.map(t=>(0,C.jsxs)(`button`,{type:`button`,onClick:()=>e.selectCommunity(t.id),children:[(0,C.jsx)(B,{name:t.displayName,imageUrl:t.imageUrl}),(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`strong`,{children:t.displayName}),(0,C.jsx)(`small`,{children:t.description})]}),(0,C.jsx)(`em`,{children:t.membership?.status===`active`?`Joined`:t.featuredAt?`Featured`:`${t.memberCount.toLocaleString()} members`})]},t.id))}):e.discoveryLoading?null:(0,C.jsx)(`div`,{className:`community-state`,children:`No public communities are available yet.`}),(0,C.jsxs)(`div`,{className:`community-discovery-actions`,children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>void e.refresh(),disabled:e.discoveryLoading,children:[(0,C.jsx)(p,{size:14}),` Refresh`]}),e.nextCursor?(0,C.jsx)(`button`,{type:`button`,className:`secondary`,onClick:()=>void e.loadMore(),disabled:e.discoveryLoading,children:`Load more`}):null]})]})});if(!c&&e.previewLoading)return(0,C.jsx)(`section`,{className:`community-empty-page`,children:(0,C.jsxs)(`div`,{className:`community-empty-card`,children:[(0,C.jsx)(`span`,{className:`community-spinner`}),` Loading community…`]})});if(!c)return(0,C.jsx)(`section`,{className:`community-empty-page`,children:(0,C.jsxs)(`div`,{className:`community-empty-card`,children:[(0,C.jsx)(`h1`,{children:e.selectedSummary.displayName}),(0,C.jsx)(`div`,{className:`community-state`,children:`This community preview is unavailable.`}),(0,C.jsxs)(`button`,{type:`button`,onClick:()=>e.selectCommunity(e.selectedSummary.id),children:[(0,C.jsx)(p,{size:14}),` Retry preview`]})]})});let y=c.currentRules;return(0,C.jsxs)(`section`,{className:`community-view`,children:[(0,C.jsxs)(`header`,{className:`community-header`,children:[(0,C.jsxs)(`div`,{className:`community-heading`,children:[(0,C.jsx)(B,{name:c.displayName,imageUrl:c.imageUrl}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`small`,{children:c.displayName}),(0,C.jsx)(`h1`,{children:t.selectedChannel?`# ${t.selectedChannel.displayName}`:c.displayName}),(0,C.jsx)(`p`,{children:t.selectedChannel?.topic||c.description})]})]}),(0,C.jsxs)(`div`,{className:`community-header-actions`,children:[(0,C.jsxs)(`span`,{className:`community-member-count`,children:[(0,C.jsx)(v,{size:14}),` `,c.memberCount.toLocaleString()]}),y?(0,C.jsxs)(`button`,{type:`button`,className:`secondary`,onClick:()=>i(`review`),children:[(0,C.jsx)(l,{size:14}),` Rules`]}):null,u?(0,C.jsx)(z,{mode:c.membership?.notificationMode??`mentions`,busy:e.membershipBusy,onMode:e.updateNotifications,onLeave:e.leave}):null]})]}),(0,C.jsxs)(`div`,{className:`community-chat-main conversation-surface-main`,children:[(0,C.jsxs)(`div`,{className:`community-chat-notices`,children:[u?f?(0,C.jsxs)(`div`,{className:`community-preview-banner warning`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`strong`,{children:`The rules have changed`}),(0,C.jsx)(`span`,{children:`Accept the current rules to continue reading live updates and posting.`})]}),(0,C.jsx)(`button`,{type:`button`,disabled:!y||e.membershipBusy,onClick:()=>i(`reaccept`),children:`Review updated rules`})]}):null:(0,C.jsxs)(`div`,{className:`community-preview-banner`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`strong`,{children:[`Previewing `,c.displayName]}),(0,C.jsx)(`span`,{children:`Read the public conversation, then accept the rules to join and post.`})]}),(0,C.jsx)(`button`,{type:`button`,disabled:!y||e.membershipBusy,onClick:()=>i(`join`),children:`Join community`})]}),t.realtimeError&&u&&!f?(0,C.jsxs)(`div`,{className:`community-realtime-state`,children:[(0,C.jsx)(d,{size:14}),(0,C.jsx)(`span`,{children:`Live updates are reconnecting. Loaded messages are still available.`})]}):null,t.channelsError?(0,C.jsx)(`button`,{type:`button`,className:`community-state`,onClick:()=>void t.loadChannels(),children:`Retry loading channels`}):null]}),(0,C.jsxs)(`div`,{className:`community-message-pane conversation-message-scroll`,ref:s,role:`log`,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-busy":t.messagesLoading,"aria-label":t.selectedChannel?`${c.displayName}, ${t.selectedChannel.displayName}`:c.displayName,tabIndex:0,children:[t.hasMoreBefore?(0,C.jsx)(`button`,{type:`button`,className:`community-load-older`,disabled:t.olderMessagesLoading,onClick:()=>void t.loadOlder(),children:t.olderMessagesLoading?`Loading…`:`Load earlier messages`}):null,t.messagesLoading&&t.messages.length===0?(0,C.jsx)(`div`,{className:`community-message-state`,children:`Loading messages…`}):null,t.messagesError?(0,C.jsxs)(`div`,{className:`community-message-state`,children:[`Messages are unavailable. `,(0,C.jsx)(`button`,{type:`button`,onClick:()=>void t.loadMessages(),children:`Retry`})]}):null,!t.messagesLoading&&!t.messagesError&&t.messages.length===0?(0,C.jsx)(`div`,{className:`community-message-state`,children:`No messages in this channel yet.`}):null,t.messages.map(e=>(0,C.jsx)(N,{message:e,author:e.authorUserId?m.get(e.authorUserId)??null:null,own:e.authorUserId===n,attachmentsAccessible:!t.previewMode,membersById:m,messagesById:g,onReply:o,onEdit:t.editMessage,onDelete:t.deleteMessage,onDownloadAttachment:t.downloadAttachment},e.id))]}),u?(0,C.jsxs)(`div`,{className:`community-composer-wrap conversation-composer-shell`,children:[t.failedSend?(0,C.jsxs)(`div`,{className:`community-failed-send`,children:[(0,C.jsx)(`span`,{children:`Message not sent.`}),(0,C.jsx)(`button`,{type:`button`,disabled:t.sending,onClick:()=>void t.retrySend(),children:`Retry`}),(0,C.jsx)(`button`,{type:`button`,onClick:t.dismissFailedSend,children:`Dismiss`})]}):null,(0,C.jsx)(O,{members:t.members,replyTo:a,busy:t.sending,disabled:f||t.lostMembership||!t.selectedChannel||t.selectedChannel.postingPolicy===`admins`&&c.membership?.role===`member`,onCancelReply:()=>o(null),onSearchMembers:t.searchMembers,onSend:t.sendMessage})]}):null]}),r&&y?(0,C.jsx)(L,{rules:y,mode:r,busy:e.membershipBusy,onAccept:r===`join`?e.join:e.acceptRules,onClose:()=>i(null)}):null]})}function z(e){let[t,n]=(0,S.useState)(!1);return(0,C.jsxs)(`div`,{className:`community-membership-menu`,children:[(0,C.jsxs)(`button`,{type:`button`,className:`secondary`,"aria-expanded":t,onClick:()=>n(e=>!e),children:[e.mode===`none`?(0,C.jsx)(u,{size:14}):(0,C.jsx)(c,{size:14}),` Joined`]}),t?(0,C.jsxs)(`div`,{className:`community-membership-popover`,children:[(0,C.jsx)(`strong`,{children:`Notifications`}),[`mentions`,`all`,`none`].map(t=>(0,C.jsxs)(`label`,{children:[(0,C.jsx)(`input`,{type:`radio`,name:`community-notifications`,checked:e.mode===t,disabled:e.busy,onChange:()=>void e.onMode(t)}),` `,t===`mentions`?`Mentions`:t===`all`?`All messages`:`Nothing`]},t)),(0,C.jsx)(`button`,{type:`button`,className:`danger`,disabled:e.busy,onClick:()=>{window.confirm(`Leave this community? You can join again later by accepting the current rules.`)&&e.onLeave().then(e=>{e&&n(!1)})},children:`Leave community`})]}):null]})}function B({name:e,imageUrl:t}){return t?(0,C.jsx)(`img`,{className:`community-icon`,src:t,alt:``}):(0,C.jsx)(`span`,{className:`community-icon fallback`,children:e.slice(0,2).toUpperCase()})}export{R as CommunityView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";import{It as r}from"./App-DmEA-Lia.js";import{t as i}from"./LabsRoute-YA9YckKj.js";var a=e(t(),1),o=n();function s({api:e,policyId:t,sourceId:n,onBack:s}){let c=(0,a.useMemo)(()=>e.reviewClient(t,n),[e,t,n]),[l,u]=(0,a.useState)(null),[d,f]=(0,a.useState)(null);return(0,o.jsxs)(`section`,{"aria-label":`Hosted example review`,children:[(0,o.jsx)(`button`,{type:`button`,className:`training-button secondary`,onClick:()=>{r(s)},children:`Back to continual learning`}),(0,o.jsx)(`p`,{children:`Reviewing hosted examples. Approved tasks become eligible for this policy's next training check.`}),(0,o.jsx)(i,{client:c,selectedId:l,after:d,sourceId:n,onSelect:e=>{r(()=>u(e))},onPage:f})]})}export{s as HostedModelLearningReview};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-LXNhSUEL.js";import{M as r,N as i}from"./chunk-H3JZ3P5T-CzpTARDY.js";import{t as a}from"./api-client-Dgz-fOMl.js";import{t as o}from"./AppDialog-BvskhHE9.js";import{a as s,i as c,n as l,o as u,r as d}from"./LabsRoute-YA9YckKj.js";var f=e(t(),1),p=n();function m({client:e,project:t,policy:n,onClose:m}){let[h]=(0,f.useState)(()=>n?.id??`policy-${crypto.randomUUID()}`),[g]=(0,f.useState)(()=>s(t,n)),[_,v]=(0,f.useState)(g.enabled),[y,b]=(0,f.useState)(g.scheduled),[x,S]=(0,f.useState)(!n),[C,w]=(0,f.useState)(g.humanReviewRequired),[T,E]=(0,f.useState)(n?.sources??[]),[D,O]=(0,f.useState)(n?.taskDefinition??null),[k,A]=(0,f.useState)({interval:String(g.intervalSeconds/60),minimum:String(g.minimumApprovedExamples),batch:String(g.maxBatchExamples),spend:String(g.maxIterationSpendUsd),daily:String(g.maxDailySpendUsd),cooldown:String(g.cooldownSeconds/60),retries:String(g.maxRetries),backlog:String(g.maxBacklogExamples)}),[j,M]=(0,f.useState)(!1),[N,P]=(0,f.useState)(!1),[F,I]=(0,f.useState)(null),[L,R]=(0,f.useState)(),[z,B]=(0,f.useState)(null),[V,H]=(0,f.useState)(null),U=(0,f.useRef)(null),W=(0,f.useRef)(!1);(0,f.useEffect)(()=>{let t=!1;return e.sources(L).then(e=>{t||(B({after:L,data:e}),H(null))},e=>{t||H(e instanceof Error?e.message:String(e))}),()=>{t=!0}},[e,L]);let G=z&&z.after===L?z.data:null,K=x?t.trainingSetup.rewardBindingRef:n?.rewardBinding;function q(e){let t=T.some(t=>t.id===e.id);E(t?T.filter(t=>t.id!==e.id):[...T,r(e)]),O(t&&T.length===1?null:D??e.taskDefinition),M(!0)}async function J(){if(W.current)return!1;W.current=!0,P(!0),I(null);try{if(!U.current){if(!D||!T.length||!K)throw Error(`Select task sources and a Model Reward before saving.`);let e=c({project:t,previous:n,policyId:h,applyModelConfiguration:x,sources:T,taskDefinition:D,settings:{enabled:_,scheduled:y,humanReviewRequired:C,intervalSeconds:Number(k.interval)*60,minimumApprovedExamples:Number(k.minimum),maxBatchExamples:Number(k.batch),maxIterationSpendUsd:Number(k.spend),maxDailySpendUsd:Number(k.daily),cooldownSeconds:Number(k.cooldown)*60,maxRetries:Number(k.retries),maxBacklogExamples:Number(k.backlog)}});U.current={action:`publish`,kind:`policy`,operationId:crypto.randomUUID(),expectedRevision:n?.revision??0,content:e}}return await e.command(U.current),U.current=null,M(!1),!0}catch(e){return e instanceof a&&e.status>=400&&e.status<500&&![408,429].includes(e.status)&&(U.current=null),I(e instanceof Error?e.message:`Unable to save learning settings.`),!1}finally{W.current=!1,P(!1)}}let Y=u({name:`learning settings`,dirty:j,busy:N,save:J});return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(o,{ariaLabel:`Continual learning settings`,className:`labs-rename-dialog learning-workspace hosted-learning-settings`,backdropClassName:`labs-rename-backdrop`,dismissDisabled:N,onClose:()=>{Y.requestLeave(m)},children:[(0,p.jsx)(`h2`,{children:`Continual learning settings`}),(0,p.jsxs)(`p`,{children:[`Train `,t.name,` from approved tasks. Acceptance and serving remain separate decisions.`]}),(0,p.jsx)(l,{error:F??V}),(0,p.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),await J()&&(Y.allowNextNavigation(),m())},children:[(0,p.jsxs)(`fieldset`,{disabled:N||!!U.current,onChange:()=>M(!0),children:[(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:_,onChange:e=>v(e.target.checked)}),` Enable learning`]}),(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:C,disabled:C,onChange:()=>w(!0)}),` Human review required`]}),(0,p.jsx)(`p`,{children:`New policies require human review. Qualified automatic admission cannot be configured here yet.`}),n?(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:x,onChange:e=>S(e.target.checked)}),` Use the Model’s current training configuration`]}):null,(0,p.jsxs)(`fieldset`,{children:[(0,p.jsx)(`legend`,{children:`Task sources`}),!G&&!V?(0,p.jsx)(`p`,{children:`Loading sources…`}):null,G?.sources.items.map(e=>{let t=G.definitions.find(t=>i(r(t),e.taskDefinition)),n=!!(K&&t&&i(K,t.rewardBinding)&&(!D||i(D,e.taskDefinition))),a=T.find(t=>t.id===e.id);return(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:!!a,disabled:!a&&(!e.enabled||!n),onChange:()=>q(e)}),` `,e.name,a&&a.revision!==e.revision?(0,p.jsxs)(`small`,{children:[`Using saved revision `,a.revision,`; clear and reselect to update.`]}):n?null:(0,p.jsx)(`small`,{children:`Different task format or Reward.`})]},e.id)}),(0,p.jsxs)(`p`,{children:[T.length,` sources selected. `,(0,p.jsx)(`button`,{type:`button`,onClick:()=>{E([]),O(null),M(!0)},children:`Clear selection`})]}),(0,p.jsx)(d,{after:L,next:G?.sources.nextCursor,onPage:e=>R(e??void 0)})]}),(0,p.jsxs)(`label`,{children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:y,onChange:e=>b(e.target.checked)}),` Schedule training`]}),Object.keys(k).filter(e=>e!==`interval`||y).map(e=>(0,p.jsxs)(`label`,{children:[{interval:`Check interval (minutes)`,minimum:`Minimum approved examples`,batch:`Maximum examples per batch`,spend:`Maximum spend per iteration ($)`,daily:`Maximum daily spend ($)`,cooldown:`Cooldown (minutes)`,retries:`Automatic retries`,backlog:`Maximum backlog`}[e],(0,p.jsx)(`input`,{type:`number`,value:k[e],min:`0`,step:e===`spend`||e===`daily`?`0.01`:`1`,onChange:t=>A(n=>({...n,[e]:t.target.value}))})]},e))]}),(0,p.jsxs)(`div`,{className:`model-build-actions`,children:[(0,p.jsx)(`button`,{type:`submit`,className:`training-button`,disabled:N,children:N?`Saving…`:U.current?`Retry save`:`Save settings`}),(0,p.jsx)(`button`,{type:`button`,className:`training-button secondary`,disabled:N,onClick:()=>{Y.requestLeave(m)},children:`Cancel`})]})]})]}),Y.dialog]})}export{m as HostedModelLearningSettings};
|