openpond 0.2.66 → 0.2.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +23 -0
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-YYZ3ZO3Q.js → acp-NASAJV5E.js} +1 -1
- package/dist/chunks/{acp-agent-T26S7TU2.js → acp-agent-C3CRF6DT.js} +1 -1
- package/dist/chunks/{actions-command-VLKMHCMI.js → actions-command-BYPLSGZL.js} +1 -1
- package/dist/chunks/{app-layer-5XUMNHDO.js → app-layer-XIEZ6ALX.js} +1 -1
- package/dist/chunks/{app-server-evaluations-V6LRWDUF.js → app-server-evaluations-5YZUFXQ2.js} +1 -1
- package/dist/chunks/{app-server-harness-services-6ZRLA3YD.js → app-server-harness-services-N5F5QVZI.js} +1 -1
- package/dist/chunks/{app-server-runtime-TH56EG2Z.js → app-server-runtime-HJ2N57DL.js} +1 -1
- package/dist/chunks/{apps-MNT3KXIY.js → apps-WJTW64NW.js} +1 -1
- package/dist/chunks/{chunk-ZWW227M3.js → chunk-263WS3TB.js} +1 -1
- package/dist/chunks/{chunk-HX6GXMDK.js → chunk-26ID6A5C.js} +1 -1
- package/dist/chunks/{chunk-DSJZS77R.js → chunk-2RSGVLZT.js} +4 -4
- package/dist/chunks/{chunk-L4EJ5R3B.js → chunk-2UZHLO2V.js} +1 -1
- package/dist/chunks/{chunk-QYQZQVVN.js → chunk-375PADDM.js} +1 -1
- package/dist/chunks/{chunk-FUFI4THX.js → chunk-43QYVOYA.js} +1 -1
- package/dist/chunks/{chunk-H5ML7735.js → chunk-46RMTR2Z.js} +1 -1
- package/dist/chunks/{chunk-Z2TOBS3P.js → chunk-4B7EGNYX.js} +1 -1
- package/dist/chunks/{chunk-2GJD23CM.js → chunk-4EZI4KCT.js} +1 -1
- package/dist/chunks/{chunk-DMO3UIS7.js → chunk-4JJ4RYIB.js} +1 -1
- package/dist/chunks/{chunk-JKI53ED7.js → chunk-4NN5OLKW.js} +2 -2
- package/dist/chunks/{chunk-66HFW4OU.js → chunk-4VZJQRQI.js} +1 -1
- package/dist/chunks/{chunk-7PKTCMZ6.js → chunk-543QHE3D.js} +1 -1
- package/dist/chunks/{chunk-TVDZXDQW.js → chunk-5QOFUGYQ.js} +1 -1
- package/dist/chunks/{chunk-6S2MWJVD.js → chunk-5TPYBXWM.js} +1 -1
- package/dist/chunks/{chunk-WLZJOCLA.js → chunk-5ZNE43XC.js} +1 -1
- package/dist/chunks/{chunk-KOKBDIGR.js → chunk-6HQUIKC5.js} +1 -1
- package/dist/chunks/{chunk-3BJ7LPE3.js → chunk-6IS5OLI5.js} +1 -1
- package/dist/chunks/{chunk-VS3AMJEK.js → chunk-6LFTQBXP.js} +1 -1
- package/dist/chunks/{chunk-VD2TQCMH.js → chunk-7HAGSE7L.js} +1 -1
- package/dist/chunks/{chunk-NTM3KQ25.js → chunk-ADOCQA4D.js} +1 -1
- package/dist/chunks/{chunk-4D3CICBG.js → chunk-ATFV2NA4.js} +1 -1
- package/dist/chunks/{chunk-YU4JYWCA.js → chunk-AXO6OHJB.js} +1 -1
- package/dist/chunks/{chunk-5KJMFK65.js → chunk-AXYAEWWA.js} +1 -1
- package/dist/chunks/{chunk-Q4AXZY2P.js → chunk-B2K5WQZE.js} +1 -1
- package/dist/chunks/{chunk-ANG2YMMD.js → chunk-B7XJBP4U.js} +1 -1
- package/dist/chunks/{chunk-BQVB2SPF.js → chunk-BBIA24GD.js} +6 -6
- package/dist/chunks/{chunk-CYQLXS2U.js → chunk-BUZ7CBJC.js} +1 -1
- package/dist/chunks/{chunk-MVPKU72J.js → chunk-CJDGLPNX.js} +1 -1
- package/dist/chunks/{chunk-ZU3YBRXS.js → chunk-CSU7RDA5.js} +1 -1
- package/dist/chunks/{chunk-JLW5BQVO.js → chunk-CWAQOFLP.js} +1 -1
- package/dist/chunks/{chunk-WKHGXLJD.js → chunk-CX7HKSQ4.js} +2 -2
- package/dist/chunks/{chunk-M5QPL5NO.js → chunk-D5OFN47Z.js} +1 -1
- package/dist/chunks/{chunk-QCJY6FTC.js → chunk-FCXDPVGJ.js} +1 -1
- package/dist/chunks/{chunk-FEQ7HNJR.js → chunk-FE2ENE3U.js} +1 -1
- package/dist/chunks/{chunk-6TRVEA3T.js → chunk-FVK4W27G.js} +1 -1
- package/dist/chunks/{chunk-7FBWUVX7.js → chunk-GC6RJBRZ.js} +1 -1
- package/dist/chunks/{chunk-5Z3AU5CL.js → chunk-H2XG5N7D.js} +1 -1
- package/dist/chunks/chunk-H6EUFJJK.js +2 -0
- package/dist/chunks/{chunk-V3S2B6WU.js → chunk-IDILAYCW.js} +1 -1
- package/dist/chunks/{chunk-PLVWARB7.js → chunk-IF5A3XWP.js} +1 -1
- package/dist/chunks/chunk-IHAEZ73V.js +2 -0
- package/dist/chunks/{chunk-GDJ4X2ZN.js → chunk-IR2Y2VQY.js} +1 -1
- package/dist/chunks/{chunk-WBO6FQHR.js → chunk-IXZ5ZGIL.js} +1 -1
- package/dist/chunks/{chunk-67HXM6AL.js → chunk-K3LS5SK7.js} +1 -1
- package/dist/chunks/{chunk-4MQHIFZL.js → chunk-K6DB5QWG.js} +1 -1
- package/dist/chunks/{chunk-QJJNHKLT.js → chunk-KQD36SBJ.js} +1 -1
- package/dist/chunks/{chunk-LXZLLTYQ.js → chunk-LI56PPCN.js} +1 -1
- package/dist/chunks/{chunk-KAWXVMHI.js → chunk-MX7KV5DA.js} +1 -1
- package/dist/chunks/{chunk-LARJARMS.js → chunk-N54CPLVD.js} +1 -1
- package/dist/chunks/{chunk-JRGECNP3.js → chunk-OE2OOWEQ.js} +1 -1
- package/dist/chunks/{chunk-B32CW3NT.js → chunk-OY4B7Y3T.js} +1 -1
- package/dist/chunks/chunk-OYIFH2OM.js +2 -0
- package/dist/chunks/{chunk-C5B3FMV3.js → chunk-P6NQYXN6.js} +1 -1
- package/dist/chunks/{chunk-D7R2AAX2.js → chunk-QFL2VQKX.js} +1 -1
- package/dist/chunks/{chunk-Y3B6ZUE6.js → chunk-QOUOU7FE.js} +1 -1
- package/dist/chunks/{chunk-GIU3Z45P.js → chunk-QQLS5FB7.js} +1 -1
- package/dist/chunks/chunk-R5GRESW3.js +2 -0
- package/dist/chunks/{chunk-6ZTP6CUJ.js → chunk-R6MMWEH4.js} +1 -1
- package/dist/chunks/{chunk-XHBMK6LC.js → chunk-R6VI7MX5.js} +1 -1
- package/dist/chunks/{chunk-GFAI2MCJ.js → chunk-RS526BG7.js} +1 -1
- package/dist/chunks/{chunk-EVQISX7M.js → chunk-RWRKUO5D.js} +1 -1
- package/dist/chunks/{chunk-DXA2UHBE.js → chunk-SD2XDZQW.js} +1 -1
- package/dist/chunks/{chunk-S6UCVXBC.js → chunk-SODAOLAP.js} +1 -1
- package/dist/chunks/{chunk-UK5LGSGT.js → chunk-SVNEPXU3.js} +1 -1
- package/dist/chunks/{chunk-5WPMI6QX.js → chunk-TERKCK4I.js} +1 -1
- package/dist/chunks/{chunk-OKEC2EIE.js → chunk-TS5HNRZB.js} +1 -1
- package/dist/chunks/{chunk-5KWKSR4P.js → chunk-TSQ2I6XV.js} +1 -1
- package/dist/chunks/{chunk-YRDPVTEI.js → chunk-TV2LE2BD.js} +1 -1
- package/dist/chunks/chunk-U3MVH2YT.js +2 -0
- package/dist/chunks/{chunk-FS2VKOT7.js → chunk-UBTP3QWI.js} +1 -1
- package/dist/chunks/{chunk-7XOUM6RK.js → chunk-UKSSFB4Q.js} +1 -1
- package/dist/chunks/{chunk-W7NXFRHN.js → chunk-UNE52L3Y.js} +1 -1
- package/dist/chunks/{chunk-ZUT4EM64.js → chunk-UXO33ST5.js} +1 -1
- package/dist/chunks/{chunk-FHLSLOKH.js → chunk-V3ILZQER.js} +1 -1
- package/dist/chunks/chunk-V3T2OJBZ.js +33 -0
- package/dist/chunks/{chunk-QAEZNFAM.js → chunk-V5AOM5MZ.js} +1 -1
- package/dist/chunks/{chunk-LI3FTPAH.js → chunk-VEXJV5H5.js} +1 -1
- package/dist/chunks/{chunk-AF3AVDPP.js → chunk-VPAEFG7X.js} +1 -1
- package/dist/chunks/{chunk-NABPZ7AK.js → chunk-W3ZILZUL.js} +1 -1
- package/dist/chunks/{chunk-U2BD545L.js → chunk-WD6ANOLL.js} +1 -1
- package/dist/chunks/{chunk-OTUS7NTQ.js → chunk-WDKZMXIU.js} +1 -1
- package/dist/chunks/chunk-WGISITX6.js +4 -0
- package/dist/chunks/{chunk-55Q64WWF.js → chunk-XD4ZIQZ2.js} +1 -1
- package/dist/chunks/{chunk-W22KWKF6.js → chunk-XDFXKRTI.js} +1 -1
- package/dist/chunks/{chunk-GRLQHYAU.js → chunk-XEU4J4GJ.js} +1 -1
- package/dist/chunks/{chunk-IEVJLG3V.js → chunk-XGJG2ZKE.js} +1 -1
- package/dist/chunks/chunk-XHU4BZQY.js +13 -0
- package/dist/chunks/{chunk-DIDQHTAX.js → chunk-XKZ4PFMQ.js} +1 -1
- package/dist/chunks/{chunk-B666Z2NS.js → chunk-XT5WUQGT.js} +1 -1
- package/dist/chunks/{chunk-UXPO3ZV7.js → chunk-YKTJPCYZ.js} +3 -3
- package/dist/chunks/{chunk-5AU5Y6KS.js → chunk-YMCF5GR2.js} +1 -1
- package/dist/chunks/{chunk-LYVHYT3L.js → chunk-YONDU5TN.js} +1 -1
- package/dist/chunks/{chunk-BTJACFU3.js → chunk-YQBL5P6R.js} +1 -1
- package/dist/chunks/{chunk-SAZTOGX6.js → chunk-YR5URT73.js} +1 -1
- package/dist/chunks/{chunk-OXRVILDW.js → chunk-ZVMQLIRA.js} +1 -1
- package/dist/chunks/{chunk-MHPCVQOE.js → chunk-ZWEY66RT.js} +1 -1
- package/dist/chunks/cli-HV32F7HD.js +2 -0
- package/dist/chunks/command-NWOZXU57.js +58 -0
- package/dist/chunks/{configuration-command-4WTS2MZS.js → configuration-command-ZEIBQKB3.js} +1 -1
- package/dist/chunks/{connected-app-executor-7DYMZCD7.js → connected-app-executor-DFHWNMRM.js} +1 -1
- package/dist/chunks/{connected-evidence-D7C45HYD.js → connected-evidence-WOM6N5HO.js} +1 -1
- package/dist/chunks/{connected-starting-assets-4LDXQVLN.js → connected-starting-assets-66Y46ZPM.js} +1 -1
- package/dist/chunks/{continual-HQCFY7GN.js → continual-TNPTWTKK.js} +1 -1
- package/dist/chunks/{core-commands-RXPXOYOP.js → core-commands-GWRHH53F.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-KWRTMKN6.js → dataset-preparation-authoring-WJ2XEUO7.js} +1 -1
- package/dist/chunks/{datasets-LBLEKLCS.js → datasets-XIMF54QN.js} +1 -1
- package/dist/chunks/{desktop-test-INJPZ5VP.js → desktop-test-HF42V2EP.js} +1 -1
- package/dist/chunks/dist-T6ES2TSM.js +2 -0
- package/dist/chunks/{evaluation-coordination-3ARLJAFH.js → evaluation-coordination-WZT6FDMS.js} +1 -1
- package/dist/chunks/{experiment-improvements-UB4C5CSP.js → experiment-improvements-H35VS6XZ.js} +1 -1
- package/dist/chunks/{experiments-AHHKFJD6.js → experiments-F54C32EE.js} +1 -1
- package/dist/chunks/{experiments-signal-MTR475QV.js → experiments-signal-ONIGTGYR.js} +1 -1
- package/dist/chunks/{help-JQA3YMCX.js → help-O53DTZGN.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-LMCJ3MDJ.js +2 -0
- package/dist/chunks/{host-profile-external-dataset-YRKG2GL5.js → host-profile-external-dataset-4HOXANWK.js} +1 -1
- package/dist/chunks/{hosted-app-server-composition-GPXH3BOG.js → hosted-app-server-composition-Y64A2A2B.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-NZTPZTDH.js → hosted-experiment-improvement-B2V2WIUI.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-C7I4KSDK.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-3CAT3XBI.js → hosted-profile-candidate-CXPVEEYQ.js} +1 -1
- package/dist/chunks/{hosted-profile-compiler-RXU626Q6.js → hosted-profile-compiler-FGCI2VRW.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-control-CBDRKJ5J.js → hosted-profile-evaluation-control-INNUYMBD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-CHYKDYUQ.js → hosted-profile-evaluation-inspection-UPTBRYMS.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-H5S7JZMD.js → hosted-profile-evaluation-preparation-TIQSVKLQ.js} +1 -1
- package/dist/chunks/{hosted-tasksets-AMGDDB2R.js → hosted-tasksets-7VMYOTIO.js} +1 -1
- package/dist/chunks/{human-review-DVHVJXBA.js → human-review-7XC77NQP.js} +1 -1
- package/dist/chunks/{import-CLWTKDG6.js → import-OBAKUJPM.js} +1 -1
- package/dist/chunks/javascript-isolate-process-source-YAT3GPW4.js +2 -0
- package/dist/chunks/javascript-verifier-worker-source-LGRP74W4.js +2 -0
- package/dist/chunks/learning-3XDGIYUL.js +2 -0
- package/dist/chunks/{learning-XTY5VOTK.js → learning-CRR6NRPN.js} +1 -1
- package/dist/chunks/{local-harness-improvement-runtime-XEA73RGS.js → local-harness-improvement-runtime-UIKQSAMM.js} +1 -1
- package/dist/chunks/{local-harness-taskset-review-SW35G4DM.js → local-harness-taskset-review-6KJN3EQL.js} +1 -1
- package/dist/chunks/{model-projects-GHWCKDON.js → model-projects-HP4DELCP.js} +1 -1
- package/dist/chunks/{opchat-LMKH3OWR.js → opchat-NWYWWIA7.js} +1 -1
- package/dist/chunks/{opchat-bounded-chat-PPOWO7H4.js → opchat-bounded-chat-ICURZM6R.js} +1 -1
- package/dist/chunks/{organizations-T6ZUSHNJ.js → organizations-7DBQGCCV.js} +1 -1
- package/dist/chunks/{profile-RIDNU2I5.js → profile-3WZJ65CT.js} +1 -1
- package/dist/chunks/{project-action-payload-2G57RL74.js → project-action-payload-7DRABTHY.js} +1 -1
- package/dist/chunks/{project-agent-GBMVDJY3.js → project-agent-AXJOWXRU.js} +1 -1
- package/dist/chunks/{published-experiment-source-D3C2AWQD.js → published-experiment-source-YBBPLNF2.js} +1 -1
- package/dist/chunks/{refiner-profile-service-PPGGNVOV.js → refiner-profile-service-ATEFPF5O.js} +1 -1
- package/dist/chunks/{runtime-VSOOPNYN.js → runtime-XP4DEGR3.js} +1 -1
- package/dist/chunks/{sandbox-command-L5VQ2T6C.js → sandbox-command-CF2PJCFX.js} +1 -1
- package/dist/chunks/{sandbox-template-NN3XQI7M.js → sandbox-template-YFMHEMUQ.js} +1 -1
- package/dist/chunks/{saved-work-LAVTNKPT.js → saved-work-3OAVRBH3.js} +1 -1
- package/dist/chunks/setup-RHIMFI2Y.js +2 -0
- package/dist/chunks/{src-662QOKNP.js → src-GQPWOPYA.js} +1 -1
- package/dist/chunks/{src-HJHIBDFX.js → src-V236S6MV.js} +112 -112
- package/dist/chunks/{standalone-experiment-turn-owner-KKYIGGPF.js → standalone-experiment-turn-owner-CDRMGLWW.js} +1 -1
- package/dist/chunks/{store-chat-resources-ZWDYMDJF.js → store-chat-resources-P4EKCLSY.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-7PDLGRWF.js → store-continual-support-reviews-VVRQO2JK.js} +1 -1
- package/dist/chunks/{store-conversation-serving-WRT4N7N2.js → store-conversation-serving-YFEZYQD3.js} +1 -1
- package/dist/chunks/{store-create-improve-G46KIUVT.js → store-create-improve-2XI36AET.js} +1 -1
- package/dist/chunks/{store-datasets-O67F75BL.js → store-datasets-UFY422NG.js} +1 -1
- package/dist/chunks/{store-evaluation-results-BEPR4LVD.js → store-evaluation-results-VBH4R2U7.js} +1 -1
- package/dist/chunks/{store-harness-workspaces-PJJQ74G6.js → store-harness-workspaces-SGUEYDO2.js} +1 -1
- package/dist/chunks/{store-human-review-HJ3D7ZFA.js → store-human-review-RFCVZ3HP.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-EXNRDHCO.js → store-learned-preference-migration-validation-FNBGGZU6.js} +1 -1
- package/dist/chunks/{store-learning-6P6IS7GH.js → store-learning-BFOT4QVT.js} +1 -1
- package/dist/chunks/{store-learning-credentials-EGJ2WTZI.js → store-learning-credentials-DYTMWQTC.js} +1 -1
- package/dist/chunks/{store-local-experiments-CBJA56X2.js → store-local-experiments-XPXGYXNM.js} +1 -1
- package/dist/chunks/{store-model-batch-review-YIVD7T2T.js → store-model-batch-review-J2L5JQV2.js} +1 -1
- package/dist/chunks/{store-model-configuration-T6XJJDAB.js → store-model-configuration-NJFWSYSA.js} +1 -1
- package/dist/chunks/{store-model-project-preparation-WWU5CJTV.js → store-model-project-preparation-OCLIFKI2.js} +1 -1
- package/dist/chunks/{store-preference-comparison-XQFTLMGH.js → store-preference-comparison-MZAYONCK.js} +1 -1
- package/dist/chunks/{store-task-inbox-VVXZUJIO.js → store-task-inbox-3BREANOX.js} +1 -1
- package/dist/chunks/{store-task-inventory-MQX44AI6.js → store-task-inventory-5HRZCDUT.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-G3WFVN4M.js → store-taskset-drafts-BNKUVHPA.js} +1 -1
- package/dist/chunks/{store-training-DUVIDYK5.js → store-training-S3FXWLT6.js} +1 -1
- package/dist/chunks/{store-training-jobs-HHFH3V5O.js → store-training-jobs-2LCXPA7G.js} +1 -1
- package/dist/chunks/{store-training-models-C7UUZDTO.js → store-training-models-7AMKS7ZW.js} +1 -1
- package/dist/chunks/{taskset-7FQCJ55X.js → taskset-PLKWRT4X.js} +1 -1
- package/dist/chunks/{taskset-packages-NRRPON7B.js → taskset-packages-SXBLYHSP.js} +1 -1
- package/dist/chunks/{taskset-packages-RW4SFGDU.js → taskset-packages-V5T4V7YN.js} +1 -1
- package/dist/chunks/{teams-bot-FXMCOCPP.js → teams-bot-VQXUA7U4.js} +1 -1
- package/dist/chunks/{tool-learning-O7QTTEDB.js → tool-learning-47XQKELE.js} +1 -1
- package/dist/chunks/{training-XFM3OOPN.js → training-7VQNCOGH.js} +1 -1
- package/dist/chunks/{training-XILDD5RG.js → training-VKLPNCMC.js} +1 -1
- package/dist/chunks/{training-hosted-6BX2IASC.js → training-hosted-NNE6BP6S.js} +1 -1
- package/dist/chunks/training-hosted-checkpoint-evaluation-2X7RSOLC.js +2 -0
- package/dist/chunks/{training-hosted-learning-YN5VD3PW.js → training-hosted-learning-WQ2IP5FP.js} +1 -1
- package/dist/chunks/training-hosted-report-T633TNJG.js +2 -0
- package/dist/chunks/training-hosted-serving-report-VZ4SMLMG.js +2 -0
- package/dist/chunks/training-hosted-workers-Y2PO5IOA.js +2 -0
- package/dist/chunks/{training-model-start-E5MP3URL.js → training-model-start-G7YDZ7ZG.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/skills/manifest.json +1 -1
- package/dist/web/assets/App-DmEA-Lia.js +53 -0
- package/dist/web/assets/{AppDialog-DuSd0wk6.js → AppDialog-BvskhHE9.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-ScQKJV4z.js +2 -0
- package/dist/web/assets/{AppToastContext-Dklk6CaG.js → AppToastContext-D2788RqX.js} +1 -1
- package/dist/web/assets/AppsView-B1uNg9IQ.js +1 -0
- package/dist/web/assets/{AppsView-DNHWzJb2.css → AppsView-D3vVesNd.css} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-DipNT6Tj.js → AttachmentTypeIcon-DVluUHuc.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-BBaaanMS.js → BrowserSidebar-DfVQoJHn.js} +1 -1
- package/dist/web/assets/{CartesianChart-UU1sdoUO.js → CartesianChart-DdBZ69lI.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-Ct59FKw1.js → ChatTimelineEntry-Bbc6HRks.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-BWYRQ1PE.js → CollaborationTabs-ba6WupeJ.js} +1 -1
- package/dist/web/assets/{CommandMenu-B08F9x5g.js → CommandMenu-D7wTaEgl.js} +1 -1
- package/dist/web/assets/{CommunityView-BLTlSxyb.js → CommunityView-mO58f2B0.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-srWBKvCv.js → ComposerAttachments-aO90qXYz.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DqTpU5cO.js → ComposerCreateImproveStrip-BPUJBSyS.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-2KC-KQvu.js → ConversationImportsSettings-Bo836wKJ.js} +1 -1
- package/dist/web/assets/{FilePagePreview-B-iUVPhh.js → FilePagePreview-C6wIp6uX.js} +2 -2
- package/dist/web/assets/{GetStartedView-5v0vBWXy.js → GetStartedView-CxMv8q-h.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-Bn4072K-.js → GettingStartedDialog-CEb0cS-o.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-DWF6WPao.js → HostedModelLearningReview-BQIS7hkd.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-BQ-YeFMT.js +1 -0
- package/dist/web/assets/{HtmlVisual-C2WsMj90.js → HtmlVisual-CCuUkYT8.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-CQz29DwD.js → LabModelVersionDetailPage-BkHeVbAx.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-C50P74LI.js → LabSkillSidebar-CFROlATQ.js} +1 -1
- package/dist/web/assets/LabsRoute-YA9YckKj.js +101 -0
- package/dist/web/assets/MainChatThread-DpyPgGKW.js +2 -0
- package/dist/web/assets/{MainPane-Dje-hfUM.css → MainPane-BOWkynGB.css} +1 -1
- package/dist/web/assets/MainPane-WOeodByM.js +10 -0
- package/dist/web/assets/NativeSetupTerminal-fmG2c65K.js +2 -0
- package/dist/web/assets/{NativeSkillSidebar-Clv0IWyn.js → NativeSkillSidebar-MAJWS4mL.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cw_F5Eaa.js → NewProjectDialog-MQiUBVx3.js} +1 -1
- package/dist/web/assets/{OutputsPage-Btyiie4B.js → OutputsPage-DpF-aRTu.js} +1 -1
- package/dist/web/assets/{PageChrome-BLLw_cEA.js → PageChrome-8gH2hyDb.js} +1 -1
- package/dist/web/assets/{ProjectsPage-BpSHWQgj.js → ProjectsPage-BQ98oGyu.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-xW5rKbp0.js → RightChatPanelStack-Bs7A4dLs.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-C-D4kba2.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-WytWGQgw.js → ScheduledWorkPage-CGCqZz_H.js} +1 -1
- package/dist/web/assets/{SettingsView-BJq5zNkv.js → SettingsView-CqpMFLxy.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-BxFEWI9W.js → TasksetDraftEditorPrimitives-DJvIvzBb.js} +1 -1
- package/dist/web/assets/{TeamChatView-BisSMAXy.js → TeamChatView-DjmIaLO1.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-C7OM2F0-.js → TerminalOverlay-D--M876l.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-KH5GFacT.js → TrainingCreationPanel-DDUoHQHU.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DzOw13Md.js → TrainingDraftPanel-CwLXn3Z7.js} +1 -1
- package/dist/web/assets/{TrainingRunLineage-B2WBOchk.js → TrainingRunLineage-CtYe1KGX.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-nZHno_4P.js → UsageSettingsSection-CGwPregx.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-C6wWuo7U.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-CyTa8Cjs.js → WorkspaceDiffPanel-JDOUmrC-.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-CtZzxQ1e.js → WorkspaceEnvironmentMenu-sfL5LZeB.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-1U8DDj1J.js → WorkspaceFileLocation-D-ctFM4d.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-BO1EUA3G.js → WorkspaceGitDialogs-CQ28j3R7.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-Rqq_sKW_.js → WorkspaceMonacoEditor-BrZs6-EW.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-zmmMp09R.js → WorkspacePdfPreview-CU6PSjjN.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DNbhGjkE.js → WorkspacePresentationPreview-IjXVXpIy.js} +1 -1
- package/dist/web/assets/{app-models-Cz3yxq4x.js → app-models-CKXrDTEU.js} +1 -1
- package/dist/web/assets/{bot-D-eTQib6.js → bot-Cd761lRF.js} +1 -1
- package/dist/web/assets/{browser-sidebar-links-ZyYiYBBd.js → browser-sidebar-links-D9v2cyJa.js} +1 -1
- package/dist/web/assets/chat-resources-BUDXdoG0.js +1 -0
- package/dist/web/assets/{chevron-down-75im8nFF.js → chevron-down-DEbd6Ek-.js} +1 -1
- package/dist/web/assets/chevron-right-DLYNg_Oq.js +1 -0
- package/dist/web/assets/{chevron-up-BD8jg0bQ.js → chevron-up-DFJJccDl.js} +1 -1
- package/dist/web/assets/chunk-GHPCQXG5-DKDBSd8H.js +9 -0
- package/dist/web/assets/chunk-GJRXJL6G-luaxRTYI.js +1 -0
- package/dist/web/assets/chunk-H3JZ3P5T-CzpTARDY.js +2 -0
- package/dist/web/assets/chunk-JDQVAG3R-C0-rh1aR.js +1 -0
- package/dist/web/assets/chunk-TLSP5JKG-BrrVo5rJ.js +1 -0
- package/dist/web/assets/chunk-XMVSQIK4-BBU7r_NH.js +1 -0
- package/dist/web/assets/client-BNjO4Xi8.js +1 -0
- package/dist/web/assets/{client-choice-storage-CXlWJW5g.js → client-choice-storage-DUWsS4X0.js} +1 -1
- package/dist/web/assets/{cloud-upload-4lP-5zmp.js → cloud-upload-CoM1FGeB.js} +1 -1
- package/dist/web/assets/{common-BMjyKlX-.js → common-CFsO2ppZ.js} +1 -1
- package/dist/web/assets/{copy-DRnATDDY.js → copy-BGOhV6Pk.js} +1 -1
- package/dist/web/assets/{create-pipeline-CyUZrbbO.js → create-pipeline-DRR0Qeec.js} +1 -1
- package/dist/web/assets/{createLucideIcon-CmkSm39S.js → createLucideIcon-Bv-_eGcE.js} +1 -1
- package/dist/web/assets/{cssMode-Cps-05f3.js → cssMode-SclUkqPt.js} +1 -1
- package/dist/web/assets/{external-link-D_nBEDFO.js → external-link-CVXsNeO3.js} +1 -1
- package/dist/web/assets/{folder-open-tD5Lle1M.js → folder-open-MnOmh19D.js} +1 -1
- package/dist/web/assets/{folder-plus-DlZ4hM48.js → folder-plus-BRddLBtO.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-g8KBhvfr.js → git-commit-horizontal-Bm4rkXug.js} +1 -1
- package/dist/web/assets/{htmlMode-Do72TyNy.js → htmlMode-X3mQtOeh.js} +1 -1
- package/dist/web/assets/icons-CZxmQtZs.js +1 -0
- package/dist/web/assets/{image-CUZMnZYi.js → image-BViGUAiq.js} +1 -1
- package/dist/web/assets/{index-D7igQSAg.js → index-LXNhSUEL.js} +2 -2
- package/dist/web/assets/{info-SmuBZiE5.js → info-DYPIbKKD.js} +1 -1
- package/dist/web/assets/intake-contracts-wCkD2ErR.js +1 -0
- package/dist/web/assets/{jsonMode-B2N7W15Y.js → jsonMode-BoKiIdHd.js} +1 -1
- package/dist/web/assets/loader-circle-JFgFNsP5.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DPmyOFVA.js → lspLanguageFeatures-CO2mzpy1.js} +1 -1
- package/dist/web/assets/{maximize-2-B8HN3jsA.js → maximize-2-DXZCQO0b.js} +1 -1
- package/dist/web/assets/{message-square-CrDvzn66.js → message-square-cOCAL8J1.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CRdTg0FH.js → monaco.contribution-C7CAQIKF.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BfOxF9PJ.js → monaco.contribution-CVe3mWSY.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DNONXznc.js → monaco.contribution-hrusiaZi.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DqqJBDzF.js → monaco.contribution-wacA5FjV.js} +2 -2
- package/dist/web/assets/{monitor-CW-M_aaj.js → monitor-B35XSAvn.js} +1 -1
- package/dist/web/assets/{paperclip-DL449Io5.js → paperclip-CKgDxioG.js} +1 -1
- package/dist/web/assets/{pdf-BCq2Oosd.js → pdf-Ct3M2mVw.js} +1 -1
- package/dist/web/assets/play-DzqLr7fM.js +1 -0
- package/dist/web/assets/plus-Ddp1vXnw.js +1 -0
- package/dist/web/assets/{ponder-desktop-Dm7tOkKo.js → ponder-desktop-D-zB6X4L.js} +1 -1
- package/dist/web/assets/{presentation-CupIXaYv.js → presentation-B0S9v7ib.js} +1 -1
- package/dist/web/assets/{profile-ref-DSNkG6Ol.js → profile-ref-CCxrOCio.js} +1 -1
- package/dist/web/assets/{python-DuGMr666.js → python-C0-pUUAU.js} +1 -1
- package/dist/web/assets/{refresh-cw-CzVf5_oo.js → refresh-cw-D45mW-vs.js} +1 -1
- package/dist/web/assets/{requests-BCbaFiqV.js → requests-DjSt-duM.js} +1 -1
- package/dist/web/assets/{reward-checks-Bcq9ETCA.js → reward-checks-D139zwha.js} +2 -2
- package/dist/web/assets/{save-DatjrYPV.js → save-Gu4R_82E.js} +1 -1
- package/dist/web/assets/schemas-C9IwV7NS.js +64 -0
- package/dist/web/assets/{settings-D7C-Auyi.js → settings-DdonLCIN.js} +1 -1
- package/dist/web/assets/settings-lists-CFHFtO0D.js +5 -0
- package/dist/web/assets/square-Dqduqyyu.js +1 -0
- package/dist/web/assets/{square-terminal-Buj-s-fz.js → square-terminal-DS3zwi6X.js} +1 -1
- package/dist/web/assets/{submit-issue-command-wfngGS6Y.js → submit-issue-command-Gk3RKrY-.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-cl0cw2QK.js → toggleHighContrast-BnYUBgZB.js} +1 -1
- package/dist/web/assets/training-QBuGBGJd.js +2 -0
- package/dist/web/assets/{training-model-data-CWnu1bz9.js → training-model-data-CxR3xpmK.js} +1 -1
- package/dist/web/assets/{tsMode-DLEc0PYL.js → tsMode-BVNyOY8h.js} +1 -1
- package/dist/web/assets/{upload-DaFVH6R1.js → upload-ABSJxuUM.js} +1 -1
- package/dist/web/assets/{useAccountSettings-ByxjI9BG.js → useAccountSettings-4_XfwJQi.js} +1 -1
- package/dist/web/assets/{useAgentInventory-Df64T07n.js → useAgentInventory-CVuamyT3.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DNh_x9gQ.js → useLocalAgentSchedules-CmwN4ohy.js} +1 -1
- package/dist/web/assets/{useQuery-yUz7Ui8g.js → useQuery-CCjwL8VI.js} +1 -1
- package/dist/web/assets/{wifi-off-CtNwnIJc.js → wifi-off-DGJH7Pke.js} +1 -1
- package/dist/web/assets/{work-outputs-CK0nHe4g.js → work-outputs-CnbRtTLg.js} +1 -1
- package/dist/web/assets/{workers-CnqrOtic.js → workers-CjtQ2aBD.js} +1 -1
- package/dist/web/assets/x-B-_zJVOZ.js +1 -0
- package/dist/web/assets/{yaml-C9vtYV4w.js → yaml-N1KUjBZ8.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +7 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-2ZNW6GUU.js +0 -2
- package/dist/chunks/chunk-3MVKXAH7.js +0 -2
- package/dist/chunks/chunk-G4E3WGLM.js +0 -13
- package/dist/chunks/chunk-I3NYYOSS.js +0 -2
- package/dist/chunks/chunk-JBFPTEVE.js +0 -2
- package/dist/chunks/chunk-OW3EOC5Q.js +0 -4
- package/dist/chunks/chunk-SBQ6KLXB.js +0 -33
- package/dist/chunks/chunk-YBKDEEEH.js +0 -2
- package/dist/chunks/cli-TE7RP5H7.js +0 -2
- package/dist/chunks/command-NW6BGKOM.js +0 -13
- package/dist/chunks/dist-J4KHAVO3.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +0 -2
- package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +0 -2
- package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +0 -2
- package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +0 -2
- package/dist/chunks/learning-NJLTGZFQ.js +0 -2
- package/dist/chunks/setup-TXEM2QSG.js +0 -2
- package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +0 -2
- package/dist/chunks/training-hosted-report-UVGTPDOK.js +0 -2
- package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +0 -2
- package/dist/chunks/training-hosted-workers-6JTDCCWA.js +0 -2
- package/dist/web/assets/App-CNQi3RlI.js +0 -53
- package/dist/web/assets/AppTerminalPanel-DLz34eSs.js +0 -2
- package/dist/web/assets/AppsView-DkCMr67-.js +0 -1
- package/dist/web/assets/HostedModelLearningSettings-BYl-2j7B.js +0 -1
- package/dist/web/assets/LabsRoute-DJRgF1kQ.js +0 -101
- package/dist/web/assets/MainChatThread-gwmhe1Nw.js +0 -2
- package/dist/web/assets/MainPane-CqtgV9rU.js +0 -10
- package/dist/web/assets/NativeSetupTerminal-DrQldDsG.js +0 -2
- package/dist/web/assets/RightSidebarHomePanel-BDmIxvIm.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-D3Ub_jVj.js +0 -1
- package/dist/web/assets/chat-resources-CTN4f6KC.js +0 -1
- package/dist/web/assets/chevron-right-CpbCIUFo.js +0 -1
- package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +0 -9
- package/dist/web/assets/chunk-H3JZ3P5T-B0SCoPw4.js +0 -2
- package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +0 -1
- package/dist/web/assets/contracts-BLiqJxBv.js +0 -1
- package/dist/web/assets/icons-B8_Rkg-l.js +0 -1
- package/dist/web/assets/intake-contracts-BW0Y0C2R.js +0 -1
- package/dist/web/assets/loader-circle-D_KVxLLz.js +0 -1
- package/dist/web/assets/play-DYLqBrwg.js +0 -1
- package/dist/web/assets/plus-DXZIpQuY.js +0 -1
- package/dist/web/assets/schemas-lO3MoWQr.js +0 -64
- package/dist/web/assets/settings-lists-D2ol3uNK.js +0 -5
- package/dist/web/assets/square-BWB1nbZF.js +0 -1
- package/dist/web/assets/training-DCdoHJ0Y.js +0 -2
- package/dist/web/assets/x-Bhl-4Zlt.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalOverlay-C7OM2F0-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/index-D7igQSAg.js","assets/index-g7UqJhnX.css","assets/api-client-Dgz-fOMl.js","assets/icons-B8_Rkg-l.js","assets/chevron-down-75im8nFF.js","assets/createLucideIcon-CmkSm39S.js","assets/plus-DXZIpQuY.js","assets/x-Bhl-4Zlt.js","assets/AppToastContext-Dklk6CaG.js","assets/ui-theme.generated-D-mc26qt.js","assets/App-CNQi3RlI.js","assets/useQuery-yUz7Ui8g.js","assets/schemas-lO3MoWQr.js","assets/common-BMjyKlX-.js","assets/settings-D7C-Auyi.js","assets/client-choice-storage-CXlWJW5g.js","assets/requests-BCbaFiqV.js","assets/create-pipeline-CyUZrbbO.js","assets/profile-ref-DSNkG6Ol.js","assets/chunk-H3JZ3P5T-B0SCoPw4.js","assets/work-outputs-CK0nHe4g.js","assets/contracts-BLiqJxBv.js","assets/training-DCdoHJ0Y.js","assets/chunk-GJRXJL6G-pJp1DyJd.js","assets/reward-checks-Bcq9ETCA.js","assets/intake-contracts-BW0Y0C2R.js","assets/chat-resources-CTN4f6KC.js","assets/ponder-desktop-Dm7tOkKo.js","assets/app-models-Cz3yxq4x.js","assets/model-display-zPvC4L2B.js","assets/submit-issue-command-wfngGS6Y.js","assets/connected-app-mentions-D3wRZLwI.js","assets/profile-agent-labels-Duh96b8x.js","assets/browser-sidebar-links-ZyYiYBBd.js","assets/browser-url-LACq2Ngu.js","assets/query-scope-BRpcgljO.js","assets/bot-D-eTQib6.js","assets/chevron-right-CpbCIUFo.js","assets/copy-DRnATDDY.js","assets/external-link-D_nBEDFO.js","assets/loader-circle-D_KVxLLz.js","assets/maximize-2-B8HN3jsA.js","assets/message-square-CrDvzn66.js","assets/refresh-cw-CzVf5_oo.js","assets/square-terminal-Buj-s-fz.js","assets/models-route-CWcJuOd0.js","assets/NativeSetupTerminal-DrQldDsG.js","assets/AppDialog-DuSd0wk6.js","assets/PageChrome-BLLw_cEA.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-D7igQSAg.js";var i=e(t(),1),a=n(),o=(0,i.lazy)(()=>r(()=>import(`./TerminalOverlay-C7OM2F0-.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])));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-D7igQSAg.js";import{T as a,t as o}from"./useQuery-yUz7Ui8g.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-lO3MoWQr.js";import{d as h,h as g,i as _,p as v}from"./chunk-H3JZ3P5T-B0SCoPw4.js";import{C as y}from"./app-models-Cz3yxq4x.js";import{n as b}from"./api-client-Dgz-fOMl.js";import"./icons-B8_Rkg-l.js";import{t as x}from"./chevron-right-CpbCIUFo.js";import{t as S}from"./external-link-D_nBEDFO.js";import{a as C,i as w,n as T,t as E}from"./settings-lists-D2ol3uNK.js";import{t as D}from"./plus-DXZIpQuY.js";import{t as O}from"./refresh-cw-CzVf5_oo.js";import{t as k}from"./x-Bhl-4Zlt.js";import{t as A}from"./NativeSetupTerminal-DrQldDsG.js";import{At as j,Bt as M,Gt as N,Mn as P,Nn as F,Nt as I,Rt as L,bn as R,kt as z,un as ee}from"./App-CNQi3RlI.js";import{D as B,O as te}from"./MainPane-CqtgV9rU.js";import{n as V,r as H,t as ne}from"./useAgentInventory-Df64T07n.js";/* empty css */var U=e(t(),1),W=r();function re({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,W.jsxs)(`article`,{className:`agent-connection-card`,"aria-label":e.name,children:[(0,W.jsxs)(`div`,{className:`agent-card-title`,children:[(0,W.jsx)(`img`,{src:e.icon,alt:``}),(0,W.jsx)(`span`,{children:e.name}),(0,W.jsx)(`button`,{type:`button`,className:`agent-hide`,"aria-label":`Hide ${e.name}`,onClick:c,children:(0,W.jsx)(k,{size:14})})]}),e.id===`openpond_chat`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`small`,{children:t?.state===`signed_in`?`Connected to OpenPond`:`Sign in to OpenPond`}),(0,W.jsx)(`p`,{children:`Use Pal from the sidebar.`}),(0,W.jsx)(`button`,{type:`button`,className:`agent-account-link`,onClick:()=>void I({kind:`settings`,section:`account`}),children:`Account setup`})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`small`,{children:n?n.available?n.enabled?`Ready to chat`:`Installed · chat disabled`:n.lastError??`Check installation`:`Conversation import`}),(0,W.jsx)(`button`,{type:`button`,className:`agent-connect-button`,disabled:!s,onClick:l,children:n?.available||u.length?`Manage`:`Connect`}),(0,W.jsx)(`div`,{className:`agent-card-sync`,children:u.length?u.map(e=>(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{children:H(e,r.collector)}),(0,W.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,W.jsxs)(`small`,{children:[`Team: `,e.teamId]}),e.queued?(0,W.jsxs)(`small`,{children:[e.queued,` updates queued`]}):null,e.lastAdmissionAt?(0,W.jsxs)(`small`,{children:[`Last sync: `,new Date(e.lastAdmissionAt).toLocaleString()]}):null,e.error?(0,W.jsx)(M,{error:e.error}):null]},e.id)):(0,W.jsx)(`small`,{children:r?d?`History available · sync not connected`:`No local history found`:`Reading local setup…`})})]}),o]})}function ie(e,t,n,r){let i=(0,U.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,U.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()}:B(e,n,i.current.providers?.providers[n]);return s.promise.then(o=>{t||(r>0&&o.session&&!o.error&&te(e,n,o,a),i.current.onProvider(n,o.settings))},()=>{}),s});return()=>{t=!0,n.forEach(e=>e.release())}},[e,a,r])}var G=m().trim().min(1).max(240),K=f().int().positive(),q=p([`dataset`,`evaluator`,`model`,`training_configuration`,`training_run`,`harness`,`environment`,`experiment`,`learning_policy`,`deployment`]),J=u({kind:q,resourceId:G,release:_.nullable(),role:p([`training`,`validation`,`holdout`,`target`,`reward`,`evaluation`,`serving`,`source`])}).strict(),ae=c(`kind`,[u({kind:l(`model`),providerId:G,modelId:G,artifact:_.nullable(),messages:s(u({role:p([`system`,`user`,`assistant`]),content:m().max(1e5)}).strict()).max(100)}).strict(),u({kind:l(`harness`),profileRepositoryId:G,source:g}).strict(),u({kind:l(`agent`),source:v}).strict(),u({kind:l(`suite`),profileRepositoryId:G,suiteId:G,sources:s(g).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||h(a.harnessRelease)!==h(n.harnessRelease))&&t.addIssue({code:`custom`,path:[`sources`,i],message:`Suite checks must belong to the same pinned Profile source and Harness release.`})})]),oe=u({name:m().trim().min(1).max(200),description:m().max(1e4),targets:s(u({id:G,name:m().trim().min(1).max(200),target:ae}).strict()).max(100),defaultTargetId:G.nullable(),resources:s(J).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=>h(e))).size!==e.resources.length&&t.addIssue({code:`custom`,path:[`resources`],message:`Resource links must be unique.`})}),se=u({schemaVersion:l(`openpond.trainingProject.v1`),id:G,teamId:G,creatorUserId:G,ownerScope:p([`workspace`,`personal`]).optional(),revision:K,content:oe,archived:d(),createdAt:m().datetime(),updatedAt:m().datetime()}).strict();u({operationId:G,id:G,expectedRevision:f().int().nonnegative(),content:oe,ownerScope:p([`workspace`,`personal`]).optional()}).strict(),u({operationId:G,expectedRevision:K,archived:d()}).strict();var ce=u({teamId:G,projects:s(se).max(100),nextCursor:G.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:G,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 le(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,U.useState)(null),[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(!1),[d,f]=(0,U.useState)(0),p=t?.state===`signed_in`?a?.key===r&&a.connection===e?a.value:i:void 0;(0,U.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=ce.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,U.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 ue=e(j(),1),de=e(z(),1);function fe({connection:e,connectionId:t,disabled:n,projectName:r,onUpload:i,onClose:a}){let[o,s]=(0,U.useState)(``),[c,l]=(0,U.useState)(`all`),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(()=>new Map),[m,h]=(0,U.useState)(!0),[g,_]=(0,U.useState)(null),[v,y]=(0,U.useState)(0);w(e,g,()=>y(e=>e+1));let x=(0,U.useRef)(null),S=(0,U.useRef)(0);(0,U.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,W.jsxs)(`section`,{className:`conversation-upload-picker`,"aria-label":`Choose conversations to upload`,children:[(0,W.jsx)(`h3`,{children:`Choose conversations`}),(0,W.jsxs)(`p`,{children:[`Upload to `,(0,W.jsx)(`strong`,{children:r}),`. This selection also sets which conversations later syncs update. Previously uploaded data stays in the project.`]}),(0,W.jsxs)(`div`,{className:`conversation-upload-toolbar`,children:[(0,W.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,W.jsx)(L,{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,W.jsxs)(`div`,{className:`conversation-upload-selection`,role:`status`,children:[(0,W.jsxs)(`span`,{children:[f.size,` selected`,A?` · ${A} outside this view`:``,u?` · ${u.total} matching`:``]}),(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Refresh`}),(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||!f.size,onClick:()=>p(new Map),children:`Clear selection`})]}),(0,W.jsx)(`div`,{className:`evaluation-table-scroll evaluation-table-frame conversation-upload-table`,children:(0,W.jsxs)(`table`,{className:`training-data-table evaluation-workspace-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:(0,W.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,W.jsx)(`th`,{children:`Conversation`}),(0,W.jsx)(`th`,{children:`Last activity`})]})}),(0,W.jsxs)(`tbody`,{children:[E.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.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,W.jsxs)(`td`,{children:[(0,W.jsx)(`span`,{className:`conversation-upload-title`,title:e.title,children:e.title}),(0,W.jsx)(`small`,{title:e.cwd??e.nativeSessionId,children:e.cwd??e.nativeSessionId}),e.issue?(0,W.jsx)(`small`,{role:`status`,children:e.issue}):e.approved?(0,W.jsx)(`small`,{children:`Already approved for sync`}):null]}),(0,W.jsx)(`td`,{children:(0,W.jsx)(`time`,{dateTime:e.updatedAt,children:new Date(e.updatedAt).toLocaleDateString()})})]},e.key)),m?(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:3,role:`status`,children:`Loading conversations…`})}):!E.length&&!g?(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:3,children:o.trim()||c!==`all`?`No conversations match these filters.`:`No saved conversations found in this installation.`})}):null]})]})}),g?(0,W.jsx)(M,{error:g,children:(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>y(e=>e+1),children:`Retry`})}):null,u?.nextOffset==null?null:(0,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n||m,onClick:()=>void C(),children:`Load more conversations`}),(0,W.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,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.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,W.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:n,onClick:a,children:`Cancel`})]})]})}ue.default.extend(de.default);function pe({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,U.useState)(l.length===1?l[0].instanceId:``),[f,p]=(0,U.useState)(o),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(null),[v,y]=(0,U.useState)(!1),[x,S]=(0,U.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),j=g&&n?(0,W.jsx)(A,{connection:n,command:g,onComplete:()=>{_(null),h(null),s()},onClose:()=>{_(null),s()}}):null;return k&&n?(0,W.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,W.jsx)(fe,{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,W.jsx)(M,{error:x}):null,j]}):(0,W.jsxs)(`div`,{className:`agent-conversation-setup provider-dialog-body`,children:[(0,W.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,W.jsxs)(`section`,{className:`agent-retained-connection`,"aria-label":`${e.name} sync connection`,children:[(0,W.jsx)(`strong`,{children:H(n,t.collector)}),(0,W.jsxs)(`span`,{children:[`Project:`,` `,n.teamId===i?a.find(e=>e.id===n.projectId)?.content.name??n.projectId:n.projectId,` `,`· Team: `,n.teamId]}),(0,W.jsx)(`small`,{children:n.accountBaseUrl??`Hosted destination`}),(0,W.jsx)(`small`,{className:`agent-source-path`,children:n.sourceRoot}),(0,W.jsxs)(`span`,{children:[n.admitted,` tasks imported · `,n.queued,` updates queued`]}),(0,W.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,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`progress`,{"aria-label":`History import progress`,value:n.backfill.admitted+n.backfill.skipped,max:n.backfill.total}),(0,W.jsxs)(`small`,{children:[n.backfill.admitted+n.backfill.skipped,` of`,` `,n.backfill.total,` conversations processed`]})]}):null,(0,W.jsx)(`small`,{children:n.lastAdmissionAt?`Last synced ${(0,ue.default)(n.lastAdmissionAt).fromNow()}`:`No uploads acknowledged yet`}),n.error?(0,W.jsx)(M,{error:n.error}):null,(0,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.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,W.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(`reconnect`,n.id),children:`Reconnect`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,disabled:O,onClick:()=>void D(n.state===`paused`?`resume`:`pause`,n.id),children:n.state===`paused`?`Resume`:`Pause`}),(0,W.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,W.jsx)(`a`,{href:n.destinationLinks.tasks,target:`_blank`,rel:`noreferrer`,children:`View tasks`}):null,n.destinationLinks.conversations?(0,W.jsx)(`a`,{href:n.destinationLinks.conversations,target:`_blank`,rel:`noreferrer`,children:`View conversations`}):null]})]},n.id)),(0,W.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),D(`connect`)},className:`agent-sync-form`,children:[(0,W.jsx)(`h3`,{children:w.length?`Add another connection`:`Connect conversations`}),(0,W.jsxs)(`label`,{className:`agent-source-field`,children:[`Source installation`,(0,W.jsx)(L,{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,W.jsx)(`small`,{children:C.reason}):null,l.some(e=>e.available&&e.capabilities.history)?null:(0,W.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,W.jsxs)(`label`,{children:[`Project`,(0,W.jsx)(L,{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,W.jsx)(`p`,{children:`No conversations are uploaded during setup. Continual imports are off by default and can be scheduled after choosing conversations.`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>I({kind:`settings`,section:`conversation-imports`}),children:`Manage continual imports in Settings`}),r?.state!==`signed_in`||!i?(0,W.jsx)(`small`,{children:`Sign in and select a default team in Account settings to choose a hosted project.`}):null,(0,W.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,W.jsx)(`a`,{className:`agent-learning-link`,href:c,target:`_blank`,rel:`noreferrer`,children:`Configure continual learning in Console`}):null,t?(0,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`CLI setup`}),(0,W.jsxs)(`small`,{className:`agent-source-path`,children:[`Importer directory: `,t.directory]}),(0,W.jsx)(`code`,{children:t.statusCommand})]}):null,x?(0,W.jsx)(M,{error:x}):null,j]})}var X=e=>JSON.stringify([e.origin,e.sourceInstanceId]),me=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 he(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 ge(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(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 ve(e,t,n,r,i,a){let o=r.configurations.find(e=>e.id===n.configurationId),s=_e(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)?[me(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?me(s):null,...n.mode===`activate`?{serving:d}:{}};return n.mode!==`activate`&&delete v.serving,n.mode===`evaluate`&&delete v.acceptance,ge(e,t,i,v,a)}function ye({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,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Source agents`}),(0,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.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,W.jsxs)(`small`,{children:[`(`,i.filter(t=>e.sourceKeys.includes(X(t))).length,` selected)`]})]}),(0,W.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Source agents`,children:[i.map(t=>{let n=X(t),r=e.sourceKeys.includes(n),i=V.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,W.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,W.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,W.jsx)(`img`,{src:i.icon,alt:``}):null,(0,W.jsxs)(`span`,{children:[a,(0,W.jsx)(`small`,{children:t.sourceInstanceId?t.name===t.origin?`Local connection`:t.name:t.origin.startsWith(`native_`)?`Hosted conversations`:`Uploaded history`})]}),(0,W.jsx)(`small`,{children:t.state})]},n)}),i.length?null:(0,W.jsx)(`p`,{role:`status`,children:n?`Fetching source agents…`:`Connect or import an agent into this Project first.`})]}),(0,W.jsx)(`p`,{children:`Paused agents can use uploaded conversations. Selecting them leaves collection paused.`})]}),(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Evaluation rubrics`}),e.configurationId?(0,W.jsx)(`p`,{children:`The training configuration pins the task definition and its rubrics. Choose grader selection in Preparation.`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.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,W.jsxs)(`small`,{children:[`(`,e.graderIds.length,` selected)`]})]}),(0,W.jsxs)(`div`,{className:`agent-learning-options`,"aria-label":`Evaluation rubrics`,children:[c.map(t=>(0,W.jsxs)(`label`,{className:`agent-learning-option`,children:[(0,W.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,W.jsxs)(`span`,{children:[t.name,(0,W.jsxs)(`small`,{children:[`Version `,t.revision]})]})]},`${t.id}:${t.revision}`)),c.length?null:(0,W.jsx)(`p`,{role:`status`,children:n?`Fetching evaluation rubrics…`:`No owned evaluation rubrics are available.`})]}),e.definition&&!e.graderIds.length?(0,W.jsx)(`p`,{children:`The saved task definition and rubrics remain unchanged.`}):null,(0,W.jsxs)(`label`,{children:[`Existing task definition`,(0,W.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,W.jsx)(`option`,{value:``,children:`Select a definition or choose rubrics above`}),e.definition&&!t?.definitions.some(t=>t.id===e.definition?.id)?(0,W.jsx)(`option`,{value:e.definition.id,children:`Saved task definition`}):null,t?.definitions.map(e=>(0,W.jsxs)(`option`,{value:e.id,children:[e.name,` (version `,e.revision,`)`]},e.id))]})]})]}),(0,W.jsxs)(`label`,{children:[`Minimum verified score`,(0,W.jsx)(`input`,{type:`number`,min:0,max:1,step:.01,value:e.minimumScore,onChange:t=>r({...e,minimumScore:Number(t.target.value)})})]})]})]})}function be({draft:e,options:t,loading:n,onChange:r}){let i=t?.projects.find(t=>t.id===e.projectId)?.configurationIds??[],a=_e(t,e.configurationId),o=e.graderSelection??{mode:`manual`};return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[`Mode`,(0,W.jsxs)(`select`,{value:e.mode,onChange:t=>r({...e,mode:t.target.value}),children:[(0,W.jsx)(`option`,{value:`evaluate`,children:`Evaluate only`}),(0,W.jsx)(`option`,{value:`train`,children:`Train automatically, approve candidate`}),(0,W.jsx)(`option`,{value:`activate`,children:`Train and activate automatically`})]})]}),(0,W.jsxs)(`label`,{children:[`Model to train`,(0,W.jsxs)(`select`,{value:e.configurationId,onChange:n=>{let i=n.target.value,a=_e(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,W.jsx)(`option`,{value:``,children:n?`Fetching configurations…`:`Select configuration`}),t?.configurations.filter(e=>i.includes(e.id)).map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.mode===`evaluate`?null:(0,W.jsxs)(`label`,{children:[`Reviewed training setup`,(0,W.jsxs)(`select`,{value:e.trainingPolicyId,onChange:t=>r({...e,trainingPolicyId:t.target.value}),children:[(0,W.jsx)(`option`,{value:``,children:`Select reviewed setup`}),a.map(e=>(0,W.jsxs)(`option`,{value:e.id,children:[`Reviewed setup (version `,e.revision,`)`]},e.id))]})]}),e.configurationId?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[`Task construction`,(0,W.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,W.jsx)(`option`,{value:`reference_text`,children:`Match a published executable task`}),(0,W.jsx)(`option`,{value:`complete_text`,children:`Complete text context and calibrated judges`})]})]}),e.adapter.kind===`reference_text`?(0,W.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,W.jsxs)(`label`,{children:[`Public task input field`,(0,W.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,W.jsxs)(`label`,{children:[`Reference matching`,(0,W.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,W.jsx)(`option`,{value:`contained`,children:`Contained`}),(0,W.jsx)(`option`,{value:`exact`,children:`Exact`})]})]})]}):null,(0,W.jsxs)(`label`,{children:[`Grader selection`,(0,W.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,W.jsx)(`option`,{value:`auto`,children:`Choose compatible rubrics automatically`}),(0,W.jsx)(`option`,{value:`manual`,children:`Use the pinned rubrics`})]})]}),o.mode===`auto`?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[`Selection model`,(0,W.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,W.jsx)(`option`,{value:o.modelId,children:o.modelId}),t?.generators.map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,W.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,W.jsxs)(`label`,{children:[n,(0,W.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,W.jsxs)(`label`,{children:[`Answer improvement model`,(0,W.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,W.jsx)(`option`,{value:``,children:`Use recorded answers only`}),t?.generators.map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),e.generator?(0,W.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,W.jsxs)(`label`,{children:[`Per improved answer limit ($)`,(0,W.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,W.jsxs)(`label`,{children:[`Output token limit`,(0,W.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,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Serving authorization`}),(0,W.jsxs)(`label`,{children:[`Serving target`,(0,W.jsxs)(`select`,{value:e.serving?.targetId??``,onChange:t=>r({...e,serving:{targetId:t.target.value,canarySeconds:e.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}),children:[(0,W.jsx)(`option`,{value:``,children:`Pal in this Project`}),t?.servingTargets.filter(t=>t.projectId===e.projectId&&t.enabled).map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.hostedPonder?`Hosted Pal`:`${e.role} / ${e.roleTargetId}`},e.id))]})]}),(0,W.jsxs)(`label`,{children:[`Runtime canary (seconds)`,(0,W.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,W.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 xe=(e,t)=>e===void 0||t===void 0?``:`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`;function Se({draft:e,onChange:t}){let n=(n,r)=>t({...e,limits:{...e.limits,[n]:r}});return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Run window`}),(0,W.jsxs)(`div`,{className:`agent-learning-columns`,children:[(0,W.jsxs)(`label`,{children:[`From`,(0,W.jsx)(`input`,{type:`time`,required:!0,value:xe(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,W.jsxs)(`label`,{children:[`Until`,(0,W.jsx)(`input`,{type:`time`,value:xe(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,W.jsxs)(`label`,{children:[`Timezone`,(0,W.jsx)(`input`,{required:!0,value:e.schedule.timezone,onChange:n=>t({...e,schedule:{...e.schedule,timezone:n.target.value}})})]}),(0,W.jsx)(`p`,{children:`Queued learning starts within this window. A run already started may finish afterward.`})]}),(0,W.jsxs)(`fieldset`,{children:[(0,W.jsx)(`legend`,{children:`Maximum spending`}),(0,W.jsx)(`p`,{children:`These are limits, not prices. Evaluation, answer improvements and training count toward them.`}),(0,W.jsx)(`div`,{className:`agent-learning-columns`,children:[[`perCycleUsd`,`Per run ($)`],[`dailyUsd`,`Per day ($)`],[`monthlyUsd`,`Per month ($)`]].map(([t,r])=>(0,W.jsxs)(`label`,{children:[r,(0,W.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,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`Advanced limits`}),(0,W.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,W.jsxs)(`label`,{children:[r,(0,W.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,W.jsxs)(`label`,{children:[`Maximum GPU session (hours)`,(0,W.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,W.jsxs)(`label`,{children:[`Pause after failed cycles`,(0,W.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,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.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,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`Training data balance`}),(0,W.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,W.jsxs)(`label`,{children:[r,` (%)`,(0,W.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,W.jsxs)(`details`,{children:[(0,W.jsx)(`summary`,{children:`Checks before using the trained model`}),(0,W.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,W.jsxs)(`label`,{children:[r,(0,W.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,W.jsx)(`p`,{children:`Current and trained models use the same unseen examples. Insufficient evidence keeps the current model active.`})]})]})}function Ce({connection:e,teamId:t,projectId:n,projectName:r,initialPolicy:i,bindings:a,query:o,onClose:s}){let[c,l]=(0,U.useState)(i),[u,d]=(0,U.useState)(()=>Q(n,i,i?[]:a)),[f,p]=(0,U.useState)(!!o.data),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)(!1),[v,y]=(0,U.useState)(null),[b,x]=(0,U.useState)(i?.status===`enabled`||!i),[S,w]=(0,U.useState)(`sources`),[T,E]=(0,U.useState)(!1),[D,O]=(0,U.useState)(null),A=(0,U.useRef)(f);A.current=f;let j=o.data?.policies.filter(e=>e.configuration.projectId===n)??[];(0,U.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 N=()=>{g||(m?E(!0):s())},P=C(N);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 ve(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,W.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:N,children:(0,W.jsxs)(`section`,{ref:P,className:`git-dialog provider-details-dialog agent-learning-dialog`,role:`dialog`,"aria-modal":`true`,"aria-label":`Continuous learning`,onMouseDown:e=>e.stopPropagation(),children:[(0,W.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close continuous learning`,disabled:g,onClick:N,children:(0,W.jsx)(k,{size:16})}),(0,W.jsx)(`div`,{className:`provider-dialog-header`,children:(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{children:`Continuous learning`}),(0,W.jsx)(`span`,{children:r})]})}),T?(0,W.jsxs)(`div`,{className:`agent-learning-discard`,role:`alert`,children:[(0,W.jsx)(`p`,{children:`Discard unsaved policy changes?`}),(0,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:()=>{E(!1),O(null)},children:`Keep editing`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>D?F(D):s(),children:`Discard changes`})]})]}):null,j.length>1?(0,W.jsxs)(`label`,{className:`agent-learning-policy-picker`,children:[`Learning policy`,(0,W.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,W.jsxs)(`option`,{value:e.id,children:[e.configuration.name,` (`,e.status,`)`]},e.id))})]}):null,(0,W.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,W.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,W.jsxs)(`form`,{className:`agent-learning-form`,onSubmit:e=>{e.preventDefault(),L()},children:[(0,W.jsx)(`fieldset`,{disabled:!f||g,children:(0,W.jsxs)(`label`,{children:[`Policy name`,(0,W.jsx)(`input`,{required:!0,maxLength:200,value:u.name,onChange:e=>I({...u,name:e.target.value})})]})}),(0,W.jsx)(`div`,{id:`learning-panel-${S}`,role:`tabpanel`,"aria-labelledby":`learning-tab-${S}`,children:(0,W.jsx)(`fieldset`,{disabled:!f||g,children:S===`sources`?(0,W.jsx)(ye,{...R}):S===`preparation`?(0,W.jsx)(be,{...R}):(0,W.jsx)(Se,{...R})})}),o.isPending?(0,W.jsx)(`p`,{role:`status`,children:`Fetching available sources, rubrics and models…`}):null,o.isError?(0,W.jsx)(M,{error:o.error.message,children:(0,W.jsx)(`button`,{type:`button`,onClick:()=>void o.refetch(),children:`Retry settings`})}):null,v?(0,W.jsx)(M,{error:v}):null,(0,W.jsxs)(`label`,{className:`agent-learning-check`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:b,disabled:!f||g,onChange:e=>{x(e.target.checked),h(!0)}}),`Enable this policy after saving`]}),(0,W.jsx)(`p`,{children:`Saving enables only the reviewed sources, schedule and limits. No training is dispatched by opening this dialog.`}),(0,W.jsxs)(`div`,{className:`settings-button-row agent-learning-footer`,children:[(0,W.jsx)(`button`,{type:`button`,disabled:g,onClick:N,children:`Cancel`}),(0,W.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 we({agent:e,inventory:t,connection:n,teamId:r,projectId:i,projectName:a,query:o,signedIn:s}){let[c,l]=(0,U.useState)(!1),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(!1),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(``),v=(0,U.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 ge(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,W.jsxs)(`div`,{className:`agent-learning-control`,children:[b.length>1?(0,W.jsxs)(`label`,{children:[`Learning connection`,(0,W.jsx)(`select`,{"aria-label":`${e.name} learning connection`,value:x,disabled:f,onChange:e=>_(e.target.value),children:b.map(e=>(0,W.jsx)(`option`,{value:e,children:y.find(t=>t.sourceInstanceId===e)?.name??`Local connection`},e))})]}):null,(0,W.jsxs)(`div`,{className:`agent-learning-control-row`,children:[(0,W.jsxs)(`label`,{className:`provider-toggle`,children:[(0,W.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,W.jsx)(`span`,{"aria-hidden":`true`})]}),(0,W.jsx)(`button`,{type:`button`,className:`agent-learning-settings`,disabled:!n||!r||!i||!s||f,onClick:()=>l(!0),children:`Continuous learning`}),(0,W.jsx)(`small`,{children:o.isError?`Needs attention`:o.isPending?`Loading…`:w.length?`On schedule`:C.length?`Paused`:`Off`})]}),i&&!S.length&&o.data?(0,W.jsx)(`small`,{children:`Sync this agent to the selected Project to use its local connection.`}):null,m?(0,W.jsx)(M,{error:m}):null,c&&n&&r?(0,W.jsx)(Ce,{connection:n,teamId:r,projectId:i,projectName:a,initialPolicy:T,bindings:S,query:o,onClose:()=>l(!1)},i):null,u?(0,W.jsx)(Te,{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 Te({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,W.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:o,children:(0,W.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,W.jsx)(`button`,{type:`button`,className:`git-dialog-close`,disabled:r,"aria-label":`Cancel`,onClick:o,children:(0,W.jsx)(k,{size:16})}),(0,W.jsxs)(`h2`,{children:[`Add `,n,` to `,l?.configuration.name??`continuous learning`,`?`]}),(0,W.jsx)(`p`,{children:`This agent will contribute conversations to the existing model, schedule and spending limits. Collection settings stay unchanged.`}),e.length>1?(0,W.jsxs)(`label`,{children:[`Existing policy`,(0,W.jsx)(`select`,{value:t,disabled:r,onChange:e=>a(e.target.value),children:e.map(e=>(0,W.jsx)(`option`,{value:e.id,children:e.configuration.name},e.id))})]}):null,i?(0,W.jsx)(M,{error:i}):null,(0,W.jsxs)(`div`,{className:`settings-button-row`,children:[(0,W.jsx)(`button`,{type:`button`,disabled:r,onClick:o,children:`Cancel`}),(0,W.jsx)(`button`,{type:`button`,className:`primary`,disabled:r||!l,onClick:s,children:r?`Adding…`:`Add agent`})]})]})})}function Ee({connection:e,payload:t,onPayload:n,onToast:r}){let{inventory:i,error:a,loading:o,refresh:s}=ne(e),[c,l]=(0,U.useState)(null),[u,d]=(0,U.useState)(null),[f,p]=(0,U.useState)(0),m=`openpond-agent-cards:${JSON.stringify(t?.account.activeProfile??null)}`,[h,g]=(0,U.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(m)??`null`);return Array.isArray(e)?e.filter(e=>typeof e==`string`&&V.some(t=>t.id===e)):[`oh_my_pi`]}catch{return[`oh_my_pi`]}});(0,U.useEffect)(()=>{try{localStorage.setItem(m,JSON.stringify(h))}catch{}},[m,h]);let[_,v]=(0,U.useState)(!1),b=(0,U.useRef)(null);(0,U.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,U.useRef)({payload:t,onPayload:n});x.current={payload:t,onPayload:n};let S=(0,U.useRef)(!0);(0,U.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,U.useCallback)(e=>{l(e),e&&r?.(e,`error`)},[r]),A=(0,U.useCallback)(e=>{let t=x.current;S.current&&t.payload&&t.onPayload({...t.payload,providers:e})},[]),j=(0,U.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)},[]);ie(e,t?.providers,j,f);let N=(0,U.useCallback)(e=>{let t=x.current;t.payload&&t.onPayload({...t.payload,preferences:e.preferences})},[]),P=E({connection:e,onError:k,onPayload:n,onPreferences:N,onProviders:A,preferences:y(t?.preferences),providers:t?.providers}),F=le(e,C,w),{projects:R,projectId:z,loading:ee,error:B}=F,te=he(e,w,JSON.stringify([C?.activeProfile??null,C?.profile?.id??null]),C?.state===`signed_in`),H=C?.baseUrl??C?.activeProfile?.baseUrl,G=H&&w?`${H.replace(/\/$/u,``)}/console/connections?${new URLSearchParams({teamId:w,...z?{project:z}:{}})}`:null,K=u?.provider,q=K?t?.providers.statuses[K]:null,J=u?(0,W.jsx)(pe,{agent:u,inventory:i,connection:e,account:C,teamId:w,projects:R,projectId:z,onRefresh:s,learningUrl:G},u.id):null;return(0,W.jsxs)(`section`,{className:`connected-agents-view`,"aria-label":`Continuous learning`,children:[(0,W.jsxs)(`div`,{className:`agent-connections-heading`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{children:`Continuous learning`}),(0,W.jsx)(`p`,{children:`Sync conversations from your installed agents and configure continuous learning.`})]}),(0,W.jsxs)(`div`,{className:`agent-connections-actions`,children:[(0,W.jsx)(`button`,{type:`button`,disabled:o||!e,"aria-label":`Refresh agent connections`,onClick:()=>{s(),F.refresh(),p(e=>e+1)},children:(0,W.jsx)(O,{size:15})}),(0,W.jsxs)(`div`,{className:`agent-more`,ref:b,children:[(0,W.jsx)(`button`,{type:`button`,"aria-expanded":_,onClick:()=>v(e=>!e),children:`More agents`}),_?(0,W.jsxs)(`div`,{className:`agent-more-menu`,children:[V.filter(e=>h.includes(e.id)).map(e=>(0,W.jsxs)(`button`,{type:`button`,onClick:()=>{g(t=>t.filter(t=>t!==e.id)),v(!1)},children:[(0,W.jsx)(D,{size:14}),(0,W.jsx)(`span`,{children:e.name})]},e.id)),h.length===0?(0,W.jsx)(`span`,{children:`All agents shown`}):null]}):null]})]})]}),(0,W.jsxs)(`label`,{className:`agent-project-scope`,children:[`Project`,(0,W.jsx)(L,{label:`Connections project`,value:z,disabled:!R.length,onChange:F.select,searchable:!0,options:[{value:``,label:ee&&!R.length?`Fetching projects…`:`Select project`},...R.map(e=>({value:e.id,label:e.content.name}))]})]}),B?(0,W.jsx)(M,{error:B}):null,a?(0,W.jsx)(M,{error:a}):null,c?(0,W.jsx)(M,{error:c}):null,(0,W.jsx)(`div`,{className:`agent-connections-grid`,children:V.filter(e=>!h.includes(e.id)).map(n=>(0,W.jsx)(re,{agent:n,account:C,native:n.provider?t?.providers.statuses[n.provider]:null,inventory:i,projects:R,teamId:w,learningControl:(0,W.jsx)(we,{agent:n,inventory:i,connection:e,teamId:w,projectId:z,projectName:R.find(e=>e.id===z)?.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}:${z}:${n.id}`))}),i?(0,W.jsxs)(`div`,{className:`agent-importer-footer`,children:[(0,W.jsx)(`span`,{children:i.collector.running?`Import in progress`:`No import running`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>I({kind:`settings`,section:`conversation-imports`}),children:`Conversation import settings`})]}):null,u&&K&&q&&t?(0,W.jsx)(T,{checkNativeProvider:P.checkNativeProvider,connection:e,account:C,codex:t.codex,providerId:K,providerBusy:P.providerBusy,settings:t.providers,status:q,onClose:()=>d(null),onDeleteCredential:P.deleteProviderCredential,onRefreshModels:P.refreshProviderModels,onSaveConfig:P.saveProviderConfig,onSaveCredential:P.saveProviderCredential,onStartOpenAiSubscriptionAuth:P.startOpenAiSubscriptionAuth,onValidate:P.validateProvider,conversationPanel:J}):u?(0,W.jsx)(De,{agent:u,onClose:()=>d(null),children:J}):null]})}function De({agent:e,onClose:t,children:n}){let r=C(t);return(0,W.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,onMouseDown:t,children:(0,W.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,W.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close`,onClick:t,children:(0,W.jsx)(k,{size:16})}),(0,W.jsx)(`div`,{className:`provider-dialog-header`,children:(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{children:e.name}),(0,W.jsx)(`span`,{children:`Conversation syncing`})]})}),n]})})}var Oe=[`For agents`,`Featured`,`Productivity`,`Developer tools`],ke=new Set([`slack`,`google`,`github`,`mcp`]);function Ae({account:e,connection:t,defaultTeamId:n,onToast:r,payload:i,onPayload:a}){let[o,s]=(0,U.useState)(`apps`),c=(0,U.useId)(),[l,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(``),[p,m]=(0,U.useState)(`For agents`),[h,g]=(0,U.useState)(()=>F()),[_,v]=(0,U.useState)(null),y=e?.baseUrl??e?.activeProfile?.baseUrl??null,b=je(n,_),x=(0,U.useMemo)(()=>h.filter(e=>Pe(e,p)).filter(e=>Fe(e,d)),[p,d,h]);(0,U.useEffect)(()=>{let e=!0;return!t||o!==`apps`?(g(F()),v(null),()=>{e=!1}):(R.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(F()),v(null))}),()=>{e=!1})},[t,o]);function S(e){Le(P({appId:e.id,baseUrl:y,teamId:b})).catch(e=>{r?.(e instanceof Error?e.message:String(e),`error`)})}return(0,W.jsxs)(`div`,{className:`apps-workspace-view`,children:[(0,W.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:`Continuous learning`}].map(e=>(0,W.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,W.jsx)(`div`,{role:`tabpanel`,id:`${c}-${o}-panel`,"aria-labelledby":`${c}-${o}`,children:o===`agents`?(0,W.jsx)(Ee,{connection:t,payload:i,onPayload:a,onToast:r},JSON.stringify([e?.activeProfile,n])):(0,W.jsxs)(`section`,{className:`connected-apps-view`,"aria-label":`Apps`,children:[(0,W.jsxs)(`div`,{className:`connected-apps-header`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h1`,{children:`Apps`}),(0,W.jsx)(`p`,{children:`Connect apps that agents can use for chat, knowledge, files, and workflow actions.`})]}),(0,W.jsxs)(`label`,{className:`connected-apps-search`,children:[(0,W.jsx)(N,{size:15}),(0,W.jsx)(`input`,{"aria-label":`Search apps`,onChange:e=>f(e.target.value),placeholder:`Search apps`,type:`search`,value:d})]})]}),(0,W.jsxs)(`section`,{className:`connected-apps-hero`,"aria-label":`App context`,children:[(0,W.jsxs)(`div`,{className:`connected-apps-hero-copy`,children:[(0,W.jsx)(`span`,{className:`connected-apps-hero-icon`,children:(0,W.jsx)($,{appId:`github`})}),(0,W.jsx)(`h2`,{children:`Work with your apps`}),(0,W.jsx)(`p`,{children:`Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond.`})]}),(0,W.jsxs)(`div`,{className:`connected-apps-context-card`,"aria-hidden":`true`,children:[(0,W.jsx)(`strong`,{children:`Agent context`}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`files`,children:`Files`}),(0,W.jsx)(`span`,{className:`chat`,children:`Chat`}),(0,W.jsx)(`span`,{className:`oauth`,children:`OAuth`}),(0,W.jsx)(`span`,{className:`mcp`,children:`MCP`})]})]})]}),(0,W.jsx)(`div`,{className:`connected-apps-filters`,role:`tablist`,"aria-label":`App categories`,children:Oe.map(e=>(0,W.jsx)(`button`,{"aria-selected":p===e,className:p===e?`active`:``,onClick:()=>m(e),role:`tab`,type:`button`,children:e},e))}),(0,W.jsxs)(`div`,{className:`connected-apps-list`,children:[x.map(e=>(0,W.jsx)(Me,{app:e,onSelect:()=>u(e)},e.id)),x.length===0?(0,W.jsx)(`div`,{className:`connected-apps-empty`,children:`No apps match the current search.`}):null]}),l?(0,W.jsx)(Ne,{app:l,onClose:()=>u(null),onInstall:()=>S(l)}):null]})})]})}function je(e,t){return e?.trim()||t?.trim()||null}function Me({app:e,onSelect:t}){return(0,W.jsxs)(`button`,{className:`connected-app-row`,onClick:t,type:`button`,children:[(0,W.jsxs)(`span`,{className:`connected-app-row-main`,children:[(0,W.jsx)($,{appId:e.id}),(0,W.jsxs)(`span`,{className:`connected-app-copy`,children:[(0,W.jsxs)(`span`,{className:`connected-app-title`,children:[(0,W.jsx)(`strong`,{children:e.label}),(0,W.jsxs)(`span`,{children:[e.shortLabel===e.label?e.category:e.shortLabel,` / `,e.setupSurfaceLabel]})]}),(0,W.jsx)(`span`,{children:e.description}),(0,W.jsxs)(`span`,{className:`connected-app-capability-row`,children:[e.capabilityLabels.slice(0,2).map(e=>(0,W.jsx)(`span`,{children:e},e)),e.capabilityLabels.length>2?(0,W.jsxs)(`span`,{children:[`+`,e.capabilityLabels.length-2]}):null]})]})]}),(0,W.jsx)(`span`,{className:`connected-app-status-pill ${e.status}`,children:e.statusLabel}),(0,W.jsx)(x,{size:16})]})}function Ne({app:e,onClose:t,onInstall:n}){let r=e.connections.filter(e=>e.status===`active`);return(0,W.jsx)(`div`,{className:`connected-app-dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,W.jsxs)(`section`,{className:`connected-app-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`connected-app-dialog-title`,children:[(0,W.jsx)(`button`,{className:`connected-app-dialog-close`,type:`button`,"aria-label":`Close app details`,onClick:t,children:(0,W.jsx)(k,{size:17})}),(0,W.jsxs)(`div`,{className:`connected-app-dialog-identity`,children:[(0,W.jsx)(`span`,{className:`openpond-mark`,children:(0,W.jsx)(`img`,{alt:``,src:i})}),(0,W.jsxs)(`span`,{className:`connection-dots`,"aria-hidden":`true`,children:[(0,W.jsx)(`span`,{}),(0,W.jsx)(`span`,{}),(0,W.jsx)(`span`,{})]}),(0,W.jsx)($,{appId:e.id})]}),(0,W.jsxs)(`h2`,{id:`connected-app-dialog-title`,children:[`Connect `,e.label]}),(0,W.jsxs)(`div`,{className:`connected-app-approval`,children:[(0,W.jsx)(ee,{size:16}),(0,W.jsx)(`span`,{children:e.statusLabel})]}),(0,W.jsxs)(`div`,{className:`connected-app-dialog-body`,children:[(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:e.setupSurfaceLabel}),(0,W.jsx)(`p`,{children:`The web flow shows the provider account, workspace, and requested access before anything is connected.`})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:`Connected account`}),(0,W.jsx)(`p`,{children:Re(r)})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:`Available capabilities`}),(0,W.jsx)(`div`,{className:`connected-app-dialog-capabilities`,children:e.capabilities.map(e=>(0,W.jsx)(`span`,{children:e.label},e.id))})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h3`,{children:`Sandbox lease policy`}),(0,W.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,W.jsxs)(`button`,{className:`connected-app-dialog-primary`,type:`button`,onClick:n,children:[(0,W.jsx)(`span`,{children:e.installLabel}),(0,W.jsx)(S,{size:15})]})]})})}function $({appId:e}){return(0,W.jsx)(`span`,{className:`connected-app-icon app-${e}`,children:(0,W.jsx)(`img`,{alt:``,src:Ie(e)})})}function Pe(e,t){return t===`For agents`?!0:t===`Featured`?ke.has(e.id):t===`Productivity`?e.category===`Productivity`||e.category===`Chat`:e.category===`Developer tools`||e.id===`mcp`}function Fe(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 Ie(e){return n(e)}async function Le(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 Re(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{Ae 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-D7igQSAg.js";import{b as r,x as i}from"./contracts-BLiqJxBv.js";import{t as a}from"./api-client-Dgz-fOMl.js";import{t as o}from"./AppDialog-DuSd0wk6.js";import{a as s,i as c,n as l,o as u,r as d}from"./LabsRoute-DJRgF1kQ.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};
|