openpond 0.2.54 → 0.2.56
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 +10823 -9118
- package/dist/app-server.js +1 -1
- package/dist/chunks/actions-command-QU4H53OG.js +2 -0
- package/dist/chunks/{app-layer-I7MZYVLL.js → app-layer-NSTE5HIT.js} +1 -1
- package/dist/chunks/app-server-connected-apps-JHGWLBXT.js +2 -0
- package/dist/chunks/app-server-evaluations-GJPFWIDA.js +2 -0
- package/dist/chunks/app-server-harness-services-IH4G6POY.js +2 -0
- package/dist/chunks/app-server-runtime-DVKOZ5B6.js +2 -0
- package/dist/chunks/apps-BKTOR4F7.js +2 -0
- package/dist/chunks/chunk-25MBPJVY.js +2 -0
- package/dist/chunks/chunk-2D4Y3HNW.js +2 -0
- package/dist/chunks/chunk-2IHO4GDJ.js +2 -0
- package/dist/chunks/chunk-2QUCCP6Z.js +2 -0
- package/dist/chunks/chunk-3K4VVB7S.js +6 -0
- package/dist/chunks/chunk-3QIB5FXI.js +10 -0
- package/dist/chunks/chunk-3RCRSMWZ.js +17 -0
- package/dist/chunks/chunk-3VUATFZD.js +2 -0
- package/dist/chunks/chunk-3Z47M3YY.js +2 -0
- package/dist/chunks/{chunk-GXSTZBM6.js → chunk-4D7HWVWD.js} +1 -1
- package/dist/chunks/chunk-4EPSHPZL.js +2 -0
- package/dist/chunks/chunk-4NESNOK5.js +2 -0
- package/dist/chunks/chunk-523TE4BI.js +2 -0
- package/dist/chunks/chunk-5MCNZCVQ.js +2 -0
- package/dist/chunks/chunk-6QSSIT62.js +2 -0
- package/dist/chunks/chunk-6ZFPQYHG.js +2 -0
- package/dist/chunks/chunk-74IIXVAE.js +2 -0
- package/dist/chunks/chunk-74ZXXBGN.js +6 -0
- package/dist/chunks/chunk-773TH7FN.js +2 -0
- package/dist/chunks/chunk-7E6T7GP5.js +2 -0
- package/dist/chunks/chunk-7ED24PP6.js +2 -0
- package/dist/chunks/chunk-7HPDGZOR.js +86 -0
- package/dist/chunks/chunk-7KWD2I6W.js +2 -0
- package/dist/chunks/chunk-7PXZ4X4P.js +2 -0
- package/dist/chunks/chunk-A6USMRWK.js +2 -0
- package/dist/chunks/chunk-ABD5M2D2.js +2 -0
- package/dist/chunks/chunk-ACYFMLWG.js +10 -0
- package/dist/chunks/chunk-AN525SPP.js +6 -0
- package/dist/chunks/chunk-APB2STJK.js +2 -0
- package/dist/chunks/chunk-AY64VY4E.js +2 -0
- package/dist/chunks/{chunk-UJ5EFSEC.js → chunk-B7RFL4N2.js} +1 -1
- package/dist/chunks/chunk-BFKYRQMA.js +2 -0
- package/dist/chunks/chunk-BLXEAZCQ.js +12 -0
- package/dist/chunks/chunk-D74JEERO.js +5 -0
- package/dist/chunks/{chunk-PA7XP42P.js → chunk-DARVPBZ4.js} +1 -1
- package/dist/chunks/chunk-DBK66CJP.js +8 -0
- package/dist/chunks/chunk-DDMZSZFL.js +1 -0
- package/dist/chunks/chunk-DIO5CB6U.js +2 -0
- package/dist/chunks/chunk-DMFUEUAZ.js +5 -0
- package/dist/chunks/chunk-DMVD2RFZ.js +2 -0
- package/dist/chunks/chunk-DUURYZOI.js +2 -0
- package/dist/chunks/chunk-DZUAT3TP.js +1 -0
- package/dist/chunks/chunk-EIEZHFIW.js +6 -0
- package/dist/chunks/chunk-EIRYMSEG.js +19 -0
- package/dist/chunks/{chunk-JDLAHVAJ.js → chunk-EKM2D7JU.js} +1 -1
- package/dist/chunks/chunk-EQFGBL3O.js +2 -0
- package/dist/chunks/chunk-EYPCBBMS.js +2 -0
- package/dist/chunks/chunk-F4KOGISR.js +10 -0
- package/dist/chunks/chunk-F74GBN6K.js +2 -0
- package/dist/chunks/chunk-FEAKTSRS.js +2 -0
- package/dist/chunks/chunk-FFRFSDBM.js +2 -0
- package/dist/chunks/chunk-FTEOCCPB.js +23 -0
- package/dist/chunks/chunk-FUOEIDMA.js +8 -0
- package/dist/chunks/{chunk-AH22RHPS.js → chunk-FV2R5RUN.js} +2 -2
- package/dist/chunks/chunk-FWIPHEVA.js +12 -0
- package/dist/chunks/chunk-FY5KHLMW.js +2 -0
- package/dist/chunks/chunk-G3RXYI2L.js +6 -0
- package/dist/chunks/chunk-GJ2ZJFDD.js +2 -0
- package/dist/chunks/chunk-GLDYJM7O.js +1 -0
- package/dist/chunks/chunk-GPVCOEUH.js +2 -0
- package/dist/chunks/chunk-GW766ZSO.js +5 -0
- package/dist/chunks/chunk-GWCHDF2C.js +4 -0
- package/dist/chunks/chunk-GZ7M5XBP.js +2 -0
- package/dist/chunks/chunk-H6IW2R22.js +140 -0
- package/dist/chunks/chunk-HCYX6RHP.js +2 -0
- package/dist/chunks/chunk-HDL5YSAA.js +2 -0
- package/dist/chunks/chunk-HIOKCIL7.js +2 -0
- package/dist/chunks/chunk-HY3GOBFJ.js +58 -0
- package/dist/chunks/chunk-HZEIRHEB.js +2 -0
- package/dist/chunks/chunk-I2NXNMRZ.js +2 -0
- package/dist/chunks/chunk-I7AQMAQI.js +33 -0
- package/dist/chunks/chunk-IZ6DLEVY.js +2 -0
- package/dist/chunks/chunk-J2TWKFML.js +1871 -0
- package/dist/chunks/chunk-JDEEWOD7.js +2 -0
- package/dist/chunks/chunk-JFXWI3EN.js +6 -0
- package/dist/chunks/chunk-JYKRR7E5.js +5 -0
- package/dist/chunks/chunk-KCJVFLBB.js +2 -0
- package/dist/chunks/{chunk-5CMKGD43.js → chunk-KG325WTN.js} +1 -1
- package/dist/chunks/chunk-KGNCKIFP.js +3 -0
- package/dist/chunks/chunk-KUERKVEU.js +3 -0
- package/dist/chunks/chunk-KVTBX2UP.js +2 -0
- package/dist/chunks/chunk-L6K7ERG5.js +2 -0
- package/dist/chunks/{chunk-N5QNXMIS.js → chunk-LQQNBVEB.js} +1 -1
- package/dist/chunks/{chunk-YJ4PNAST.js → chunk-M4JWQSV7.js} +1 -1
- package/dist/chunks/chunk-MQULU465.js +2 -0
- package/dist/chunks/chunk-N4FFQPLR.js +2 -0
- package/dist/chunks/chunk-N73MU2C3.js +2 -0
- package/dist/chunks/chunk-NHQ36THU.js +3 -0
- package/dist/chunks/{chunk-4SHKI3BH.js → chunk-O6ULLQJ6.js} +1 -1
- package/dist/chunks/chunk-O72BSKSO.js +2 -0
- package/dist/chunks/chunk-OGDADQGH.js +143 -0
- package/dist/chunks/chunk-OIUTWU6K.js +2 -0
- package/dist/chunks/chunk-OLLLZVHF.js +2 -0
- package/dist/chunks/{chunk-XM26DGML.js → chunk-OPNRWESL.js} +1 -1
- package/dist/chunks/chunk-OQKJGTTO.js +4 -0
- package/dist/chunks/chunk-OQPJ7FJF.js +9 -0
- package/dist/chunks/{chunk-R3XFY7VL.js → chunk-OS3LO5J3.js} +1 -1
- package/dist/chunks/{chunk-T5LE6R5S.js → chunk-OSIO7PLX.js} +1 -1
- package/dist/chunks/chunk-OUVIWDL2.js +2 -0
- package/dist/chunks/chunk-PCSIOUHF.js +7 -0
- package/dist/chunks/chunk-PF5R6CMP.js +21 -0
- package/dist/chunks/chunk-PPAPVGJP.js +3 -0
- package/dist/chunks/chunk-PRGBLQVH.js +2 -0
- package/dist/chunks/chunk-PSGGOZFM.js +2 -0
- package/dist/chunks/chunk-PUZQU66L.js +2 -0
- package/dist/chunks/{chunk-WITSXYEW.js → chunk-Q2QL6UWN.js} +1 -1
- package/dist/chunks/chunk-Q4TBTRIG.js +2 -0
- package/dist/chunks/chunk-Q5LEXXJG.js +16 -0
- package/dist/chunks/{chunk-YL6VFJ4P.js → chunk-QDC4OW3S.js} +1 -1
- package/dist/chunks/chunk-QEFHOJFE.js +7 -0
- package/dist/chunks/chunk-QHWGQ3A4.js +5 -0
- package/dist/chunks/chunk-QIKWJ2AA.js +11 -0
- package/dist/chunks/chunk-QNG27G3T.js +6 -0
- package/dist/chunks/chunk-QOGJAQDO.js +3 -0
- package/dist/chunks/chunk-QOTVNQDI.js +4 -0
- package/dist/chunks/{chunk-N3DEA6PG.js → chunk-RAXOSUSW.js} +1 -1
- package/dist/chunks/chunk-RNIAFXMB.js +50 -0
- package/dist/chunks/chunk-S5ESN275.js +42 -0
- package/dist/chunks/chunk-SDAUS5PY.js +2 -0
- package/dist/chunks/chunk-SDXFLO7J.js +5 -0
- package/dist/chunks/chunk-SH5CBAFC.js +2 -0
- package/dist/chunks/chunk-SWUEFLOH.js +2 -0
- package/dist/chunks/chunk-SYUKES6H.js +3 -0
- package/dist/chunks/chunk-T5AACNJI.js +2 -0
- package/dist/chunks/chunk-TRQQNFMO.js +4 -0
- package/dist/chunks/chunk-TVQAPBLZ.js +2 -0
- package/dist/chunks/chunk-UCPGRPWY.js +2 -0
- package/dist/chunks/chunk-UGL7WF3W.js +2 -0
- package/dist/chunks/chunk-UHFZHBGW.js +2 -0
- package/dist/chunks/chunk-UKMA4R6X.js +6 -0
- package/dist/chunks/{chunk-7ZG3IT7C.js → chunk-VRIEKBBH.js} +6 -6
- package/dist/chunks/chunk-VYLGI3IH.js +13 -0
- package/dist/chunks/chunk-W45RKGM6.js +1 -0
- package/dist/chunks/chunk-WJ43MJ3F.js +2 -0
- package/dist/chunks/chunk-WMKYHXVM.js +3 -0
- package/dist/chunks/chunk-WN3V6KDN.js +3 -0
- package/dist/chunks/chunk-X4OSOOSU.js +3 -0
- package/dist/chunks/chunk-XDQMGUWL.js +2 -0
- package/dist/chunks/chunk-XTFPDQMH.js +3 -0
- package/dist/chunks/chunk-XVDFJ3ZF.js +2 -0
- package/dist/chunks/chunk-XW6HGSIT.js +8 -0
- package/dist/chunks/chunk-XXYGGNVM.js +2 -0
- package/dist/chunks/chunk-Y4OWBBDD.js +184 -0
- package/dist/chunks/chunk-YBT2NB32.js +2 -0
- package/dist/chunks/chunk-YCJO3YVD.js +10 -0
- package/dist/chunks/{chunk-YD55Z5H3.js → chunk-YOBN7KTF.js} +11 -11
- package/dist/chunks/chunk-YOQRYNLP.js +2 -0
- package/dist/chunks/chunk-YR5ID2SS.js +2 -0
- package/dist/chunks/chunk-YY7LEQGP.js +2 -0
- package/dist/chunks/chunk-Z4Z5UOZM.js +22 -0
- package/dist/chunks/chunk-Z54O534A.js +3 -0
- package/dist/chunks/chunk-ZCHXGRRU.js +2 -0
- package/dist/chunks/chunk-ZFSHBFG5.js +40 -0
- package/dist/chunks/chunk-ZGTOK7ZK.js +12 -0
- package/dist/chunks/{chunk-NAZ26IZL.js → chunk-ZRDGQDZL.js} +1 -1
- package/dist/chunks/chunk-ZUJ3XUCP.js +2 -0
- package/dist/chunks/chunk-ZZWAQBA2.js +2 -0
- package/dist/chunks/cli-X25RSO2X.js +2 -0
- package/dist/chunks/configuration-command-6C5UO7GE.js +2 -0
- package/dist/chunks/connected-app-executor-IVLGQP65.js +2 -0
- package/dist/chunks/connected-evidence-GH2ATNEX.js +2 -0
- package/dist/chunks/connection-HTF6CC7M.js +2 -0
- package/dist/chunks/{continual-PKK2BOTB.js → continual-6CQAMTTR.js} +3 -3
- package/dist/chunks/core-commands-A2DGGIPS.js +2 -0
- package/dist/chunks/datasets-7BNMVJOY.js +2 -0
- package/dist/chunks/desktop-test-3CUHVLXV.js +3 -0
- package/dist/chunks/dist-OMGUJYPD.js +2 -0
- package/dist/chunks/{chunk-6VF3Q6QJ.js → dist-SKYG5LZO.js} +2 -4
- package/dist/chunks/dist-VYC5VMQB.js +2 -0
- package/dist/chunks/dist-ZVJPJLXR.js +2 -0
- package/dist/chunks/enclave-QS4BUNDU.js +2 -0
- package/dist/chunks/evaluation-coordination-XEF5L7KZ.js +2 -0
- package/dist/chunks/experiment-improvements-KRX2DP27.js +2 -0
- package/dist/chunks/experiments-DFGQYA4O.js +2 -0
- package/dist/chunks/experiments-VFQGE4HC.js +2 -0
- package/dist/chunks/extension-XKXXOP5N.js +4 -0
- package/dist/chunks/{help-WLKSACLZ.js → help-S7THC6IE.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-JJQWJUBT.js +2 -0
- package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +2 -0
- package/dist/chunks/hosted-app-server-composition-BCOO5ANF.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-NFSVS5TU.js +3 -0
- package/dist/chunks/hosted-harness-runtime-723S5ZSH.js +2 -0
- package/dist/chunks/hosted-profile-candidate-2S5LFUWD.js +3 -0
- package/dist/chunks/hosted-profile-compiler-2DQIFSXW.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-76BTRTYD.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-V6Z3A5XJ.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-IDJYREW3.js +3 -0
- package/dist/chunks/hosted-tasksets-ANAE2PIW.js +2 -0
- package/dist/chunks/human-review-WR777ODH.js +2 -0
- package/dist/chunks/import-MLZUHITH.js +4 -0
- package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +2 -0
- package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +2 -0
- package/dist/chunks/learning-ACEVFL5M.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-JIQ6ZVDW.js +2 -0
- package/dist/chunks/local-harness-taskset-review-XVYTGAGK.js +2 -0
- package/dist/chunks/local-scope-HVF2GZ5W.js +2 -0
- package/dist/chunks/model-projects-QPO22JPA.js +2 -0
- package/dist/chunks/opchat-T4QTNEIY.js +3 -0
- package/dist/chunks/organizations-75L5DZDV.js +2 -0
- package/dist/chunks/profile-TFZMUEDR.js +3 -0
- package/dist/chunks/profile-training-source-6GOT7AHM.js +2 -0
- package/dist/chunks/project-action-payload-7VGL7OER.js +2 -0
- package/dist/chunks/project-agent-6RRO233B.js +2 -0
- package/dist/chunks/published-experiment-source-DZFENAQA.js +2 -0
- package/dist/chunks/refiner-profile-service-UUIWFJVT.js +2 -0
- package/dist/chunks/runtime-A7OZXM43.js +6 -0
- package/dist/chunks/sandbox-command-IU5XFTJP.js +2 -0
- package/dist/chunks/{sandbox-template-BBGGPJMI.js → sandbox-template-C4V6T36U.js} +1 -1
- package/dist/chunks/saved-work-6BMBFP43.js +2 -0
- package/dist/chunks/send-turn-XTAIS2JN.js +2 -0
- package/dist/chunks/sql-execution-process-source-B4HQM6ZV.js +2 -0
- package/dist/chunks/src-CJM6HY5Y.js +326 -0
- package/dist/chunks/{src-CR6UZYTX.js → src-LMC3K6LH.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +2 -0
- package/dist/chunks/store-chat-workflows-S72HZXQR.js +18 -0
- package/dist/chunks/store-continual-support-reviews-HHA6NX7K.js +7 -0
- package/dist/chunks/store-conversation-serving-KPC62UEY.js +2 -0
- package/dist/chunks/store-create-improve-QV54XIZW.js +40 -0
- package/dist/chunks/store-datasets-RXJ33SUN.js +86 -0
- package/dist/chunks/store-evaluation-results-3F3P527G.js +7 -0
- package/dist/chunks/store-harness-evaluation-review-settings-I2R3HPO3.js +29 -0
- package/dist/chunks/store-harness-memory-VINCZ4GK.js +17 -0
- package/dist/chunks/store-harness-refinement-candidates-EA5KFQPH.js +21 -0
- package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +2 -0
- package/dist/chunks/store-human-review-RAH7WMIP.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-4CI2IRUF.js +2 -0
- package/dist/chunks/store-learning-WLG6KFIO.js +2 -0
- package/dist/chunks/store-learning-credentials-WZQJ4HPJ.js +2 -0
- package/dist/chunks/store-local-experiments-5LUJR7GI.js +97 -0
- package/dist/chunks/store-model-batch-review-YEGX327M.js +2 -0
- package/dist/chunks/store-model-configuration-5ZURQATB.js +3 -0
- package/dist/chunks/store-preference-comparison-LV32MHVL.js +6 -0
- package/dist/chunks/store-schedules-VGTEQVKH.js +53 -0
- package/dist/chunks/store-sidebar-file-bookmarks-VB5GTLFY.js +18 -0
- package/dist/chunks/store-sidebar-preferences-GWIOG2NH.js +16 -0
- package/dist/chunks/store-subagents-T7R2Z6TB.js +67 -0
- package/dist/chunks/store-task-inbox-JJTBW76C.js +33 -0
- package/dist/chunks/store-task-inventory-OB3F2APC.js +10 -0
- package/dist/chunks/store-taskset-drafts-EKQWWFYQ.js +9 -0
- package/dist/chunks/store-training-G6YLFSIR.js +70 -0
- package/dist/chunks/store-training-jobs-RC46YBF6.js +19 -0
- package/dist/chunks/store-training-models-6BA43IPP.js +49 -0
- package/dist/chunks/store-usage-IE2U2FD3.js +63 -0
- package/dist/chunks/store-work-evidence-QQDKM5AQ.js +8 -0
- package/dist/chunks/taskset-EQRFQBYM.js +2 -0
- package/dist/chunks/taskset-packages-XC6HEE3K.js +2 -0
- package/dist/chunks/{teams-bot-7I4BAUVO.js → teams-bot-EAPGPTHZ.js} +1 -1
- package/dist/chunks/training-UF6RPI4T.js +2 -0
- package/dist/chunks/web-search-CZ3NCLPY.js +2 -0
- package/dist/chunks/workspaces-EKKE5NAC.js +2 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/App-CaRMZoxo.css +1 -0
- package/dist/web/assets/App-s-CJswyt.js +154 -0
- package/dist/web/assets/{AppDialog-BdusXgU0.js → AppDialog-t2Fx5tK3.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-C4uRpnBz.js → AppTerminalPanel-Dj1Y32oI.js} +2 -2
- package/dist/web/assets/AppsView-BYE5EBDJ.js +1 -0
- package/dist/web/assets/{BrowserSidebar-Bl7V6YO2.js → BrowserSidebar-jhWi4rVm.js} +1 -1
- package/dist/web/assets/{CartesianChart-BstFbsdn.js → CartesianChart-C1DIx0Ia.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-B8YAf0c1.js → CollaborationTabs-Bdr-HmOL.js} +1 -1
- package/dist/web/assets/{CommandMenu-DZct7zUJ.js → CommandMenu-Ux2yOHAc.js} +1 -1
- package/dist/web/assets/{CommunityView-CR0-W-uG.js → CommunityView-DPEeVKFn.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DR-Qo7b4.js → ComposerCreateImproveStrip-CEgh4OtN.js} +1 -1
- package/dist/web/assets/{GetStartedView-xqQoMMei.js → GetStartedView-CFHP0AaI.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-D8BGTPVN.js +1 -0
- package/dist/web/assets/{HostedModelLearningSettings-De3i9wF4.js → HostedModelLearningSettings-JS1S7vNO.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DAY1MmqP.js → LabModelVersionDetailPage-Dx5Q3xV2.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-DLnIgnry.js → LabSkillSidebar-BxffN-pN.js} +1 -1
- package/dist/web/assets/LabsRoute-CyYF8-dw.js +99 -0
- package/dist/web/assets/MainChatThread-DZpcFRFl.js +2 -0
- package/dist/web/assets/MainPane-5DTtwVCk.js +65 -0
- package/dist/web/assets/MainPane-BIM_UJ3q.css +1 -0
- package/dist/web/assets/{MarkdownText-gJMuefaJ.js → MarkdownText-BR4V6lNO.js} +24 -24
- package/dist/web/assets/{NativeSkillSidebar-Dlxb8iOC.js → NativeSkillSidebar-DU9IEgIO.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-DM-cqJ-K.js → NewExperienceSwitcher-mIy6FzCj.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cu1q75gq.js → NewProjectDialog-RfTZTHxl.js} +1 -1
- package/dist/web/assets/{OutputsPage-DiXMkasl.js → OutputsPage-Cr1Spf7S.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DqiBHiCB.js → ProjectsPage-CE6QUB-b.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CK0rP3WT.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-vOrYv8pp.js +1 -0
- package/dist/web/assets/SettingsView-DCKVrfjj.js +5 -0
- package/dist/web/assets/SettingsView-Dulr_xlq.css +1 -0
- package/dist/web/assets/{TeamChatView-DM0adMtj.js → TeamChatView-Bwrjr-vk.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-CFlH51DD.js → TerminalOverlay-DhPoKZAq.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-Bbo3RRie.js → TrainingDraftPanel-C9cRX5qf.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CSRjJUSa.js → UsageSettingsSection-CrdcSGeW.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-DwlEMEoG.js → WorkSidebarPanel-DSSikNFQ.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-BAFo0CPN.js +14 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-BVHAhwnJ.js +63 -0
- package/dist/web/assets/WorkspaceGitDialogs-CwVoiDQ2.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-BR4qxMgU.js → WorkspaceMonacoEditor-TxLyhzNp.js} +3 -3
- package/dist/web/assets/arrow-up-right-C9aE8Mfz.js +1 -0
- package/dist/web/assets/chunk-P3BRSSRD-DUGfuKA8.js +1 -0
- package/dist/web/assets/{clipboard-BZzZ82Bk.js → clipboard-Dk158Qp4.js} +1 -1
- package/dist/web/assets/{cloud-upload-CJPYPVl8.js → cloud-upload-k9eqBsHr.js} +1 -1
- package/dist/web/assets/{cssMode-WC4Rg1l-.js → cssMode-CO35ARZp.js} +1 -1
- package/dist/web/assets/{folder-open-sLZJxLQy.js → folder-open-sYgceW_f.js} +1 -1
- package/dist/web/assets/folder-plus-CS0R49m9.js +1 -0
- package/dist/web/assets/{git-commit-horizontal-Cotm7KEC.js → git-commit-horizontal-DrGxH2h4.js} +1 -1
- package/dist/web/assets/{htmlMode-C6oZGeaB.js → htmlMode-REMmzdfq.js} +1 -1
- package/dist/web/assets/index-3iPNbbER.css +1 -0
- package/dist/web/assets/{index-BxWTVKtn.js → index-C8aCGagb.js} +2 -2
- package/dist/web/assets/info-DLdbiUrh.js +1 -0
- package/dist/web/assets/{jsonMode-BET4LQIn.js → jsonMode-KEdMfkIf.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-BPxA_-Kg.js → lspLanguageFeatures-5KZwEoxW.js} +1 -1
- package/dist/web/assets/minimize-2-CqcI4zcM.js +1 -0
- package/dist/web/assets/{monaco.contribution-DFzEyaHi.js → monaco.contribution-BJGj65F9.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DXzyQfVi.js → monaco.contribution-Cly9Wt7L.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BH6kkO4b.js → monaco.contribution-DO10L0zW.js} +2 -2
- package/dist/web/assets/{monaco.contribution-7AUuf2NS.js → monaco.contribution-omszXBEj.js} +2 -2
- package/dist/web/assets/monitor-BFVCcbxp.js +1 -0
- package/dist/web/assets/play-C469pVZq.js +1 -0
- package/dist/web/assets/{python-PzBkTjWx.js → python-Dw0YcVy9.js} +1 -1
- package/dist/web/assets/{save-DpezrtH2.js → save-CtSjPydi.js} +1 -1
- package/dist/web/assets/square-BuImvLhT.js +1 -0
- package/dist/web/assets/{toggleHighContrast-Cto-fOXm.js → toggleHighContrast-DjCO9lIP.js} +1 -1
- package/dist/web/assets/{tsMode-BYA4LNc6.js → tsMode-BAOnxKd6.js} +1 -1
- package/dist/web/assets/{upload-C5YFNgtS.js → upload-2JkFZo3h.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CnyTsqlf.js → useLocalAgentSchedules-BNqAisfS.js} +1 -1
- package/dist/web/assets/useProviderSettings-C4L4wDoh.js +5 -0
- package/dist/web/assets/{useProviderSettings-Bw-csWbH.css → useProviderSettings-CmL_BaxP.css} +1 -1
- package/dist/web/assets/{useSessionTurnCache-DICuJSJW.js → useSessionTurnCache-BHU2-Jmz.js} +1 -1
- package/dist/web/assets/{wifi-off-nzHj7JXp.js → wifi-off-CpOAH62M.js} +1 -1
- package/dist/web/assets/{workers-Dboaw6f_.js → workers-0QvlA2T5.js} +1 -1
- package/dist/web/assets/{yaml-uuY5JmO8.js → yaml-BK3qxo7D.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +3 -3
- package/dist/chunks/actions-command-DSO6YOEE.js +0 -2
- package/dist/chunks/app-server-runtime-7AXV6JZI.js +0 -2
- package/dist/chunks/apps-TM74FFQB.js +0 -2
- package/dist/chunks/chunk-2JO2KWT3.js +0 -5
- package/dist/chunks/chunk-2SPZYBDN.js +0 -16
- package/dist/chunks/chunk-37DXASQL.js +0 -191
- package/dist/chunks/chunk-4EEH7MEC.js +0 -2
- package/dist/chunks/chunk-4TZHH5FC.js +0 -2409
- package/dist/chunks/chunk-5TNDPNS3.js +0 -2
- package/dist/chunks/chunk-6JAN4RMN.js +0 -42
- package/dist/chunks/chunk-7QEE4PBI.js +0 -8
- package/dist/chunks/chunk-BX4J2VDU.js +0 -2
- package/dist/chunks/chunk-DALJMSJG.js +0 -33
- package/dist/chunks/chunk-EMKZVP7Z.js +0 -2
- package/dist/chunks/chunk-FPUUZQUP.js +0 -6
- package/dist/chunks/chunk-GCOUYYHG.js +0 -5
- package/dist/chunks/chunk-GS2NKNKG.js +0 -4
- package/dist/chunks/chunk-H2VT22JK.js +0 -2
- package/dist/chunks/chunk-HA7EFTPF.js +0 -23
- package/dist/chunks/chunk-IKWDL3RB.js +0 -17
- package/dist/chunks/chunk-NHFGEVVH.js +0 -518
- package/dist/chunks/chunk-NNF6KCHD.js +0 -3
- package/dist/chunks/chunk-PJM2G7SG.js +0 -21
- package/dist/chunks/chunk-PQHTZ5CP.js +0 -2
- package/dist/chunks/chunk-PYABBF53.js +0 -53
- package/dist/chunks/chunk-QRWPEW3Z.js +0 -24
- package/dist/chunks/chunk-QXVIIM4T.js +0 -2
- package/dist/chunks/chunk-SDEDAHV6.js +0 -160
- package/dist/chunks/chunk-TGIB24K4.js +0 -22
- package/dist/chunks/chunk-UE3DMPGM.js +0 -3
- package/dist/chunks/chunk-USKE34VR.js +0 -9
- package/dist/chunks/chunk-USMZT5FZ.js +0 -18
- package/dist/chunks/chunk-WV2APYWG.js +0 -2
- package/dist/chunks/chunk-YIB3J4RC.js +0 -2
- package/dist/chunks/chunk-Z3D4C7BG.js +0 -12
- package/dist/chunks/cli-JVB345H2.js +0 -2
- package/dist/chunks/configuration-command-MATM4XR5.js +0 -2
- package/dist/chunks/connected-evidence-YDPGNHLP.js +0 -2
- package/dist/chunks/core-commands-MTV4EKXY.js +0 -2
- package/dist/chunks/datasets-CP3IT47T.js +0 -2
- package/dist/chunks/desktop-test-IAZC5MAH.js +0 -3
- package/dist/chunks/dist-4HV2W6V4.js +0 -2
- package/dist/chunks/dist-SAABJU5F.js +0 -2
- package/dist/chunks/evaluation-coordination-EPHLZXYM.js +0 -2
- package/dist/chunks/experiment-improvements-6JTOPA74.js +0 -2
- package/dist/chunks/experiments-XHPFGECH.js +0 -2
- package/dist/chunks/extension-GX7DLW2X.js +0 -4
- package/dist/chunks/hosted-experiment-improvement-HAB3UE6A.js +0 -3
- package/dist/chunks/hosted-harness-runtime-YM23QNDK.js +0 -2
- package/dist/chunks/hosted-profile-candidate-EOBGKQAS.js +0 -3
- package/dist/chunks/hosted-profile-compiler-SCVJI2CP.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-RJ6XJZCS.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-OC4XNGL2.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-ZD4FM3FD.js +0 -3
- package/dist/chunks/human-review-AAVMISBF.js +0 -2
- package/dist/chunks/import-V3HUGRHR.js +0 -4
- package/dist/chunks/learning-FNBEIAY6.js +0 -2
- package/dist/chunks/opchat-QK43DXTY.js +0 -3
- package/dist/chunks/organizations-SRPAWKC7.js +0 -2
- package/dist/chunks/profile-C6CQNVYE.js +0 -3
- package/dist/chunks/project-agent-GZV5HNYI.js +0 -2
- package/dist/chunks/sandbox-command-4TJXQTKT.js +0 -2
- package/dist/chunks/src-NE6R4XC6.js +0 -329
- package/dist/chunks/taskset-LUG3ZU6J.js +0 -2
- package/dist/chunks/training-XHE6FVII.js +0 -2
- package/dist/chunks/workspaces-MFZ3OO6O.js +0 -2
- package/dist/web/assets/App-CO2F717V.css +0 -1
- package/dist/web/assets/App-CuhaCsfb.js +0 -235
- package/dist/web/assets/AppsView-BS1czXUP.js +0 -1
- package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +0 -1
- package/dist/web/assets/LabsRoute-CXJRJMhr.js +0 -99
- package/dist/web/assets/MainChatThread-BwAla81W.js +0 -2
- package/dist/web/assets/MainPane-CakOBCHw.js +0 -19
- package/dist/web/assets/MainPane-DOWsSew1.css +0 -1
- package/dist/web/assets/RightChatPanelStack-VaOOmxwd.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CeSFJM5s.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-D1jRQxFs.js +0 -1
- package/dist/web/assets/SettingsView-BnANbPLS.css +0 -1
- package/dist/web/assets/SettingsView-RA9OXgcu.js +0 -5
- package/dist/web/assets/TrainingCreationPanel-CgIBVGha.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +0 -14
- package/dist/web/assets/WorkspaceEnvironmentMenu-Byjngd9V.js +0 -32
- package/dist/web/assets/WorkspaceGitDialogs-Dgmg-6XG.js +0 -1
- package/dist/web/assets/arrow-up-right-H0pvnH2s.js +0 -1
- package/dist/web/assets/chunk-UHVJOMWN-BqXRe639.js +0 -1
- package/dist/web/assets/folder-plus-C84wrpt_.js +0 -1
- package/dist/web/assets/index-dSmk3FLJ.css +0 -1
- package/dist/web/assets/info-Dc81lEfw.js +0 -1
- package/dist/web/assets/minimize-2-Bs7MVN3C.js +0 -1
- package/dist/web/assets/monitor-DXL019Wf.js +0 -1
- package/dist/web/assets/play-CXkxUZeU.js +0 -1
- package/dist/web/assets/square-oy7f5Ce6.js +0 -1
- package/dist/web/assets/useProviderSettings-B_KeQjE5.js +0 -5
- /package/dist/chunks/{chunk-OGPHXXCD.js → chunk-BT5YNE5U.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,r as h}from"./index-BxWTVKtn.js";import{O as je,X as te,bs as Ne,z as Z,bN as D,bP as X,bO as G,ca as be,cb as J,cc as fe,cd as Pe,ce as se,cf as me,cg as Ee,ch as oe,ci as ye,cj as Se,ck as Ae,cl as Re,u as _e,e as Le,aM as Te,an as Oe,P as Ue,cm as re,G as Fe,av as $e,g as Me,al as De,aB as ze,cn as He,o as Ke}from"./App-CuhaCsfb.js";import{a as de,u as Be,b as Je}from"./useProviderSettings-B_KeQjE5.js";import{a as Ge,s as qe}from"./MainPane-CakOBCHw.js";import"./save-DpezrtH2.js";import"./MarkdownText-gJMuefaJ.js";import"./cloud-upload-CJPYPVl8.js";import"./arrow-up-right-H0pvnH2s.js";import"./square-oy7f5Ce6.js";import"./folder-open-sLZJxLQy.js";import"./play-CXkxUZeU.js";const ae=[{id:"openpond_chat",name:"Ponder Pal",icon:je},{id:"codex",name:"Codex",icon:"/agent-sources/codex.svg",provider:"codex"},{id:"claude_code",name:"Claude Code",icon:"/agent-sources/claude-code.svg",provider:"claude-code"},{id:"opencode",name:"OpenCode",icon:"/agent-sources/opencode.svg",provider:"opencode"},{id:"grok_build",name:"Grok Build",icon:"/agent-sources/grok-build.svg",provider:"grok-build"},{id:"hermes",name:"Hermes",icon:"/agent-sources/hermes.png"},{id:"pi",name:"Pi",icon:"/agent-sources/pi.svg"},{id:"openclaw",name:"OpenClaw",icon:"/agent-sources/openclaw.svg"},{id:"oh_my_pi",name:"Oh My Pi",icon:"/agent-sources/oh-my-pi.svg"}];function ke(n,a){return n.state==="disconnected"?"Disconnected":n.state==="paused"?"Paused":n.error?"Needs attention":a.running?n.backfill.stage!=="complete"?"Importing history":n.queued?"Uploading updates":"Watching for conversations":a.desiredState==="stopped"?"Importer stopped":"Importer offline"}function We({agent:n,account:a,native:t,inventory:s,projects:l,teamId:g,learningControl:o,connected:i,onHide:p,onManage:c}){const d=s?.collector.connections.filter(u=>u.source===n.id)??[],v=s?.sources.some(u=>u.source===n.id&&u.available&&u.capabilities.history);return e.jsxs("article",{className:"agent-connection-card","aria-label":n.name,children:[e.jsxs("div",{className:"agent-card-title",children:[e.jsx("img",{src:n.icon,alt:""}),e.jsx("span",{children:n.name}),e.jsx("button",{type:"button",className:"agent-hide","aria-label":`Hide ${n.name}`,onClick:p,children:e.jsx(te,{size:14})})]}),n.id==="openpond_chat"?e.jsxs(e.Fragment,{children:[e.jsx("small",{children:a?.state==="signed_in"?"Connected to OpenPond":"Sign in to OpenPond"}),e.jsx("p",{children:"Use Ponder Pal from the sidebar."}),e.jsx("button",{type:"button",className:"agent-account-link",onClick:()=>{Ne({kind:"settings",section:"account"})},children:"Account setup"})]}):e.jsxs(e.Fragment,{children:[e.jsx("small",{children:t?t.available?t.enabled?"Ready to chat":"Installed · chat disabled":t.lastError??"Check installation":"Conversation import"}),e.jsx("button",{type:"button",className:"agent-connect-button",disabled:!i,onClick:c,children:t?.available||d.length?"Manage":"Connect"}),e.jsx("div",{className:"agent-card-sync",children:d.length?d.map(u=>e.jsxs("div",{children:[e.jsx("span",{children:ke(u,s.collector)}),e.jsxs("small",{children:[l.find(_=>_.id===u.projectId&&u.teamId===g)?.content.name??u.projectId," ","· ",u.admitted," tasks"]}),u.teamId!==g?e.jsxs("small",{children:["Team: ",u.teamId]}):null,u.queued?e.jsxs("small",{children:[u.queued," updates queued"]}):null,u.lastAdmissionAt?e.jsxs("small",{children:["Last sync: ",new Date(u.lastAdmissionAt).toLocaleString()]}):null,u.error?e.jsx("small",{role:"alert",children:u.error}):null]},u.id)):e.jsx("small",{children:s?v?"History available · sync not connected":"No local history found":"Reading local setup…"})})]}),o]})}function Ve(n,a,t,s){const l=h.useRef({providers:a,onProvider:t});l.current={providers:a,onProvider:t};const g=JSON.stringify(["claude-code","opencode","grok-build"].map(o=>{const i=a?.providers[o];return[o,i?.binaryPath,i?.sourceHome,i?.enabled]}));h.useEffect(()=>{if(!n||!l.current.providers)return;let o=!1;const i=["claude-code","opencode","grok-build"].map(p=>{const c=l.current.providers?.providers[p],d=new AbortController,v=s>0?{promise:Z(n,`/v1/providers/${p}/native-setup`,{method:"POST",body:JSON.stringify({action:"check"}),signal:d.signal}),release:()=>d.abort()}:Ge(n,p,l.current.providers?.providers[p]);return v.promise.then(u=>{o||(s>0&&u.session&&!u.error&&qe(n,p,u,c),l.current.onProvider(p,u.settings))},()=>{}),v});return()=>{o=!0,i.forEach(p=>p.release())}},[n,g,s])}var F=G().trim().min(1).max(240),we=be().int().positive(),Qe=J(["dataset","evaluator","model","training_configuration","training_run","harness","environment","experiment","learning_policy","deployment"]),Xe=D({kind:Qe,resourceId:F,release:fe.nullable(),role:J(["training","validation","holdout","target","reward","evaluation","serving","source"])}).strict(),Ze=Pe("kind",[D({kind:se("model"),providerId:F,modelId:F,artifact:fe.nullable(),messages:X(D({role:J(["system","user","assistant"]),content:G().max(1e5)}).strict()).max(100)}).strict(),D({kind:se("harness"),profileRepositoryId:F,source:me}).strict(),D({kind:se("agent"),source:Ee}).strict(),D({kind:se("suite"),profileRepositoryId:F,suiteId:F,sources:X(me).min(1).max(1e3)}).strict().superRefine((n,a)=>{const t=n.sources[0],s=new Set;for(const[l,g]of n.sources.entries())s.has(g.definitionId)&&a.addIssue({code:"custom",path:["sources",l],message:"Suite definitions must be unique."}),s.add(g.definitionId),(g.profileId!==t.profileId||g.sourceRevision!==t.sourceRevision||g.catalogHash!==t.catalogHash||oe(g.harnessRelease)!==oe(t.harnessRelease))&&a.addIssue({code:"custom",path:["sources",l],message:"Suite checks must belong to the same pinned Profile source and Harness release."})})]),Ie=D({name:G().trim().min(1).max(200),description:G().max(1e4),targets:X(D({id:F,name:G().trim().min(1).max(200),target:Ze}).strict()).max(100),defaultTargetId:F.nullable(),resources:X(Xe).max(1e3)}).strict().superRefine((n,a)=>{new Set(n.targets.map(t=>t.id)).size!==n.targets.length&&a.addIssue({code:"custom",path:["targets"],message:"Target identities must be unique."}),n.defaultTargetId&&!n.targets.some(t=>t.id===n.defaultTargetId)&&a.addIssue({code:"custom",path:["defaultTargetId"],message:"Default target must belong to this Project."}),new Set(n.resources.map(t=>oe(t))).size!==n.resources.length&&a.addIssue({code:"custom",path:["resources"],message:"Resource links must be unique."})}),Ye=D({schemaVersion:se("openpond.trainingProject.v1"),id:F,teamId:F,creatorUserId:F,ownerScope:J(["workspace","personal"]).optional(),revision:we,content:Ie,archived:ye(),createdAt:G().datetime(),updatedAt:G().datetime()}).strict();D({operationId:F,id:F,expectedRevision:be().int().nonnegative(),content:Ie,ownerScope:J(["workspace","personal"]).optional()}).strict();D({operationId:F,expectedRevision:we,archived:ye()}).strict();var en=D({teamId:F,projects:X(Ye).max(100),nextCursor:F.nullable()}).strict();D({operation:J(["evaluate","train","enable_learning","accept_candidate","serve"]),support:J(["supported","unsupported"]),state:J(["ready","needs_setup","blocked"]),reasons:X(D({code:F,message:G().min(1).max(2e3),field:G().nullable(),action:J(["choose_target","choose_data","choose_evaluator","configure_runtime","request_access","configure_budget","wait","review_evidence"]).nullable()}).strict()).max(100)}).strict().superRefine((n,a)=>{n.state==="ready"&&(n.support!=="supported"||n.reasons.length)&&a.addIssue({code:"custom",message:"Ready operations must be supported with no blockers."}),n.state!=="ready"&&!n.reasons.length&&a.addIssue({code:"custom",message:"Unavailable operations must explain the next step."})});const ne=new WeakMap;function nn(n,a,t){const s=JSON.stringify([a?.activeProfile,a?.profile?.id,t]),l=n?ne.get(n)?.get(s):void 0,[g,o]=h.useState(null),[i,p]=h.useState(null),[c,d]=h.useState(!1),[v,u]=h.useState(0),_=a?.state==="signed_in"?g?.key===s&&g.connection===n?g.value:l:void 0;h.useEffect(()=>{if(!n||!t||a?.state!=="signed_in")return;const w=new AbortController;d(!0),p(null);async function S(){const C=[],P=new Set;let j;do{const f=en.parse(await Z(n,"/v1/training/evaluation-workspace",{method:"POST",body:JSON.stringify({teamId:t,operation:"projects",value:{cursor:j}}),signal:w.signal}));if(f.teamId!==t)throw new Error("The hosted project workspace changed. Refresh connections.");if(C.push(...f.projects.filter(A=>!A.archived)),j=f.nextCursor??void 0,j&&P.has(j))throw new Error("Project pagination stalled. Refresh connections.");j&&P.add(j)}while(j&&!w.signal.aborted);if(w.signal.aborted)return;let k=ne.get(n);k||(k=new Map,ne.set(n,k));const T=k.get(s)?.selected,N=T&&C.some(f=>f.id===T)?T:C.length===1?C[0].id:"",x={projects:C,selected:N};k.set(s,x),o({key:s,connection:n,value:x})}return S().catch(C=>{w.signal.aborted||p(C instanceof Error?C.message:"Unable to list hosted projects.")}).finally(()=>{w.signal.aborted||d(!1)}),()=>w.abort()},[n,s,t,a?.state,v]);const L=h.useCallback(w=>{if(!n)return;const S=ne.get(n)?.get(s);if(!S||!S.projects.some(P=>P.id===w))return;const C={...S,selected:w};ne.get(n).set(s,C),o({key:s,connection:n,value:C})},[n,s]);return{projects:_?.projects??[],projectId:_?.selected??"",select:L,error:i,loading:c,refresh:()=>u(w=>w+1)}}const ge=new WeakMap;function sn(n){const[a,t]=h.useState(null),[s,l]=h.useState(null),[g,o]=h.useState(!1),i=h.useRef(0),p=h.useRef(null),c=h.useCallback(async()=>{if(!n||p.current)return;const d=new AbortController;p.current=d;const v=i.current;o(!0);try{const u=await Z(n,"/v1/native-history/collector",{method:"POST",body:JSON.stringify({command:"inventory"}),signal:d.signal});if(v!==i.current||d.signal.aborted)return;ge.set(n,u),t({connection:n,value:u}),l(null)}catch(u){v===i.current&&!d.signal.aborted&&l(u instanceof Error?u.message:"Unable to read agent connections.")}finally{p.current===d&&(p.current=null),v===i.current&&o(!1)}},[n]);return h.useEffect(()=>{i.current++,l(null),c();const d=window.setInterval(()=>{document.hidden||c()},1e4),v=()=>{c()};return window.addEventListener("focus",v),()=>{i.current++,p.current?.abort(),p.current=null,window.clearInterval(d),window.removeEventListener("focus",v)}},[c]),{inventory:a?.connection===n?a.value:n?ge.get(n)??null:null,loading:g,error:s,refresh:c}}Se.extend(Re);function tn({agent:n,inventory:a,connection:t,account:s,teamId:l,projects:g,projectId:o,onRefresh:i,learningUrl:p}){const c=a?.sources.filter(r=>r.source===n.id)??[],[d,v]=h.useState(c.length===1?c[0].instanceId:""),[u,_]=h.useState(o),[L,w]=h.useState("week"),[S,C]=h.useState(!0),[P,j]=h.useState(null),[k,T]=h.useState(!1),[N,x]=h.useState(null),f=c.find(r=>r.instanceId===d)??(!d&&c.length===1?c[0]:void 0),A=a?.collector.connections.filter(r=>r.source===n.id)??[],K=s?.baseUrl??s?.activeProfile?.baseUrl,H=s?.apiBaseUrl;async function z(r,I){if(!(!t||k||P)){T(!0),x(null);try{const O=await Z(t,"/v1/native-history/collector",{method:"POST",body:JSON.stringify({command:r,...I?{connectionId:I}:{},...r==="connect"?{setup:{sourceInstanceId:f?.instanceId,teamId:l,projectId:u,accountBaseUrl:K,apiBaseUrl:H,range:L,keepSyncing:S}}:{}})});O.command?j(O.command):await i()}catch(O){x(O instanceof Error?O.message:"Unable to update this connection.")}finally{T(!1)}}}const m=k||P!==null;return e.jsxs("div",{className:"agent-conversation-setup provider-dialog-body",children:[e.jsxs("p",{children:["Sync saved ",n.name," conversations to an existing OpenPond project. Setup uses the OpenPond CLI and browser authorization."]}),A.map(r=>e.jsxs("section",{className:"agent-retained-connection","aria-label":`${n.name} sync connection`,children:[e.jsx("strong",{children:ke(r,a.collector)}),e.jsxs("span",{children:["Project:"," ",r.teamId===l?g.find(I=>I.id===r.projectId)?.content.name??r.projectId:r.projectId," ","· Team: ",r.teamId]}),e.jsx("small",{children:r.accountBaseUrl??"Hosted destination"}),e.jsx("small",{className:"agent-source-path",children:r.sourceRoot}),e.jsxs("span",{children:[r.admitted," tasks imported · ",r.queued," updates queued"]}),r.backfill.total>0&&r.backfill.stage!=="complete"?e.jsxs(e.Fragment,{children:[e.jsx("progress",{"aria-label":"History import progress",value:r.backfill.admitted+r.backfill.skipped,max:r.backfill.total}),e.jsxs("small",{children:[r.backfill.admitted+r.backfill.skipped," of"," ",r.backfill.total," conversations processed"]})]}):null,e.jsx("small",{children:r.lastAdmissionAt?`Last synced ${Se(r.lastAdmissionAt).fromNow()}`:"No uploads acknowledged yet"}),r.error?e.jsx("p",{role:"alert",children:r.error}):null,e.jsxs("div",{className:"settings-button-row",children:[r.state==="disconnected"?e.jsx("button",{type:"button",disabled:m,onClick:()=>{z("reconnect",r.id)},children:"Reconnect"}):e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",disabled:m,onClick:()=>{z(r.state==="paused"?"resume":"pause",r.id)},children:r.state==="paused"?"Resume":"Pause"}),e.jsx("button",{type:"button",disabled:m,onClick:()=>{window.confirm("Disconnect this conversation source? Imported data stays in its project.")&&z("disconnect",r.id)},children:"Disconnect"})]}),r.destinationLinks.tasks?e.jsx("a",{href:r.destinationLinks.tasks,target:"_blank",rel:"noreferrer",children:"View tasks"}):null,r.destinationLinks.conversations?e.jsx("a",{href:r.destinationLinks.conversations,target:"_blank",rel:"noreferrer",children:"View conversations"}):null]})]},r.id)),e.jsxs("form",{onSubmit:r=>{r.preventDefault(),z("connect")},className:"agent-sync-form",children:[e.jsx("h3",{children:A.length?"Add another connection":"Connect conversations"}),e.jsxs("label",{className:"agent-source-field",children:["Source installation",e.jsxs("select",{"aria-label":"Source installation",value:f?.instanceId??"",disabled:m,onChange:r=>v(r.target.value),children:[e.jsx("option",{value:"",children:"Select installation"}),c.map(r=>e.jsxs("option",{value:r.instanceId,disabled:!r.available||!r.capabilities.history,children:[r.root,r.available&&r.capabilities.history?"":" (unavailable)"]},r.instanceId))]})]}),f?.reason?e.jsx("small",{children:f.reason}):null,c.some(r=>r.available&&r.capabilities.history)?null:e.jsxs("small",{children:["No readable conversation history found."," ",n.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."]}),e.jsxs("label",{children:["Project",e.jsxs("select",{"aria-label":"Project",value:u,disabled:m||!l,onChange:r=>_(r.target.value),children:[e.jsx("option",{value:"",children:"Select project"}),g.map(r=>e.jsx("option",{value:r.id,children:r.content.name},r.id))]})]}),e.jsxs("label",{children:["Import history",e.jsxs("select",{"aria-label":"Import history",value:L,disabled:m,onChange:r=>w(r.target.value),children:[e.jsx("option",{value:"day",children:"Last day"}),e.jsx("option",{value:"week",children:"Last week"}),e.jsx("option",{value:"all",children:"All history"})]})]}),e.jsxs("label",{className:"agent-sync-checkbox",children:[e.jsx("input",{type:"checkbox",checked:S,disabled:m,onChange:r=>C(r.target.checked)}),"Keep syncing new conversations"]}),s?.state!=="signed_in"||!l?e.jsx("small",{children:"Sign in and select a default team in Account settings to choose a hosted project."}):null,e.jsx("button",{type:"submit",className:"agent-connect-button",disabled:m||!f?.available||!f.capabilities.history||!g.some(r=>r.id===u)||!l||!K||!H||s?.state!=="signed_in",children:k?"Opening setup…":"Connect conversations"})]}),p?e.jsx("a",{className:"agent-learning-link",href:p,target:"_blank",rel:"noreferrer",children:"Configure continual learning in Console"}):null,a?e.jsxs("details",{children:[e.jsx("summary",{children:"CLI setup"}),e.jsxs("small",{className:"agent-source-path",children:["Importer directory: ",a.directory]}),e.jsx("code",{children:a.statusCommand})]}):null,N?e.jsx("p",{role:"alert",children:N}):null,P&&t?e.jsx(Ae,{connection:t,command:P,onComplete:()=>{j(null),i()},onClose:()=>{j(null),i()}}):null]})}const U=n=>JSON.stringify([n.origin,n.sourceInstanceId]),xe=n=>({id:n.id,revision:n.revision,contentHash:n.contentHash});function Q(n,a,t,s,l){return Z(n,`/v1/conversation-learning/${t}?${new URLSearchParams({teamId:a})}`,{method:s===void 0?"GET":"POST",...s===void 0?{}:{body:JSON.stringify(s)},signal:l})}function an(n,a,t,s){const l=_e(),g=["native-conversation-learning",n?.serverUrl,t,a];return{...Le({queryKey:g,enabled:!!(n&&a&&s),queryFn:({signal:i})=>Q(n,a,"options",void 0,i),staleTime:15e3,refetchInterval:3e4}),refresh:()=>l.invalidateQueries({queryKey:g})}}function Ce(n,a,t,s,l){return Q(n,a,"policies",{...t?{id:t.id}:{},expectedRevision:t?.revision??0,configuration:s,enabled:l})}function le(n,a,t=[]){const s=a?.configuration;return{projectId:n,name:s?.name??"Continual learning",mode:s?.mode??"activate",definition:s?.definition??null,configurationId:s?.configuration?.id??"",trainingPolicyId:s?.learningPolicy?.id??"",graderIds:[],sourceKeys:[...new Set([...s?.sources.filter(l=>l.enabled).map(U)??[],...t.map(U)])],adapter:s?.adapter??{kind:"complete_text",qualitativeOnly:!0},generator:s?.generator??null,graderSelection:s?.graderSelection??(a?{mode:"manual"}:{mode:"auto",modelId:"gpt-6-luna",sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}),schedule:s?.schedule??{timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,hour:2,minute:0,endHour:6,endMinute:0},limits:s?.limits??{perCycleUsd:5,dailyUsd:5,monthlyUsd:25,gradeUsd:.2,maximumTasks:10,minimumExamples:5,maxGpuSeconds:10800,maximumAttempts:2,lookbackDays:30},exceptions:s?.exceptions??"block",minimumScore:s?.minimumScore??.8,selection:s?.selection??{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1},acceptance:s?.acceptance??{minimumCasesPerCheck:20,minimumImprovement:.05,windowCasesPerCheck:20},failurePolicy:s?.failurePolicy??{pauseAfterConsecutiveFailures:3},...s?.serving?{serving:s.serving}:{serving:{targetId:"",canarySeconds:120,rollbackOnRuntimeFailure:!0}}}}function ce(n,a){const t=n?.configurations.find(s=>s.id===a);return n?.trainingPolicies.filter(s=>s.modelProjectId===t?.portableProjectId&&s.training.recipe.id===`model-recipe-${t?.etag}`&&!s.id.startsWith("conversation-training-"))??[]}async function rn(n,a,t,s,l,g){const o=s.configurations.find(j=>j.id===t.configurationId),i=ce(s,t.configurationId).find(j=>j.id===t.trainingPolicyId);if(!t.name.trim())throw new Error("Enter a policy name.");if(!s.projects.some(j=>j.id===t.projectId))throw new Error("This owned Project is unavailable for continual learning.");if(t.configurationId&&(!o||!s.projects.find(j=>j.id===t.projectId)?.configurationIds.includes(o.id)))throw new Error("Choose a model configuration attached to this Project.");if(t.mode!=="evaluate"&&(!o||!i))throw new Error("Choose an owned model and its reviewed training setup.");if(t.limits.perCycleUsd>t.limits.dailyUsd||t.limits.dailyUsd>t.limits.monthlyUsd)throw new Error("Daily and monthly spending limits must cover the run limit.");if(t.limits.minimumExamples>t.limits.maximumTasks-Math.floor(t.limits.maximumTasks*(t.selection?.replayFraction??0)))throw new Error("Leave capacity for the minimum new examples after replay.");const p=s.sources.filter(j=>j.projectId===t.projectId&&t.sourceKeys.includes(U(j)));if(!p.length)throw new Error("Select a source agent for this Project.");const c=[...(l?.configuration.sources??[]).filter(j=>!p.some(k=>U(k)===U(j))).map(j=>({...j,enabled:!1})),...p.map(j=>({origin:j.origin,sourceInstanceId:j.sourceInstanceId,enabled:!0}))];let d=t.definition;if(o&&(l?.configuration.configuration?.id!==o.id||l.configuration.configuration.expectedEtag!==o.etag))d=await Q(n,a,"definitions",{projectId:t.projectId,configuration:{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}});else if(t.graderIds.length){const j=s.graders.flatMap(k=>k&&t.graderIds.includes(k.id)?[xe(k)]:[]);d=await Q(n,a,"definitions",{projectId:t.projectId,graders:j})}if(!d)throw new Error("Select evaluation rubrics or an existing task definition.");let v=t.serving;const u=s.servingTargets.find(j=>j.id===v?.targetId);if(t.mode==="activate"&&v?.targetId&&(!u||!u.enabled||u.projectId!==t.projectId))throw new Error("Select an available serving target in this Project.");if(t.mode==="activate"&&(!v?.targetId||u?.hostedPonder)&&(v={targetId:(await Q(n,a,"serving-targets",{action:"ensure_hosted_ponder",projectId:t.projectId,bindingId:s.ponderBindingId})).id,canarySeconds:v?.canarySeconds??120,rollbackOnRuntimeFailure:!0}),t.mode==="activate"&&!v?.targetId)throw new Error("Choose a serving target, or enable the policy to register hosted Ponder.");const{sourceKeys:_,configurationId:L,trainingPolicyId:w,graderIds:S,...C}=t,P={...C,name:t.name.trim(),definition:d,sources:c,configuration:o?{id:o.id,expectedRevision:o.revision,expectedEtag:o.etag}:null,learningPolicy:i?xe(i):null,...t.mode==="activate"?{serving:v}:{}};return t.mode!=="activate"&&delete P.serving,t.mode==="evaluate"&&delete P.acceptance,Ce(n,a,l,P,g)}function ln({draft:n,options:a,loading:t,onChange:s}){const l=a?.sources.filter(c=>c.projectId===n.projectId)??[],g=l.filter(c=>["active","paused"].includes(c.state)),o=g.length>0&&g.every(c=>n.sourceKeys.includes(U(c))),i=c=>s({...n,sourceKeys:c}),p=a?.graders.flatMap(c=>c?[c]:[])??[];return e.jsxs(e.Fragment,{children:[e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Source agents"}),e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",checked:o,disabled:!g.length,ref:c=>{c&&(c.indeterminate=!o&&g.some(d=>n.sourceKeys.includes(U(d))))},onChange:c=>i(c.target.checked?[...new Set([...n.sourceKeys,...g.map(U)])]:n.sourceKeys.filter(d=>!g.some(v=>U(v)===d)))}),"Select all"," ",e.jsxs("small",{children:["(",l.filter(c=>n.sourceKeys.includes(U(c))).length," selected)"]})]}),e.jsxs("div",{className:"agent-learning-options","aria-label":"Source agents",children:[l.map(c=>{const d=U(c),v=n.sourceKeys.includes(d),u=ae.find(L=>L.id===(c.origin.startsWith("native_")?"openpond_chat":c.origin)),_=c.origin==="native_chat"?"Ponder Pal Chat":c.origin==="native_work"?"Ponder Pal Work":u?.name??c.name;return e.jsxs("label",{className:"agent-learning-option",children:[e.jsx("input",{type:"checkbox",checked:v,disabled:!v&&!["active","paused"].includes(c.state),onChange:L=>i(L.target.checked?[...new Set([...n.sourceKeys,d])]:n.sourceKeys.filter(w=>w!==d))}),u?e.jsx("img",{src:u.icon,alt:""}):null,e.jsxs("span",{children:[_,e.jsx("small",{children:c.sourceInstanceId?c.name===c.origin?"Local connection":c.name:c.origin.startsWith("native_")?"Hosted conversations":"Uploaded history"})]}),e.jsx("small",{children:c.state})]},d)}),l.length?null:e.jsx("p",{role:"status",children:t?"Fetching source agents…":"Connect or import an agent into this Project first."})]}),e.jsx("p",{children:"Paused agents can use uploaded conversations. Selecting them leaves collection paused."})]}),e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Evaluation rubrics"}),n.configurationId?e.jsx("p",{children:"The training configuration pins the task definition and its rubrics. Choose grader selection in Preparation."}):e.jsxs(e.Fragment,{children:[e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",disabled:!p.length,checked:p.length>0&&p.every(c=>n.graderIds.includes(c.id)),onChange:c=>s({...n,graderIds:c.target.checked?p.map(d=>d.id):[]})}),"Select all ",e.jsxs("small",{children:["(",n.graderIds.length," selected)"]})]}),e.jsxs("div",{className:"agent-learning-options","aria-label":"Evaluation rubrics",children:[p.map(c=>e.jsxs("label",{className:"agent-learning-option",children:[e.jsx("input",{type:"checkbox",checked:n.graderIds.includes(c.id),onChange:d=>s({...n,graderIds:d.target.checked?[...n.graderIds,c.id]:n.graderIds.filter(v=>v!==c.id)})}),e.jsxs("span",{children:[c.name,e.jsxs("small",{children:["Version ",c.revision]})]})]},`${c.id}:${c.revision}`)),p.length?null:e.jsx("p",{role:"status",children:t?"Fetching evaluation rubrics…":"No owned evaluation rubrics are available."})]}),n.definition&&!n.graderIds.length?e.jsx("p",{children:"The saved task definition and rubrics remain unchanged."}):null,e.jsxs("label",{children:["Existing task definition",e.jsxs("select",{value:n.definition?.id??"",onChange:c=>{const d=a?.definitions.find(v=>v.id===c.target.value);s({...n,definition:d?{id:d.id,revision:d.revision,contentHash:d.contentHash}:null,graderIds:[]})},children:[e.jsx("option",{value:"",children:"Select a definition or choose rubrics above"}),n.definition&&!a?.definitions.some(c=>c.id===n.definition?.id)?e.jsx("option",{value:n.definition.id,children:"Saved task definition"}):null,a?.definitions.map(c=>e.jsxs("option",{value:c.id,children:[c.name," (version ",c.revision,")"]},c.id))]})]})]}),e.jsxs("label",{children:["Minimum verified score",e.jsx("input",{type:"number",min:0,max:1,step:.01,value:n.minimumScore,onChange:c=>s({...n,minimumScore:Number(c.target.value)})})]})]})]})}function on({draft:n,options:a,loading:t,onChange:s}){const l=a?.projects.find(i=>i.id===n.projectId)?.configurationIds??[],g=ce(a,n.configurationId),o=n.graderSelection??{mode:"manual"};return e.jsxs(e.Fragment,{children:[e.jsxs("label",{children:["Mode",e.jsxs("select",{value:n.mode,onChange:i=>s({...n,mode:i.target.value}),children:[e.jsx("option",{value:"evaluate",children:"Evaluate only"}),e.jsx("option",{value:"train",children:"Train automatically, approve candidate"}),e.jsx("option",{value:"activate",children:"Train and activate automatically"})]})]}),e.jsxs("label",{children:["Model to train",e.jsxs("select",{value:n.configurationId,onChange:i=>{const p=i.target.value,c=ce(a,p);s({...n,configurationId:p,trainingPolicyId:c.length===1?c[0].id:"",adapter:p?{kind:"reference_text",inputPointer:"/prompt",match:"contained"}:{kind:"complete_text",qualitativeOnly:!0}})},children:[e.jsx("option",{value:"",children:t?"Fetching configurations…":"Select configuration"}),a?.configurations.filter(i=>l.includes(i.id)).map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),n.mode!=="evaluate"?e.jsxs("label",{children:["Reviewed training setup",e.jsxs("select",{value:n.trainingPolicyId,onChange:i=>s({...n,trainingPolicyId:i.target.value}),children:[e.jsx("option",{value:"",children:"Select reviewed setup"}),g.map(i=>e.jsxs("option",{value:i.id,children:["Reviewed setup (version ",i.revision,")"]},i.id))]})]}):null,n.configurationId?e.jsxs(e.Fragment,{children:[e.jsxs("label",{children:["Task construction",e.jsxs("select",{value:n.adapter.kind,onChange:i=>s({...n,adapter:i.target.value==="reference_text"?{kind:"reference_text",inputPointer:"/prompt",match:"contained"}:{kind:"complete_text",qualitativeOnly:!0}}),children:[e.jsx("option",{value:"reference_text",children:"Match a published executable task"}),e.jsx("option",{value:"complete_text",children:"Complete text context and calibrated judges"})]})]}),n.adapter.kind==="reference_text"?e.jsxs("div",{className:"agent-learning-columns",children:[e.jsxs("label",{children:["Public task input field",e.jsx("input",{value:n.adapter.inputPointer,onChange:i=>s({...n,adapter:{kind:"reference_text",inputPointer:i.target.value,match:n.adapter.kind==="reference_text"?n.adapter.match:"contained"}})})]}),e.jsxs("label",{children:["Reference matching",e.jsxs("select",{value:n.adapter.match,onChange:i=>s({...n,adapter:{kind:"reference_text",inputPointer:n.adapter.kind==="reference_text"?n.adapter.inputPointer:"/prompt",match:i.target.value}}),children:[e.jsx("option",{value:"contained",children:"Contained"}),e.jsx("option",{value:"exact",children:"Exact"})]})]})]}):null,e.jsxs("label",{children:["Grader selection",e.jsxs("select",{value:o.mode,onChange:i=>s({...n,graderSelection:i.target.value==="auto"?{mode:"auto",modelId:"gpt-6-luna",sampleSize:8,maximumOutputTokens:2048,maximumSpendUsd:1}:{mode:"manual"}}),children:[e.jsx("option",{value:"auto",children:"Choose compatible rubrics automatically"}),e.jsx("option",{value:"manual",children:"Use the pinned rubrics"})]})]}),o.mode==="auto"?e.jsxs(e.Fragment,{children:[e.jsxs("label",{children:["Selection model",e.jsxs("select",{value:o.modelId,onChange:i=>s({...n,graderSelection:{...o,modelId:i.target.value}}),children:[a?.generators.some(i=>i.id===o.modelId)?null:e.jsx("option",{value:o.modelId,children:o.modelId}),a?.generators.map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),e.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(([i,p,c,d])=>e.jsxs("label",{children:[p,e.jsx("input",{type:"number",min:c,max:d,step:i==="maximumSpendUsd"?.01:1,value:o[i],onChange:v=>s({...n,graderSelection:{...o,[i]:Number(v.target.value)}})})]},i))})]}):null]}):null,e.jsxs("label",{children:["Answer improvement model",e.jsxs("select",{value:n.generator?.modelId??"",onChange:i=>s({...n,generator:i.target.value?{modelId:i.target.value,maximumOutputTokens:n.generator?.maximumOutputTokens??2048,maximumSpendUsd:n.generator?.maximumSpendUsd??.1}:null}),children:[e.jsx("option",{value:"",children:"Use recorded answers only"}),a?.generators.map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),n.generator?e.jsxs("div",{className:"agent-learning-columns",children:[e.jsxs("label",{children:["Per improved answer limit ($)",e.jsx("input",{type:"number",min:.01,step:.01,value:n.generator.maximumSpendUsd,onChange:i=>s({...n,generator:{...n.generator,maximumSpendUsd:Number(i.target.value)}})})]}),e.jsxs("label",{children:["Output token limit",e.jsx("input",{type:"number",min:256,max:16384,value:n.generator.maximumOutputTokens,onChange:i=>s({...n,generator:{...n.generator,maximumOutputTokens:Number(i.target.value)}})})]})]}):null,n.mode==="activate"?e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Serving authorization"}),e.jsxs("label",{children:["Serving target",e.jsxs("select",{value:n.serving?.targetId??"",onChange:i=>s({...n,serving:{targetId:i.target.value,canarySeconds:n.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}),children:[e.jsx("option",{value:"",children:"Ponder in this Project"}),a?.servingTargets.filter(i=>i.projectId===n.projectId&&i.enabled).map(i=>e.jsx("option",{value:i.id,children:i.hostedPonder?"Hosted Ponder":`${i.role} / ${i.roleTargetId}`},i.id))]})]}),e.jsxs("label",{children:["Runtime canary (seconds)",e.jsx("input",{type:"number",min:30,max:600,value:n.serving?.canarySeconds??120,onChange:i=>s({...n,serving:{targetId:n.serving?.targetId??"",canarySeconds:Number(i.target.value),rollbackOnRuntimeFailure:!0}})})]}),e.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]})}const ve=(n,a)=>n===void 0||a===void 0?"":`${String(n).padStart(2,"0")}:${String(a).padStart(2,"0")}`;function cn({draft:n,onChange:a}){const t=(s,l)=>a({...n,limits:{...n.limits,[s]:l}});return e.jsxs(e.Fragment,{children:[e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Run window"}),e.jsxs("div",{className:"agent-learning-columns",children:[e.jsxs("label",{children:["From",e.jsx("input",{type:"time",required:!0,value:ve(n.schedule.hour,n.schedule.minute),onChange:s=>{const[l,g]=s.target.value.split(":").map(Number);a({...n,schedule:{...n.schedule,hour:l,minute:g}})}})]}),e.jsxs("label",{children:["Until",e.jsx("input",{type:"time",value:ve(n.schedule.endHour,n.schedule.endMinute),onChange:s=>{const[l,g]=s.target.value.split(":").map(Number),{endHour:o,endMinute:i,...p}=n.schedule;a({...n,schedule:s.target.value?{...p,endHour:l,endMinute:g}:p})}})]})]}),e.jsxs("label",{children:["Timezone",e.jsx("input",{required:!0,value:n.schedule.timezone,onChange:s=>a({...n,schedule:{...n.schedule,timezone:s.target.value}})})]}),e.jsx("p",{children:"Queued learning starts within this window. A run already started may finish afterward."})]}),e.jsxs("fieldset",{children:[e.jsx("legend",{children:"Maximum spending"}),e.jsx("p",{children:"These are limits, not prices. Evaluation, answer improvements and training count toward them."}),e.jsx("div",{className:"agent-learning-columns",children:[["perCycleUsd","Per run ($)"],["dailyUsd","Per day ($)"],["monthlyUsd","Per month ($)"]].map(([s,l])=>e.jsxs("label",{children:[l,e.jsx("input",{type:"number",required:!0,min:.01,max:1e5,step:.01,value:n.limits[s],onChange:g=>t(s,Number(g.target.value))})]},s))})]}),e.jsxs("details",{children:[e.jsx("summary",{children:"Advanced limits"}),e.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(([s,l,g,o,i])=>e.jsxs("label",{children:[l,e.jsx("input",{type:"number",required:!0,min:g,max:o,step:i,value:n.limits[s],onChange:p=>t(s,Number(p.target.value))})]},s)),e.jsxs("label",{children:["Maximum GPU session (hours)",e.jsx("input",{type:"number",required:!0,min:.01,max:3,step:.01,value:n.limits.maxGpuSeconds/3600,onChange:s=>t("maxGpuSeconds",Math.round(Number(s.target.value)*3600))})]}),e.jsxs("label",{children:["Pause after failed cycles",e.jsx("input",{type:"number",required:!0,min:1,max:20,value:n.failurePolicy?.pauseAfterConsecutiveFailures??3,onChange:s=>a({...n,failurePolicy:{pauseAfterConsecutiveFailures:Number(s.target.value)}})})]})]}),e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",checked:n.exceptions==="eligible_remainder",onChange:s=>a({...n,exceptions:s.target.checked?"eligible_remainder":"block"})}),"Use the independently verified remainder when exceptions occur"]})]}),e.jsxs("details",{children:[e.jsx("summary",{children:"Training data balance"}),e.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(([s,l,g])=>e.jsxs("label",{children:[l," (%)",e.jsx("input",{type:"number",min:s.startsWith("maximum")?1:0,max:g,value:Math.round((n.selection?.[s]??0)*100),onChange:o=>a({...n,selection:{maximumSourceShare:1,maximumFailureShare:1,maximumLengthShare:1,replayFraction:.2,auditFraction:.1,...n.selection,[s]:Number(o.target.value)/100}})})]},s))})]}),n.mode!=="evaluate"?e.jsxs("details",{children:[e.jsx("summary",{children:"Checks before using the trained model"}),e.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(([s,l,g,o])=>e.jsxs("label",{children:[l,e.jsx("input",{type:"number",min:g,max:o,step:s==="minimumImprovement"?.01:1,value:n.acceptance?.[s]??g,onChange:i=>a({...n,acceptance:{minimumCasesPerCheck:20,windowCasesPerCheck:20,minimumImprovement:.05,...n.acceptance,[s]:Number(i.target.value)}})})]},s))}),e.jsx("p",{children:"Current and trained models use the same unseen examples. Insufficient evidence keeps the current model active."})]}):null]})}function dn({connection:n,teamId:a,projectId:t,projectName:s,initialPolicy:l,bindings:g,query:o,onClose:i}){const[p,c]=h.useState(l),[d,v]=h.useState(()=>le(t,l,l?[]:g)),[u,_]=h.useState(!!o.data),[L,w]=h.useState(!1),[S,C]=h.useState(!1),[P,j]=h.useState(null),[k,T]=h.useState(l?.status==="enabled"||!l),[N,x]=h.useState("sources"),[f,A]=h.useState(!1),[K,H]=h.useState(null),z=h.useRef(u);z.current=u;const m=o.data?.policies.filter(y=>y.configuration.projectId===t)??[];h.useEffect(()=>{if(!o.data||z.current)return;const y=o.data.policies.find(M=>M.configuration.projectId===t&&M.status==="enabled")??o.data.policies.find(M=>M.configuration.projectId===t);c(y),v(le(t,y,y?[]:g)),T(y?.status==="enabled"||!y),_(!0)},[o.data,t,g]);const r=()=>{S||(L?A(!0):i())},I=de(r);function O(y){const M=m.find(B=>B.id===y);M&&(c(M),v(le(t,M)),T(M.status==="enabled"),w(!1),H(null),A(!1),j(null))}function R(y){v(y),w(!0)}async function q(){if(!(!o.data||!u||S||o.isError)){C(!0),j(null);try{await rn(n,a,d,o.data,p,k),await o.refresh(),w(!1),i()}catch(y){j(y instanceof Error?y.message:"Unable to save continual learning.")}finally{C(!1)}}}const W={draft:d,options:o.data,loading:o.isPending,onChange:R};return e.jsx("div",{className:"git-dialog-backdrop provider-dialog-backdrop",onMouseDown:r,children:e.jsxs("section",{ref:I,className:"git-dialog provider-details-dialog agent-learning-dialog",role:"dialog","aria-modal":"true","aria-label":"Continual learning",onMouseDown:y=>y.stopPropagation(),children:[e.jsx("button",{type:"button",className:"git-dialog-close","aria-label":"Close continual learning",disabled:S,onClick:r,children:e.jsx(te,{size:16})}),e.jsx("div",{className:"provider-dialog-header",children:e.jsxs("div",{children:[e.jsx("h2",{children:"Continual learning"}),e.jsx("span",{children:s})]})}),f?e.jsxs("div",{className:"agent-learning-discard",role:"alert",children:[e.jsx("p",{children:"Discard unsaved policy changes?"}),e.jsxs("div",{className:"settings-button-row",children:[e.jsx("button",{type:"button",onClick:()=>{A(!1),H(null)},children:"Keep editing"}),e.jsx("button",{type:"button",onClick:()=>K?O(K):i(),children:"Discard changes"})]})]}):null,m.length>1?e.jsxs("label",{className:"agent-learning-policy-picker",children:["Learning policy",e.jsx("select",{disabled:S,value:p?.id??"",onChange:y=>{L?(H(y.target.value),A(!0)):O(y.target.value)},children:m.map(y=>e.jsxs("option",{value:y.id,children:[y.configuration.name," (",y.status,")"]},y.id))})]}):null,e.jsx("div",{className:"surface-tabs provider-agent-tabs",role:"tablist","aria-label":"Continual learning settings",children:[["sources","Sources & rubrics"],["preparation","Preparation"],["schedule","Run window & budget"]].map(([y,M])=>e.jsx("button",{type:"button",id:`learning-tab-${y}`,role:"tab","aria-selected":N===y,"aria-controls":`learning-panel-${y}`,tabIndex:N===y?0:-1,onClick:()=>x(y),onKeyDown:B=>{const Y=["sources","preparation","schedule"],V=Y.indexOf(y);if(["ArrowLeft","ArrowRight","Home","End"].includes(B.key)){B.preventDefault();const ee=Y[B.key==="Home"?0:B.key==="End"?2:(V+(B.key==="ArrowRight"?1:2))%3];x(ee),document.getElementById(`learning-tab-${ee}`)?.focus()}},children:M},y))}),e.jsxs("form",{className:"agent-learning-form",onSubmit:y=>{y.preventDefault(),q()},children:[e.jsx("fieldset",{disabled:!u||S,children:e.jsxs("label",{children:["Policy name",e.jsx("input",{required:!0,maxLength:200,value:d.name,onChange:y=>R({...d,name:y.target.value})})]})}),e.jsx("div",{id:`learning-panel-${N}`,role:"tabpanel","aria-labelledby":`learning-tab-${N}`,children:e.jsx("fieldset",{disabled:!u||S,children:N==="sources"?e.jsx(ln,{...W}):N==="preparation"?e.jsx(on,{...W}):e.jsx(cn,{...W})})}),o.isPending?e.jsx("p",{role:"status",children:"Fetching available sources, rubrics and models…"}):null,o.isError?e.jsxs("p",{role:"alert",children:[o.error.message," ",e.jsx("button",{type:"button",onClick:()=>{o.refetch()},children:"Retry settings"})]}):null,P?e.jsx("p",{role:"alert",children:P}):null,e.jsxs("label",{className:"agent-learning-check",children:[e.jsx("input",{type:"checkbox",checked:k,disabled:!u||S,onChange:y=>{T(y.target.checked),w(!0)}}),"Enable this policy after saving"]}),e.jsx("p",{children:"Saving enables only the reviewed sources, schedule and limits. No training is dispatched by opening this dialog."}),e.jsxs("div",{className:"settings-button-row agent-learning-footer",children:[e.jsx("button",{type:"button",disabled:S,onClick:r,children:"Cancel"}),e.jsx("button",{type:"submit",className:"primary",disabled:!u||!o.data||o.isError||S||!d.sourceKeys.length,children:S?"Saving…":k?"Save and enable":"Save paused"})]})]})]})})}function un({agent:n,inventory:a,connection:t,teamId:s,projectId:l,projectName:g,query:o,signedIn:i}){const[p,c]=h.useState(!1),[d,v]=h.useState(null),[u,_]=h.useState(!1),[L,w]=h.useState(null),[S,C]=h.useState(""),P=h.useMemo(()=>new Set(a?.collector.connections.filter(m=>m.source===n.id&&m.teamId===s&&m.projectId===l&&m.state!=="disconnected").map(m=>m.sourceInstanceId)??[]),[a,n.id,s,l]),j=o.data?.sources.filter(m=>m.projectId===l&&(n.id==="openpond_chat"?["native_chat","native_work"].includes(m.origin)&&m.sourceInstanceId===null:m.origin===n.id&&m.sourceInstanceId!==null&&P.has(m.sourceInstanceId)))??[],k=[...new Set(j.flatMap(m=>m.sourceInstanceId?[m.sourceInstanceId]:[]))],T=k.includes(S)?S:k[0],N=j.filter(m=>m.sourceInstanceId===null||m.sourceInstanceId===T).map(m=>({origin:m.origin,sourceInstanceId:m.sourceInstanceId,enabled:!0})),x=o.data?.policies.filter(m=>m.configuration.projectId===l)??[],f=x.filter(m=>m.status==="enabled"&&m.configuration.sources.some(r=>r.enabled&&N.some(I=>U(I)===U(r)))),A=f[0]??x.find(m=>m.status==="enabled")??x[0],K=!!(t&&s&&l&&i&&o.data?.projects.some(m=>m.id===l));async function H(m,r){if(!t||!s||!o.data)return;let I={...m.configuration,sources:m.configuration.sources.map(R=>N.some(q=>U(q)===U(R))?{...R,enabled:r}:R)};if(r)for(const R of N)I.sources.some(q=>U(q)===U(R))||I.sources.push(R);const O=o.data.servingTargets.find(R=>R.id===I.serving?.targetId);if(r&&I.mode==="activate"&&I.serving?.targetId&&(!O||!O.enabled||O.projectId!==l))throw new Error("Review the policy's serving target before adding a source.");if(r&&I.mode==="activate"&&(!I.serving?.targetId||O?.hostedPonder)){const R=await Q(t,s,"serving-targets",{action:"ensure_hosted_ponder",projectId:l,bindingId:o.data.ponderBindingId});I={...I,serving:{targetId:R.id,canarySeconds:I.serving?.canarySeconds??120,rollbackOnRuntimeFailure:!0}}}return Ce(t,s,m,I,I.sources.some(R=>R.enabled))}async function z(m){if(!u){_(!0),w(null);try{if(m){const r=x.find(I=>I.id===d);if(!r)throw new Error("Refresh the learning policy before joining.");await H(r,!0),v(null)}else for(const r of f)await H(r,!1);await o.refresh()}catch(r){w(r instanceof Error?r.message:"Unable to update this learning source."),await o.refresh()}finally{_(!1)}}}return e.jsxs("div",{className:"agent-learning-control",children:[k.length>1?e.jsxs("label",{children:["Learning connection",e.jsx("select",{"aria-label":`${n.name} learning connection`,value:T,disabled:u,onChange:m=>C(m.target.value),children:k.map(m=>e.jsx("option",{value:m,children:j.find(r=>r.sourceInstanceId===m)?.name??"Local connection"},m))})]}):null,e.jsxs("div",{className:"agent-learning-control-row",children:[e.jsxs("label",{className:"provider-toggle",children:[e.jsx("input",{type:"checkbox","aria-label":`${n.name} continual learning`,checked:f.length>0,disabled:!K||!N.length||o.isPending||o.isError||u,onChange:m=>{if(m.target.checked){const r=x.find(I=>I.status==="enabled");r?v(r.id):c(!0)}else z(!1)}}),e.jsx("span",{"aria-hidden":"true"})]}),e.jsx("button",{type:"button",className:"agent-learning-settings",disabled:!t||!s||!l||!i||u,onClick:()=>c(!0),children:"Continual learning"}),e.jsx("small",{children:o.isError?"Needs attention":o.isPending?"Loading…":f.length?"On schedule":x.length?"Paused":"Off"})]}),l&&!N.length&&o.data?e.jsx("small",{children:"Sync this agent to the selected Project to use its local connection."}):null,L?e.jsx("small",{role:"alert",children:L}):null,p&&t&&s?e.jsx(dn,{connection:t,teamId:s,projectId:l,projectName:g,initialPolicy:A,bindings:N,query:o,onClose:()=>c(!1)},l):null,d?e.jsx(pn,{policies:x.filter(m=>m.status==="enabled"),policyId:d,agentName:n.name,busy:u,error:L,onChoose:v,onClose:()=>{u||v(null)},onJoin:()=>{z(!0)}}):null]})}function pn({policies:n,policyId:a,agentName:t,busy:s,error:l,onChoose:g,onClose:o,onJoin:i}){const p=de(o),c=n.find(d=>d.id===a);return e.jsx("div",{className:"git-dialog-backdrop provider-dialog-backdrop",onMouseDown:o,children:e.jsxs("section",{ref:p,className:"git-dialog agent-learning-join",role:"dialog","aria-modal":"true","aria-label":"Add learning source",onMouseDown:d=>d.stopPropagation(),children:[e.jsx("button",{type:"button",className:"git-dialog-close",disabled:s,"aria-label":"Cancel",onClick:o,children:e.jsx(te,{size:16})}),e.jsxs("h2",{children:["Add ",t," to ",c?.configuration.name??"continual learning","?"]}),e.jsx("p",{children:"This agent will contribute conversations to the existing model, schedule and spending limits. Collection settings stay unchanged."}),n.length>1?e.jsxs("label",{children:["Existing policy",e.jsx("select",{value:a,disabled:s,onChange:d=>g(d.target.value),children:n.map(d=>e.jsx("option",{value:d.id,children:d.configuration.name},d.id))})]}):null,l?e.jsx("p",{role:"alert",children:l}):null,e.jsxs("div",{className:"settings-button-row",children:[e.jsx("button",{type:"button",disabled:s,onClick:o,children:"Cancel"}),e.jsx("button",{type:"button",className:"primary",disabled:s||!c,onClick:i,children:s?"Adding…":"Add agent"})]})]})})}function hn({connection:n,payload:a,onPayload:t,onToast:s}){const{inventory:l,error:g,loading:o,refresh:i}=sn(n),[p,c]=h.useState(null),[d,v]=h.useState(null),[u,_]=h.useState(!1),[L,w]=h.useState(0),S=`openpond-agent-cards:${JSON.stringify(a?.account.activeProfile??null)}`,[C,P]=h.useState(()=>{try{const b=JSON.parse(localStorage.getItem(S)??"null");return Array.isArray(b)?b.filter(E=>typeof E=="string"&&ae.some($=>$.id===E)):["oh_my_pi"]}catch{return["oh_my_pi"]}});h.useEffect(()=>{try{localStorage.setItem(S,JSON.stringify(C))}catch{}},[S,C]);const[j,k]=h.useState(!1),T=h.useRef(null);h.useEffect(()=>{if(!j)return;const b=$=>{T.current?.contains($.target)||k(!1)},E=$=>{$.key==="Escape"&&(k(!1),T.current?.querySelector("button")?.focus())};return document.addEventListener("pointerdown",b),document.addEventListener("keydown",E),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",E)}},[j]);const N=h.useRef({payload:a,onPayload:t});N.current={payload:a,onPayload:t};const x=h.useRef(!0);h.useEffect(()=>(x.current=!0,()=>{x.current=!1}),[]);const f=a?.account??null,A=a?.preferences.defaultTeamId??f?.accounts.find(b=>b.isActive)?.apiKeyAccess?.teamId??null,K=h.useCallback(b=>v(b),[]),H=h.useCallback(b=>{const E=N.current;x.current&&E.payload&&E.onPayload({...E.payload,providers:b})},[]),z=h.useCallback((b,E)=>{const $=N.current;if(!x.current||!$.payload)return;const ie=$.payload.providers,he={...$.payload,providers:{...ie,statuses:{...ie.statuses,[b]:E.statuses[b]},modelCaches:{...ie.modelCaches,[b]:E.modelCaches[b]}}};N.current={...$,payload:he},$.onPayload(he)},[]);Ve(n,a?.providers,z,L);const m=h.useCallback(b=>{const E=N.current;E.payload&&E.onPayload({...E.payload,preferences:b.preferences})},[]),r=Be({connection:n,onError:K,onPayload:t,onPreferences:m,onProviders:H,preferences:Te(a?.preferences),providers:a?.providers}),I=nn(n,f,A),{projects:O,projectId:R,loading:q,error:W}=I,y=an(n,A,JSON.stringify([f?.activeProfile??null,f?.profile?.id??null]),f?.state==="signed_in"),M=f?.baseUrl??f?.activeProfile?.baseUrl,B=M&&A?`${M.replace(/\/$/u,"")}/console/connections?${new URLSearchParams({teamId:A,...R?{project:R}:{}})}`:null;async function Y(b){if(!(!n||u)){_(!0),v(null);try{await Z(n,"/v1/native-history/collector",{method:"POST",body:JSON.stringify({command:b})}),await i()}catch(E){const $=E instanceof Error?E.message:"Importer action failed.";v($),s?.($,"error")}finally{_(!1)}}}const V=p?.provider,ee=V?a?.providers.statuses[V]:null,pe=p?e.jsx(tn,{agent:p,inventory:l,connection:n,account:f,teamId:A,projects:O,projectId:R,onRefresh:i,learningUrl:B},p.id):null;return e.jsxs("section",{className:"connected-agents-view","aria-label":"Connected agents",children:[e.jsxs("div",{className:"agent-connections-heading",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Connected agents"}),e.jsx("p",{children:"Use your installed agents and sync conversations with OpenPond."})]}),e.jsxs("div",{className:"agent-connections-actions",children:[e.jsx("button",{type:"button",disabled:o||!n,"aria-label":"Refresh agent connections",onClick:()=>{i(),I.refresh(),w(b=>b+1)},children:e.jsx(Oe,{size:15})}),e.jsxs("div",{className:"agent-more",ref:T,children:[e.jsx("button",{type:"button","aria-expanded":j,onClick:()=>k(b=>!b),children:"More agents"}),j?e.jsxs("div",{className:"agent-more-menu",children:[ae.filter(b=>C.includes(b.id)).map(b=>e.jsxs("button",{type:"button",onClick:()=>{P(E=>E.filter($=>$!==b.id)),k(!1)},children:[e.jsx(Ue,{size:14}),e.jsx("span",{children:b.name})]},b.id)),C.length===0?e.jsx("span",{children:"All agents shown"}):null]}):null]})]})]}),e.jsxs("label",{className:"agent-project-scope",children:["Project",e.jsxs("select",{"aria-label":"Connections project",value:R,disabled:!O.length,onChange:b=>I.select(b.target.value),children:[e.jsx("option",{value:"",children:q&&!O.length?"Fetching projects…":"Select project"}),O.map(b=>e.jsx("option",{value:b.id,children:b.content.name},b.id))]})]}),W?e.jsx("p",{role:"alert",children:W}):null,g?e.jsx("p",{role:"alert",children:g}):null,d?e.jsx("p",{role:"alert",children:d}):null,e.jsx("div",{className:"agent-connections-grid",children:ae.filter(b=>!C.includes(b.id)).map(b=>e.jsx(We,{agent:b,account:f,native:b.provider?a?.providers.statuses[b.provider]:null,inventory:l,projects:O,teamId:A,learningControl:e.jsx(un,{agent:b,inventory:l,connection:n,teamId:A,projectId:R,projectName:O.find(E=>E.id===R)?.content.name??"Selected Project",query:y,signedIn:f?.state==="signed_in"}),connected:!!n,onHide:()=>P(E=>[...E,b.id]),onManage:()=>c(b)},`${JSON.stringify([f?.activeProfile,f?.profile?.id])}:${A}:${R}:${b.id}`))}),l?e.jsxs("div",{className:"agent-importer-footer",children:[e.jsx("span",{children:l.collector.desiredState==="stopped"?"Importer stopped":l.collector.running?"Importer running":"Importer offline"}),e.jsx("button",{type:"button",disabled:u||!l.collector.running,onClick:()=>{Y("sync")},children:"Sync now"}),e.jsxs("button",{type:"button",disabled:u,onClick:()=>{Y(l.collector.running?"stop":"start")},children:[l.collector.running?"Stop":"Start"," importer"]}),e.jsxs("details",{children:[e.jsx("summary",{children:"CLI state"}),e.jsx("code",{children:l.statusCommand})]})]}):null,p&&V&&ee&&a?e.jsx(Je,{checkNativeProvider:r.checkNativeProvider,connection:n,account:f,codex:a.codex,providerId:V,providerBusy:r.providerBusy,settings:a.providers,status:ee,onClose:()=>c(null),onDeleteCredential:r.deleteProviderCredential,onRefreshModels:r.refreshProviderModels,onSaveConfig:r.saveProviderConfig,onSaveCredential:r.saveProviderCredential,onStartOpenAiSubscriptionAuth:r.startOpenAiSubscriptionAuth,onValidate:r.validateProvider,conversationPanel:pe}):p?e.jsx(mn,{agent:p,onClose:()=>c(null),children:pe}):null]})}function mn({agent:n,onClose:a,children:t}){const s=de(a);return e.jsx("div",{className:"git-dialog-backdrop provider-dialog-backdrop",onMouseDown:a,children:e.jsxs("section",{ref:s,className:"git-dialog provider-details-dialog agent-setup-dialog",role:"dialog","aria-modal":"true","aria-label":`${n.name} connection`,onMouseDown:l=>l.stopPropagation(),children:[e.jsx("button",{type:"button",className:"git-dialog-close","aria-label":"Close",onClick:a,children:e.jsx(te,{size:16})}),e.jsx("div",{className:"provider-dialog-header",children:e.jsxs("div",{children:[e.jsx("h2",{children:n.name}),e.jsx("span",{children:"Conversation syncing"})]})}),t]})})}const gn=["For agents","Featured","Productivity","Developer tools"],xn=new Set(["slack","google","github","mcp"]);function Un({account:n,connection:a,defaultTeamId:t,onToast:s,payload:l,onPayload:g}){const[o,i]=h.useState("agents"),p=h.useId(),[c,d]=h.useState(null),[v,u]=h.useState(""),[_,L]=h.useState("For agents"),[w,S]=h.useState(()=>re()),[C,P]=h.useState(null),j=n?.baseUrl??n?.activeProfile?.baseUrl??null,k=vn(t,C),T=h.useMemo(()=>w.filter(x=>fn(x,_)).filter(x=>yn(x,v)),[_,v,w]);h.useEffect(()=>{let x=!0;return!a||o!=="apps"?(S(re()),P(null),()=>{x=!1}):(Fe.connectedAppStatus(a,{status:"all"}).then(f=>{x&&(S(f.apps),P(f.teamId?.trim()||null))}).catch(f=>{x&&(console.warn("Unable to load connected app status.",f),S(re()),P(null))}),()=>{x=!1})},[a,o]);function N(x){const f=He({appId:x.id,baseUrl:j,teamId:k});kn(f).catch(A=>{s?.(A instanceof Error?A.message:String(A),"error")})}return e.jsxs("div",{className:"apps-workspace-view",children:[e.jsx("div",{className:"apps-page-tabs",role:"tablist","aria-label":"Apps pages",onKeyDown:x=>{if(!["ArrowLeft","ArrowRight","Home","End"].includes(x.key))return;x.preventDefault();const f=x.key==="Home"?"agents":x.key==="End"||o==="agents"?"apps":"agents";i(f),x.currentTarget.querySelector(`#${CSS.escape(`${p}-${f}`)}`)?.focus()},children:[{value:"agents",label:"Connections"},{value:"apps",label:"Apps"}].map(x=>e.jsx("button",{type:"button",role:"tab",id:`${p}-${x.value}`,"aria-controls":`${p}-${x.value}-panel`,tabIndex:o===x.value?0:-1,"aria-selected":o===x.value,onClick:()=>i(x.value),children:x.label},x.value))}),e.jsx("div",{role:"tabpanel",id:`${p}-${o}-panel`,"aria-labelledby":`${p}-${o}`,children:o==="agents"?e.jsx(hn,{connection:a,payload:l,onPayload:g,onToast:s},JSON.stringify([n?.activeProfile,t])):e.jsxs("section",{className:"connected-apps-view","aria-label":"Apps",children:[e.jsxs("div",{className:"connected-apps-header",children:[e.jsxs("div",{children:[e.jsx("h1",{children:"Apps"}),e.jsx("p",{children:"Connect apps that agents can use for chat, knowledge, files, and workflow actions."})]}),e.jsxs("label",{className:"connected-apps-search",children:[e.jsx($e,{size:15}),e.jsx("input",{"aria-label":"Search apps",onChange:x=>u(x.target.value),placeholder:"Search apps",type:"search",value:v})]})]}),e.jsxs("section",{className:"connected-apps-hero","aria-label":"App context",children:[e.jsxs("div",{className:"connected-apps-hero-copy",children:[e.jsx("span",{className:"connected-apps-hero-icon",children:e.jsx(ue,{appId:"github"})}),e.jsx("h2",{children:"Work with your apps"}),e.jsx("p",{children:"Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond."})]}),e.jsxs("div",{className:"connected-apps-context-card","aria-hidden":"true",children:[e.jsx("strong",{children:"Agent context"}),e.jsxs("div",{children:[e.jsx("span",{className:"files",children:"Files"}),e.jsx("span",{className:"chat",children:"Chat"}),e.jsx("span",{className:"oauth",children:"OAuth"}),e.jsx("span",{className:"mcp",children:"MCP"})]})]})]}),e.jsx("div",{className:"connected-apps-filters",role:"tablist","aria-label":"App categories",children:gn.map(x=>e.jsx("button",{"aria-selected":_===x,className:_===x?"active":"",onClick:()=>L(x),role:"tab",type:"button",children:x},x))}),e.jsxs("div",{className:"connected-apps-list",children:[T.map(x=>e.jsx(jn,{app:x,onSelect:()=>d(x)},x.id)),T.length===0?e.jsx("div",{className:"connected-apps-empty",children:"No apps match the current search."}):null]}),c?e.jsx(bn,{app:c,onClose:()=>d(null),onInstall:()=>N(c)}):null]})})]})}function vn(n,a){const t=n?.trim();return t||a?.trim()||null}function jn({app:n,onSelect:a}){return e.jsxs("button",{className:"connected-app-row",onClick:a,type:"button",children:[e.jsxs("span",{className:"connected-app-row-main",children:[e.jsx(ue,{appId:n.id}),e.jsxs("span",{className:"connected-app-copy",children:[e.jsxs("span",{className:"connected-app-title",children:[e.jsx("strong",{children:n.label}),e.jsxs("span",{children:[n.shortLabel!==n.label?n.shortLabel:n.category," / ",n.setupSurfaceLabel]})]}),e.jsx("span",{children:n.description}),e.jsxs("span",{className:"connected-app-capability-row",children:[n.capabilityLabels.slice(0,2).map(t=>e.jsx("span",{children:t},t)),n.capabilityLabels.length>2?e.jsxs("span",{children:["+",n.capabilityLabels.length-2]}):null]})]})]}),e.jsx("span",{className:`connected-app-status-pill ${n.status}`,children:n.statusLabel}),e.jsx(Me,{size:16})]})}function bn({app:n,onClose:a,onInstall:t}){const s=n.connections.filter(l=>l.status==="active");return e.jsx("div",{className:"connected-app-dialog-backdrop",role:"presentation",onMouseDown:l=>{l.target===l.currentTarget&&a()},children:e.jsxs("section",{className:"connected-app-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"connected-app-dialog-title",children:[e.jsx("button",{className:"connected-app-dialog-close",type:"button","aria-label":"Close app details",onClick:a,children:e.jsx(te,{size:17})}),e.jsxs("div",{className:"connected-app-dialog-identity",children:[e.jsx("span",{className:"openpond-mark",children:e.jsx("img",{alt:"",src:je})}),e.jsxs("span",{className:"connection-dots","aria-hidden":"true",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx(ue,{appId:n.id})]}),e.jsxs("h2",{id:"connected-app-dialog-title",children:["Connect ",n.label]}),e.jsxs("div",{className:"connected-app-approval",children:[e.jsx(De,{size:16}),e.jsx("span",{children:n.statusLabel})]}),e.jsxs("div",{className:"connected-app-dialog-body",children:[e.jsxs("section",{children:[e.jsx("h3",{children:n.setupSurfaceLabel}),e.jsx("p",{children:"The web flow shows the provider account, workspace, and requested access before anything is connected."})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Connected account"}),e.jsx("p",{children:wn(s)})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Available capabilities"}),e.jsx("div",{className:"connected-app-dialog-capabilities",children:n.capabilities.map(l=>e.jsx("span",{children:l.label},l.id))})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Sandbox lease policy"}),e.jsx("p",{children:n.leasePolicy.leaseable?`Leaseable for ${n.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:"Managed as setup or tool discovery; no OAuth lease is required."})]})]}),e.jsxs("button",{className:"connected-app-dialog-primary",type:"button",onClick:t,children:[e.jsx("span",{children:n.installLabel}),e.jsx(ze,{size:15})]})]})})}function ue({appId:n}){return e.jsx("span",{className:`connected-app-icon app-${n}`,children:e.jsx("img",{alt:"",src:Sn(n)})})}function fn(n,a){return a==="For agents"?!0:a==="Featured"?xn.has(n.id):a==="Productivity"?n.category==="Productivity"||n.category==="Chat":n.category==="Developer tools"||n.id==="mcp"}function yn(n,a){const t=a.trim().toLowerCase();return t?[n.id,n.label,n.shortLabel,n.category,n.description,n.providerFamily,n.setupSurface].some(s=>s.toLowerCase().includes(t)):!0}function Sn(n){return Ke(n)}async function kn(n){const a=window.openpond?.browser;if(a){const t=await a.openExternal({conversationId:"connected-apps",url:n});if(!t.ok)throw new Error(t.error??"Unable to open app setup.");return}window.open(n,"_blank","noopener,noreferrer")}function wn(n){return n.length===0?"No active OAuth connection for this setup surface.":n.map(a=>{const t=a.accountLabel??"Connected account";return a.workspaceLabel?`${t} / ${a.workspaceLabel}`:t}).join(", ")}export{Un as AppsView,jn as ConnectedAppRow,vn as connectedAppSetupTeamId};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,j as e}from"./index-BxWTVKtn.js";import{s as u}from"./LabsRoute-CXJRJMhr.js";import{dB as n}from"./App-CuhaCsfb.js";import"./chunk-UHVJOMWN-BqXRe639.js";import"./AppDialog-BdusXgU0.js";import"./cloud-upload-CJPYPVl8.js";import"./MainPane-CakOBCHw.js";import"./MarkdownText-gJMuefaJ.js";import"./arrow-up-right-H0pvnH2s.js";import"./square-oy7f5Ce6.js";import"./folder-open-sLZJxLQy.js";import"./play-CXkxUZeU.js";import"./training-model-data-CKOkpBBL.js";import"./info-Dc81lEfw.js";/* empty css */import"./ComposerCreateImproveStrip-DR-Qo7b4.js";function H({api:o,policyId:r,sourceId:t,onBack:s}){const a=i.useMemo(()=>o.reviewClient(r,t),[o,r,t]),[m,p]=i.useState(null),[l,c]=i.useState(null);return e.jsxs("section",{"aria-label":"Hosted example review",children:[e.jsx("button",{type:"button",className:"training-button secondary",onClick:()=>{n(s)},children:"Back to continual learning"}),e.jsx("p",{children:"Reviewing hosted examples. Approved tasks become eligible for this policy's next training check."}),e.jsx(u,{client:a,selectedId:m,after:l,sourceId:t,onSelect:d=>{n(()=>p(d))},onPage:c})]})}export{H as HostedModelLearningReview};
|