openpond 0.2.61 → 0.2.62
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 +3264 -18
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-FUAWCKBH.js → acp-DYRBDJRU.js} +1 -1
- package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-UTLP7C3I.js} +1 -1
- package/dist/chunks/{actions-command-LOHNQUWP.js → actions-command-6LF4Z4WK.js} +1 -1
- package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-N2H3RBEN.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-Q2VWWJNX.js → app-server-connected-apps-3T546FE7.js} +1 -1
- package/dist/chunks/app-server-evaluations-TXD747QA.js +2 -0
- package/dist/chunks/{app-server-harness-services-2PSZBT7U.js → app-server-harness-services-BBCDV5P3.js} +1 -1
- package/dist/chunks/app-server-runtime-VEJPDAFP.js +2 -0
- package/dist/chunks/{apps-7PIBF32Q.js → apps-CTT2XYRR.js} +1 -1
- package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
- package/dist/chunks/{chunk-5VPU7OS7.js → chunk-2IIBCCOK.js} +1 -1
- package/dist/chunks/{chunk-ZISYLRH6.js → chunk-2UDAKLJ4.js} +1 -1
- package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
- package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-3R4MSE2S.js} +1 -1
- package/dist/chunks/{chunk-OFVUN4KI.js → chunk-47AXSBPV.js} +1 -1
- package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
- package/dist/chunks/chunk-4PZWGNX4.js +86 -0
- package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-4RZBGKT7.js} +1 -1
- package/dist/chunks/{chunk-VBW2X42G.js → chunk-4TM75R7V.js} +1 -1
- package/dist/chunks/chunk-4U2FNXQW.js +2 -0
- package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
- package/dist/chunks/{chunk-VWJ5IYQP.js → chunk-547AUVKN.js} +1 -1
- package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-557XSPVS.js} +1 -1
- package/dist/chunks/{chunk-ZHFH2TZN.js → chunk-557YG77L.js} +1 -1
- package/dist/chunks/{chunk-MF35MALN.js → chunk-5A6ER3M2.js} +1 -1
- package/dist/chunks/{chunk-U4HZD2GM.js → chunk-5OSM75X5.js} +1 -1
- package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-6SH4B7DV.js} +1 -1
- package/dist/chunks/chunk-6XSSM4WT.js +3 -0
- package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-7JBB4PXS.js} +1 -1
- package/dist/chunks/{chunk-SID4X3YN.js → chunk-7JXZNCBC.js} +1 -1
- package/dist/chunks/chunk-7KTARW23.js +2 -0
- package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
- package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-AKZPMKWP.js} +1 -1
- package/dist/chunks/{chunk-SIV5P6JO.js → chunk-AMO5DVKM.js} +2 -2
- package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
- package/dist/chunks/{chunk-4RHM4WN2.js → chunk-B42QQUZY.js} +1 -1
- package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
- package/dist/chunks/{chunk-CQF6QZEL.js → chunk-BEI4YULC.js} +1 -1
- package/dist/chunks/chunk-BKEDG3A4.js +22 -0
- package/dist/chunks/{chunk-GEXKTGLY.js → chunk-C7M2WBWZ.js} +14 -14
- package/dist/chunks/{chunk-ELYRVTTG.js → chunk-CJUVHE4U.js} +1 -1
- package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-EIX2V2KU.js} +1 -1
- package/dist/chunks/{chunk-AWPYTDH4.js → chunk-EWOTDVDJ.js} +1 -1
- package/dist/chunks/{chunk-B47JMAVW.js → chunk-F4TJ7WQV.js} +1 -1
- package/dist/chunks/{chunk-TXBIZDXG.js → chunk-F7D4BMTO.js} +1 -1
- package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FFWOTZQM.js} +1 -1
- package/dist/chunks/{chunk-6RVF2J47.js → chunk-FUSCTBJI.js} +1 -1
- package/dist/chunks/{chunk-BN5AVRUG.js → chunk-GAQLXFOT.js} +1 -1
- package/dist/chunks/{chunk-LHENAWLH.js → chunk-GEKORCMN.js} +1 -1
- package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-GNCEZ3UP.js} +1 -1
- package/dist/chunks/{chunk-WRQEYW3V.js → chunk-GOIKLFXK.js} +1 -1
- package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GQGLPKU4.js} +1 -1
- package/dist/chunks/{chunk-LBBXVOVR.js → chunk-GSWBNJGZ.js} +1 -1
- package/dist/chunks/{chunk-7EAWLYYB.js → chunk-GV3LFSMI.js} +1 -1
- package/dist/chunks/{chunk-GQUS7MCH.js → chunk-GW5SE3FM.js} +1 -1
- package/dist/chunks/{chunk-I3W27VK4.js → chunk-HBLN4OLY.js} +1 -1
- package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
- package/dist/chunks/{chunk-4P3X2RXA.js → chunk-HKV7RX5E.js} +1 -1
- package/dist/chunks/{chunk-QDBYLJGH.js → chunk-HXZXDDKW.js} +1 -1
- package/dist/chunks/{chunk-LNRFRAV5.js → chunk-INO67SEN.js} +1 -1
- package/dist/chunks/{chunk-E67M5WGY.js → chunk-IWK3RTLR.js} +1 -1
- package/dist/chunks/{chunk-U447MS3Y.js → chunk-J3B2GM4A.js} +1 -1
- package/dist/chunks/chunk-JCLTFDVW.js +2 -0
- package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
- package/dist/chunks/{chunk-D4JZALZ4.js → chunk-JIFUGA3U.js} +1 -1
- package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
- package/dist/chunks/{chunk-FWIPHEVA.js → chunk-JX6OX6XE.js} +1 -1
- package/dist/chunks/{chunk-D5ADDBS5.js → chunk-JY3YSI54.js} +1 -1
- package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
- package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
- package/dist/chunks/chunk-LILXHGIA.js +2 -0
- package/dist/chunks/{chunk-MCIIGQT7.js → chunk-LJDBR3RN.js} +1 -1
- package/dist/chunks/{chunk-3TYCIYW6.js → chunk-LJPO3TEL.js} +1 -1
- package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LRRBYIGH.js} +2 -2
- package/dist/chunks/{chunk-P4XM7LUT.js → chunk-M5IX6VUA.js} +1 -1
- package/dist/chunks/chunk-MEK7DLX3.js +2 -0
- package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
- package/dist/chunks/{chunk-ZBBVRYU3.js → chunk-MNFW5WLD.js} +1 -1
- package/dist/chunks/{chunk-2VXL6AU3.js → chunk-MNXNZDDW.js} +1 -1
- package/dist/chunks/chunk-N5GPINVP.js +2 -0
- package/dist/chunks/{chunk-TSAW2QVU.js → chunk-NBE74GLF.js} +1 -1
- package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-NE4ESZPT.js} +1 -1
- package/dist/chunks/{chunk-CO3OJFPU.js → chunk-NKZNPTLA.js} +1 -1
- package/dist/chunks/{chunk-WFVOG5PU.js → chunk-NLQ2UPN2.js} +1 -1
- package/dist/chunks/chunk-NOSBNHGC.js +18 -0
- package/dist/chunks/{chunk-TTN63EAM.js → chunk-NWOK6NLE.js} +1 -1
- package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
- package/dist/chunks/chunk-O3MHHGC5.js +151 -0
- package/dist/chunks/{chunk-IUGK6BBY.js → chunk-OCC43RSJ.js} +1 -1
- package/dist/chunks/{chunk-BQUWZRWU.js → chunk-P74RR2GB.js} +1 -1
- package/dist/chunks/{chunk-PAZDQRYU.js → chunk-PAE3PQEC.js} +1 -1
- package/dist/chunks/{chunk-M4ZRCRJM.js → chunk-PGO4FRHU.js} +2 -2
- package/dist/chunks/chunk-Q34IF4PW.js +2 -0
- package/dist/chunks/{chunk-Q324ZA5M.js → chunk-QAVQJZCM.js} +1 -1
- package/dist/chunks/{chunk-EIIGTADO.js → chunk-RBDUMASL.js} +1 -1
- package/dist/chunks/{chunk-TMMFF6DO.js → chunk-RH43WLBX.js} +1 -1
- package/dist/chunks/{chunk-RPOD6I64.js → chunk-RTJCELRR.js} +1 -1
- package/dist/chunks/{chunk-L3GA2CQI.js → chunk-SD64CLJX.js} +1 -1
- package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
- package/dist/chunks/{chunk-MLTKB5G3.js → chunk-SZKFNKWO.js} +1 -1
- package/dist/chunks/chunk-T4QXKU5Y.js +1 -0
- package/dist/chunks/{chunk-PE7UKJXK.js → chunk-T6C5BNXK.js} +1 -1
- package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
- package/dist/chunks/{chunk-OQUKSRU3.js → chunk-TGEGXTPR.js} +1 -1
- package/dist/chunks/chunk-TM4VEMNN.js +2 -0
- package/dist/chunks/chunk-TUCKED4T.js +4 -0
- package/dist/chunks/chunk-TVTFEGTU.js +2 -0
- package/dist/chunks/{chunk-HZLV773Y.js → chunk-TW3SRBLU.js} +1 -1
- package/dist/chunks/{chunk-BNZTJPK7.js → chunk-U456UP3N.js} +1 -1
- package/dist/chunks/chunk-UC3FXTDL.js +9 -0
- package/dist/chunks/{chunk-XLULTQLZ.js → chunk-UT6F6AIB.js} +1 -1
- package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
- package/dist/chunks/{chunk-DW3GJRY3.js → chunk-VAJSRUAB.js} +1 -1
- package/dist/chunks/chunk-VE6ZIGUQ.js +2 -0
- package/dist/chunks/{chunk-GLVR74PX.js → chunk-VI32G77S.js} +1 -1
- package/dist/chunks/{chunk-ROE24PN5.js → chunk-VK4TPZTA.js} +1 -1
- package/dist/chunks/{chunk-Q66LWQGF.js → chunk-VSQXDS6H.js} +1 -1
- package/dist/chunks/{chunk-4GZ2FPB5.js → chunk-VWRTE64Y.js} +1 -1
- package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
- package/dist/chunks/{chunk-57RY3LSR.js → chunk-WGLVSGFA.js} +1 -1
- package/dist/chunks/{chunk-I7JCARVH.js → chunk-WQMXEZVE.js} +3 -3
- package/dist/chunks/chunk-X4ZT22SG.js +2 -0
- package/dist/chunks/{chunk-DGPGOBYZ.js → chunk-XSB3T4JZ.js} +1 -1
- package/dist/chunks/{chunk-ZZWAQBA2.js → chunk-XWDFXM3S.js} +1 -1
- package/dist/chunks/{chunk-4LZLO4OW.js → chunk-Y2KPHVZK.js} +1 -1
- package/dist/chunks/chunk-ZQHPGEYT.js +2 -0
- package/dist/chunks/{chunk-T4LLJC5N.js → chunk-ZXT7V64X.js} +1 -1
- package/dist/chunks/cli-GCSO2OAI.js +2 -0
- package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-BU2RPG33.js} +1 -1
- package/dist/chunks/connected-app-executor-UDE7U4KG.js +2 -0
- package/dist/chunks/{connected-evidence-4J3YXU4O.js → connected-evidence-GXIY2L7C.js} +1 -1
- package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-V5QXRK5Q.js} +1 -1
- package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
- package/dist/chunks/{continual-CJUZM5ZQ.js → continual-FLW6DAJK.js} +1 -1
- package/dist/chunks/{core-commands-JGXU6B4C.js → core-commands-NJ6TGND4.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-DFGJBMVF.js → dataset-preparation-authoring-IUXUQK3L.js} +1 -1
- package/dist/chunks/{datasets-MNHZAZIB.js → datasets-AH56DKLZ.js} +1 -1
- package/dist/chunks/{desktop-test-P23MHAIG.js → desktop-test-PYUTEOWO.js} +1 -1
- package/dist/chunks/{dist-IIFTZWNR.js → dist-5267UT3V.js} +1 -1
- package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
- package/dist/chunks/{evaluation-coordination-6NQEH5WU.js → evaluation-coordination-3AUICOC5.js} +1 -1
- package/dist/chunks/{experiment-improvements-M27Z5OF4.js → experiment-improvements-YS7GGPDW.js} +1 -1
- package/dist/chunks/experiments-EJZK7FPT.js +2 -0
- package/dist/chunks/{experiments-signal-R3NNH7WR.js → experiments-signal-NKUIJCIY.js} +1 -1
- package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
- package/dist/chunks/{help-M2VQGPVC.js → help-PXUUREHZ.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +2 -0
- package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +2 -0
- package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +3 -0
- package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-37ZFY2LH.js → hosted-profile-candidate-DKEMVIYG.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +2 -0
- package/dist/chunks/{hosted-profile-evaluation-control-UQBMML6K.js → hosted-profile-evaluation-control-ERCXAPZD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-YASS4T6L.js → hosted-profile-evaluation-inspection-Q3AIIIB6.js} +1 -1
- package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +3 -0
- package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-X2YCFYEJ.js} +1 -1
- package/dist/chunks/{human-review-IJETDOWB.js → human-review-5WM6MSON.js} +1 -1
- package/dist/chunks/{import-WLLUIDS6.js → import-JWZSZCE4.js} +1 -1
- package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +2 -0
- package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +2 -0
- package/dist/chunks/{model-projects-AVBQDNYG.js → model-projects-H22KENI4.js} +1 -1
- package/dist/chunks/opchat-3S6TSDZO.js +3 -0
- package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +2 -0
- package/dist/chunks/{organizations-DJRJWC5I.js → organizations-62YNTZTO.js} +1 -1
- package/dist/chunks/{profile-JRS3JNRC.js → profile-ELE2D7HU.js} +1 -1
- package/dist/chunks/project-action-payload-32F4X2BB.js +2 -0
- package/dist/chunks/{project-agent-2KNJFNZI.js → project-agent-O4REKO6T.js} +1 -1
- package/dist/chunks/{published-experiment-source-LFYHKFAO.js → published-experiment-source-DAOTJLIN.js} +1 -1
- package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +2 -0
- package/dist/chunks/{runtime-CBJF5GMB.js → runtime-776NUSE7.js} +2 -2
- package/dist/chunks/{sandbox-command-IIGTPYN3.js → sandbox-command-UQ26NDIX.js} +1 -1
- package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-WP6YCGBK.js} +1 -1
- package/dist/chunks/saved-work-PG52WCRQ.js +2 -0
- package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-RPB65PME.js} +1 -1
- package/dist/chunks/{src-4YZF6L6H.js → src-2R4CMCJ5.js} +1 -1
- package/dist/chunks/src-AU6LG7E6.js +421 -0
- package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +2 -0
- package/dist/chunks/{store-chat-resources-CGW7PDCG.js → store-chat-resources-T4LR7K25.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-R62D2HD6.js} +1 -1
- package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-25O7BAR2.js} +1 -1
- package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-T5E2GUKK.js} +1 -1
- package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-5Y4U5L3R.js} +1 -1
- package/dist/chunks/{store-evaluation-results-V5J6L4NV.js → store-evaluation-results-WUVJWCFU.js} +1 -1
- package/dist/chunks/{store-harness-workspaces-HHMM6GNK.js → store-harness-workspaces-IFEFY5CK.js} +1 -1
- package/dist/chunks/{store-human-review-V5H4QDHR.js → store-human-review-ZQNLZRGG.js} +1 -1
- package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +2 -0
- package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-LOH4F4TF.js} +1 -1
- package/dist/chunks/{store-model-batch-review-KMYPYWJR.js → store-model-batch-review-QO4VVKWC.js} +1 -1
- package/dist/chunks/{store-model-configuration-UXNC4PGY.js → store-model-configuration-C3HSOFD5.js} +1 -1
- package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +2 -0
- package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-RNIFLJRW.js} +1 -1
- package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-DVQ2PP4F.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-LXWFFYCZ.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-4HH7LX6N.js} +1 -1
- package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-JLW4GD4Q.js} +1 -1
- package/dist/chunks/{store-task-inbox-LNDCZOYE.js → store-task-inbox-DL5RYFPO.js} +1 -1
- package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-NJXRXFLC.js} +1 -1
- package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +9 -0
- package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-VRLU6NFX.js} +1 -1
- package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-3ZHG4LGI.js} +1 -1
- package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-KWQD5PRP.js} +1 -1
- package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-ZRS3ILF2.js} +1 -1
- package/dist/chunks/{taskset-NYLUYX6K.js → taskset-QDMCQQDJ.js} +1 -1
- package/dist/chunks/{taskset-packages-I7I5KBFP.js → taskset-packages-CBLJFWDQ.js} +1 -1
- package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-GF272RGC.js} +1 -1
- package/dist/chunks/{training-UBX6E7SK.js → training-DF5UEPY3.js} +1 -1
- package/dist/chunks/{training-error-AYOGHHL2.js → training-error-L5V5IBX3.js} +1 -1
- package/dist/chunks/training-hosted-I2NDBYGS.js +2 -0
- package/dist/chunks/training-hosted-report-4F25RZZ4.js +2 -0
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
- package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
- package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-5RUXYIOF.js} +1 -1
- package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-JRY2IE7H.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/hosted-chat.d.ts +28 -0
- package/dist/index.js +1 -1
- package/dist/skills/openpond-cli/SKILL.md +15 -2
- package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
- package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
- package/dist/skills/openpond-cli/references/experiments-and-training.md +155 -10
- package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
- package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
- package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
- package/dist/web/assets/App-DHJVXTI2.js +54 -0
- package/dist/web/assets/App-DpFKLxuA.css +1 -0
- package/dist/web/assets/AppDialog-BurL61qE.js +1 -0
- package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +2 -0
- package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-DZLErwj0.js} +1 -1
- package/dist/web/assets/AppsView-ttlr9ckQ.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-CpMSfHCK.js} +1 -1
- package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +1 -0
- package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-CEbM980A.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-IKzZsHoI.js → ChatTimelineEntry-BITv20Ze.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-DrKJmJZK.js} +1 -1
- package/dist/web/assets/{CommandMenu-CBY2AJxV.js → CommandMenu-6oj8FUr6.js} +1 -1
- package/dist/web/assets/CommunityView-BzpIq1lD.js +1 -0
- package/dist/web/assets/ComposerAttachments-6en7m_ov.js +2 -0
- package/dist/web/assets/ComposerCreateImproveStrip-ChplO9YP.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-DRHgc7j_.js +1 -0
- package/dist/web/assets/FilePagePreview-CW4J_1u7.js +2 -0
- package/dist/web/assets/GetStartedView-CaBk_mX6.js +1 -0
- package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
- package/dist/web/assets/GettingStartedDialog-JtFLyU3F.js +1 -0
- package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-hhcjDifK.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-CY8198Y1.js +1 -0
- package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +1 -0
- package/dist/web/assets/LabSkillSidebar-HibUEEko.js +1 -0
- package/dist/web/assets/{LabsRoute-DOnw39du.js → LabsRoute-B61l1b8P.js} +8 -8
- package/dist/web/assets/MainChatThread-egKi0gLk.js +2 -0
- package/dist/web/assets/MainPane-2dj6Dg4l.js +95 -0
- package/dist/web/assets/{MainPane-CuBUBA9F.css → MainPane-BwHw3UYp.css} +1 -1
- package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +1 -0
- package/dist/web/assets/NewProjectDialog-t9Imnb__.js +1 -0
- package/dist/web/assets/OutputsPage-CeGq_F1S.js +1 -0
- package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-VHME5V8j.js} +1 -1
- package/dist/web/assets/ProjectsPage-2TMZoEPB.js +1 -0
- package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +1 -0
- package/dist/web/assets/SettingsView-D2bu3tK_.js +5 -0
- package/dist/web/assets/TeamChatView-CN17AsgA.js +1 -0
- package/dist/web/assets/TerminalOverlay-DlhRpi-X.js +16 -0
- package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-BhhZPPuY.js} +1 -1
- package/dist/web/assets/{TrainingMetricWorkbench-BmzHLwIP.js → TrainingMetricWorkbench-DBy8F1xp.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-DTZslBeW.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +35 -0
- package/dist/web/assets/WorkspaceFileLocation-ChEeZffU.js +1 -0
- package/dist/web/assets/WorkspaceGitDialogs-D_RUXhTi.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-BJxaiDrj.js} +3 -3
- package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-A28Poeca.js} +1 -1
- package/dist/web/assets/{chat-resources-CItQ4mZD.js → chat-resources-3SvnVeKv.js} +1 -1
- package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-dYn0pd4Q.js} +1 -1
- package/dist/web/assets/chevron-right-sFx2xRvT.js +1 -0
- package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-BYNVSWIQ-DWh9SmdB.js} +1 -1
- package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ZFYI4P6C-BmsNtSkR.js} +1 -1
- package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-DTTLbrYt.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-CRMPCFnq.js} +1 -1
- package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
- package/dist/web/assets/copy-DR4ielPn.js +1 -0
- package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-DmttVQ_a.js} +1 -1
- package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-d-2GuNvW.js} +1 -1
- package/dist/web/assets/external-link-B4rPiZEp.js +1 -0
- package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-BrIUcUk_.js} +1 -1
- package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-DwImGEt-.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-Ds1mkrlW.js} +1 -1
- package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-s15GR0Fn.js} +1 -1
- package/dist/web/assets/icons-CK5-nxVC.js +1 -0
- package/dist/web/assets/{image-C7HVlg3X.js → image-CY-sHbfQ.js} +1 -1
- package/dist/web/assets/{index-BsPUniZy.js → index-DYrLeSyY.js} +2 -2
- package/dist/web/assets/index-Dezj4Z2p.css +1 -0
- package/dist/web/assets/{info-BLWDShaz.js → info-aSvM8YlJ.js} +1 -1
- package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-vos9H2hz.js} +1 -1
- package/dist/web/assets/loader-circle-cyf35w3i.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-pQmEaoMt.js} +1 -1
- package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-DgF6ZVOM.js} +1 -1
- package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-BPwsKvRB.js} +2 -2
- package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-BbMpa0_-.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-CJlccVX3.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-pWurLXbm.js} +2 -2
- package/dist/web/assets/{monitor-B6OuAu13.js → monitor-DlEV241C.js} +1 -1
- package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-fnRZSIRc.js} +1 -1
- package/dist/web/assets/{pdf-RXlFwNte.js → pdf-CT3zVKCE.js} +1 -1
- package/dist/web/assets/play-wI_3FLr4.js +1 -0
- package/dist/web/assets/plus-DoJe4fLj.js +1 -0
- package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-Bb8ecExR.js} +1 -1
- package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
- package/dist/web/assets/{python-BQXo7wMt.js → python-DXA1xp0A.js} +1 -1
- package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-B53QjxMO.js} +1 -1
- package/dist/web/assets/{save-BxXc21N6.js → save-V1Q4Fcqa.js} +1 -1
- package/dist/web/assets/settings-lists-CtH1A57b.js +5 -0
- package/dist/web/assets/square-BqSK-hv9.js +1 -0
- package/dist/web/assets/square-terminal-Dmgkm5zY.js +1 -0
- package/dist/web/assets/submit-issue-command-DRgUboVW.js +3 -0
- package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-B-BD2K2Q.js} +1 -1
- package/dist/web/assets/{training-managed-adapter-81RrdT1k.js → training-managed-adapter-BXNwgd3P.js} +1 -1
- package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-14942K_Z.js} +5 -5
- package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-DdgIcxK3.js} +1 -1
- package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
- package/dist/web/assets/{upload-NXasN1wU.js → upload-82Y6RjLi.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-BgHXNpq_.js} +1 -1
- package/dist/web/assets/{useAgentInventory-BV4CUWzJ.js → useAgentInventory-B-LNn3up.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CsKv22Hs.js} +1 -1
- package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-CPC2wsWm.js} +1 -1
- package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-DXOoDN9l.js} +1 -1
- package/dist/web/assets/{workers-u92Boudu.js → workers-Clf4hKt5.js} +1 -1
- package/dist/web/assets/x-IPhrr4ju.js +1 -0
- package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-I1tf8Uxx.js} +1 -1
- package/dist/web/index.html +12 -3
- package/docs/command-reference.md +28 -2
- package/package.json +2 -1
- package/dist/chunks/app-server-evaluations-HAAYVEXB.js +0 -2
- package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
- package/dist/chunks/chunk-4N3UF3U5.js +0 -2
- package/dist/chunks/chunk-6DCXAXVD.js +0 -22
- package/dist/chunks/chunk-BLKTUFGB.js +0 -2
- package/dist/chunks/chunk-E3EKBPCB.js +0 -2
- package/dist/chunks/chunk-F5JDBDYL.js +0 -2
- package/dist/chunks/chunk-JEVA7YQL.js +0 -3
- package/dist/chunks/chunk-KC7I6E6W.js +0 -2
- package/dist/chunks/chunk-OJSK4NSW.js +0 -151
- package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
- package/dist/chunks/chunk-UJBEWIR3.js +0 -8
- package/dist/chunks/chunk-V67IFV26.js +0 -86
- package/dist/chunks/chunk-VSUHJ46L.js +0 -18
- package/dist/chunks/chunk-X3WEQL3O.js +0 -2
- package/dist/chunks/chunk-XK7SPL63.js +0 -2
- package/dist/chunks/chunk-YR5ID2SS.js +0 -2
- package/dist/chunks/cli-WC45SI7E.js +0 -2
- package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
- package/dist/chunks/experiments-IWSCFDBB.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
- package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
- package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
- package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
- package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-preparation-ZAOGDQXO.js +0 -3
- package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
- package/dist/chunks/opchat-KSOJEL4W.js +0 -3
- package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
- package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
- package/dist/chunks/saved-work-QA46KCME.js +0 -2
- package/dist/chunks/src-E7NWAN5B.js +0 -420
- package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
- package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
- package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
- package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
- package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
- package/dist/web/assets/App-Df7uYQGj.css +0 -1
- package/dist/web/assets/App-Yy3l2sdD.js +0 -56
- package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
- package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
- package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
- package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
- package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
- package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
- package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
- package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
- package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
- package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
- package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
- package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
- package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
- package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
- package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
- package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
- package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
- package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
- package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
- package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
- package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
- package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
- package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
- package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
- package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
- package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
- package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
- package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
- package/dist/web/assets/icons-kaq6k88m.js +0 -1
- package/dist/web/assets/index-DUMDOdB2.css +0 -1
- package/dist/web/assets/play-BPPQoqMl.js +0 -1
- package/dist/web/assets/plus-D18vYzHF.js +0 -1
- package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
- package/dist/web/assets/square-Da8RuqW4.js +0 -1
- package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-C4b2afqG.js";var t=e(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-C4b2afqG.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{g as t,m as n}from"./index-BsPUniZy.js";import{k as r}from"./settings-BKmRueaw.js";import{N as i,S as a,g as o,v as s}from"./app-models-BviS9b7U.js";import{n as c}from"./api-client-Dgz-fOMl.js";import"./icons-kaq6k88m.js";import{t as l}from"./createLucideIcon-C4b2afqG.js";import{F as u}from"./training-model-data-CmVo80ZR.js";import{t as d}from"./plus-D18vYzHF.js";import{t as f}from"./refresh-cw-NXOER_CD.js";import{t as p}from"./save-BxXc21N6.js";import{a as m}from"./AppToastContext-BB_2hRfw.js";import{Gn as h,Kn as g,Mn as _,Ut as v,Wt as y,Xt as b,Yt as x,Zt as S,_n as C,hn as w,rr as T,un as E,vn as D}from"./App-Yy3l2sdD.js";var O=l(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),k=e(t(),1),A=n();function j({connection:e,onChanged:t,onAdded:n}){let r=(0,k.useId)(),[i,a]=(0,k.useState)(!1),[o,s]=(0,k.useState)(!1),[l,u]=(0,k.useState)(null),[p,m]=(0,k.useState)(0),[h,g]=(0,k.useState)(``),[v,y]=(0,k.useState)(null),[b,x]=(0,k.useState)(``),[w,T]=(0,k.useState)(``),[E,O]=(0,k.useState)(``),[j,M]=(0,k.useState)(``),[N,P]=(0,k.useState)(`[]`),[F,I]=(0,k.useState)(`{}`),[L,R]=(0,k.useState)(!1),[z,B]=(0,k.useState)(!1),[V,H]=(0,k.useState)(null);(0,k.useEffect)(()=>{if(!i||o||!e)return;let t=new AbortController;return R(!0),H(null),c(e,`/v1/providers/acp-registry${p?`?refresh=true`:``}`,{signal:t.signal}).then(e=>{t.signal.aborted||(u(e),y(null))}).catch(e=>{t.signal.aborted||H(e instanceof Error?e.message:`Could not load ACP registry.`)}).finally(()=>{t.signal.aborted||R(!1)}),()=>t.abort()},[i,o,e,p]);let U=v?[v.distribution.binary?.[l?.platform??``]?`binary`:null,v.distribution.npx?`npx`:null,v.distribution.uvx?`uvx`:null].filter(e=>!!e):[],W=l?.agents.filter(e=>`${e.name} ${e.id} ${e.description}`.toLowerCase().includes(h.trim().toLowerCase()))??[],G=U.includes(b)?b:U[0],K=G===`binary`?v?.distribution.binary?.[l?.platform??``]:G===`npx`?v?.distribution.npx:v?.distribution.uvx;async function q(r){if(r.preventDefault(),e&&!z){B(!0),H(null);try{let r=o?{custom:{displayName:E.trim(),command:j.trim(),args:JSON.parse(N),env:JSON.parse(F)}}:{registryId:v?.id,version:v?.version,distribution:G,displayName:w.trim()||v?.name},i=await c(e,`/v1/providers/acp-registry`,{method:`POST`,body:JSON.stringify(r)});t(i.settings),n(i.providerId),a(!1),y(null),T(``),O(``),M(``),P(`[]`),I(`{}`)}catch(e){H(e instanceof Error?e.message:`Could not add ACP agent.`)}finally{B(!1)}}}function J(){z||a(!1)}return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`button`,{type:`button`,className:`settings-secondary acp-add-button`,disabled:!e||z,onClick:()=>a(!0),children:[(0,A.jsx)(d,{size:16,"aria-hidden":`true`}),` ACP Agent`]}),i?(0,A.jsxs)(S,{ariaLabel:`Add ACP agent`,backdropClassName:`git-dialog-backdrop provider-dialog-backdrop`,className:`git-dialog provider-details-dialog acp-agent-dialog`,dismissDisabled:z,onClose:J,children:[(0,A.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close`,disabled:z,onClick:J,children:(0,A.jsx)(D,{size:18})}),(0,A.jsx)(`div`,{className:`provider-dialog-header`,children:(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h2`,{children:`Add ACP agent`}),(0,A.jsx)(`span`,{children:`Choose from the registry or register your own agent.`})]})}),(0,A.jsxs)(`div`,{className:`surface-tabs`,role:`tablist`,"aria-label":`Agent registration`,onKeyDown:e=>{if(z||![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=e.key===`Home`?!1:e.key===`End`||!o;s(t),H(null),e.currentTarget.querySelectorAll(`[role="tab"]`)[+!!t]?.focus()},children:[(0,A.jsx)(`button`,{type:`button`,role:`tab`,id:`${r}-registry-tab`,"aria-controls":`${r}-panel`,"aria-selected":!o,tabIndex:o?-1:0,disabled:z,onClick:()=>{s(!1),H(null)},children:`Registry`}),(0,A.jsx)(`button`,{type:`button`,role:`tab`,id:`${r}-custom-tab`,"aria-controls":`${r}-panel`,"aria-selected":o,tabIndex:o?0:-1,disabled:z,onClick:()=>{s(!0),H(null)},children:`Custom agent`})]}),(0,A.jsxs)(`div`,{className:`provider-dialog-body`,role:`tabpanel`,id:`${r}-panel`,"aria-labelledby":`${r}-${o?`custom`:`registry`}-tab`,children:[(0,A.jsx)(`p`,{children:o?`Register an installed agent using its ACP executable and launch settings.`:`Browse agents from the Agent Client Protocol registry.`}),V?(0,A.jsx)(C,{error:V}):null,(0,A.jsxs)(`form`,{className:`provider-card-form`,onSubmit:e=>void q(e),children:[o?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Name`}),(0,A.jsx)(`input`,{required:!0,maxLength:160,value:E,disabled:z,onChange:e=>O(e.target.value),placeholder:`My ACP agent`})]}),(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`ACP executable`}),(0,A.jsx)(`input`,{required:!0,value:j,disabled:z,onChange:e=>M(e.target.value),placeholder:`Executable from PATH or absolute path`})]}),(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Arguments (JSON array)`}),(0,A.jsx)(`textarea`,{value:N,disabled:z,onChange:e=>P(e.target.value),placeholder:`["--acp"]`})]}),(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Environment overrides (JSON object)`}),(0,A.jsx)(`textarea`,{value:F,disabled:z,onChange:e=>I(e.target.value)})]}),(0,A.jsx)(`small`,{children:`Overrides are saved in your local configuration. Inherited environment variables do not need to be entered here.`})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`acp-registry-search`,children:[(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Search registry`}),(0,A.jsx)(`input`,{value:h,disabled:z,onChange:e=>g(e.target.value),placeholder:`Search agents`})]}),(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:L||z,onClick:()=>m(e=>e+1),"aria-label":`Refresh ACP registry`,children:(0,A.jsx)(f,{size:14})})]}),L?(0,A.jsxs)(`p`,{role:`status`,children:[(0,A.jsx)(_,{size:16,className:`settings-spin`}),` Loading registry…`]}):null,(0,A.jsxs)(`div`,{className:`acp-registry-content`,children:[l?(0,A.jsxs)(`div`,{className:`acp-registry-list`,role:`group`,"aria-label":`ACP registry agents`,children:[W.map(e=>(0,A.jsxs)(`button`,{type:`button`,className:`acp-registry-entry`,disabled:z,"aria-pressed":v?.id===e.id,onClick:()=>{y(e),x(``),T(e.name)},children:[(0,A.jsxs)(`strong`,{children:[e.name,` `,(0,A.jsx)(`small`,{children:e.version})]}),(0,A.jsx)(`span`,{children:e.description}),e.supported?null:(0,A.jsxs)(`small`,{children:[`No distribution for `,l.platform,`; use a custom command.`]})]},e.id)),W.length?null:(0,A.jsx)(`p`,{className:`acp-registry-empty`,children:`No agents match your search.`})]}):null,v?(0,A.jsxs)(`div`,{className:`acp-install-summary`,children:[(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Connection name`}),(0,A.jsx)(`input`,{value:w,disabled:z,onChange:e=>T(e.target.value)})]}),U.length?(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Distribution`}),(0,A.jsx)(`select`,{value:G,disabled:z,onChange:e=>x(e.target.value),children:U.map(e=>(0,A.jsx)(`option`,{value:e,children:e===`binary`?`Binary for ${l?.platform}`:e},e))})]}):null,K?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`code`,{children:G===`binary`?K.archive:`${G} ${K.package} ${(K.args??[]).join(` `)}`}),(0,A.jsxs)(`p`,{children:[G===`binary`?`Adding downloads and installs this version locally.`:`Connecting runs ${G}, which downloads this package version if needed.`,` The agent uses its own authentication and model catalog.`]})]}):null,v.website||v.repository?(0,A.jsx)(`a`,{href:v.website??v.repository,target:`_blank`,rel:`noreferrer`,children:`Agent documentation`}):null]}):null,!v&&l?(0,A.jsx)(`div`,{className:`acp-registry-hint`,children:`Select an agent to see its installation options.`}):null]})]}),(0,A.jsxs)(`div`,{className:`acp-registration-actions`,children:[(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:z,onClick:J,children:`Cancel`}),(0,A.jsx)(`button`,{className:`settings-primary`,disabled:z||!e||(o?!E.trim()||!j.trim():!v||!G),children:z?`Adding agent…`:`Add and connect`})]})]})]})]}):null]})}function M(e){let t=(0,k.useRef)(null),n=(0,k.useRef)(e);return n.current=e,(0,k.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null,r=()=>[...t.current?.querySelectorAll(`button:not(:disabled), input:not(:disabled), select:not(:disabled), a[href], [tabindex="0"]`)??[]].filter(e=>e.getClientRects().length>0);r()[0]?.focus();let i=e=>{if(document.querySelector(`.native-setup-terminal`)||(e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),n.current()),e.key!==`Tab`))return;let t=r(),i=t[0],a=t.at(-1);e.shiftKey&&document.activeElement===i?(e.preventDefault(),a?.focus()):!e.shiftKey&&document.activeElement===a&&(e.preventDefault(),i?.focus())};return document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`keydown`,i),e?.isConnected&&e.focus()}},[]),t}function N(e,t,n){let{recovery:r}=x(e),i=(0,k.useRef)(r);(0,k.useEffect)(()=>{let e=i.current!==r;i.current=r,e&&t&&m(t)&&n()},[r,t,n])}function P({connection:e,onChanged:t}){let[n,r]=(0,k.useState)(!1),[i,a]=(0,k.useState)([]),[o,s]=(0,k.useState)(null),[l,u]=(0,k.useState)(null),[d,f]=(0,k.useState)(0);N(e,o,()=>f(e=>e+1)),(0,k.useEffect)(()=>{let t=new AbortController;return a([]),s(null),e&&c(e,`/v1/url-models/list`,{signal:t.signal}).then(e=>{t.signal.aborted||a(e.models)}).catch(e=>{t.signal.aborted||s(e instanceof Error?e.message:`Could not load your model connections.`)}),()=>t.abort()},[e,d]);async function p(n){if(e&&!l){u(n.id),s(null);try{let r=await c(e,`/v1/url-models/remove`,{method:`POST`,body:JSON.stringify({id:n.id})});a(r.models),await t()}catch(e){s(e instanceof Error?e.message:`Could not remove the connection.`)}finally{u(null)}}}return(0,A.jsxs)(`section`,{"aria-label":`Models from URL`,className:`url-model-connections`,children:[(0,A.jsxs)(`div`,{className:`provider-connections-intro`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h2`,{children:`Models from URL`}),(0,A.jsx)(`p`,{children:`Connect a model endpoint and select it in your chats. `})]}),(0,A.jsx)(`button`,{type:`button`,className:`settings-primary`,disabled:!e,onClick:()=>r(!0),children:`Add model`})]}),o?(0,A.jsx)(C,{error:o,children:(0,A.jsx)(`button`,{type:`button`,onClick:()=>f(e=>e+1),children:`Retry`})}):null,(0,A.jsx)(`div`,{className:`provider-connections-grid`,children:i.map(e=>(0,A.jsxs)(`div`,{className:`provider-connection-card`,children:[(0,A.jsx)(`strong`,{children:e.name}),(0,A.jsx)(`p`,{className:`url-model-endpoint`,children:e.endpoint}),(0,A.jsxs)(`p`,{children:[e.providerName,` · `,e.model,` · `,e.hasToken?`Key saved securely`:`No API key`]}),(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:!!l,onClick:()=>void p(e),children:l===e.id?`Removing…`:`Remove model`})]},e.id))}),n&&e?(0,A.jsx)(F,{providerNames:[...new Set(i.map(e=>e.providerName))],connection:e,onClose:()=>r(!1),onSaved:async e=>{a(e.models),await t(),r(!1)}}):null]})}function F({connection:e,providerNames:t,onClose:n,onSaved:r}){let i=M(n),[a,o]=(0,k.useState)(t[0]?`provider:${t[0]}`:`__new__`),[s,l]=(0,k.useState)(``),u=a===`__new__`?s.trim():a.slice(9),[d,f]=(0,k.useState)(``),[p,m]=(0,k.useState)(``),[h,g]=(0,k.useState)(``),[_,v]=(0,k.useState)(``),[y,b]=(0,k.useState)(null),[x,S]=(0,k.useState)(!1),[T,E]=(0,k.useState)(null),O=(0,k.useRef)(null);(0,k.useEffect)(()=>()=>O.current?.abort(),[]);function j(){b(null),v(``),E(null)}async function N(t){if(O.current)return;let n=new AbortController;O.current=n,S(!0),E(null);try{if(t){let t=await c(e,`/v1/url-models/save`,{method:`POST`,signal:n.signal,body:JSON.stringify({endpoint:d.trim(),token:p,name:h.trim(),model:_,providerName:u})});n.signal.aborted||(m(``),await r(t))}else{let t=await c(e,`/v1/url-models/inspect`,{method:`POST`,signal:n.signal,body:JSON.stringify({endpoint:d.trim(),token:p})});n.signal.aborted||(b(t),v(t.models[0]??``),h.trim()||g(t.models[0]??``))}}catch(e){n.signal.aborted||E(e instanceof Error?e.message:`Connection failed.`)}finally{O.current=null,n.signal.aborted||S(!1)}}function P(e){e.preventDefault(),N(!!y)}return(0,A.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,A.jsxs)(`section`,{ref:i,className:`git-dialog provider-details-dialog`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`url-model-title`,tabIndex:-1,children:[(0,A.jsxs)(`div`,{className:`provider-dialog-header`,children:[(0,A.jsx)(`h2`,{id:`url-model-title`,children:`Add model`}),(0,A.jsx)(`button`,{type:`button`,className:`git-dialog-close`,"aria-label":`Close Add model`,onClick:n,children:(0,A.jsx)(D,{size:18})})]}),(0,A.jsxs)(`form`,{className:`url-model-connection-form`,onSubmit:P,children:[(0,A.jsxs)(`div`,{className:`url-model-field`,children:[(0,A.jsx)(`span`,{children:`Provider`}),(0,A.jsx)(w,{label:`Provider`,value:a,disabled:x,floating:!0,options:[...t.map(e=>({value:`provider:${e}`,label:e})),{value:`__new__`,label:`Create new provider`,icon:`plus`,separatorBefore:!!t.length}],onChange:o})]}),a===`__new__`?(0,A.jsxs)(`label`,{children:[`Provider name`,(0,A.jsx)(`input`,{required:!0,maxLength:100,placeholder:`My model provider`,value:s,disabled:x,onChange:e=>l(e.target.value)})]}):null,(0,A.jsxs)(`label`,{children:[`Endpoint URL`,(0,A.jsx)(`input`,{type:`url`,required:!0,placeholder:`https://api.example.com/v1`,value:d,disabled:x,onChange:e=>{f(e.target.value),j()}})]}),(0,A.jsxs)(`label`,{children:[`API key `,(0,A.jsx)(`span`,{className:`settings-footnote`,children:`Optional for endpoints that do not require one`}),(0,A.jsx)(`input`,{type:`password`,autoComplete:`new-password`,spellCheck:!1,value:p,disabled:x,placeholder:`API key`,onChange:e=>{m(e.target.value),j()}})]}),y?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`url-model-field`,children:[(0,A.jsx)(`span`,{children:`Model`}),(0,A.jsx)(w,{label:`Model`,value:_,disabled:x,floating:!0,searchable:!0,options:y.models.map(e=>({value:e,label:e})),onChange:e=>{v(e),g(e)}})]}),(0,A.jsxs)(`label`,{children:[`Display name`,(0,A.jsx)(`input`,{required:!0,maxLength:100,value:h,disabled:x,onChange:e=>g(e.target.value)})]})]}):(0,A.jsx)(`p`,{className:`settings-footnote`,children:`Use the model service’s API base URL. Keys are encrypted on this machine.`}),T?(0,A.jsx)(C,{error:T}):null,(0,A.jsxs)(`div`,{className:`url-model-connection-actions`,children:[(0,A.jsx)(`button`,{className:`settings-primary`,type:`submit`,disabled:x||!u||!!y&&(!_||!h.trim()),children:x?`Connecting…`:y?`Add model`:`Fetch models`}),(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,onClick:n,children:`Cancel`})]})]})]})})}var I=[`codex`,`claude-code`,`grok-build`,`opencode`];function L(e){return r(e)||[`claude-code`,`grok-build`,`opencode`].includes(e)}var R={codex:{executable:`codex`,install:`https://developers.openai.com/codex/cli`},"claude-code":{executable:`claude`,install:`https://code.claude.com/docs/en/setup`},"grok-build":{executable:`grok`,install:`https://docs.x.ai/build/cli`},opencode:{executable:`opencode`,install:`https://opencode.ai/docs`}},z=(e,t)=>JSON.stringify([e||``,t||``]);function B({connection:e,providerId:t,config:n,status:a,cachedModels:o,busy:s,onCheck:l}){let[u,d]=(0,k.useState)(null),[p,m]=(0,k.useState)(null),[v,y]=(0,k.useState)(null),[x,S]=(0,k.useState)(!1),[w,T]=(0,k.useState)(n.binaryPath??``),[E,D]=(0,k.useState)(n.sourceHome??``),O=(0,k.useRef)(null),j=(0,k.useRef)(null),M=(0,k.useRef)(l);M.current=l;let N=r(t),P=R[t]??{executable:n.acp?.command??``,install:n.acp?.installUrl??``},[F,I]=(0,k.useState)(n.acp?.command??``),[B,V]=(0,k.useState)(JSON.stringify(n.acp?.args??[])),[H,U]=(0,k.useState)(JSON.stringify(n.acp?.env??{},null,2)),W=z(n.binaryPath,n.sourceHome)+JSON.stringify(n.acp),G=z(w.trim(),E.trim())!==z(n.binaryPath,n.sourceHome)||N&&(F!==n.acp?.command||B!==JSON.stringify(n.acp?.args??[])||H!==JSON.stringify(n.acp?.env??{},null,2)),K=s||x||u!==null,q=(0,k.useCallback)(async e=>{O.current?.abort();let n=new AbortController;O.current=n;let r=setTimeout(()=>n.abort(Error(`Connection check timed out. Retry when the agent is available.`)),45e3);S(!0),m(null);try{let r=await M.current(t,n.signal,e);O.current===n&&!n.signal.aborted&&y(r)}catch(e){O.current===n&&m(e instanceof Error?e.message:`Could not check the agent.`)}finally{clearTimeout(r),O.current===n&&(O.current=null,S(!1))}},[t]);(0,k.useEffect)(()=>{I(n.acp?.command??``),V(JSON.stringify(n.acp?.args??[])),U(JSON.stringify(n.acp?.env??{},null,2)),T(n.binaryPath??``),D(n.sourceHome??``),j.current===W?j.current=null:(d(null),y(null),q())},[q,W,n.binaryPath,n.sourceHome,e?.serverUrl,e?.token]),(0,k.useEffect)(()=>()=>{let e=O.current;O.current=null,e?.abort()},[]);async function J(e){if(e.preventDefault(),G&&!K){try{let e=N&&n.acp?{...n.acp,command:F.trim(),args:JSON.parse(B),env:JSON.parse(H)}:n.acp;j.current=z(w.trim(),E.trim())+JSON.stringify(e),await q({binaryPath:w.trim()||null,sourceHome:E.trim()||null,...N?{acp:e}:{}})}catch(e){m(e instanceof Error?e.message:`Invalid command configuration.`)}j.current=null}}async function Y(){if(!e||v?.status!==`needs_login`)return;let n=new AbortController,r=setTimeout(()=>n.abort(),1e4);O.current?.abort(),O.current=n,S(!0),m(null);try{let r=await c(e,`/v1/providers/${t}/native-setup`,{method:`POST`,body:JSON.stringify({action:`login`}),signal:n.signal});O.current===n&&!n.signal.aborted&&d(r.command)}catch(e){O.current===n&&m(e instanceof Error?e.message:`Could not open native login.`)}finally{clearTimeout(r),O.current===n&&(O.current=null,S(!1))}}async function X(n){if(!e||K||G)return;S(!0),m(null);let r=new AbortController;O.current=r;let i=setTimeout(()=>r.abort(Error(`Authentication timed out. Use the agent’s login and refresh.`)),185e3);try{let i=await c(e,`/v1/providers/${t}/native-setup`,{method:`POST`,body:JSON.stringify({action:`authenticate`,authMethodId:n}),signal:r.signal});r.signal.aborted||(j.current=z(i.settings.providers[t]?.binaryPath,i.settings.providers[t]?.sourceHome)+JSON.stringify(i.settings.providers[t]?.acp),y(i),await q(),j.current=null)}catch(e){r.signal.aborted||m(e instanceof Error?e.message:`Authentication failed.`)}finally{clearTimeout(i),O.current===r&&(O.current=null,S(!1))}}let Z=v?.settings.modelCaches[t]?.models??o,Q=[...new Set(Z.map(e=>i(e.displayName||e.id)))],$=p??v?.error;return(0,A.jsxs)(`div`,{className:`provider-dialog-body native-agent-setup`,children:[(0,A.jsx)(`p`,{children:N?`Uses the configured ${a.displayName} ACP command and its own login.`:`Uses your existing ${a.displayName} installation and login.`}),(0,A.jsxs)(`div`,{className:`native-connection-status`,children:[(0,A.jsx)(`div`,{role:`status`,"aria-live":`polite`,children:x?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(_,{size:16,className:`settings-spin`}),(0,A.jsx)(`span`,{children:`Checking connection…`})]}):v?.status===`ready`?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(g,{size:16}),(0,A.jsx)(`span`,{children:n.enabled?`Connected`:`Connected, disabled for chat`})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(h,{size:16}),(0,A.jsx)(`span`,{children:v?.status===`missing`?`Installation not found`:v?.status===`needs_login`?`Sign in required`:`Connection needs attention`})]})}),(0,A.jsxs)(`button`,{type:`button`,className:`settings-secondary`,disabled:K||!e,onClick:()=>void q(),title:`Refresh connection`,"aria-label":`Refresh connection`,children:[(0,A.jsx)(f,{size:14}),` Refresh`]})]}),$?(0,A.jsx)(C,{error:$}):null,Q.length?(0,A.jsxs)(`section`,{className:`native-model-section`,"aria-label":`Available models`,children:[(0,A.jsxs)(`div`,{className:`native-model-heading`,children:[(0,A.jsx)(`h3`,{children:`Models`}),(0,A.jsxs)(`small`,{children:[Q.length,` available`]})]}),(0,A.jsx)(`div`,{className:`native-model-list`,tabIndex:0,"aria-label":`Models`,role:`list`,children:Q.map(e=>(0,A.jsx)(`span`,{role:`listitem`,children:e},e))}),(0,A.jsx)(`small`,{children:`Choose a model when starting a chat.`})]}):null,v?.version?(0,A.jsx)(`small`,{className:`native-agent-version`,children:v.version}):null,!N&&v?.status===`needs_login`?(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:K||G||!e,title:G?`Save changes before signing in to a different installation`:void 0,onClick:()=>void Y(),children:`Sign in`}):null,N&&v?.authMethods?.length?(0,A.jsx)(`div`,{className:`acp-auth-methods`,children:v.authMethods.map(t=>t.type===`terminal`?(0,A.jsxs)(`p`,{children:[`Use `,t.name,` in the agent’s own terminal, then refresh this connection.`]},t.id):(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:K||G||!e,onClick:()=>void X(t.id),title:t.description,children:t.name},t.id))}):null,v?.status===`missing`&&P.install?(0,A.jsxs)(`p`,{children:[(0,A.jsxs)(`a`,{href:P.install,target:`_blank`,rel:`noreferrer`,children:[`Install `,a.displayName]}),`, then refresh this connection.`]}):null,t===`codex`&&v?.status===`missing`?(0,A.jsx)(`p`,{children:`OpenPond needs the Codex CLI installed separately from ChatGPT.`}):null,(p||v?.status===`unavailable`)&&!x?(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:K||!e,onClick:()=>void q(),children:`Retry`}):null,u&&e?(0,A.jsx)(b,{connection:e,command:u,onComplete:()=>{d(null),q()},onClose:()=>{d(null),q()}}):null,L(t)?(0,A.jsxs)(`details`,{children:[(0,A.jsx)(`summary`,{children:`Advanced`}),(0,A.jsxs)(`form`,{className:`provider-card-form`,onSubmit:e=>void J(e),children:[N?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`ACP command`}),(0,A.jsx)(`input`,{value:F,disabled:K,onChange:e=>I(e.target.value)})]}),(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Arguments (JSON array)`}),(0,A.jsx)(`textarea`,{value:B,disabled:K,onChange:e=>V(e.target.value)})]}),(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Environment overrides (JSON object)`}),(0,A.jsx)(`textarea`,{value:H,disabled:K,onChange:e=>U(e.target.value)})]})]}):null,(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Executable override`}),(0,A.jsx)(`input`,{value:w,placeholder:`${P.executable} from PATH, or an absolute path`,disabled:K,onChange:e=>T(e.currentTarget.value)})]}),(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:N?`Home directory`:`Source home`}),(0,A.jsx)(`input`,{value:E,placeholder:`Use the agent's existing home`,disabled:K,onChange:e=>D(e.currentTarget.value)})]}),G?(0,A.jsx)(`button`,{className:`settings-secondary`,disabled:K||!e,children:`Save changes`}):null]})]}):null]})}var V=[{value:`local_secret`,label:`Saved key`,description:`Encrypted on this machine`},{value:`env`,label:`Environment variable`,description:`Read by the local server`}],H=120,U=new Set([`openai`,`xai`,`zai`]),W=new Set([`chatgpt-subscription`]),G=`https://api.z.ai/api/coding/paas/v4`;function K(e){return e.split(/[\n,]/).map(e=>e.trim()).filter(Boolean)}function q(e){return e?e.available?`Ready`:e.credential.connected?`Configured`:e.credential.lastError||e.lastError?`Needs attention`:e.id===`codex`?`Needs Codex login`:L(e.id)?`Check connection`:e.routing.localByok?`Needs key`:e.enabled?`Enabled`:`Off`:`Unknown`}function J(e){return e?e.available?`ready`:e.credential.connected?`configured`:e.credential.lastError||e.lastError||e.id===`codex`?`warning`:`muted`:`unknown`}function Y(e){return e.credential.connected?e.credential.redacted?e.credential.redacted:e.credential.source===`native_agent_login`?`Native login`:e.credential.source===`chatgpt_subscription`?`ChatGPT subscription`:e.credential.source:e.credential.lastError??`Not connected`}function X(e){return e?.trim().replace(/\/+$/,``)??``}function Z(e,t){return e.id===`zai`&&X(t.providers.zai?.baseUrl)===G}function Q(e){return e!==`openpond`&&o(e)}function $(e){return e?U.has(e.id)||e.credentialModes.some(e=>W.has(e)):!1}function ee(e){return $(e)?[`api`,`subscription`]:[`api`]}function te(e,t){return!e||!t||!$(e)?`api`:e.credential.source===`chatgpt_subscription`||Z(e,t)?`subscription`:`api`}function ne(e){if(!e)return`Never`;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function re(e,t,n=H){let r=[],i=new Set,a=new Set(t.map(e=>e.trim()).filter(Boolean)),o=e=>{i.has(e.value)||r.length>=n||(i.add(e.value),r.push(e))};for(let t of e)a.has(t.value)&&o(t);for(let t of e)o(t);return r}function ie({onProvidersChanged:e,checkNativeProvider:t,connection:n,account:i,codex:a,providers:o,providerBusy:s,validationMessage:l,deleteProviderCredential:u,loadProviderModels:d,refreshProviderModels:f,saveProviderConfig:p,saveProviderCredential:m,startOpenAiSubscriptionAuth:h,validateProvider:g}){let[b,x]=(0,k.useState)(null),[S,w]=(0,k.useState)(null),[D,O]=(0,k.useState)(null),M=[...I,...Object.keys(o?.statuses??{}).filter(r)].filter(e=>o?.statuses[e]),N=D?o?.statuses[D]??null:null;function F(e,t){O(e),t&&d(e)}return(0,A.jsxs)(`section`,{className:`account-settings provider-connections-settings`,children:[(0,A.jsxs)(`div`,{className:`provider-connections-heading`,children:[(0,A.jsx)(`h1`,{children:`Providers`}),(0,A.jsx)(j,{connection:n,onChanged:e,onAdded:e=>O(e)})]}),(0,A.jsxs)(`div`,{className:`provider-connections-intro`,children:[(0,A.jsx)(`p`,{children:`Manage your installed agents and login. Sync conversations from Continuous learning.`}),(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,onClick:()=>void E({kind:`view`,view:`apps`}),children:`Apps & learning`})]}),o?(0,A.jsx)(`div`,{className:`provider-connections-panel`,children:M.length>0?(0,A.jsx)(`div`,{className:`provider-connections-grid`,role:`list`,children:M.map(t=>{let i=o.statuses[t],a=o.modelCaches[t],l=i.modelIds.length>0&&(a?.models.length??0)<i.modelIds.length,u=s?.startsWith(`${t}:`)??!1,d=Q(t),f=t===`openpond`||!!o.providers[t]?.enabled;return(0,A.jsxs)(`div`,{className:`provider-connection-card`,role:`listitem`,children:[(0,A.jsxs)(`div`,{className:`provider-connection-identity`,children:[(0,A.jsx)(`strong`,{children:i.displayName}),(0,A.jsxs)(`div`,{className:`provider-connection-controls`,children:[t===`codex`||t===`claude-code`?(0,A.jsx)(y,{connection:n,provider:t}):null,(0,A.jsxs)(`label`,{className:`provider-toggle`,"aria-label":`Enable ${i.displayName}`,children:[(0,A.jsx)(`input`,{type:`checkbox`,checked:f,disabled:!d||u,onChange:e=>{p(t,{enabled:e.currentTarget.checked})}}),(0,A.jsx)(`span`,{})]})]})]}),(0,A.jsxs)(`div`,{className:`provider-connection-status ${J(i)}`,children:[u?(0,A.jsx)(_,{size:13,className:`settings-spin`}):null,(0,A.jsx)(`span`,{children:q(i)})]}),t===`codex`||t===`claude-code`?(0,A.jsx)(v,{connection:n,provider:t}):null,(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,onClick:()=>{F(t,l)},children:`Manage`}),r(t)?(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:b!==null||!n,onClick:async()=>{if(n){x(t),w(null);try{e((await c(n,`/v1/providers/acp-registry`,{method:`DELETE`,body:JSON.stringify({providerId:t})})).settings),D===t&&O(null)}catch(e){w(e instanceof Error?e.message:`Could not remove ACP agent.`)}finally{x(null)}}},children:b===t?`Removing…`:`Remove connection`}):null]},t)})}):(0,A.jsx)(`div`,{className:`empty-account-list provider-manager-empty`,children:(0,A.jsx)(`strong`,{children:`No agent providers available`})})}):null,S?(0,A.jsx)(C,{error:S}):null,(0,A.jsx)(P,{connection:n,onChanged:async()=>{n&&e(await T.providerSettings(n))}}),l?(0,A.jsxs)(`div`,{className:`settings-footnote provider-validation-message`,children:[(0,A.jsx)(`span`,{children:`Last validation`}),(0,A.jsx)(`strong`,{children:l})]}):null,D&&N&&o?(0,A.jsx)(ae,{checkNativeProvider:t,connection:n,account:i,codex:a,providerId:D,providerBusy:s,settings:o,status:N,onClose:()=>O(null),onDeleteCredential:u,onRefreshModels:f,onSaveConfig:p,onSaveCredential:m,onStartOpenAiSubscriptionAuth:h,onValidate:g}):null]})}function ae({checkNativeProvider:e,connection:t,account:n,codex:i,providerId:a,providerBusy:s,settings:c,status:l,onClose:u,onDeleteCredential:d,onRefreshModels:f,onSaveConfig:p,onSaveCredential:m,onStartOpenAiSubscriptionAuth:g,onValidate:_,conversationPanel:v}){let y=M(u),[b,x]=(0,k.useState)(`setup`),S=(0,k.useId)(),C=c.providers[a],w=c.modelCaches[a],T=(0,k.useId)(),E=(0,k.useRef)(a),O=Math.max(w?.models.length??0,l.modelIds.length),j=l.routing.localByok&&o(a)&&a!==`codex`&&!L(a),N=(0,k.useMemo)(()=>j?ee(l):[],[j,l]),P=N.includes(`subscription`),[F,R]=(0,k.useState)(()=>te(l,c)),z=j&&F===`subscription`&&P,V=e=>`${T}-${e}-panel`,H=a===`codex`?`Codex app server`:C?.baseUrl??(a===`openpond`?n?.chatApiBaseUrl:null)??`Not set`;return(0,k.useEffect)(()=>{E.current===a?j&&!N.includes(F)&&R(`api`):(E.current=a,R(te(l,c)))},[F,N,j,a,c,l]),(0,A.jsx)(`div`,{className:`git-dialog-backdrop provider-dialog-backdrop`,role:`presentation`,onMouseDown:u,children:(0,A.jsxs)(`section`,{ref:y,className:`git-dialog provider-details-dialog${v?` agent-setup-dialog`:``}`,role:`dialog`,"aria-modal":`true`,"aria-label":`${l.displayName} provider details`,onMouseDown:e=>e.stopPropagation(),children:[(0,A.jsx)(`button`,{className:`git-dialog-close`,type:`button`,title:`Close`,"aria-label":`Close`,onClick:u,children:(0,A.jsx)(D,{size:16})}),(0,A.jsxs)(`div`,{className:`provider-dialog-header`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h2`,{children:l.displayName}),(0,A.jsx)(`span`,{children:I.includes(a)||r(a)?`Installation and login`:`API and subscription settings`})]}),(0,A.jsx)(`div`,{className:`provider-state-pill ${J(l)}`,children:q(l)})]}),(I.includes(a)||r(a))&&C?(0,A.jsxs)(`label`,{className:`provider-chat-toggle`,children:[(0,A.jsxs)(`span`,{className:`provider-toggle`,children:[(0,A.jsx)(`input`,{type:`checkbox`,"aria-label":`Enable ${l.displayName} for chat`,checked:C.enabled,disabled:s!==null,onChange:e=>void p(a,{enabled:e.target.checked})}),(0,A.jsx)(`span`,{"aria-hidden":`true`})]}),(0,A.jsxs)(`span`,{children:[`Use `,l.displayName,` for chats`]})]}):null,v?(0,A.jsxs)(`div`,{className:`surface-tabs provider-agent-tabs`,role:`tablist`,"aria-label":`Agent settings`,onKeyDown:e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=b===`setup`?`sync`:`setup`;x(t),e.currentTarget.querySelector(`#${CSS.escape(`${S}-${t}`)}`)?.focus()},children:[(0,A.jsx)(`button`,{type:`button`,role:`tab`,id:`${S}-setup`,"aria-controls":`${S}-setup-panel`,"aria-selected":b===`setup`,tabIndex:b===`setup`?0:-1,onClick:()=>x(`setup`),children:`Agent setup`}),(0,A.jsx)(`button`,{type:`button`,role:`tab`,id:`${S}-sync`,"aria-controls":`${S}-sync-panel`,"aria-selected":b===`sync`,tabIndex:b===`sync`?0:-1,onClick:()=>x(`sync`),children:`Conversation sync`})]}):null,(0,A.jsxs)(`div`,{hidden:b!==`setup`,id:`${S}-setup-panel`,role:v?`tabpanel`:void 0,"aria-labelledby":v?`${S}-setup`:void 0,children:[j?(0,A.jsx)(`div`,{className:`surface-tabs provider-mode-tabs`,role:`tablist`,"aria-label":`${l.displayName} mode`,children:N.map(e=>(0,A.jsx)(`button`,{type:`button`,role:`tab`,id:`${T}-${e}`,className:F===e?`active`:void 0,"aria-selected":F===e,"aria-controls":V(e),onClick:()=>R(e),children:e===`api`?`API`:`Subscription`},e))}):null,I.includes(a)||r(a)?null:(0,A.jsxs)(`dl`,{className:`provider-dialog-stats`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`dt`,{children:`Credential`}),(0,A.jsx)(`dd`,{title:Y(l),children:Y(l)})]}),z?null:(0,A.jsxs)(A.Fragment,{children:[L(a)?null:(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`dt`,{children:`Base URL`}),(0,A.jsx)(`dd`,{title:H,children:H})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`dt`,{children:`Model`}),(0,A.jsx)(`dd`,{title:C?.defaultModel??l.defaultModel??void 0,children:C?.defaultModel??l.defaultModel??`Not set`})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`dt`,{children:`Models`}),(0,A.jsxs)(`dd`,{title:w?.lastError??void 0,children:[O,` cached, `,ne(w?.fetchedAt)]})]})]}),a===`codex`?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`dt`,{children:`Account`}),(0,A.jsx)(`dd`,{title:i?.account?.email??void 0,children:i?.account?.label??i?.account?.email??`Not signed in`})]}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`dt`,{children:`Binary`}),(0,A.jsx)(`dd`,{title:i?.binaryPath??void 0,children:i?.binaryPath??`Not found`})]})]}):null,l.credential.lastError||w?.lastError||l.lastError?(0,A.jsxs)(`div`,{className:`provider-dialog-error`,children:[(0,A.jsx)(`dt`,{children:`Error`}),(0,A.jsx)(`dd`,{title:l.credential.lastError??w?.lastError??l.lastError??void 0,children:l.credential.lastError??w?.lastError??l.lastError})]}):null]}),a===`codex`?(0,A.jsxs)(A.Fragment,{children:[C?(0,A.jsx)(B,{connection:t,providerId:a,config:C,status:l,cachedModels:w?.models??[],busy:s!==null,onCheck:e},a):null,(0,A.jsxs)(`div`,{className:`provider-dialog-body`,children:[(0,A.jsx)(`h3`,{children:`ChatGPT with the OpenPond harness`}),(0,A.jsx)(`p`,{children:`Native Codex and the OpenPond harness keep their own connections. Choose the execution path in the model picker.`}),(0,A.jsx)(`p`,{children:c.statuses.openai?.credential.connected?`OpenPond harness connected`:`OpenPond harness not connected`}),(0,A.jsx)(`button`,{type:`button`,className:`settings-secondary`,disabled:s!==null,onClick:()=>void g(`browser`),children:`Connect ChatGPT for OpenPond`}),(0,A.jsxs)(`button`,{type:`button`,className:`settings-secondary`,disabled:s!==null,onClick:()=>void p(`openai`,{enabled:!c.providers.openai?.enabled}),children:[c.providers.openai?.enabled?`Disable`:`Enable`,` OpenPond harness route`]})]})]}):L(a)&&C?(0,A.jsx)(B,{connection:t,providerId:a,config:C,status:l,cachedModels:w?.models??[],busy:s!==null,onCheck:e},a):j&&C&&w?(0,A.jsx)(oe,{credentialTab:F,credentialTabsId:T,hasSubscriptionTab:P,providerId:a,providerBusy:s,settings:c,status:l,onDeleteCredential:d,onRefreshModels:f,onSaveConfig:p,onSaveCredential:m,onStartOpenAiSubscriptionAuth:g,onValidate:_}):l.routing.localByok&&!o(a)?(0,A.jsxs)(`div`,{className:`provider-dialog-note`,children:[(0,A.jsx)(h,{size:15}),(0,A.jsx)(`span`,{children:`Adapter pending`})]}):null]}),b===`sync`?(0,A.jsx)(`div`,{role:`tabpanel`,id:`${S}-sync-panel`,"aria-labelledby":`${S}-sync`,children:v}):null]})})}function oe({credentialTab:e,credentialTabsId:t,hasSubscriptionTab:n,providerId:r,providerBusy:i,settings:a,status:o,onDeleteCredential:c,onRefreshModels:l,onSaveConfig:d,onSaveCredential:m,onStartOpenAiSubscriptionAuth:h,onValidate:v}){let y=a.providers[r],b=(0,k.useMemo)(()=>s(r,a),[r,a]),x=`provider-models-${r}`,S=(0,k.useRef)(r),[C,T]=(0,k.useState)(y.baseUrl??``),[E,D]=(0,k.useState)(y.defaultModel??``),[j,M]=(0,k.useState)(y.modelOverrides.join(`
|
|
2
|
-
`)),[N,P]=(0,k.useState)({baseUrl:!1,defaultModel:!1,modelOverrides:!1}),[F,I]=(0,k.useState)(`local_secret`),[L,R]=(0,k.useState)(``),[z,B]=(0,k.useState)(``),H=i===`${r}:config`,U=i===`${r}:credential`,W=i===`${r}:validate`,G=i===`${r}:models`,q=i===`openai:credential`,J=r===`openai`,Y=r===`xai`,X=r===`zai`,Z=(e=>`${t}-${e}-panel`)(e),Q=e===`subscription`&&n,$=e===`subscription`&&X?`coding-plan`:`api`,ee=$===`coding-plan`?`Coding Plan key`:`API key`,te=o.credential.connected?$===`coding-plan`?`Replace saved plan key`:`Replace saved key`:ee,ne=$===`coding-plan`?`Save plan key`:`Save key`,ie=(0,k.useMemo)(()=>re(b,[E,...K(j)]),[E,b,j]),ae=Math.max(0,b.length-ie.length);(0,k.useEffect)(()=>{S.current===r?(N.baseUrl||T(y.baseUrl??``),N.defaultModel||D(y.defaultModel??``),N.modelOverrides||M(y.modelOverrides.join(`
|
|
3
|
-
`))):(S.current=r,P({baseUrl:!1,defaultModel:!1,modelOverrides:!1}),T(y.baseUrl??``),D(y.defaultModel??``),M(y.modelOverrides.join(`
|
|
4
|
-
`)))},[y.baseUrl,y.defaultModel,y.modelOverrides,N.baseUrl,N.defaultModel,N.modelOverrides,r]);let oe=F===`env`?!!z.trim():!!L.trim();async function se(e){e.preventDefault(),await d(r,{enabled:!0,baseUrl:C.trim()||null,defaultModel:E.trim()||null,modelOverrides:K(j)}),P({baseUrl:!1,defaultModel:!1,modelOverrides:!1})}async function ce(e){e.preventDefault(),oe&&(F===`env`?await m(r,{source:`env`,envVar:z.trim()}):(await m(r,{source:`local_secret`,value:L}),R(``)))}function le({panel:n=!0}={}){return(0,A.jsxs)(`form`,{className:`provider-credential-panel`,id:n?Z:void 0,role:n?`tabpanel`:void 0,"aria-labelledby":n?`${t}-${e}`:void 0,onSubmit:e=>void ce(e),children:[(0,A.jsxs)(`div`,{className:`provider-card-grid credential-grid`,children:[(0,A.jsxs)(`div`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Credential source`}),(0,A.jsx)(w,{value:F,disabled:U,label:`Credential source`,options:V,onChange:e=>I(e)})]}),F===`env`?(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Environment variable`}),(0,A.jsx)(`input`,{value:z,disabled:U,placeholder:`PROVIDER_API_KEY`,onChange:e=>B(e.currentTarget.value)})]}):(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:ee}),(0,A.jsx)(`input`,{type:`password`,value:L,disabled:U,placeholder:te,autoComplete:`off`,onChange:e=>R(e.currentTarget.value)})]})]}),(0,A.jsxs)(`div`,{className:`settings-button-row`,children:[(0,A.jsxs)(`button`,{className:`settings-secondary`,disabled:U||!oe,children:[U?(0,A.jsx)(_,{size:14,className:`settings-spin`}):(0,A.jsx)(O,{size:14}),(0,A.jsx)(`span`,{children:U?`Saving`:ne})]}),(0,A.jsx)(`button`,{type:`button`,className:`settings-icon-button ghost`,"aria-label":`Delete ${o.displayName} credential`,disabled:U||!o.credential.connected,onClick:()=>void c(r),children:(0,A.jsx)(u,{size:15})})]})]})}function ue(){return J?(0,A.jsxs)(`div`,{className:`provider-subscription-panel`,id:Z,role:`tabpanel`,"aria-labelledby":`${t}-subscription`,children:[(0,A.jsxs)(`div`,{className:`provider-dialog-note codex-provider-note`,children:[(0,A.jsx)(O,{size:15}),(0,A.jsx)(`span`,{children:`ChatGPT subscription auth opens OpenAI login and stores a refresh token locally. API keys remain available under the API tab for raw Platform billing.`})]}),(0,A.jsxs)(`div`,{className:`settings-button-row`,children:[(0,A.jsxs)(`button`,{type:`button`,className:`settings-secondary`,disabled:q,onClick:()=>void h(`browser`),children:[q?(0,A.jsx)(_,{size:14,className:`settings-spin`}):(0,A.jsx)(O,{size:14}),(0,A.jsx)(`span`,{children:q?`Opening`:`Connect ChatGPT`})]}),(0,A.jsxs)(`button`,{type:`button`,className:`settings-secondary`,disabled:q,onClick:()=>void h(`device`),children:[q?(0,A.jsx)(_,{size:14,className:`settings-spin`}):(0,A.jsx)(O,{size:14}),(0,A.jsx)(`span`,{children:`Device code`})]}),(0,A.jsx)(`button`,{type:`button`,className:`settings-icon-button ghost`,"aria-label":`Delete ${o.displayName} credential`,disabled:q||!o.credential.connected,onClick:()=>void c(r),children:(0,A.jsx)(u,{size:15})})]})]}):Y?(0,A.jsx)(`div`,{className:`provider-subscription-panel`,id:Z,role:`tabpanel`,"aria-labelledby":`${t}-subscription`,children:(0,A.jsxs)(`div`,{className:`provider-dialog-note xai-provider-note`,children:[(0,A.jsx)(O,{size:15}),(0,A.jsx)(`span`,{children:`SuperGrok includes Grok app and Grok Build access. xAI API calls here still use an xAI Console API key with API credits or invoiced billing, so there is no separate Connect SuperGrok step yet.`})]})}):X?(0,A.jsxs)(`div`,{className:`provider-subscription-panel`,id:Z,role:`tabpanel`,"aria-labelledby":`${t}-subscription`,children:[(0,A.jsxs)(`div`,{className:`provider-dialog-note subscription-provider-note`,children:[(0,A.jsx)(O,{size:15}),(0,A.jsx)(`span`,{children:`GLM Coding Plan uses a plan API key with the dedicated Coding endpoint. General Z.ai API keys and balances are separate.`})]}),le({panel:!1})]}):null}return(0,A.jsxs)(`div`,{className:`provider-dialog-body`,children:[Q?null:(0,A.jsxs)(`form`,{className:`provider-card-form`,onSubmit:e=>void se(e),children:[(0,A.jsxs)(`div`,{className:`provider-card-grid`,children:[(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Base URL`}),(0,A.jsx)(`input`,{value:C,disabled:H,placeholder:`https://api.example.com/v1`,onChange:e=>{P(e=>({...e,baseUrl:!0})),T(e.currentTarget.value)}})]}),(0,A.jsxs)(`label`,{className:`settings-select-field`,children:[(0,A.jsx)(`span`,{children:`Default model`}),(0,A.jsx)(`input`,{list:x,value:E,disabled:H,placeholder:`Model id`,onChange:e=>{P(e=>({...e,defaultModel:!0})),D(e.currentTarget.value)}}),(0,A.jsx)(`datalist`,{id:x,children:ie.map(e=>(0,A.jsx)(`option`,{value:e.value,children:e.label},e.value))}),ae>0?(0,A.jsxs)(`small`,{children:[ae,` more cached models hidden from suggestions`]}):null]})]}),(0,A.jsxs)(`div`,{className:`settings-button-row`,children:[(0,A.jsxs)(`button`,{className:`settings-secondary`,disabled:H,children:[H?(0,A.jsx)(_,{size:14,className:`settings-spin`}):(0,A.jsx)(p,{size:14}),(0,A.jsx)(`span`,{children:H?`Saving`:`Save config`})]}),(0,A.jsxs)(`button`,{type:`button`,className:`settings-secondary`,disabled:G,onClick:()=>void l(r),children:[G?(0,A.jsx)(_,{size:14,className:`settings-spin`}):(0,A.jsx)(f,{size:14}),(0,A.jsx)(`span`,{children:G?`Refreshing`:`Refresh models`})]}),(0,A.jsxs)(`button`,{type:`button`,className:`settings-secondary`,disabled:W||!E.trim(),onClick:()=>void v(r,{baseUrl:C.trim()||void 0,modelId:E.trim()||void 0}),children:[W?(0,A.jsx)(_,{size:14,className:`settings-spin`}):(0,A.jsx)(g,{size:14}),(0,A.jsx)(`span`,{children:W?`Testing`:`Test`})]})]})]}),(0,A.jsx)(`div`,{className:`provider-card-form credential-form`,children:Q?ue():le()})]})}function se({connection:e,onError:t,onPreferences:n,onProviders:r,preferences:i,providers:o}){let s=(0,k.useRef)(e);s.current=e;let[l,u]=(0,k.useState)(i.defaultChatProvider),[d,f]=(0,k.useState)(i.defaultChatModel),[p,m]=(0,k.useState)(!1),[h,g]=(0,k.useState)(null),[_,v]=(0,k.useState)(null);(0,k.useEffect)(()=>{u(i.defaultChatProvider),f(i.defaultChatModel)},[i.defaultChatProvider,i.defaultChatModel]);async function y(r){if(r.preventDefault(),e){m(!0),t(null);try{n(await T.savePreferences(e,{defaultChatProvider:l,defaultChatModel:a(l,d,o)}))}catch(e){t(e instanceof Error?e.message:String(e))}finally{m(!1)}}}function b(e){u(e),f(t=>a(e,t,o))}async function x(n,r,i){if(!e)return null;g(`${n}:${r}`),v(null),t(null);try{return await i()}catch(e){return t(e instanceof Error?e.message:String(e)),null}finally{g(null)}}async function S(t,n){await x(t,`config`,async()=>{let i=await T.saveProviderSettings(e,{providers:{[t]:n}});return r(i),i})}async function C(t,n){await x(t,`credential`,async()=>{let i=await T.saveProviderCredential(e,t,n);return r(i),i})}async function w(t){await x(t,`credential`,async()=>{let n=await T.deleteProviderCredential(e,t,{});return r(n),n})}async function E(t){return x(`openai`,`credential`,async()=>{let n=await T.startOpenAiSubscriptionAuth(e,{method:t});return n.method===`browser`?(window.open(n.url,`_blank`,`noopener,noreferrer`),v(`OpenAI ChatGPT login opened in your browser. Return here after authorization.`)):(window.open(n.url,`_blank`,`noopener,noreferrer`),v(`OpenAI device login started. Enter code ${n.userCode}.`)),D(n.expiresAt),n})}async function D(t){if(e)for(;Date.now()<t;){await new Promise(e=>setTimeout(e,2500));try{let t=await T.providerSettings(e);r(t);let n=t.statuses.openai?.credential;if(n?.connected&&n.source===`chatgpt_subscription`){v(`OpenAI ChatGPT subscription connected.`);return}}catch{}}}async function O(t){await x(t,`models`,async()=>{let n=await T.refreshProviderModels(e,t,{force:!0});return r(n.providers),n})}async function A(t){await x(t,`models`,async()=>{let n=await T.loadProviderModels(e,t,{limit:500});return r(n.providers),n})}async function j(t,n={}){await x(t,`validate`,async()=>{let i=await T.validateProviderCredential(e,t,n);return v(i.ok?`${t} validated${i.modelId?` with ${i.modelId}`:``}.`:i.errors.join(`
|
|
5
|
-
`)||`${t} validation failed.`),r(i.providers),i})}return{checkNativeProvider:async(t,n,i)=>{if(!e)throw Error(`Connect to the local OpenPond server first.`);n.throwIfAborted(),i&&await T.saveProviderSettings(e,{providers:{[t]:i}}),n.throwIfAborted();let a=await c(e,`/v1/providers/${t}/native-setup`,{method:`POST`,body:JSON.stringify({action:`check`}),signal:n});if(n.throwIfAborted(),s.current?.serverUrl!==e.serverUrl||s.current?.token!==e.token)throw new DOMException(`Connection changed`,`AbortError`);return r(a.settings),a},defaultModel:d,defaultProvider:l,providerBusy:h,saving:p,validationMessage:_,changeDefaultProvider:b,deleteProviderCredential:w,loadProviderModels:A,refreshProviderModels:O,saveProviderConfig:S,saveProviderCredential:C,saveProviders:y,setDefaultModel:f,startOpenAiSubscriptionAuth:E,validateProvider:j}}export{M as a,N as i,ae as n,O as o,ie as r,se as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-C4b2afqG.js";var t=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t};
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
var e=`/* The single authored UI palette. Edit roles here, then run pnpm theme:generate.
|
|
2
|
-
Generated contract data bridges separate desktop documents; components use these variables.
|
|
3
|
-
Media surfaces and external brand artwork intentionally retain their own contrast. */
|
|
4
|
-
:root, :root[data-theme="dark"] {
|
|
5
|
-
color-scheme: dark;
|
|
6
|
-
--surface-page: #101010;
|
|
7
|
-
--surface-navigation: #191919;
|
|
8
|
-
--surface-panel: #191919;
|
|
9
|
-
--surface-raised: #1f1f1f;
|
|
10
|
-
--surface-input: #2b2b2b;
|
|
11
|
-
--surface-floating: #242424;
|
|
12
|
-
--text-primary: #f4f4f5;
|
|
13
|
-
--text-secondary: #b9b9b9;
|
|
14
|
-
--text-muted: #9a9a9a;
|
|
15
|
-
--text-disabled: #737373;
|
|
16
|
-
--action-primary: #f4f4f5;
|
|
17
|
-
--action-primary-hover: #ffffff;
|
|
18
|
-
--text-on-primary: #171717;
|
|
19
|
-
--accent-primary: #06b6d4;
|
|
20
|
-
--accent-primary-fill: #087d91;
|
|
21
|
-
--accent-info: #3aa3ff;
|
|
22
|
-
--accent-warm: #ff7a2f;
|
|
23
|
-
--text-on-accent: #ffffff;
|
|
24
|
-
--state-hover: #292929;
|
|
25
|
-
--state-pressed: #343434;
|
|
26
|
-
--state-selected: #303030;
|
|
27
|
-
--focus-ring: #67b7ff;
|
|
28
|
-
--border-subtle: rgba(255,255,255,0.06);
|
|
29
|
-
--border-default: rgba(255,255,255,0.08);
|
|
30
|
-
--border-strong: rgba(255,255,255,0.18);
|
|
31
|
-
--status-success: #8ddfa8;
|
|
32
|
-
--status-warning: #e4b06b;
|
|
33
|
-
--status-danger: #ff8d8d;
|
|
34
|
-
--status-info: #8ec5ff;
|
|
35
|
-
--status-success-fill: #34784e;
|
|
36
|
-
--status-warning-fill: #806019;
|
|
37
|
-
--status-danger-fill: #91484b;
|
|
38
|
-
--status-info-fill: #3f6394;
|
|
39
|
-
--shadow-color: rgba(0,0,0,0.42);
|
|
40
|
-
--shadow-panel-color: var(--shadow-color);
|
|
41
|
-
--backdrop: rgba(0,0,0,0.58);
|
|
42
|
-
--scrollbar-thumb: rgba(255,255,255,0.22);
|
|
43
|
-
--scrollbar-hover: rgba(255,255,255,0.34);
|
|
44
|
-
--selection-background: rgba(58,163,255,0.28);
|
|
45
|
-
--media-background: #101010;
|
|
46
|
-
--media-foreground: #f4f4f5;
|
|
47
|
-
--brand-mark-filter: none;
|
|
48
|
-
--chart-1: #67b7ff;
|
|
49
|
-
--chart-2: #9b82ff;
|
|
50
|
-
--chart-3: #ea74ca;
|
|
51
|
-
--chart-4: #ff8b78;
|
|
52
|
-
--chart-5: #f6bd5c;
|
|
53
|
-
--chart-6: #55d6ad;
|
|
54
|
-
--chart-7: #49c6e5;
|
|
55
|
-
--chart-8: #7f9cff;
|
|
56
|
-
--chart-9: #c879ff;
|
|
57
|
-
--chart-10: #8bd35f;
|
|
58
|
-
--chart-saturation: 65%;
|
|
59
|
-
--chart-lightness: 68%;
|
|
60
|
-
--compute-gpu: var(--accent-primary);
|
|
61
|
-
--compute-cpu: color-mix(in srgb, var(--accent-primary) 45%, var(--text-muted));
|
|
62
|
-
--identity-coding: var(--chart-1);
|
|
63
|
-
--identity-research: var(--chart-6);
|
|
64
|
-
--identity-review: var(--chart-3);
|
|
65
|
-
--identity-test: var(--chart-7);
|
|
66
|
-
--identity-docs: var(--chart-5);
|
|
67
|
-
--identity-planner: var(--chart-2);
|
|
68
|
-
--identity-summary: var(--text-secondary);
|
|
69
|
-
--terminal-black: var(--surface-page);
|
|
70
|
-
--terminal-red: var(--status-danger);
|
|
71
|
-
--terminal-green: var(--status-success);
|
|
72
|
-
--terminal-yellow: var(--status-warning);
|
|
73
|
-
--terminal-blue: var(--accent-info);
|
|
74
|
-
--terminal-magenta: var(--chart-3);
|
|
75
|
-
--terminal-cyan: var(--accent-primary);
|
|
76
|
-
--terminal-white: var(--text-primary);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
:root[data-theme="light"] {
|
|
80
|
-
color-scheme: light;
|
|
81
|
-
--surface-page: #fafafa;
|
|
82
|
-
--surface-navigation: #f5f5f5;
|
|
83
|
-
--surface-panel: #ffffff;
|
|
84
|
-
--surface-raised: #f5f5f5;
|
|
85
|
-
--surface-input: #ffffff;
|
|
86
|
-
--surface-floating: #ffffff;
|
|
87
|
-
--text-primary: #202124;
|
|
88
|
-
--text-secondary: #505359;
|
|
89
|
-
--text-muted: #666a73;
|
|
90
|
-
--text-disabled: #858992;
|
|
91
|
-
--action-primary: #202124;
|
|
92
|
-
--action-primary-hover: #171717;
|
|
93
|
-
--text-on-primary: #ffffff;
|
|
94
|
-
--accent-primary: #087d91;
|
|
95
|
-
--accent-primary-fill: #087d91;
|
|
96
|
-
--accent-info: #1769b3;
|
|
97
|
-
--accent-warm: #a94909;
|
|
98
|
-
--text-on-accent: #ffffff;
|
|
99
|
-
--state-hover: #eeeeee;
|
|
100
|
-
--state-pressed: #e4e4e4;
|
|
101
|
-
--state-selected: #e8e8e8;
|
|
102
|
-
--focus-ring: #1769b3;
|
|
103
|
-
--border-subtle: rgba(0,0,0,0.06);
|
|
104
|
-
--border-default: rgba(0,0,0,0.12);
|
|
105
|
-
--border-strong: rgba(0,0,0,0.24);
|
|
106
|
-
--status-success: #237345;
|
|
107
|
-
--status-warning: #88580d;
|
|
108
|
-
--status-danger: #b92d3d;
|
|
109
|
-
--status-info: #1769b3;
|
|
110
|
-
--status-success-fill: #287044;
|
|
111
|
-
--status-warning-fill: #795710;
|
|
112
|
-
--status-danger-fill: #a43b44;
|
|
113
|
-
--status-info-fill: #315f9e;
|
|
114
|
-
--shadow-color: rgba(0,0,0,0.08);
|
|
115
|
-
--shadow-panel-color: transparent;
|
|
116
|
-
--backdrop: rgba(0,0,0,0.32);
|
|
117
|
-
--scrollbar-thumb: rgba(0,0,0,0.25);
|
|
118
|
-
--scrollbar-hover: rgba(0,0,0,0.4);
|
|
119
|
-
--selection-background: rgba(23,105,179,0.2);
|
|
120
|
-
--media-background: #101010;
|
|
121
|
-
--media-foreground: #f4f4f5;
|
|
122
|
-
--brand-mark-filter: invert(1);
|
|
123
|
-
--chart-1: #1769b3;
|
|
124
|
-
--chart-2: #7044b4;
|
|
125
|
-
--chart-3: #a73588;
|
|
126
|
-
--chart-4: #b44230;
|
|
127
|
-
--chart-5: #926000;
|
|
128
|
-
--chart-6: #167a5b;
|
|
129
|
-
--chart-7: #06778b;
|
|
130
|
-
--chart-8: #4359bd;
|
|
131
|
-
--chart-9: #9146ad;
|
|
132
|
-
--chart-10: #527c14;
|
|
133
|
-
--chart-saturation: 65%;
|
|
134
|
-
--chart-lightness: 36%;
|
|
135
|
-
}
|
|
136
|
-
`,t={dark:{"--surface-page":`#101010`,"--surface-navigation":`#191919`,"--surface-panel":`#191919`,"--surface-raised":`#1f1f1f`,"--surface-input":`#2b2b2b`,"--surface-floating":`#242424`,"--text-primary":`#f4f4f5`,"--text-secondary":`#b9b9b9`,"--text-muted":`#9a9a9a`,"--text-disabled":`#737373`,"--action-primary":`#f4f4f5`,"--action-primary-hover":`#ffffff`,"--text-on-primary":`#171717`,"--accent-primary":`#06b6d4`,"--accent-primary-fill":`#087d91`,"--accent-info":`#3aa3ff`,"--accent-warm":`#ff7a2f`,"--text-on-accent":`#ffffff`,"--state-hover":`#292929`,"--state-pressed":`#343434`,"--state-selected":`#303030`,"--focus-ring":`#67b7ff`,"--border-subtle":`rgba(255,255,255,0.06)`,"--border-default":`rgba(255,255,255,0.08)`,"--border-strong":`rgba(255,255,255,0.18)`,"--status-success":`#8ddfa8`,"--status-warning":`#e4b06b`,"--status-danger":`#ff8d8d`,"--status-info":`#8ec5ff`,"--status-success-fill":`#34784e`,"--status-warning-fill":`#806019`,"--status-danger-fill":`#91484b`,"--status-info-fill":`#3f6394`,"--shadow-color":`rgba(0,0,0,0.42)`,"--shadow-panel-color":`rgba(0,0,0,0.42)`,"--backdrop":`rgba(0,0,0,0.58)`,"--scrollbar-thumb":`rgba(255,255,255,0.22)`,"--scrollbar-hover":`rgba(255,255,255,0.34)`,"--selection-background":`rgba(58,163,255,0.28)`,"--media-background":`#101010`,"--media-foreground":`#f4f4f5`,"--brand-mark-filter":`none`,"--chart-1":`#67b7ff`,"--chart-2":`#9b82ff`,"--chart-3":`#ea74ca`,"--chart-4":`#ff8b78`,"--chart-5":`#f6bd5c`,"--chart-6":`#55d6ad`,"--chart-7":`#49c6e5`,"--chart-8":`#7f9cff`,"--chart-9":`#c879ff`,"--chart-10":`#8bd35f`,"--chart-saturation":`65%`,"--chart-lightness":`68%`,"--compute-gpu":`#06b6d4`,"--compute-cpu":`color-mix(in srgb, var(--accent-primary) 45%, var(--text-muted))`,"--identity-coding":`#67b7ff`,"--identity-research":`#55d6ad`,"--identity-review":`#ea74ca`,"--identity-test":`#49c6e5`,"--identity-docs":`#f6bd5c`,"--identity-planner":`#9b82ff`,"--identity-summary":`#b9b9b9`,"--terminal-black":`#101010`,"--terminal-red":`#ff8d8d`,"--terminal-green":`#8ddfa8`,"--terminal-yellow":`#e4b06b`,"--terminal-blue":`#3aa3ff`,"--terminal-magenta":`#ea74ca`,"--terminal-cyan":`#06b6d4`,"--terminal-white":`#f4f4f5`},light:{"--surface-page":`#fafafa`,"--surface-navigation":`#f5f5f5`,"--surface-panel":`#ffffff`,"--surface-raised":`#f5f5f5`,"--surface-input":`#ffffff`,"--surface-floating":`#ffffff`,"--text-primary":`#202124`,"--text-secondary":`#505359`,"--text-muted":`#666a73`,"--text-disabled":`#858992`,"--action-primary":`#202124`,"--action-primary-hover":`#171717`,"--text-on-primary":`#ffffff`,"--accent-primary":`#087d91`,"--accent-primary-fill":`#087d91`,"--accent-info":`#1769b3`,"--accent-warm":`#a94909`,"--text-on-accent":`#ffffff`,"--state-hover":`#eeeeee`,"--state-pressed":`#e4e4e4`,"--state-selected":`#e8e8e8`,"--focus-ring":`#1769b3`,"--border-subtle":`rgba(0,0,0,0.06)`,"--border-default":`rgba(0,0,0,0.12)`,"--border-strong":`rgba(0,0,0,0.24)`,"--status-success":`#237345`,"--status-warning":`#88580d`,"--status-danger":`#b92d3d`,"--status-info":`#1769b3`,"--status-success-fill":`#287044`,"--status-warning-fill":`#795710`,"--status-danger-fill":`#a43b44`,"--status-info-fill":`#315f9e`,"--shadow-color":`rgba(0,0,0,0.08)`,"--shadow-panel-color":`transparent`,"--backdrop":`rgba(0,0,0,0.32)`,"--scrollbar-thumb":`rgba(0,0,0,0.25)`,"--scrollbar-hover":`rgba(0,0,0,0.4)`,"--selection-background":`rgba(23,105,179,0.2)`,"--media-background":`#101010`,"--media-foreground":`#f4f4f5`,"--brand-mark-filter":`invert(1)`,"--chart-1":`#1769b3`,"--chart-2":`#7044b4`,"--chart-3":`#a73588`,"--chart-4":`#b44230`,"--chart-5":`#926000`,"--chart-6":`#167a5b`,"--chart-7":`#06778b`,"--chart-8":`#4359bd`,"--chart-9":`#9146ad`,"--chart-10":`#527c14`,"--chart-saturation":`65%`,"--chart-lightness":`36%`,"--compute-gpu":`#087d91`,"--compute-cpu":`color-mix(in srgb, var(--accent-primary) 45%, var(--text-muted))`,"--identity-coding":`#1769b3`,"--identity-research":`#167a5b`,"--identity-review":`#a73588`,"--identity-test":`#06778b`,"--identity-docs":`#926000`,"--identity-planner":`#7044b4`,"--identity-summary":`#505359`,"--terminal-black":`#fafafa`,"--terminal-red":`#b92d3d`,"--terminal-green":`#237345`,"--terminal-yellow":`#88580d`,"--terminal-blue":`#1769b3`,"--terminal-magenta":`#a73588`,"--terminal-cyan":`#087d91`,"--terminal-white":`#202124`}};export{e as n,t};
|