agim-cli 1.4.8 → 1.4.9
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/core/memory-distiller.d.ts +10 -4
- package/dist/core/memory-distiller.d.ts.map +1 -1
- package/dist/core/memory-distiller.js +23 -9
- package/dist/core/memory-distiller.js.map +1 -1
- package/dist/web/public/assets/{a2a-Dnc-MHI-.js → a2a-CZxwvgvh.js} +2 -2
- package/dist/web/public/assets/{a2a-Dnc-MHI-.js.map → a2a-CZxwvgvh.js.map} +1 -1
- package/dist/web/public/assets/{activity-CKQwfSVC.js → activity-BnlFGipw.js} +2 -2
- package/dist/web/public/assets/{activity-CKQwfSVC.js.map → activity-BnlFGipw.js.map} +1 -1
- package/dist/web/public/assets/{admins-C7MdDEF0.js → admins-CH84Rw1d.js} +2 -2
- package/dist/web/public/assets/{admins-C7MdDEF0.js.map → admins-CH84Rw1d.js.map} +1 -1
- package/dist/web/public/assets/{agents-Be4IUCYz.js → agents-CFB4Uj6b.js} +2 -2
- package/dist/web/public/assets/{agents-Be4IUCYz.js.map → agents-CFB4Uj6b.js.map} +1 -1
- package/dist/web/public/assets/{approvals-KCd1BSvN.js → approvals-DnzjbDR6.js} +2 -2
- package/dist/web/public/assets/{approvals-KCd1BSvN.js.map → approvals-DnzjbDR6.js.map} +1 -1
- package/dist/web/public/assets/{arrow-down-NRUr_gzg.js → arrow-down-DxlRHrs8.js} +2 -2
- package/dist/web/public/assets/{arrow-down-NRUr_gzg.js.map → arrow-down-DxlRHrs8.js.map} +1 -1
- package/dist/web/public/assets/{arrow-up-4KyqPaSd.js → arrow-up-CAiQ2jy-.js} +2 -2
- package/dist/web/public/assets/{arrow-up-4KyqPaSd.js.map → arrow-up-CAiQ2jy-.js.map} +1 -1
- package/dist/web/public/assets/{asks-nKwuDJpD.js → asks-DyUQopay.js} +2 -2
- package/dist/web/public/assets/{asks-nKwuDJpD.js.map → asks-DyUQopay.js.map} +1 -1
- package/dist/web/public/assets/{audit-Bf4Yv1or.js → audit-BVHTMS82.js} +2 -2
- package/dist/web/public/assets/{audit-Bf4Yv1or.js.map → audit-BVHTMS82.js.map} +1 -1
- package/dist/web/public/assets/{bell--lSOhH-X.js → bell-D7iS7ctN.js} +2 -2
- package/dist/web/public/assets/{bell--lSOhH-X.js.map → bell-D7iS7ctN.js.map} +1 -1
- package/dist/web/public/assets/{bgjobs-Daya2BMh.js → bgjobs-BYCQhd_1.js} +2 -2
- package/dist/web/public/assets/{bgjobs-Daya2BMh.js.map → bgjobs-BYCQhd_1.js.map} +1 -1
- package/dist/web/public/assets/{brain-DF90t0yo.js → brain-CCF25Egu.js} +2 -2
- package/dist/web/public/assets/{brain-DF90t0yo.js.map → brain-CCF25Egu.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-aRM_fCrr.js → briefcase-BMLMD8nM.js} +2 -2
- package/dist/web/public/assets/{briefcase-aRM_fCrr.js.map → briefcase-BMLMD8nM.js.map} +1 -1
- package/dist/web/public/assets/{chat-BhnNXkIJ.js → chat-DPkKy5y_.js} +2 -2
- package/dist/web/public/assets/{chat-BhnNXkIJ.js.map → chat-DPkKy5y_.js.map} +1 -1
- package/dist/web/public/assets/{chevron-left-DK-fhgiL.js → chevron-left-BDO3vw8G.js} +2 -2
- package/dist/web/public/assets/{chevron-left-DK-fhgiL.js.map → chevron-left-BDO3vw8G.js.map} +1 -1
- package/dist/web/public/assets/{chevron-right-BGhMfCcE.js → chevron-right-5ZUC2opg.js} +2 -2
- package/dist/web/public/assets/{chevron-right-BGhMfCcE.js.map → chevron-right-5ZUC2opg.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-BWBI4Qhk.js → circle-check-COhM5JsK.js} +2 -2
- package/dist/web/public/assets/{circle-check-BWBI4Qhk.js.map → circle-check-COhM5JsK.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-BppjBT7j.js → circle-check-big-DHAHqUlS.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-BppjBT7j.js.map → circle-check-big-DHAHqUlS.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-BZ3UUhcm.js → circle-x-7VaoZ7dY.js} +2 -2
- package/dist/web/public/assets/{circle-x-BZ3UUhcm.js.map → circle-x-7VaoZ7dY.js.map} +1 -1
- package/dist/web/public/assets/{clock-ChP0IxI4.js → clock-ZPVXnd6V.js} +2 -2
- package/dist/web/public/assets/{clock-ChP0IxI4.js.map → clock-ZPVXnd6V.js.map} +1 -1
- package/dist/web/public/assets/{confirm-dialog-DrP5Lfwx.js → confirm-dialog-CgpJL9oN.js} +2 -2
- package/dist/web/public/assets/{confirm-dialog-DrP5Lfwx.js.map → confirm-dialog-CgpJL9oN.js.map} +1 -1
- package/dist/web/public/assets/{copy-CR2c0pyG.js → copy-BaZl52tH.js} +2 -2
- package/dist/web/public/assets/{copy-CR2c0pyG.js.map → copy-BaZl52tH.js.map} +1 -1
- package/dist/web/public/assets/{data-table-DElP7TJm.js → data-table-BLYG79TX.js} +2 -2
- package/dist/web/public/assets/{data-table-DElP7TJm.js.map → data-table-BLYG79TX.js.map} +1 -1
- package/dist/web/public/assets/distill-D9p8O8Jf.js +7 -0
- package/dist/web/public/assets/distill-D9p8O8Jf.js.map +1 -0
- package/dist/web/public/assets/{download-DO4Kw3Fi.js → download-bzCepctg.js} +2 -2
- package/dist/web/public/assets/{download-DO4Kw3Fi.js.map → download-bzCepctg.js.map} +1 -1
- package/dist/web/public/assets/{email-Dkqwudqq.js → email-Douv-rZ5.js} +2 -2
- package/dist/web/public/assets/{email-Dkqwudqq.js.map → email-Douv-rZ5.js.map} +1 -1
- package/dist/web/public/assets/{empty-state-DGH3i5i2.js → empty-state-96qpPTNg.js} +2 -2
- package/dist/web/public/assets/{empty-state-DGH3i5i2.js.map → empty-state-96qpPTNg.js.map} +1 -1
- package/dist/web/public/assets/{external-link-B6aOBfUG.js → external-link-J4nIlCem.js} +2 -2
- package/dist/web/public/assets/{external-link-B6aOBfUG.js.map → external-link-J4nIlCem.js.map} +1 -1
- package/dist/web/public/assets/{eye-BMxHZFil.js → eye-BvsBLK42.js} +2 -2
- package/dist/web/public/assets/{eye-BMxHZFil.js.map → eye-BvsBLK42.js.map} +1 -1
- package/dist/web/public/assets/{facts-B9PlO3xo.js → facts-DMucDXYd.js} +2 -2
- package/dist/web/public/assets/{facts-B9PlO3xo.js.map → facts-DMucDXYd.js.map} +1 -1
- package/dist/web/public/assets/{goals-DX_RjDAM.js → goals-B9ETHgL0.js} +2 -2
- package/dist/web/public/assets/{goals-DX_RjDAM.js.map → goals-B9ETHgL0.js.map} +1 -1
- package/dist/web/public/assets/{health-BAcwcy02.js → health-DLzZ7KHc.js} +2 -2
- package/dist/web/public/assets/{health-BAcwcy02.js.map → health-DLzZ7KHc.js.map} +1 -1
- package/dist/web/public/assets/{heart-pulse-Cl-tJTJY.js → heart-pulse-CVEeD2sz.js} +2 -2
- package/dist/web/public/assets/{heart-pulse-Cl-tJTJY.js.map → heart-pulse-CVEeD2sz.js.map} +1 -1
- package/dist/web/public/assets/{heartbeat-BF_rPcKb.js → heartbeat-B1BEBHge.js} +2 -2
- package/dist/web/public/assets/{heartbeat-BF_rPcKb.js.map → heartbeat-B1BEBHge.js.map} +1 -1
- package/dist/web/public/assets/{hot-XOCA1xAY.js → hot-Yc7iad0D.js} +2 -2
- package/dist/web/public/assets/{hot-XOCA1xAY.js.map → hot-Yc7iad0D.js.map} +1 -1
- package/dist/web/public/assets/{index-CzlhMSb2.js → index-DY2Zglku.js} +3 -3
- package/dist/web/public/assets/{index-CzlhMSb2.js.map → index-DY2Zglku.js.map} +1 -1
- package/dist/web/public/assets/{injection-ecvQ-6Ya.js → injection-Ca-9gbo0.js} +2 -2
- package/dist/web/public/assets/{injection-ecvQ-6Ya.js.map → injection-Ca-9gbo0.js.map} +1 -1
- package/dist/web/public/assets/{installed-D8VzYRBe.js → installed-Zz34apdi.js} +2 -2
- package/dist/web/public/assets/{installed-D8VzYRBe.js.map → installed-Zz34apdi.js.map} +1 -1
- package/dist/web/public/assets/{jobs-CpuY6G8D.js → jobs-CtVRpl0r.js} +2 -2
- package/dist/web/public/assets/{jobs-CpuY6G8D.js.map → jobs-CtVRpl0r.js.map} +1 -1
- package/dist/web/public/assets/{layout-DdbuRh8P.js → layout-BTCLgkgN.js} +2 -2
- package/dist/web/public/assets/{layout-DdbuRh8P.js.map → layout-BTCLgkgN.js.map} +1 -1
- package/dist/web/public/assets/{layout-Pxfmfh_2.js → layout-CtDc2i7w.js} +2 -2
- package/dist/web/public/assets/{layout-Pxfmfh_2.js.map → layout-CtDc2i7w.js.map} +1 -1
- package/dist/web/public/assets/{layout--XsfZzpI.js → layout-Cxch59sI.js} +2 -2
- package/dist/web/public/assets/{layout--XsfZzpI.js.map → layout-Cxch59sI.js.map} +1 -1
- package/dist/web/public/assets/{layout-BROGs5wv.js → layout-DnANw2Q2.js} +2 -2
- package/dist/web/public/assets/{layout-BROGs5wv.js.map → layout-DnANw2Q2.js.map} +1 -1
- package/dist/web/public/assets/{layout-BezPqRLV.js → layout-yIZG87fq.js} +2 -2
- package/dist/web/public/assets/{layout-BezPqRLV.js.map → layout-yIZG87fq.js.map} +1 -1
- package/dist/web/public/assets/{llm-IXFv_MMM.js → llm-CMMa85Ig.js} +2 -2
- package/dist/web/public/assets/{llm-IXFv_MMM.js.map → llm-CMMa85Ig.js.map} +1 -1
- package/dist/web/public/assets/{loader-circle-AgQ2XO06.js → loader-circle-D8L1w9c1.js} +2 -2
- package/dist/web/public/assets/{loader-circle-AgQ2XO06.js.map → loader-circle-D8L1w9c1.js.map} +1 -1
- package/dist/web/public/assets/{map-pin-C6sGB9SZ.js → map-pin--GMunU9n.js} +2 -2
- package/dist/web/public/assets/{map-pin-C6sGB9SZ.js.map → map-pin--GMunU9n.js.map} +1 -1
- package/dist/web/public/assets/{mcp-jqsjSumH.js → mcp-DhnXhO9B.js} +2 -2
- package/dist/web/public/assets/{mcp-jqsjSumH.js.map → mcp-DhnXhO9B.js.map} +1 -1
- package/dist/web/public/assets/{memos-C38YN2Rf.js → memos-DQZc7llR.js} +2 -2
- package/dist/web/public/assets/{memos-C38YN2Rf.js.map → memos-DQZc7llR.js.map} +1 -1
- package/dist/web/public/assets/{messengers-l74nqYZF.js → messengers-DwSmauLs.js} +2 -2
- package/dist/web/public/assets/{messengers-l74nqYZF.js.map → messengers-DwSmauLs.js.map} +1 -1
- package/dist/web/public/assets/{mobile-CHhYS0Tw.js → mobile-CUZ359rQ.js} +2 -2
- package/dist/web/public/assets/{mobile-CHhYS0Tw.js.map → mobile-CUZ359rQ.js.map} +1 -1
- package/dist/web/public/assets/{network-CIrcKaZn.js → network-BBdRdrH_.js} +2 -2
- package/dist/web/public/assets/{network-CIrcKaZn.js.map → network-BBdRdrH_.js.map} +1 -1
- package/dist/web/public/assets/{outbox-O1lzMZPk.js → outbox-CmN0U35l.js} +2 -2
- package/dist/web/public/assets/{outbox-O1lzMZPk.js.map → outbox-CmN0U35l.js.map} +1 -1
- package/dist/web/public/assets/{pagination-CXBUSf6r.js → pagination-DcsgDXXM.js} +2 -2
- package/dist/web/public/assets/{pagination-CXBUSf6r.js.map → pagination-DcsgDXXM.js.map} +1 -1
- package/dist/web/public/assets/{persona-CI4tkm_n.js → persona-ig2ac4mY.js} +2 -2
- package/dist/web/public/assets/{persona-CI4tkm_n.js.map → persona-ig2ac4mY.js.map} +1 -1
- package/dist/web/public/assets/{plans-D8RZ9aXq.js → plans-Bzbk8eUr.js} +2 -2
- package/dist/web/public/assets/{plans-D8RZ9aXq.js.map → plans-Bzbk8eUr.js.map} +1 -1
- package/dist/web/public/assets/{play-DQ3P_XWl.js → play-Di1jqulh.js} +2 -2
- package/dist/web/public/assets/{play-DQ3P_XWl.js.map → play-Di1jqulh.js.map} +1 -1
- package/dist/web/public/assets/{plus-Zai0UXKL.js → plus-C2zyJ1mF.js} +2 -2
- package/dist/web/public/assets/{plus-Zai0UXKL.js.map → plus-C2zyJ1mF.js.map} +1 -1
- package/dist/web/public/assets/{policy-BodrOHl5.js → policy-yD1c2Pcn.js} +2 -2
- package/dist/web/public/assets/{policy-BodrOHl5.js.map → policy-yD1c2Pcn.js.map} +1 -1
- package/dist/web/public/assets/{qr-code-zcjicWRK.js → qr-code-C-ACsKv_.js} +2 -2
- package/dist/web/public/assets/{qr-code-zcjicWRK.js.map → qr-code-C-ACsKv_.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-CM-Cjwud.js → refresh-ccw-7HdadG5V.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-CM-Cjwud.js.map → refresh-ccw-7HdadG5V.js.map} +1 -1
- package/dist/web/public/assets/{reminders-BR6noe6I.js → reminders-BDeiVYTC.js} +2 -2
- package/dist/web/public/assets/{reminders-BR6noe6I.js.map → reminders-BDeiVYTC.js.map} +1 -1
- package/dist/web/public/assets/{save-xBMgs6Bd.js → save-BYFmz9gD.js} +2 -2
- package/dist/web/public/assets/{save-xBMgs6Bd.js.map → save-BYFmz9gD.js.map} +1 -1
- package/dist/web/public/assets/{schedules-Brp1Fomd.js → schedules-BddzBrxI.js} +2 -2
- package/dist/web/public/assets/{schedules-Brp1Fomd.js.map → schedules-BddzBrxI.js.map} +1 -1
- package/dist/web/public/assets/{search-nk8nyLFI.js → search-B8PlbtLg.js} +2 -2
- package/dist/web/public/assets/{search-nk8nyLFI.js.map → search-B8PlbtLg.js.map} +1 -1
- package/dist/web/public/assets/{search-CIc8bWW1.js → search-DxkvV-8p.js} +2 -2
- package/dist/web/public/assets/{search-CIc8bWW1.js.map → search-DxkvV-8p.js.map} +1 -1
- package/dist/web/public/assets/{security-DWxWfpuX.js → security-DpOGp3nS.js} +2 -2
- package/dist/web/public/assets/{security-DWxWfpuX.js.map → security-DpOGp3nS.js.map} +1 -1
- package/dist/web/public/assets/{service-Bo9rkfQX.js → service-BsY8CaNG.js} +2 -2
- package/dist/web/public/assets/{service-Bo9rkfQX.js.map → service-BsY8CaNG.js.map} +1 -1
- package/dist/web/public/assets/{shield-alert-bg0_ILjD.js → shield-alert-DXGk9Rak.js} +2 -2
- package/dist/web/public/assets/{shield-alert-bg0_ILjD.js.map → shield-alert-DXGk9Rak.js.map} +1 -1
- package/dist/web/public/assets/{status-badge-Bw4TDDCb.js → status-badge-D0nbFSom.js} +2 -2
- package/dist/web/public/assets/{status-badge-Bw4TDDCb.js.map → status-badge-D0nbFSom.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-D58R9C_Z.js → subtasks-DFiAXvDp.js} +2 -2
- package/dist/web/public/assets/{subtasks-D58R9C_Z.js.map → subtasks-DFiAXvDp.js.map} +1 -1
- package/dist/web/public/assets/{table-D4S5FCk_.js → table-_WsrnZ_T.js} +2 -2
- package/dist/web/public/assets/{table-D4S5FCk_.js.map → table-_WsrnZ_T.js.map} +1 -1
- package/dist/web/public/assets/{topn-DDxDNIZf.js → topn-C2PHE4tX.js} +2 -2
- package/dist/web/public/assets/{topn-DDxDNIZf.js.map → topn-C2PHE4tX.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-CB7X8tay.js → trash-2-1Km439fW.js} +2 -2
- package/dist/web/public/assets/{trash-2-CB7X8tay.js.map → trash-2-1Km439fW.js.map} +1 -1
- package/dist/web/public/assets/{use-agim-skills-BV2IJPlc.js → use-agim-skills-COSqZrdH.js} +2 -2
- package/dist/web/public/assets/{use-agim-skills-BV2IJPlc.js.map → use-agim-skills-COSqZrdH.js.map} +1 -1
- package/dist/web/public/assets/{use-background-tasks-Dk9S55ip.js → use-background-tasks-wCL7jn68.js} +2 -2
- package/dist/web/public/assets/{use-background-tasks-Dk9S55ip.js.map → use-background-tasks-wCL7jn68.js.map} +1 -1
- package/dist/web/public/assets/{use-memory-DncmZXGJ.js → use-memory-B9oRyQC8.js} +2 -2
- package/dist/web/public/assets/{use-memory-DncmZXGJ.js.map → use-memory-B9oRyQC8.js.map} +1 -1
- package/dist/web/public/assets/{use-observability-CcDO7PdN.js → use-observability-DGkN80qa.js} +2 -2
- package/dist/web/public/assets/{use-observability-CcDO7PdN.js.map → use-observability-DGkN80qa.js.map} +1 -1
- package/dist/web/public/assets/{use-settings-DZhfMpNR.js → use-settings-Co-iafXD.js} +2 -2
- package/dist/web/public/assets/{use-settings-DZhfMpNR.js.map → use-settings-Co-iafXD.js.map} +1 -1
- package/dist/web/public/assets/{use-workspace-ywkrT7Aj.js → use-workspace-BDXP5XO1.js} +2 -2
- package/dist/web/public/assets/{use-workspace-ywkrT7Aj.js.map → use-workspace-BDXP5XO1.js.map} +1 -1
- package/dist/web/public/assets/{vector-B3h4iyfn.js → vector-BfIEx8xX.js} +2 -2
- package/dist/web/public/assets/{vector-B3h4iyfn.js.map → vector-BfIEx8xX.js.map} +1 -1
- package/dist/web/public/assets/{viewer-Bz3wL-99.js → viewer-BPMZkT05.js} +2 -2
- package/dist/web/public/assets/{viewer-Bz3wL-99.js.map → viewer-BPMZkT05.js.map} +1 -1
- package/dist/web/public/assets/{workspace-BvrXvliN.js → workspace-BbCchiHE.js} +2 -2
- package/dist/web/public/assets/{workspace-BvrXvliN.js.map → workspace-BbCchiHE.js.map} +1 -1
- package/dist/web/public/assets/{workspaces-0H6Dzz6N.js → workspaces-5HE7pjdA.js} +2 -2
- package/dist/web/public/assets/{workspaces-0H6Dzz6N.js.map → workspaces-5HE7pjdA.js.map} +1 -1
- package/dist/web/public/index.html +1 -1
- package/dist/web/server.js +3 -1
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
- package/dist/web/public/assets/distill-DxSq7g_8.js +0 -7
- package/dist/web/public/assets/distill-DxSq7g_8.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as n,j as e,T as u,N as r,c as a,O as i}from"./index-
|
|
2
|
-
//# sourceMappingURL=layout
|
|
1
|
+
import{u as n,j as e,T as u,N as r,c as a,O as i}from"./index-DY2Zglku.js";import"./react-DlP5eolq.js";const b=[{to:"jobs",i18nKey:"subnav.jobs",mounted:!0},{to:"subtasks",i18nKey:"subnav.subtasks",mounted:!0},{to:"bgjobs",i18nKey:"subnav.bgjobs",mounted:!0},{to:"schedules",i18nKey:"subnav.schedules",mounted:!0},{to:"outbox",i18nKey:"subnav.outbox",mounted:!0},{to:"a2a",i18nKey:"subnav.a2a",mounted:!0},{to:"heartbeat",i18nKey:"subnav.heartbeat",mounted:!0},{to:"goals",i18nKey:"subnav.goals",mounted:!0},{to:"asks",i18nKey:"subnav.asks",mounted:!0},{to:"plans",i18nKey:"subnav.plans",mounted:!0}];function l(){const{t:s}=n("tasks");return e.jsxs("div",{className:"flex min-h-dvh flex-col bg-bg",children:[e.jsx(u,{}),e.jsx("nav",{className:a("sticky top-[var(--topbar-h,0)] z-10","flex items-center gap-1","border-b border-border bg-surface","px-3 sm:px-4 py-1","overflow-x-auto"),"aria-label":s("pageTitle"),children:b.filter(t=>t.mounted).map(t=>e.jsx(r,{to:t.to,className:({isActive:o})=>a("shrink-0 rounded-md px-3 py-1.5 text-sm no-underline","transition-colors tap-target",o?"bg-accent-bg text-accent font-medium":"text-text-dim hover:bg-surface-hover hover:text-text"),children:s(t.i18nKey)},t.to))}),e.jsx("main",{className:"flex-1 px-3 sm:px-4 py-4 pb-safe",children:e.jsx(i,{})})]})}export{l as default};
|
|
2
|
+
//# sourceMappingURL=layout-Cxch59sI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout
|
|
1
|
+
{"version":3,"file":"layout-Cxch59sI.js","sources":["../../src/routes/tasks/layout.tsx"],"sourcesContent":["/**\n * /tasks — layout shell shared by every sub-tab.\n *\n * Renders the application Topbar plus a sub-tab strip below it. The\n * actual sub-tab body comes from <Outlet /> — one file per tab under\n * routes/tasks/.\n *\n * Sub-tab order matches plan: jobs / subtasks / bgjobs / schedules /\n * outbox / a2a. Each sub-tab is gated on its route being mounted; in\n * PR-10a only `/tasks/jobs` is wired up so the others stay out of the\n * nav until their PRs land.\n */\n\nimport { NavLink, Outlet } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { Topbar } from '@/components/shell/topbar'\nimport { cn } from '@/lib/utils'\n\ninterface SubTab {\n to: string\n i18nKey: string\n mounted: boolean\n}\n\nconst SUB_TABS: SubTab[] = [\n { to: 'jobs', i18nKey: 'subnav.jobs', mounted: true },\n { to: 'subtasks', i18nKey: 'subnav.subtasks', mounted: true },\n { to: 'bgjobs', i18nKey: 'subnav.bgjobs', mounted: true },\n { to: 'schedules', i18nKey: 'subnav.schedules', mounted: true },\n { to: 'outbox', i18nKey: 'subnav.outbox', mounted: true },\n { to: 'a2a', i18nKey: 'subnav.a2a', mounted: true },\n // P1 follow-up — per-thread background primitives.\n { to: 'heartbeat', i18nKey: 'subnav.heartbeat', mounted: true },\n { to: 'goals', i18nKey: 'subnav.goals', mounted: true },\n { to: 'asks', i18nKey: 'subnav.asks', mounted: true },\n // v1.2.133 — native_exit_plan_mode audit log.\n { to: 'plans', i18nKey: 'subnav.plans', mounted: true },\n]\n\nexport default function TasksLayout(): JSX.Element {\n const { t } = useTranslation('tasks')\n return (\n <div className=\"flex min-h-dvh flex-col bg-bg\">\n <Topbar />\n\n <nav\n className={cn(\n 'sticky top-[var(--topbar-h,0)] z-10',\n 'flex items-center gap-1',\n 'border-b border-border bg-surface',\n 'px-3 sm:px-4 py-1',\n 'overflow-x-auto',\n )}\n aria-label={t('pageTitle')}\n >\n {SUB_TABS.filter((tab) => tab.mounted).map((tab) => (\n <NavLink\n key={tab.to}\n to={tab.to}\n className={({ isActive }) =>\n cn(\n 'shrink-0 rounded-md px-3 py-1.5 text-sm no-underline',\n 'transition-colors tap-target',\n isActive\n ? 'bg-accent-bg text-accent font-medium'\n : 'text-text-dim hover:bg-surface-hover hover:text-text',\n )\n }\n >\n {t(tab.i18nKey)}\n </NavLink>\n ))}\n </nav>\n\n <main className=\"flex-1 px-3 sm:px-4 py-4 pb-safe\">\n <Outlet />\n </main>\n </div>\n )\n}\n"],"names":["SUB_TABS","TasksLayout","t","useTranslation","jsxs","jsx","Topbar","cn","tab","NavLink","isActive","Outlet"],"mappings":"uGAwBA,MAAMA,EAAqB,CACzB,CAAE,GAAI,OAAa,QAAS,cAAoB,QAAS,EAAA,EACzD,CAAE,GAAI,WAAa,QAAS,kBAAoB,QAAS,EAAA,EACzD,CAAE,GAAI,SAAa,QAAS,gBAAoB,QAAS,EAAA,EACzD,CAAE,GAAI,YAAa,QAAS,mBAAoB,QAAS,EAAA,EACzD,CAAE,GAAI,SAAa,QAAS,gBAAoB,QAAS,EAAA,EACzD,CAAE,GAAI,MAAa,QAAS,aAAoB,QAAS,EAAA,EAEzD,CAAE,GAAI,YAAa,QAAS,mBAAoB,QAAS,EAAA,EACzD,CAAE,GAAI,QAAa,QAAS,eAAoB,QAAS,EAAA,EACzD,CAAE,GAAI,OAAa,QAAS,cAAoB,QAAS,EAAA,EAEzD,CAAE,GAAI,QAAa,QAAS,eAAoB,QAAS,EAAA,CAC3D,EAEA,SAAwBC,GAA2B,CACjD,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAe,OAAO,EACpC,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,gCACb,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAO,EAERD,EAAAA,IAAC,MAAA,CACC,UAAWE,EACT,sCACA,0BACA,oCACA,oBACA,iBAAA,EAEF,aAAYL,EAAE,WAAW,EAExB,SAAAF,EAAS,OAAQQ,GAAQA,EAAI,OAAO,EAAE,IAAKA,GAC1CH,EAAAA,IAACI,EAAA,CAEC,GAAID,EAAI,GACR,UAAW,CAAC,CAAE,SAAAE,CAAA,IACZH,EACE,uDACA,+BACAG,EACI,uCACA,sDAAA,EAIP,SAAAR,EAAEM,EAAI,OAAO,CAAA,EAZTA,EAAI,EAAA,CAcZ,CAAA,CAAA,QAGF,OAAA,CAAK,UAAU,mCACd,SAAAH,EAAAA,IAACM,IAAO,CAAA,CACV,CAAA,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as a,j as e,T as r,N as i,c as n,O as m}from"./index-
|
|
2
|
-
//# sourceMappingURL=layout-
|
|
1
|
+
import{u as a,j as e,T as r,N as i,c as n,O as m}from"./index-DY2Zglku.js";import"./react-DlP5eolq.js";const u=[{to:"messengers",i18nKey:"tabs.messengers",mounted:!0},{to:"agents",i18nKey:"tabs.agents",mounted:!0},{to:"llm",i18nKey:"tabs.llm",mounted:!0},{to:"mobile",i18nKey:"tabs.mobile",mounted:!0},{to:"agim-skills",i18nKey:"tabs.agimSkills",mounted:!0},{to:"search",i18nKey:"tabs.search",mounted:!0},{to:"mcp",i18nKey:"tabs.mcp",mounted:!0},{to:"policy",i18nKey:"tabs.policy",mounted:!0},{to:"email",i18nKey:"tabs.email",mounted:!0},{to:"viewer",i18nKey:"tabs.viewer",mounted:!0},{to:"security",i18nKey:"tabs.security",mounted:!0},{to:"workspaces",i18nKey:"tabs.workspaces",mounted:!0},{to:"admins",i18nKey:"tabs.admins",mounted:!0},{to:"service",i18nKey:"tabs.service",mounted:!0}];function d(){const{t:s}=a("settings");return e.jsxs("div",{className:"flex min-h-dvh flex-col bg-bg",children:[e.jsx(r,{}),e.jsx("nav",{className:n("sticky top-0 z-10","flex items-center gap-1","border-b border-border bg-surface","px-3 sm:px-4 py-1","overflow-x-auto"),"aria-label":s("pageTitle"),children:u.filter(t=>t.mounted).map(t=>e.jsx(i,{to:t.to,className:({isActive:o})=>n("shrink-0 rounded-md px-3 py-1.5 text-sm no-underline","transition-colors tap-target",o?"bg-accent-bg text-accent font-medium":"text-text-dim hover:bg-surface-hover hover:text-text"),children:s(t.i18nKey)},t.to))}),e.jsx("main",{className:"flex-1 px-3 sm:px-4 py-4 pb-safe",children:e.jsx(m,{})})]})}export{d as default};
|
|
2
|
+
//# sourceMappingURL=layout-DnANw2Q2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-
|
|
1
|
+
{"version":3,"file":"layout-DnANw2Q2.js","sources":["../../src/routes/settings/layout.tsx"],"sourcesContent":["/**\n * /settings — layout shell with sub-tab nav (environment / service).\n *\n * Workspaces / WeChat QR / Admin allowlist will land as additional\n * sub-tabs in PR-19b/c. The `mounted` flag gates their nav links.\n */\n\nimport { NavLink, Outlet } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { Topbar } from '@/components/shell/topbar'\nimport { cn } from '@/lib/utils'\n\ninterface SubTab {\n to: string\n i18nKey: string\n mounted: boolean\n}\n\nconst SUB_TABS: SubTab[] = [\n { to: 'messengers', i18nKey: 'tabs.messengers', mounted: true },\n { to: 'agents', i18nKey: 'tabs.agents', mounted: true },\n // Stage 6 — Agim Agent stack (model APIs + runtime knobs).\n { to: 'llm', i18nKey: 'tabs.llm', mounted: true },\n // v1.2.129 — mobile QR generator (open /m/chat from a phone).\n { to: 'mobile', i18nKey: 'tabs.mobile', mounted: true },\n // P1 follow-up — agim SKILL.md editor.\n { to: 'agim-skills', i18nKey: 'tabs.agimSkills', mounted: true },\n // v1.2.126 — web_search provider chain + per-provider keys.\n { to: 'search', i18nKey: 'tabs.search', mounted: true },\n { to: 'mcp', i18nKey: 'tabs.mcp', mounted: true },\n { to: 'policy', i18nKey: 'tabs.policy', mounted: true },\n { to: 'email', i18nKey: 'tabs.email', mounted: true },\n { to: 'viewer', i18nKey: 'tabs.viewer', mounted: true },\n { to: 'security', i18nKey: 'tabs.security', mounted: true },\n { to: 'workspaces', i18nKey: 'tabs.workspaces', mounted: true },\n { to: 'admins', i18nKey: 'tabs.admins', mounted: true },\n // R13 follow-up — /settings/env catch-all editor removed; raw env-var\n // editing belongs in `~/.agim/env` on the host, not in a web form.\n { to: 'service', i18nKey: 'tabs.service', mounted: true },\n]\n\nexport default function SettingsLayout(): JSX.Element {\n const { t } = useTranslation('settings')\n return (\n <div className=\"flex min-h-dvh flex-col bg-bg\">\n <Topbar />\n\n <nav\n className={cn(\n 'sticky top-0 z-10',\n 'flex items-center gap-1',\n 'border-b border-border bg-surface',\n 'px-3 sm:px-4 py-1',\n 'overflow-x-auto',\n )}\n aria-label={t('pageTitle')}\n >\n {SUB_TABS.filter((tab) => tab.mounted).map((tab) => (\n <NavLink\n key={tab.to}\n to={tab.to}\n className={({ isActive }) =>\n cn(\n 'shrink-0 rounded-md px-3 py-1.5 text-sm no-underline',\n 'transition-colors tap-target',\n isActive\n ? 'bg-accent-bg text-accent font-medium'\n : 'text-text-dim hover:bg-surface-hover hover:text-text',\n )\n }\n >\n {t(tab.i18nKey)}\n </NavLink>\n ))}\n </nav>\n\n <main className=\"flex-1 px-3 sm:px-4 py-4 pb-safe\">\n <Outlet />\n </main>\n </div>\n )\n}\n"],"names":["SUB_TABS","SettingsLayout","t","useTranslation","jsxs","jsx","Topbar","cn","tab","NavLink","isActive","Outlet"],"mappings":"uGAkBA,MAAMA,EAAqB,CACzB,CAAE,GAAI,aAAgB,QAAS,kBAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,SAAgB,QAAS,cAAqB,QAAS,EAAA,EAE7D,CAAE,GAAI,MAAgB,QAAS,WAAqB,QAAS,EAAA,EAE7D,CAAE,GAAI,SAAgB,QAAS,cAAqB,QAAS,EAAA,EAE7D,CAAE,GAAI,cAAgB,QAAS,kBAAqB,QAAS,EAAA,EAE7D,CAAE,GAAI,SAAgB,QAAS,cAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,MAAgB,QAAS,WAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,SAAgB,QAAS,cAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,QAAgB,QAAS,aAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,SAAgB,QAAS,cAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,WAAgB,QAAS,gBAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,aAAgB,QAAS,kBAAqB,QAAS,EAAA,EAC7D,CAAE,GAAI,SAAgB,QAAS,cAAqB,QAAS,EAAA,EAG7D,CAAE,GAAI,UAAgB,QAAS,eAAqB,QAAS,EAAA,CAC/D,EAEA,SAAwBC,GAA8B,CACpD,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAe,UAAU,EACvC,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,gCACb,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAO,EAERD,EAAAA,IAAC,MAAA,CACC,UAAWE,EACT,oBACA,0BACA,oCACA,oBACA,iBAAA,EAEF,aAAYL,EAAE,WAAW,EAExB,SAAAF,EAAS,OAAQQ,GAAQA,EAAI,OAAO,EAAE,IAAKA,GAC1CH,EAAAA,IAACI,EAAA,CAEC,GAAID,EAAI,GACR,UAAW,CAAC,CAAE,SAAAE,CAAA,IACZH,EACE,uDACA,+BACAG,EACI,uCACA,sDAAA,EAIP,SAAAR,EAAEM,EAAI,OAAO,CAAA,EAZTA,EAAI,EAAA,CAcZ,CAAA,CAAA,QAGF,OAAA,CAAK,UAAU,mCACd,SAAAH,EAAAA,IAACM,IAAO,CAAA,CACV,CAAA,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as n,j as t,N as o,c as s,O as l}from"./index-
|
|
2
|
-
//# sourceMappingURL=layout-
|
|
1
|
+
import{u as n,j as t,N as o,c as s,O as l}from"./index-DY2Zglku.js";import"./react-DlP5eolq.js";const r=[{to:"installed",i18nKey:"agimSkills.tab.installed"},{to:"hot",i18nKey:"agimSkills.tab.hot"},{to:"injection",i18nKey:"agimSkills.tab.injection"}];function c(){const{t:i}=n(["settings"]);return t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx("nav",{className:s("flex items-center gap-1","border-b border-border","-mx-3 sm:-mx-4 px-3 sm:px-4 pb-2","overflow-x-auto"),"aria-label":i("agimSkills.title"),children:r.map(e=>t.jsx(o,{to:e.to,className:({isActive:a})=>s("shrink-0 rounded-md px-3 py-1.5 text-sm no-underline","transition-colors tap-target",a?"bg-accent-bg text-accent font-medium":"text-text-dim hover:bg-surface-hover hover:text-text"),children:i(e.i18nKey)},e.to))}),t.jsx(l,{})]})}export{c as default};
|
|
2
|
+
//# sourceMappingURL=layout-yIZG87fq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-
|
|
1
|
+
{"version":3,"file":"layout-yIZG87fq.js","sources":["../../src/routes/settings/agim-skills/layout.tsx"],"sourcesContent":["/**\n * /settings/agim-skills — combined skill management.\n *\n * 2026-05 consolidation: the v2 SPA briefly had two skill entry points\n * (top-level /skills + this settings route) which duplicated 95% of\n * the data after multi-root scanning landed. We merged both flows here:\n *\n * installed — agim's own loader view; CRUD against the writable\n * workspace dir, read-only for builtins and skills\n * inherited from ~/.claude/skills + opencode + codex.\n * hot — skillhub.cn 热门 (moved from /skills/hot).\n *\n * Old URLs under /skills still resolve via redirects in router.tsx\n * so bookmarks keep working.\n */\n\nimport { NavLink, Outlet } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { cn } from '@/lib/utils'\n\ninterface SubTab {\n to: string\n i18nKey: string\n}\n\nconst SUB_TABS: SubTab[] = [\n { to: 'installed', i18nKey: 'agimSkills.tab.installed' },\n { to: 'hot', i18nKey: 'agimSkills.tab.hot' },\n // v1.2.151 — system-prompt skill block editor (operator override).\n { to: 'injection', i18nKey: 'agimSkills.tab.injection' },\n]\n\nexport default function SettingsAgimSkillsLayout(): JSX.Element {\n const { t } = useTranslation(['settings'])\n return (\n <div className=\"flex flex-col gap-4\">\n <nav\n className={cn(\n 'flex items-center gap-1',\n 'border-b border-border',\n '-mx-3 sm:-mx-4 px-3 sm:px-4 pb-2',\n 'overflow-x-auto',\n )}\n aria-label={t('agimSkills.title')}\n >\n {SUB_TABS.map((tab) => (\n <NavLink\n key={tab.to}\n to={tab.to}\n className={({ isActive }) =>\n cn(\n 'shrink-0 rounded-md px-3 py-1.5 text-sm no-underline',\n 'transition-colors tap-target',\n isActive\n ? 'bg-accent-bg text-accent font-medium'\n : 'text-text-dim hover:bg-surface-hover hover:text-text',\n )\n }\n >\n {t(tab.i18nKey)}\n </NavLink>\n ))}\n </nav>\n <Outlet />\n </div>\n )\n}\n"],"names":["SUB_TABS","SettingsAgimSkillsLayout","t","useTranslation","jsxs","jsx","cn","tab","NavLink","isActive","Outlet"],"mappings":"gGAyBA,MAAMA,EAAqB,CACzB,CAAE,GAAI,YAAa,QAAS,0BAAA,EAC5B,CAAE,GAAI,MAAa,QAAS,oBAAA,EAE5B,CAAE,GAAI,YAAa,QAAS,0BAAA,CAC9B,EAEA,SAAwBC,GAAwC,CAC9D,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAe,CAAC,UAAU,CAAC,EACzC,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,sBACb,SAAA,CAAAC,EAAAA,IAAC,MAAA,CACC,UAAWC,EACT,0BACA,yBACA,mCACA,iBAAA,EAEF,aAAYJ,EAAE,kBAAkB,EAE/B,SAAAF,EAAS,IAAKO,GACbF,EAAAA,IAACG,EAAA,CAEC,GAAID,EAAI,GACR,UAAW,CAAC,CAAE,SAAAE,CAAA,IACZH,EACE,uDACA,+BACAG,EACI,uCACA,sDAAA,EAIP,SAAAP,EAAEK,EAAI,OAAO,CAAA,EAZTA,EAAI,EAAA,CAcZ,CAAA,CAAA,QAEFG,EAAA,CAAA,CAAO,CAAA,EACV,CAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as R,u as p,j as e,B as _,l as T,X as F,I as m,S as B,g as O,h as w,i as V,k as f,m as j,L as v,a6 as Y,ac as q,ad as W,ae as $,a7 as J}from"./index-
|
|
1
|
+
import{o as R,u as p,j as e,B as _,l as T,X as F,I as m,S as B,g as O,h as w,i as V,k as f,m as j,L as v,a6 as Y,ac as q,ad as W,ae as $,a7 as J}from"./index-DY2Zglku.js";import{r as b}from"./react-DlP5eolq.js";import{T as Z,a as Q,b as K,c as E,d as ee,e as C}from"./table-_WsrnZ_T.js";import{u as te,b as ae}from"./use-settings-Co-iafXD.js";import{L as S}from"./loader-circle-D8L1w9c1.js";import{R as X}from"./refresh-ccw-7HdadG5V.js";import{S as se}from"./save-BYFmz9gD.js";import{N as ne}from"./network-BBdRdrH_.js";import{S as le}from"./shield-alert-DXGk9Rak.js";import{B as re}from"./bell-D7iS7ctN.js";import{H as ce}from"./heart-pulse-CVEeD2sz.js";import{T as ie}from"./trash-2-1Km439fW.js";import{P as oe}from"./plus-C2zyJ1mF.js";/**
|
|
2
2
|
* @license lucide-react v0.469.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -24,4 +24,4 @@ import{o as R,u as p,j as e,B as _,l as T,X as F,I as m,S as B,g as O,h as w,i a
|
|
|
24
24
|
* This source code is licensed under the ISC license.
|
|
25
25
|
* See the LICENSE file in the root directory of this source tree.
|
|
26
26
|
*/const ue=R("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);function pe(t){return{role:t.IMHUB_NATIVE_AGENT_ROLE??"",mode:t.IMHUB_NATIVE_AGENT_MODE||"read-only",autoAllow:t.IMHUB_NATIVE_AGENT_AUTOALLOW??"",denyList:t.IMHUB_NATIVE_AGENT_DENYLIST??"",evalEnabled:y(t.IMHUB_NOTIFICATION_EVALUATOR),evalSources:t.IMHUB_NOTIFICATION_EVALUATOR_SOURCES??"",hbEnabled:y(t.IMHUB_HEARTBEAT_ENABLED),hbTickMs:t.IMHUB_HEARTBEAT_TICK_INTERVAL_MS??"",hbDefaultMin:t.IMHUB_HEARTBEAT_DEFAULT_INTERVAL_MIN??"",toolResultCap:t.IMHUB_NATIVE_TOOL_RESULT_MAX_CHARS??"",toolTimeoutMs:t.IMHUB_NATIVE_TOOL_TIMEOUT_MS??"",blankRetryMax:t.IMHUB_NATIVE_BLANK_RETRY_MAX??"",lengthRecoveryMax:t.IMHUB_NATIVE_LENGTH_RECOVERY_MAX??"",a2aMaxDepth:t.IMHUB_A2A_MAX_DEPTH??"",a2aTimeoutMs:t.IMHUB_A2A_TIMEOUT_DEFAULT_MS??"",callAgentInProcess:!L(t.IMHUB_NATIVE_CALL_AGENT_IN_PROCESS),callAgentMaxPerTurn:t.IMHUB_NATIVE_CALL_AGENT_MAX_PER_TURN??"",semanticStuckLoop:!L(t.IMHUB_NATIVE_SEMANTIC_STUCK_LOOP),criticEnabled:y(t.IMHUB_NATIVE_CRITIC),criticRole:t.IMHUB_NATIVE_CRITIC_ROLE??"",planModeDefault:y(t.IMHUB_NATIVE_PLAN_MODE),planIntentAuto:y(t.IMHUB_PLAN_INTENT_AUTO),planIntentPhrases:t.IMHUB_PLAN_INTENT_PHRASES??"",compactTriggerChars:t.IMHUB_NATIVE_COMPACT_TRIGGER_CHARS??"",compactKeepTurns:t.IMHUB_NATIVE_COMPACT_KEEP_TURNS??"",compactKeepFirst:t.IMHUB_NATIVE_COMPACT_KEEP_FIRST??"",compactSummaryChars:t.IMHUB_NATIVE_COMPACT_SUMMARY_CHARS??"",streamPartial:!L(t.IMHUB_NATIVE_STREAM_PARTIAL),maxIter:t.IMHUB_NATIVE_AGENT_MAX_ITER??""}}function L(t){if(!t)return!1;const s=t.toLowerCase().trim();return s==="off"||s==="false"||s==="0"||s==="no"}function y(t){if(!t)return!1;const s=t.toLowerCase();return s==="1"||s==="true"||s==="yes"||s==="on"}function ge(){const{t}=p(["settings","common"]),s=t("nativeAgent.subtitle"),a=t("nativeAgent.llmLink"),l=s.indexOf(a);return l===-1?e.jsx("p",{className:"text-sm text-text-dim",children:s}):e.jsxs("p",{className:"text-sm text-text-dim",children:[s.slice(0,l),e.jsx("a",{className:"underline",href:a,children:a}),s.slice(l+a.length)]})}function Ae({embedded:t=!1}){const{t:s}=p(["settings","common"]),a=te({reveal:!1}),l=ae(),g=a.data?.env??{},r=b.useMemo(()=>pe(g),[g]),[n,h]=b.useState(r),[A,i]=b.useState("");b.useEffect(()=>{const c=JSON.stringify(r);c!==A&&(h(r),i(c))},[r,A]);const d=JSON.stringify(n)!==JSON.stringify(r);function u(c,M){h(U=>({...U,[c]:M}))}async function I(){const c={};if(n.role!==r.role&&(c.IMHUB_NATIVE_AGENT_ROLE=n.role.trim()||null),n.mode!==r.mode&&(c.IMHUB_NATIVE_AGENT_MODE=n.mode),n.autoAllow!==r.autoAllow&&(c.IMHUB_NATIVE_AGENT_AUTOALLOW=n.autoAllow.trim()||null),n.denyList!==r.denyList&&(c.IMHUB_NATIVE_AGENT_DENYLIST=n.denyList.trim()||null),n.evalEnabled!==r.evalEnabled&&(c.IMHUB_NOTIFICATION_EVALUATOR=n.evalEnabled?"on":null),n.evalSources!==r.evalSources&&(c.IMHUB_NOTIFICATION_EVALUATOR_SOURCES=n.evalSources.trim()||null),n.hbEnabled!==r.hbEnabled&&(c.IMHUB_HEARTBEAT_ENABLED=n.hbEnabled?"on":null),n.hbTickMs!==r.hbTickMs&&(c.IMHUB_HEARTBEAT_TICK_INTERVAL_MS=n.hbTickMs.trim()||null),n.hbDefaultMin!==r.hbDefaultMin&&(c.IMHUB_HEARTBEAT_DEFAULT_INTERVAL_MIN=n.hbDefaultMin.trim()||null),n.toolResultCap!==r.toolResultCap&&(c.IMHUB_NATIVE_TOOL_RESULT_MAX_CHARS=n.toolResultCap.trim()||null),n.toolTimeoutMs!==r.toolTimeoutMs&&(c.IMHUB_NATIVE_TOOL_TIMEOUT_MS=n.toolTimeoutMs.trim()||null),n.blankRetryMax!==r.blankRetryMax&&(c.IMHUB_NATIVE_BLANK_RETRY_MAX=n.blankRetryMax.trim()||null),n.lengthRecoveryMax!==r.lengthRecoveryMax&&(c.IMHUB_NATIVE_LENGTH_RECOVERY_MAX=n.lengthRecoveryMax.trim()||null),n.a2aMaxDepth!==r.a2aMaxDepth&&(c.IMHUB_A2A_MAX_DEPTH=n.a2aMaxDepth.trim()||null),n.a2aTimeoutMs!==r.a2aTimeoutMs&&(c.IMHUB_A2A_TIMEOUT_DEFAULT_MS=n.a2aTimeoutMs.trim()||null),n.callAgentInProcess!==r.callAgentInProcess&&(c.IMHUB_NATIVE_CALL_AGENT_IN_PROCESS=n.callAgentInProcess?null:"off"),n.callAgentMaxPerTurn!==r.callAgentMaxPerTurn&&(c.IMHUB_NATIVE_CALL_AGENT_MAX_PER_TURN=n.callAgentMaxPerTurn.trim()||null),n.semanticStuckLoop!==r.semanticStuckLoop&&(c.IMHUB_NATIVE_SEMANTIC_STUCK_LOOP=n.semanticStuckLoop?null:"off"),n.criticEnabled!==r.criticEnabled&&(c.IMHUB_NATIVE_CRITIC=n.criticEnabled?"on":null),n.criticRole!==r.criticRole&&(c.IMHUB_NATIVE_CRITIC_ROLE=n.criticRole.trim()||null),n.planModeDefault!==r.planModeDefault&&(c.IMHUB_NATIVE_PLAN_MODE=n.planModeDefault?"1":null),n.planIntentAuto!==r.planIntentAuto&&(c.IMHUB_PLAN_INTENT_AUTO=n.planIntentAuto?"on":null),n.planIntentPhrases!==r.planIntentPhrases&&(c.IMHUB_PLAN_INTENT_PHRASES=n.planIntentPhrases.trim()||null),n.compactTriggerChars!==r.compactTriggerChars&&(c.IMHUB_NATIVE_COMPACT_TRIGGER_CHARS=n.compactTriggerChars.trim()||null),n.compactKeepTurns!==r.compactKeepTurns&&(c.IMHUB_NATIVE_COMPACT_KEEP_TURNS=n.compactKeepTurns.trim()||null),n.compactKeepFirst!==r.compactKeepFirst&&(c.IMHUB_NATIVE_COMPACT_KEEP_FIRST=n.compactKeepFirst.trim()||null),n.compactSummaryChars!==r.compactSummaryChars&&(c.IMHUB_NATIVE_COMPACT_SUMMARY_CHARS=n.compactSummaryChars.trim()||null),n.streamPartial!==r.streamPartial&&(c.IMHUB_NATIVE_STREAM_PARTIAL=n.streamPartial?null:"off"),n.maxIter!==r.maxIter&&(c.IMHUB_NATIVE_AGENT_MAX_ITER=n.maxIter.trim()||null),Object.keys(c).length!==0)try{await l.mutateAsync({updates:c}),j.success(s("nativeAgent.savedToast"))}catch(M){j.error(M?.message??String(M))}}function k(){h(r)}return e.jsxs("div",{className:t?"flex flex-col gap-6":"mx-auto flex max-w-4xl flex-col gap-6",children:[!t&&e.jsxs(e.Fragment,{children:[e.jsxs("header",{className:"flex items-center gap-3",children:[e.jsx("h1",{className:"text-xl font-semibold",children:s("nativeAgent.title")}),e.jsxs(_,{variant:"ghost",size:"sm",className:"ml-auto",onClick:()=>void a.refetch(),disabled:a.isFetching,"aria-label":s("actions.refresh",{ns:"common"}),children:[a.isFetching?e.jsx(S,{className:"h-4 w-4 animate-spin"}):e.jsx(X,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:s("nativeAgent.refresh")})]})]}),e.jsx(ge,{})]}),a.isLoading?e.jsx("div",{className:"h-64 rounded-md bg-surface-2 animate-pulse"}):e.jsxs(e.Fragment,{children:[e.jsx(be,{draft:n,setField:u}),e.jsx(ve,{draft:n,setField:u}),e.jsx(fe,{draft:n,setField:u}),e.jsx(_e,{draft:n,setField:u}),e.jsx(Te,{draft:n,setField:u}),e.jsx(Ie,{draft:n,setField:u}),e.jsx(Ne,{draft:n,setField:u}),e.jsx(je,{draft:n,setField:u})]}),d&&e.jsxs("div",{className:t?"flex items-center gap-2 rounded-md border border-border bg-surface px-4 py-3 shadow":"sticky bottom-2 flex items-center gap-2 rounded-md border border-border bg-surface px-4 py-3 shadow",children:[e.jsx(T,{variant:"info",children:s("nativeAgent.unsaved")}),e.jsxs(_,{variant:"ghost",size:"sm",className:"ml-auto",onClick:k,disabled:l.isPending,children:[e.jsx(F,{className:"h-4 w-4"})," ",s("nativeAgent.discard")]}),e.jsxs(_,{size:"sm",onClick:()=>void I(),disabled:l.isPending,children:[l.isPending?e.jsx(S,{className:"h-4 w-4 animate-spin"}):e.jsx(se,{className:"h-4 w-4"}),s("nativeAgent.save")]})]})]})}function be({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(me,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.agentCard")})]}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsx(o,{label:a("nativeAgent.roleOverride"),hint:a("nativeAgent.roleHint"),children:e.jsx(m,{value:t.role,onChange:l=>s("role",l.target.value),placeholder:"native-chat",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.approvalMode"),hint:a("nativeAgent.approvalHint"),children:e.jsxs(B,{value:t.mode,onValueChange:l=>s("mode",l),children:[e.jsx(O,{children:e.jsx(w,{})}),e.jsxs(V,{children:[e.jsx(f,{value:"read-only",children:a("nativeAgent.modeReadOnly")}),e.jsx(f,{value:"allow-list",children:a("nativeAgent.modeAllowList")}),e.jsx(f,{value:"allow-all",children:a("nativeAgent.modeAllowAll")}),e.jsx(f,{value:"deny-all",children:a("nativeAgent.modeDenyAll")})]})]})}),e.jsx(o,{label:a("nativeAgent.autoAllow"),hint:a("nativeAgent.autoAllowHint"),children:e.jsx(m,{value:t.autoAllow,onChange:l=>s("autoAllow",l.target.value),placeholder:"native_,mcp_filesystem_",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.denyList"),hint:a("nativeAgent.denyListHint"),children:e.jsx(m,{value:t.denyList,onChange:l=>s("denyList",l.target.value),placeholder:"mcp_shell_,mcp_dangerous_",className:"font-mono text-xs"})})]})]})}function Ne({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(re,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.evaluatorCard")}),t.evalEnabled?e.jsx(T,{variant:"success",children:a("nativeAgent.on")}):e.jsx(T,{variant:"outline",children:a("nativeAgent.off")})]}),e.jsx("p",{className:"px-4 pt-2 text-xs text-text-dim",children:a("nativeAgent.evalDesc")}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsx(o,{label:a("nativeAgent.enableGate"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.evalEnabled,onChange:l=>s("evalEnabled",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:a("nativeAgent.filterViaLlm")})]})}),e.jsx(o,{label:a("nativeAgent.evalSources"),hint:a("nativeAgent.evalSourcesHint"),children:e.jsx(m,{value:t.evalSources,onChange:l=>s("evalSources",l.target.value),placeholder:"push,heartbeat",className:"font-mono text-xs",disabled:!t.evalEnabled})})]})]})}function je({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(ce,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.heartbeatCard")}),t.hbEnabled?e.jsx(T,{variant:"success",children:a("nativeAgent.on")}):e.jsx(T,{variant:"outline",children:a("nativeAgent.off")})]}),e.jsx("p",{className:"px-4 pt-2 text-xs text-text-dim",children:a("nativeAgent.hbDesc")}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-3",children:[e.jsx(o,{label:a("nativeAgent.enableScheduler"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.hbEnabled,onChange:l=>s("hbEnabled",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:a("nativeAgent.startScanLoop")})]})}),e.jsx(o,{label:a("nativeAgent.tickInterval"),hint:a("nativeAgent.tickHint"),children:e.jsx(m,{type:"number",value:t.hbTickMs,onChange:l=>s("hbTickMs",l.target.value),placeholder:"60000",className:"font-mono text-xs",disabled:!t.hbEnabled})}),e.jsx(o,{label:a("nativeAgent.defaultInterval"),hint:a("nativeAgent.defaultIntervalHint"),children:e.jsx(m,{type:"number",value:t.hbDefaultMin,onChange:l=>s("hbDefaultMin",l.target.value),placeholder:"15",className:"font-mono text-xs",disabled:!t.hbEnabled})})]})]})}function ve({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(xe,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.runtimeCard")})]}),e.jsx("p",{className:"px-4 pt-2 text-xs text-text-dim",children:a("nativeAgent.runtimeDesc")}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsx(o,{label:a("nativeAgent.toolResultCap"),hint:a("nativeAgent.toolResultCapHint"),children:e.jsx(m,{type:"number",value:t.toolResultCap,onChange:l=>s("toolResultCap",l.target.value),placeholder:"64000",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.toolTimeoutMs"),hint:a("nativeAgent.toolTimeoutHint"),children:e.jsx(m,{type:"number",value:t.toolTimeoutMs,onChange:l=>s("toolTimeoutMs",l.target.value),placeholder:"60000",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.blankRetryMax"),hint:a("nativeAgent.blankRetryHint"),children:e.jsx(m,{type:"number",value:t.blankRetryMax,onChange:l=>s("blankRetryMax",l.target.value),placeholder:"1",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.lengthRecoveryMax"),hint:a("nativeAgent.lengthRecoveryHint"),children:e.jsx(m,{type:"number",value:t.lengthRecoveryMax,onChange:l=>s("lengthRecoveryMax",l.target.value),placeholder:"1",className:"font-mono text-xs"})})]})]})}function fe({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(ne,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.a2aCard")})]}),e.jsx("p",{className:"px-4 pt-2 text-xs text-text-dim",children:a("nativeAgent.a2aDesc")}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsx(o,{label:a("nativeAgent.a2aMaxDepth"),hint:a("nativeAgent.a2aMaxDepthHint"),children:e.jsx(m,{type:"number",value:t.a2aMaxDepth,onChange:l=>s("a2aMaxDepth",l.target.value),placeholder:"1",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.a2aTimeoutMs"),hint:a("nativeAgent.a2aTimeoutMsHint"),children:e.jsx(m,{type:"number",value:t.a2aTimeoutMs,onChange:l=>s("a2aTimeoutMs",l.target.value),placeholder:"1800000",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.callAgentInProcess"),hint:a("nativeAgent.callAgentInProcessHint"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.callAgentInProcess,onChange:l=>s("callAgentInProcess",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:t.callAgentInProcess?a("nativeAgent.on"):a("nativeAgent.off")})]})}),e.jsx(o,{label:a("nativeAgent.callAgentMaxPerTurn"),hint:a("nativeAgent.callAgentMaxPerTurnHint"),children:e.jsx(m,{type:"number",value:t.callAgentMaxPerTurn,onChange:l=>s("callAgentMaxPerTurn",l.target.value),placeholder:"2",className:"font-mono text-xs"})})]})]})}function _e({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(le,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.criticCard")})]}),e.jsx("p",{className:"px-4 pt-2 text-xs text-text-dim",children:a("nativeAgent.criticDesc")}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsx(o,{label:a("nativeAgent.semanticStuckLoop"),hint:a("nativeAgent.semanticStuckLoopHint"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.semanticStuckLoop,onChange:l=>s("semanticStuckLoop",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:t.semanticStuckLoop?a("nativeAgent.on"):a("nativeAgent.off")})]})}),e.jsx(o,{label:a("nativeAgent.criticEnabled"),hint:a("nativeAgent.criticEnabledHint"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.criticEnabled,onChange:l=>s("criticEnabled",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:t.criticEnabled?a("nativeAgent.on"):a("nativeAgent.off")})]})}),e.jsx(o,{label:a("nativeAgent.criticRole"),hint:a("nativeAgent.criticRoleHint"),children:e.jsx(m,{value:t.criticRole,onChange:l=>s("criticRole",l.target.value),placeholder:"(use main backend)",className:"font-mono text-xs",disabled:!t.criticEnabled})}),e.jsx(o,{label:a("nativeAgent.planModeDefault"),hint:a("nativeAgent.planModeDefaultHint"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.planModeDefault,onChange:l=>s("planModeDefault",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:t.planModeDefault?a("nativeAgent.on"):a("nativeAgent.off")})]})}),e.jsx(o,{label:a("nativeAgent.planIntentAuto"),hint:a("nativeAgent.planIntentAutoHint"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.planIntentAuto,onChange:l=>s("planIntentAuto",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:t.planIntentAuto?a("nativeAgent.on"):a("nativeAgent.off")})]})}),e.jsx(o,{label:a("nativeAgent.planIntentPhrases"),hint:a("nativeAgent.planIntentPhrasesHint"),children:e.jsx(m,{value:t.planIntentPhrases,onChange:l=>s("planIntentPhrases",l.target.value),placeholder:"先想想,plan only,don't act yet",className:"font-mono text-xs",disabled:!t.planIntentAuto})})]})]})}function Te({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(de,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.compactCard")})]}),e.jsx("p",{className:"px-4 pt-2 text-xs text-text-dim",children:a("nativeAgent.compactDesc")}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsx(o,{label:a("nativeAgent.compactTriggerChars"),hint:a("nativeAgent.compactTriggerCharsHint"),children:e.jsx(m,{type:"number",value:t.compactTriggerChars,onChange:l=>s("compactTriggerChars",l.target.value),placeholder:"60000",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.compactKeepTurns"),hint:a("nativeAgent.compactKeepTurnsHint"),children:e.jsx(m,{type:"number",value:t.compactKeepTurns,onChange:l=>s("compactKeepTurns",l.target.value),placeholder:"6",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.compactKeepFirst"),hint:a("nativeAgent.compactKeepFirstHint"),children:e.jsx(m,{type:"number",value:t.compactKeepFirst,onChange:l=>s("compactKeepFirst",l.target.value),placeholder:"1",className:"font-mono text-xs"})}),e.jsx(o,{label:a("nativeAgent.compactSummaryChars"),hint:a("nativeAgent.compactSummaryCharsHint"),children:e.jsx(m,{type:"number",value:t.compactSummaryChars,onChange:l=>s("compactSummaryChars",l.target.value),placeholder:"1500",className:"font-mono text-xs"})})]})]})}function Ie({draft:t,setField:s}){const{t:a}=p(["settings","common"]);return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"flex items-center gap-2 border-b border-border px-4 py-3",children:[e.jsx(he,{className:"h-4 w-4 text-text-dim"}),e.jsx("h2",{className:"text-sm font-semibold",children:a("nativeAgent.streamCard")})]}),e.jsx("p",{className:"px-4 pt-2 text-xs text-text-dim",children:a("nativeAgent.streamDesc")}),e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsx(o,{label:a("nativeAgent.streamPartial"),hint:a("nativeAgent.streamPartialHint"),children:e.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[e.jsx("input",{type:"checkbox",checked:t.streamPartial,onChange:l=>s("streamPartial",l.target.checked),className:"h-4 w-4 accent-accent cursor-pointer"}),e.jsx("span",{children:t.streamPartial?a("nativeAgent.on"):a("nativeAgent.off")})]})}),e.jsx(o,{label:a("nativeAgent.maxIter"),hint:a("nativeAgent.maxIterHint"),children:e.jsx(m,{type:"number",value:t.maxIter,onChange:l=>s("maxIter",l.target.value),placeholder:"50",className:"font-mono text-xs"})})]})]})}function o({label:t,hint:s,children:a}){return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(v,{className:"text-xs font-medium",children:t}),a,s&&e.jsx("p",{className:"text-[11px] text-text-dim",children:s})]})}const Me=["cheap","evaluator","native-chat"],P="__unbind__",G=["deepseek","moonshot","zhipu","openai","anthropic","custom"],H=[{provider:"openai-compat",baseUrl:"https://api.deepseek.com/v1",modelHint:"deepseek-chat"},{provider:"openai-compat",baseUrl:"https://api.moonshot.cn/v1",modelHint:"moonshot-v1-8k"},{provider:"openai-compat",baseUrl:"https://open.bigmodel.cn/api/paas/v4",modelHint:"glm-4-air"},{provider:"openai-compat",baseUrl:"https://api.openai.com/v1",modelHint:"gpt-4o-mini"},{provider:"anthropic",baseUrl:"https://api.anthropic.com",modelHint:"claude-3-5-sonnet-20241022"},{provider:"openai-compat",baseUrl:"",modelHint:""}];function Ge(){const{t}=p(["settings","common"]),s=Y();return e.jsxs("div",{className:"mx-auto flex max-w-5xl flex-col gap-6",children:[e.jsxs("header",{className:"flex items-center gap-3",children:[e.jsx("h1",{className:"text-xl font-semibold",children:t("llm.title")}),e.jsxs(_,{variant:"ghost",size:"sm",className:"ml-auto",onClick:()=>void s.refetch(),disabled:s.isFetching,"aria-label":t("actions.refresh",{ns:"common"}),children:[s.isFetching?e.jsx(S,{className:"h-4 w-4 animate-spin"}):e.jsx(X,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:t("llm.refresh")})]})]}),e.jsx("p",{className:"text-sm text-text-dim",children:t("llm.subtitle")}),s.isLoading?e.jsx("div",{className:"h-64 rounded-md bg-surface-2 animate-pulse"}):e.jsxs(e.Fragment,{children:[e.jsx(Ee,{data:s.data}),e.jsx(ye,{}),e.jsx(Ce,{data:s.data}),e.jsxs("section",{id:"agim-agent",className:"rounded-md border border-border bg-surface px-4 py-3",children:[e.jsx("h2",{className:"text-sm font-semibold",children:t("llm.agimAgentRuntimeTitle")}),e.jsx("p",{className:"mt-1 text-xs text-text-dim",children:t("llm.agimAgentRuntimeHint")})]}),e.jsx(Ae,{embedded:!0})]})]})}function Ee({data:t}){const{t:s}=p(["settings","common"]),a=q(),l=W(),[g,r]=b.useState({});async function n(i){if(confirm(s("llm.removeConfirm",{name:i})))try{const d=await a.mutateAsync(i);j.success(s("llm.removedToast",{count:d.removedRoles}))}catch(d){j.error(d?.message??String(d))}}async function h(i){r(d=>({...d,[i]:s("llm.pinging")}));try{const d=await l.mutateAsync(i),u=d.ok?`✓ ${d.durationMs}ms · tokens ${d.tokensIn}→${d.tokensOut}`:`✗ ${d.error}`;r(I=>({...I,[i]:u}))}catch(d){r(u=>({...u,[i]:`✗ ${d?.message??String(d)}`}))}}const A=t?.backends??[];return A.length===0?e.jsx("section",{className:"rounded-md border border-border bg-surface p-6 text-center text-sm text-text-dim",children:s("llm.backendsEmpty")}):e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsx("header",{className:"border-b border-border px-4 py-3",children:e.jsx("h2",{className:"text-sm font-semibold",children:s("llm.backendsTitle",{count:A.length})})}),e.jsxs(Z,{children:[e.jsx(Q,{children:e.jsxs(K,{children:[e.jsx(E,{children:s("llm.col.name")}),e.jsx(E,{children:s("llm.col.provider")}),e.jsx(E,{children:s("llm.col.model")}),e.jsx(E,{children:s("llm.col.baseUrl")}),e.jsx(E,{children:s("llm.col.apiKey")}),e.jsx(E,{children:s("llm.col.actions")})]})}),e.jsx(ee,{children:A.map(i=>{const d=i.secret.source==="none"?e.jsx(T,{variant:"outline",children:s("llm.secretMissing")}):e.jsx(T,{variant:"success",children:i.secret.source});return e.jsxs(K,{children:[e.jsx(C,{className:"font-mono text-xs",children:i.name}),e.jsx(C,{children:i.provider}),e.jsx(C,{className:"font-mono text-xs",children:i.model}),e.jsx(C,{className:"break-all font-mono text-[11px] text-text-dim",children:i.baseUrl??"—"}),e.jsx(C,{children:d}),e.jsxs(C,{className:"flex flex-col gap-1 sm:flex-row sm:items-center",children:[e.jsxs(_,{variant:"ghost",size:"sm",onClick:()=>void h(i.name),disabled:l.isPending||i.secret.source==="none",title:i.secret.source==="none"?s("llm.setKeyFirst"):s("llm.pingHint"),children:[e.jsx(ue,{className:"h-4 w-4"}),e.jsx("span",{children:s("llm.ping")})]}),e.jsxs(_,{variant:"ghost",size:"sm",onClick:()=>void n(i.name),disabled:a.isPending,className:"text-danger hover:text-danger",children:[e.jsx(ie,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:s("llm.remove")})]}),g[i.name]&&e.jsx("span",{className:"ml-2 text-[11px] text-text-dim",children:g[i.name]})]})]},i.name)})})]})]})}function Ce({data:t}){const{t:s}=p(["settings","common"]),a=J(),l=(t?.backends??[]).map(n=>n.name),g=t?.roles??{};async function r(n,h){const A={[n]:h===P?null:h};try{await a.mutateAsync(A),j.success(s("llm.roleUpdated",{role:n}))}catch(i){j.error(i?.message??String(i))}}return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsxs("header",{className:"border-b border-border px-4 py-3",children:[e.jsx("h2",{className:"text-sm font-semibold",children:s("llm.rolesTitle")}),e.jsx("p",{className:"mt-1 text-xs text-text-dim",children:s("llm.rolesOptionalHint")})]}),e.jsx("div",{className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-3",children:Me.map(n=>e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(v,{className:"text-xs font-medium",children:n}),e.jsxs(B,{value:g[n]??P,onValueChange:h=>void r(n,h),disabled:l.length===0||a.isPending,children:[e.jsx(O,{className:"font-mono text-xs",children:e.jsx(w,{placeholder:s("llm.unset")})}),e.jsxs(V,{children:[e.jsx(f,{value:P,children:s("llm.unbound")}),l.map(h=>e.jsx(f,{value:h,children:h},h))]})]}),e.jsx("p",{className:"text-[11px] text-text-dim",children:s(`llm.roleHint.${n}`)})]},n))})]})}function ye(){const{t}=p(["settings","common"]),s=$(),[a,l]=b.useState(0),[g,r]=b.useState(""),[n,h]=b.useState(H[0]?.baseUrl??""),[A,i]=b.useState(H[0]?.modelHint??""),[d,u]=b.useState(""),[I,k]=b.useState(null);function c(x){k(x),j.error(x)}function M(x){l(x);const N=H[x];N&&(h(N.baseUrl),i(N.modelHint))}async function U(x){x.preventDefault();const N=H[a];if(!N){c(t("llm.invalidPreset"));return}if(!g.trim()){c(t("llm.nameRequired"));return}if(!n.trim()){c(t("llm.baseUrlRequired"));return}if(!A.trim()){c(t("llm.modelRequired"));return}if(!d.trim()){c(t("llm.apiKeyRequired"));return}try{await s.mutateAsync({name:g.trim(),provider:N.provider,baseUrl:n.trim(),model:A.trim(),apiKey:d.trim()}),k(null),j.success(t("llm.addedWithKey",{name:g.trim()})),r(""),u("")}catch(D){const z=D?.message??String(D);c(z)}}return e.jsxs("section",{className:"rounded-md border border-border bg-surface",children:[e.jsx("header",{className:"border-b border-border px-4 py-3",children:e.jsx("h2",{className:"text-sm font-semibold",children:t("llm.addTitle")})}),e.jsxs("form",{onSubmit:x=>void U(x),className:"grid grid-cols-1 gap-3 p-4 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx(v,{className:"text-xs font-medium",children:t("llm.preset")}),e.jsxs(B,{value:String(a),onValueChange:x=>M(Number(x)),children:[e.jsx(O,{children:e.jsx(w,{})}),e.jsx(V,{children:H.map((x,N)=>e.jsx(f,{value:String(N),children:t(`llm.presets.${G[N]}`)},G[N]))})]})]}),e.jsxs("div",{children:[e.jsx(v,{className:"text-xs font-medium",children:t("llm.name")}),e.jsx(m,{value:g,onChange:x=>r(x.target.value),placeholder:t("llm.namePlaceholder"),className:"font-mono text-xs"})]}),e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx(v,{className:"text-xs font-medium",children:t("llm.baseUrl")}),e.jsx(m,{value:n,onChange:x=>h(x.target.value),placeholder:t("llm.baseUrlPlaceholder"),className:"font-mono text-xs"})]}),e.jsxs("div",{children:[e.jsx(v,{className:"text-xs font-medium",children:t("llm.model")}),e.jsx(m,{value:A,onChange:x=>i(x.target.value),placeholder:t("llm.modelPlaceholder"),className:"font-mono text-xs"})]}),e.jsxs("div",{children:[e.jsx(v,{className:"text-xs font-medium",children:t("llm.apiKey")}),e.jsx(m,{type:"password",value:d,onChange:x=>u(x.target.value),placeholder:t("llm.apiKeyPlaceholder"),className:"font-mono text-xs",autoComplete:"off"})]}),e.jsx("div",{className:"sm:col-span-2 flex",children:e.jsxs("div",{className:"flex w-full flex-col gap-2 sm:items-end",children:[I&&e.jsx("p",{className:"text-xs text-danger",children:I}),e.jsxs(_,{type:"submit",disabled:s.isPending,className:"ml-auto",children:[s.isPending?e.jsx(S,{className:"h-4 w-4 animate-spin"}):e.jsx(oe,{className:"h-4 w-4"}),t("llm.addBackend")]})]})})]})]})}export{Ge as default};
|
|
27
|
-
//# sourceMappingURL=llm-
|
|
27
|
+
//# sourceMappingURL=llm-CMMa85Ig.js.map
|