agim-cli 1.3.8 → 1.3.10
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/CHANGELOG.md +17 -0
- package/dist/cli-ui/tui/app.d.ts.map +1 -1
- package/dist/cli-ui/tui/app.js +67 -13
- package/dist/cli-ui/tui/app.js.map +1 -1
- package/dist/cli-ui/tui/stream-reveal.d.ts +13 -0
- package/dist/cli-ui/tui/stream-reveal.d.ts.map +1 -0
- package/dist/cli-ui/tui/stream-reveal.js +28 -0
- package/dist/cli-ui/tui/stream-reveal.js.map +1 -0
- package/dist/core/approval-router.d.ts.map +1 -1
- package/dist/core/approval-router.js +8 -11
- package/dist/core/approval-router.js.map +1 -1
- package/dist/core/ask-user-router.d.ts +13 -1
- package/dist/core/ask-user-router.d.ts.map +1 -1
- package/dist/core/ask-user-router.js +58 -23
- package/dist/core/ask-user-router.js.map +1 -1
- package/dist/core/ask-user-rpc.d.ts +33 -6
- package/dist/core/ask-user-rpc.d.ts.map +1 -1
- package/dist/core/ask-user-rpc.js +251 -65
- package/dist/core/ask-user-rpc.js.map +1 -1
- package/dist/core/llm/imhub-dispatcher.d.ts.map +1 -1
- package/dist/core/llm/imhub-dispatcher.js +2 -0
- package/dist/core/llm/imhub-dispatcher.js.map +1 -1
- package/dist/core/types.d.ts +21 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/plugins/agents/claude-code/index.d.ts +8 -0
- package/dist/plugins/agents/claude-code/index.d.ts.map +1 -1
- package/dist/plugins/agents/claude-code/index.js +34 -3
- package/dist/plugins/agents/claude-code/index.js.map +1 -1
- package/dist/plugins/messengers/telegram/telegram-adapter.d.ts +8 -0
- package/dist/plugins/messengers/telegram/telegram-adapter.d.ts.map +1 -1
- package/dist/plugins/messengers/telegram/telegram-adapter.js +67 -8
- package/dist/plugins/messengers/telegram/telegram-adapter.js.map +1 -1
- package/dist/web/public/assets/{a2a-D_I9ZX8i.js → a2a-BJDnrQvr.js} +2 -2
- package/dist/web/public/assets/{a2a-D_I9ZX8i.js.map → a2a-BJDnrQvr.js.map} +1 -1
- package/dist/web/public/assets/{activity-ZxWknBf9.js → activity-ODVTDapn.js} +2 -2
- package/dist/web/public/assets/{activity-ZxWknBf9.js.map → activity-ODVTDapn.js.map} +1 -1
- package/dist/web/public/assets/{admins-DFZcKgq0.js → admins-DUDFhuCJ.js} +2 -2
- package/dist/web/public/assets/{admins-DFZcKgq0.js.map → admins-DUDFhuCJ.js.map} +1 -1
- package/dist/web/public/assets/{agents-DTONSU0R.js → agents-DFrinQ8S.js} +2 -2
- package/dist/web/public/assets/{agents-DTONSU0R.js.map → agents-DFrinQ8S.js.map} +1 -1
- package/dist/web/public/assets/{approvals-BdDJvH8b.js → approvals-BBhAiOwe.js} +2 -2
- package/dist/web/public/assets/{approvals-BdDJvH8b.js.map → approvals-BBhAiOwe.js.map} +1 -1
- package/dist/web/public/assets/{arrow-down-Bhl7hNwa.js → arrow-down-Czj6Xxqp.js} +2 -2
- package/dist/web/public/assets/{arrow-down-Bhl7hNwa.js.map → arrow-down-Czj6Xxqp.js.map} +1 -1
- package/dist/web/public/assets/{arrow-up-DZLw3qr1.js → arrow-up-DMJEvzmu.js} +2 -2
- package/dist/web/public/assets/{arrow-up-DZLw3qr1.js.map → arrow-up-DMJEvzmu.js.map} +1 -1
- package/dist/web/public/assets/{asks-Cj2QazUD.js → asks-p9bF8Q81.js} +2 -2
- package/dist/web/public/assets/{asks-Cj2QazUD.js.map → asks-p9bF8Q81.js.map} +1 -1
- package/dist/web/public/assets/{audit-sxS7UUa6.js → audit-D3Rwft_U.js} +2 -2
- package/dist/web/public/assets/{audit-sxS7UUa6.js.map → audit-D3Rwft_U.js.map} +1 -1
- package/dist/web/public/assets/{bell-CqimaF3k.js → bell-BcfPrP44.js} +2 -2
- package/dist/web/public/assets/{bell-CqimaF3k.js.map → bell-BcfPrP44.js.map} +1 -1
- package/dist/web/public/assets/{bgjobs-BnXdz4TP.js → bgjobs-DI-G4o1P.js} +2 -2
- package/dist/web/public/assets/{bgjobs-BnXdz4TP.js.map → bgjobs-DI-G4o1P.js.map} +1 -1
- package/dist/web/public/assets/{brain-4TIClaVZ.js → brain-j7MTWb2W.js} +2 -2
- package/dist/web/public/assets/{brain-4TIClaVZ.js.map → brain-j7MTWb2W.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-iKF60CJd.js → briefcase-D6VTVxcr.js} +2 -2
- package/dist/web/public/assets/{briefcase-iKF60CJd.js.map → briefcase-D6VTVxcr.js.map} +1 -1
- package/dist/web/public/assets/{chat-Cjp0ECm5.js → chat-Sh71acST.js} +2 -2
- package/dist/web/public/assets/{chat-Cjp0ECm5.js.map → chat-Sh71acST.js.map} +1 -1
- package/dist/web/public/assets/{chevron-left-sZyMkeG-.js → chevron-left-CJRMeoEU.js} +2 -2
- package/dist/web/public/assets/{chevron-left-sZyMkeG-.js.map → chevron-left-CJRMeoEU.js.map} +1 -1
- package/dist/web/public/assets/{chevron-right-CPHPRLSX.js → chevron-right-D7RvBcn9.js} +2 -2
- package/dist/web/public/assets/{chevron-right-CPHPRLSX.js.map → chevron-right-D7RvBcn9.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-BB11MxVm.js → circle-check-DyXDqWS7.js} +2 -2
- package/dist/web/public/assets/{circle-check-BB11MxVm.js.map → circle-check-DyXDqWS7.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-Sj-6H_3x.js → circle-check-big-4AFRLlHX.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-Sj-6H_3x.js.map → circle-check-big-4AFRLlHX.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-DYcD4BUu.js → circle-x-CKhp9N2v.js} +2 -2
- package/dist/web/public/assets/{circle-x-DYcD4BUu.js.map → circle-x-CKhp9N2v.js.map} +1 -1
- package/dist/web/public/assets/{clock-BVXa81yB.js → clock-BFwIA0Jz.js} +2 -2
- package/dist/web/public/assets/{clock-BVXa81yB.js.map → clock-BFwIA0Jz.js.map} +1 -1
- package/dist/web/public/assets/{confirm-dialog-C2melodU.js → confirm-dialog-Cm_B6a_Y.js} +2 -2
- package/dist/web/public/assets/{confirm-dialog-C2melodU.js.map → confirm-dialog-Cm_B6a_Y.js.map} +1 -1
- package/dist/web/public/assets/{copy-D1OIgfLU.js → copy-C2cKu0ar.js} +2 -2
- package/dist/web/public/assets/{copy-D1OIgfLU.js.map → copy-C2cKu0ar.js.map} +1 -1
- package/dist/web/public/assets/{data-table-BYJ2qMyY.js → data-table-DP1nlFsW.js} +2 -2
- package/dist/web/public/assets/{data-table-BYJ2qMyY.js.map → data-table-DP1nlFsW.js.map} +1 -1
- package/dist/web/public/assets/{download-BChufhnl.js → download-PfYhaNlR.js} +2 -2
- package/dist/web/public/assets/{download-BChufhnl.js.map → download-PfYhaNlR.js.map} +1 -1
- package/dist/web/public/assets/{email-exon2FvQ.js → email-CAS5_GZJ.js} +2 -2
- package/dist/web/public/assets/{email-exon2FvQ.js.map → email-CAS5_GZJ.js.map} +1 -1
- package/dist/web/public/assets/{empty-state-De5ls0uC.js → empty-state-CJm-vEmY.js} +2 -2
- package/dist/web/public/assets/{empty-state-De5ls0uC.js.map → empty-state-CJm-vEmY.js.map} +1 -1
- package/dist/web/public/assets/{external-link-CiJZi5YL.js → external-link-CBqMMl-X.js} +2 -2
- package/dist/web/public/assets/{external-link-CiJZi5YL.js.map → external-link-CBqMMl-X.js.map} +1 -1
- package/dist/web/public/assets/{eye-DowB5M1R.js → eye-CqZWsMY2.js} +2 -2
- package/dist/web/public/assets/{eye-DowB5M1R.js.map → eye-CqZWsMY2.js.map} +1 -1
- package/dist/web/public/assets/{facts-BdnrzWfV.js → facts-DzePN4sU.js} +2 -2
- package/dist/web/public/assets/{facts-BdnrzWfV.js.map → facts-DzePN4sU.js.map} +1 -1
- package/dist/web/public/assets/{goals-D6ibCBqb.js → goals-B3nMxvT5.js} +2 -2
- package/dist/web/public/assets/{goals-D6ibCBqb.js.map → goals-B3nMxvT5.js.map} +1 -1
- package/dist/web/public/assets/{health-BA8ydz1A.js → health-Br5o8-3r.js} +2 -2
- package/dist/web/public/assets/{health-BA8ydz1A.js.map → health-Br5o8-3r.js.map} +1 -1
- package/dist/web/public/assets/{heart-pulse-ClrbGrB7.js → heart-pulse-tKr9RbAP.js} +2 -2
- package/dist/web/public/assets/{heart-pulse-ClrbGrB7.js.map → heart-pulse-tKr9RbAP.js.map} +1 -1
- package/dist/web/public/assets/{heartbeat-j03zupAy.js → heartbeat-C1wrwDfB.js} +2 -2
- package/dist/web/public/assets/{heartbeat-j03zupAy.js.map → heartbeat-C1wrwDfB.js.map} +1 -1
- package/dist/web/public/assets/{hot-D3bwuObi.js → hot-Cg_tG6vW.js} +2 -2
- package/dist/web/public/assets/{hot-D3bwuObi.js.map → hot-Cg_tG6vW.js.map} +1 -1
- package/dist/web/public/assets/{index-CokfQGcz.css → index-DknVjPYB.css} +1 -1
- package/dist/web/public/assets/index-kq3mrzTq.js +209 -0
- package/dist/web/public/assets/index-kq3mrzTq.js.map +1 -0
- package/dist/web/public/assets/{injection-C89g9123.js → injection-DlagYMTW.js} +2 -2
- package/dist/web/public/assets/{injection-C89g9123.js.map → injection-DlagYMTW.js.map} +1 -1
- package/dist/web/public/assets/{installed-1Hal8dxW.js → installed-1JZZhebV.js} +2 -2
- package/dist/web/public/assets/{installed-1Hal8dxW.js.map → installed-1JZZhebV.js.map} +1 -1
- package/dist/web/public/assets/{jobs-cQ7V-7ec.js → jobs-x1N93chr.js} +2 -2
- package/dist/web/public/assets/{jobs-cQ7V-7ec.js.map → jobs-x1N93chr.js.map} +1 -1
- package/dist/web/public/assets/{layout-CZ9hb8_a.js → layout-B-1hwvUx.js} +2 -2
- package/dist/web/public/assets/{layout-CZ9hb8_a.js.map → layout-B-1hwvUx.js.map} +1 -1
- package/dist/web/public/assets/{layout-CXGgZCd2.js → layout-BL59PdSJ.js} +2 -2
- package/dist/web/public/assets/{layout-CXGgZCd2.js.map → layout-BL59PdSJ.js.map} +1 -1
- package/dist/web/public/assets/{layout-BbRAk_tA.js → layout-BiPpIZhD.js} +2 -2
- package/dist/web/public/assets/{layout-BbRAk_tA.js.map → layout-BiPpIZhD.js.map} +1 -1
- package/dist/web/public/assets/{layout-U5o6RgqN.js → layout-vc5vV1Pk.js} +2 -2
- package/dist/web/public/assets/{layout-U5o6RgqN.js.map → layout-vc5vV1Pk.js.map} +1 -1
- package/dist/web/public/assets/{layout-Y9JSZczb.js → layout-x8HdhDD2.js} +2 -2
- package/dist/web/public/assets/{layout-Y9JSZczb.js.map → layout-x8HdhDD2.js.map} +1 -1
- package/dist/web/public/assets/{llm-CumYZM83.js → llm-BpQBNzJC.js} +2 -2
- package/dist/web/public/assets/{llm-CumYZM83.js.map → llm-BpQBNzJC.js.map} +1 -1
- package/dist/web/public/assets/{loader-circle-CZQXsfz7.js → loader-circle-wNz3NK0s.js} +2 -2
- package/dist/web/public/assets/{loader-circle-CZQXsfz7.js.map → loader-circle-wNz3NK0s.js.map} +1 -1
- package/dist/web/public/assets/{map-pin-CYj0xBbt.js → map-pin-Cr5e7O3j.js} +2 -2
- package/dist/web/public/assets/{map-pin-CYj0xBbt.js.map → map-pin-Cr5e7O3j.js.map} +1 -1
- package/dist/web/public/assets/{mcp-DP4Vj1Nh.js → mcp-rajqKYei.js} +2 -2
- package/dist/web/public/assets/{mcp-DP4Vj1Nh.js.map → mcp-rajqKYei.js.map} +1 -1
- package/dist/web/public/assets/{memos-ZDpt1S28.js → memos-phDNldWv.js} +2 -2
- package/dist/web/public/assets/{memos-ZDpt1S28.js.map → memos-phDNldWv.js.map} +1 -1
- package/dist/web/public/assets/{messengers-B007J8et.js → messengers-DRUmbKlC.js} +2 -2
- package/dist/web/public/assets/{messengers-B007J8et.js.map → messengers-DRUmbKlC.js.map} +1 -1
- package/dist/web/public/assets/{mobile-Crm0YJ36.js → mobile-DL7Gu4eC.js} +2 -2
- package/dist/web/public/assets/{mobile-Crm0YJ36.js.map → mobile-DL7Gu4eC.js.map} +1 -1
- package/dist/web/public/assets/{network-BYbGwOEp.js → network-CYY94XAD.js} +2 -2
- package/dist/web/public/assets/{network-BYbGwOEp.js.map → network-CYY94XAD.js.map} +1 -1
- package/dist/web/public/assets/{outbox-D7xZ5y2T.js → outbox-DlK7zwpJ.js} +2 -2
- package/dist/web/public/assets/{outbox-D7xZ5y2T.js.map → outbox-DlK7zwpJ.js.map} +1 -1
- package/dist/web/public/assets/{pagination-bzSoQOAd.js → pagination-CEtERXmh.js} +2 -2
- package/dist/web/public/assets/{pagination-bzSoQOAd.js.map → pagination-CEtERXmh.js.map} +1 -1
- package/dist/web/public/assets/{persona-VT6A3VYL.js → persona-BAKPqEFa.js} +2 -2
- package/dist/web/public/assets/{persona-VT6A3VYL.js.map → persona-BAKPqEFa.js.map} +1 -1
- package/dist/web/public/assets/{plans-b4DAc_3a.js → plans-B6HmsMZO.js} +2 -2
- package/dist/web/public/assets/{plans-b4DAc_3a.js.map → plans-B6HmsMZO.js.map} +1 -1
- package/dist/web/public/assets/{play-SPYhVFeC.js → play-CcC6v05z.js} +2 -2
- package/dist/web/public/assets/{play-SPYhVFeC.js.map → play-CcC6v05z.js.map} +1 -1
- package/dist/web/public/assets/{plus-D__n9IVW.js → plus-8qdCcw3J.js} +2 -2
- package/dist/web/public/assets/{plus-D__n9IVW.js.map → plus-8qdCcw3J.js.map} +1 -1
- package/dist/web/public/assets/{policy-CWeiR9UO.js → policy-Cs-i-TJY.js} +2 -2
- package/dist/web/public/assets/{policy-CWeiR9UO.js.map → policy-Cs-i-TJY.js.map} +1 -1
- package/dist/web/public/assets/{qr-code-BqDQw03Z.js → qr-code-D37cggaF.js} +2 -2
- package/dist/web/public/assets/{qr-code-BqDQw03Z.js.map → qr-code-D37cggaF.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-CW2loqyz.js → refresh-ccw-BKRs7nNV.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-CW2loqyz.js.map → refresh-ccw-BKRs7nNV.js.map} +1 -1
- package/dist/web/public/assets/{reminders-BAl8NC0R.js → reminders-D4Y9FJy5.js} +2 -2
- package/dist/web/public/assets/{reminders-BAl8NC0R.js.map → reminders-D4Y9FJy5.js.map} +1 -1
- package/dist/web/public/assets/{save-DzWp78MC.js → save-BkYBfkO0.js} +2 -2
- package/dist/web/public/assets/{save-DzWp78MC.js.map → save-BkYBfkO0.js.map} +1 -1
- package/dist/web/public/assets/{schedules-6cyfjv0O.js → schedules-DFywK1ml.js} +2 -2
- package/dist/web/public/assets/{schedules-6cyfjv0O.js.map → schedules-DFywK1ml.js.map} +1 -1
- package/dist/web/public/assets/{search-Bh7gD1Aq.js → search-Dd1xSL9p.js} +2 -2
- package/dist/web/public/assets/{search-Bh7gD1Aq.js.map → search-Dd1xSL9p.js.map} +1 -1
- package/dist/web/public/assets/{search-DVWPME2t.js → search-k6ZRvy1D.js} +2 -2
- package/dist/web/public/assets/{search-DVWPME2t.js.map → search-k6ZRvy1D.js.map} +1 -1
- package/dist/web/public/assets/{security-DlZ_rDwC.js → security-DAMeDugi.js} +2 -2
- package/dist/web/public/assets/{security-DlZ_rDwC.js.map → security-DAMeDugi.js.map} +1 -1
- package/dist/web/public/assets/{service-DKkji52r.js → service-COQVoStD.js} +2 -2
- package/dist/web/public/assets/{service-DKkji52r.js.map → service-COQVoStD.js.map} +1 -1
- package/dist/web/public/assets/{shield-alert-5pYX52s1.js → shield-alert-CqDAxRHU.js} +2 -2
- package/dist/web/public/assets/{shield-alert-5pYX52s1.js.map → shield-alert-CqDAxRHU.js.map} +1 -1
- package/dist/web/public/assets/{status-badge-W8PRNBT2.js → status-badge-Dgws2vye.js} +2 -2
- package/dist/web/public/assets/{status-badge-W8PRNBT2.js.map → status-badge-Dgws2vye.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-DSvOTpF0.js → subtasks-Chl5tnyq.js} +2 -2
- package/dist/web/public/assets/{subtasks-DSvOTpF0.js.map → subtasks-Chl5tnyq.js.map} +1 -1
- package/dist/web/public/assets/{table-B695Fh_p.js → table-BwEvaqRa.js} +2 -2
- package/dist/web/public/assets/{table-B695Fh_p.js.map → table-BwEvaqRa.js.map} +1 -1
- package/dist/web/public/assets/{topn-DqUC9bYh.js → topn-Bphz3dp-.js} +2 -2
- package/dist/web/public/assets/{topn-DqUC9bYh.js.map → topn-Bphz3dp-.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-DH4UNSUm.js → trash-2-CqlgSEso.js} +2 -2
- package/dist/web/public/assets/{trash-2-DH4UNSUm.js.map → trash-2-CqlgSEso.js.map} +1 -1
- package/dist/web/public/assets/{use-agim-skills-BD17YQCK.js → use-agim-skills-itOpYud_.js} +2 -2
- package/dist/web/public/assets/{use-agim-skills-BD17YQCK.js.map → use-agim-skills-itOpYud_.js.map} +1 -1
- package/dist/web/public/assets/{use-background-tasks-Clyo1IGE.js → use-background-tasks-DSsDsdbz.js} +2 -2
- package/dist/web/public/assets/{use-background-tasks-Clyo1IGE.js.map → use-background-tasks-DSsDsdbz.js.map} +1 -1
- package/dist/web/public/assets/{use-memory-BGvVWIQX.js → use-memory-Bf43EjHT.js} +2 -2
- package/dist/web/public/assets/{use-memory-BGvVWIQX.js.map → use-memory-Bf43EjHT.js.map} +1 -1
- package/dist/web/public/assets/{use-observability-IlURblVq.js → use-observability-DNpZkKkn.js} +2 -2
- package/dist/web/public/assets/{use-observability-IlURblVq.js.map → use-observability-DNpZkKkn.js.map} +1 -1
- package/dist/web/public/assets/{use-settings-DFTGCq8J.js → use-settings-C10E-yWx.js} +2 -2
- package/dist/web/public/assets/{use-settings-DFTGCq8J.js.map → use-settings-C10E-yWx.js.map} +1 -1
- package/dist/web/public/assets/{use-workspace-DaXX6QdK.js → use-workspace-D48X-jjW.js} +2 -2
- package/dist/web/public/assets/{use-workspace-DaXX6QdK.js.map → use-workspace-D48X-jjW.js.map} +1 -1
- package/dist/web/public/assets/{vector-CKUwZBiK.js → vector-LvPxtapk.js} +2 -2
- package/dist/web/public/assets/{vector-CKUwZBiK.js.map → vector-LvPxtapk.js.map} +1 -1
- package/dist/web/public/assets/{viewer-edlHJiVg.js → viewer-BTSQ5Kiy.js} +2 -2
- package/dist/web/public/assets/{viewer-edlHJiVg.js.map → viewer-BTSQ5Kiy.js.map} +1 -1
- package/dist/web/public/assets/{workspace-B0jlv7Gj.js → workspace-vy7c8qMt.js} +2 -2
- package/dist/web/public/assets/{workspace-B0jlv7Gj.js.map → workspace-vy7c8qMt.js.map} +1 -1
- package/dist/web/public/assets/{workspaces-_Ho1uiD-.js → workspaces-BL_1nr0f.js} +2 -2
- package/dist/web/public/assets/{workspaces-_Ho1uiD-.js.map → workspaces-BL_1nr0f.js.map} +1 -1
- package/dist/web/public/index.html +2 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +56 -37
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
- package/dist/web/public/assets/index-DvWldAJY.js +0 -204
- package/dist/web/public/assets/index-DvWldAJY.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as c,f as x,j as e,T as d,S as m,g as p,h as u,i as h,k as b,N as g,c as n,O as y}from"./index-
|
|
2
|
-
//# sourceMappingURL=layout-
|
|
1
|
+
import{u as c,f as x,j as e,T as d,S as m,g as p,h as u,i as h,k as b,N as g,c as n,O as y}from"./index-kq3mrzTq.js";import"./react-DlP5eolq.js";const f=[{to:"health",i18nKey:"tabs.health"},{to:"topn",i18nKey:"tabs.topn"},{to:"audit",i18nKey:"tabs.audit"}],j=[1,7,30,90];function N(){const{t}=c("observability"),[r,i]=x(),l=Math.max(1,Number(r.get("days"))||7);function o(s){const a=new URLSearchParams(r);s===7?a.delete("days"):a.set("days",String(s)),i(a,{replace:!0})}return e.jsxs("div",{className:"flex min-h-dvh flex-col bg-bg",children:[e.jsx(d,{}),e.jsx("div",{className:"border-b border-border bg-surface px-3 sm:px-4 py-2",children:e.jsxs("div",{className:"mx-auto flex max-w-7xl items-center gap-3",children:[e.jsx("span",{className:"text-sm text-text-dim shrink-0",children:t("window.label")}),e.jsxs(m,{value:String(l),onValueChange:s=>o(Number(s)),children:[e.jsx(p,{className:"w-32",children:e.jsx(u,{})}),e.jsx(h,{children:j.map(s=>e.jsx(b,{value:String(s),children:t("window.days",{count:s})},s))})]})]})}),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":t("pageTitle"),children:f.map(s=>e.jsx(g,{to:s.to,className:({isActive:a})=>n("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:t(s.i18nKey)},s.to))}),e.jsx("main",{className:"flex-1 px-3 sm:px-4 py-4 pb-safe",children:e.jsx(y,{})})]})}export{N as default};
|
|
2
|
+
//# sourceMappingURL=layout-BiPpIZhD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-
|
|
1
|
+
{"version":3,"file":"layout-BiPpIZhD.js","sources":["../../src/routes/observability/layout.tsx"],"sourcesContent":["/**\n * /observability — layout shell with sub-tab nav (health / topn /\n * audit) + a global time-window selector that every sub-tab reads\n * via useSearchParams (?days=).\n */\n\nimport { NavLink, Outlet, useSearchParams } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\nimport { Topbar } from '@/components/shell/topbar'\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@/components/ui/select'\nimport { cn } from '@/lib/utils'\n\nconst SUB_TABS = [\n { to: 'health', i18nKey: 'tabs.health' },\n { to: 'topn', i18nKey: 'tabs.topn' },\n { to: 'audit', i18nKey: 'tabs.audit' },\n]\n\nconst DAY_WINDOWS = [1, 7, 30, 90]\n\nexport default function ObservabilityLayout(): JSX.Element {\n const { t } = useTranslation('observability')\n const [params, setParams] = useSearchParams()\n const days = Math.max(1, Number(params.get('days')) || 7)\n\n function setDays(next: number): void {\n const p = new URLSearchParams(params)\n if (next === 7) p.delete('days')\n else p.set('days', String(next))\n setParams(p, { replace: true })\n }\n\n return (\n <div className=\"flex min-h-dvh flex-col bg-bg\">\n <Topbar />\n\n <div className=\"border-b border-border bg-surface px-3 sm:px-4 py-2\">\n <div className=\"mx-auto flex max-w-7xl items-center gap-3\">\n <span className=\"text-sm text-text-dim shrink-0\">{t('window.label')}</span>\n <Select value={String(days)} onValueChange={(v) => setDays(Number(v))}>\n <SelectTrigger className=\"w-32\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {DAY_WINDOWS.map((n) => (\n <SelectItem key={n} value={String(n)}>\n {t('window.days', { count: n })}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\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.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","DAY_WINDOWS","ObservabilityLayout","useTranslation","params","setParams","useSearchParams","days","setDays","next","p","jsxs","jsx","Topbar","Select","v","SelectTrigger","SelectValue","SelectContent","n","SelectItem","cn","tab","NavLink","isActive","Outlet"],"mappings":"iJAkBA,MAAMA,EAAW,CACf,CAAE,GAAI,SAAU,QAAS,aAAA,EACzB,CAAE,GAAI,OAAU,QAAS,WAAA,EACzB,CAAE,GAAI,QAAU,QAAS,YAAA,CAC3B,EAEMC,EAAc,CAAC,EAAG,EAAG,GAAI,EAAE,EAEjC,SAAwBC,GAAmC,CACzD,KAAM,CAAE,CAAA,EAAMC,EAAe,eAAe,EACtC,CAACC,EAAQC,CAAS,EAAIC,EAAA,EACtBC,EAAO,KAAK,IAAI,EAAG,OAAOH,EAAO,IAAI,MAAM,CAAC,GAAK,CAAC,EAExD,SAASI,EAAQC,EAAoB,CACnC,MAAMC,EAAI,IAAI,gBAAgBN,CAAM,EAChCK,IAAS,EAAGC,EAAE,OAAO,MAAM,EAC1BA,EAAE,IAAI,OAAQ,OAAOD,CAAI,CAAC,EAC/BJ,EAAUK,EAAG,CAAE,QAAS,EAAA,CAAM,CAChC,CAEA,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,gCACb,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAO,QAEP,MAAA,CAAI,UAAU,sDACb,SAAAF,EAAAA,KAAC,MAAA,CAAI,UAAU,4CACb,SAAA,CAAAC,MAAC,OAAA,CAAK,UAAU,iCAAkC,SAAA,EAAE,cAAc,EAAE,EACpED,EAAAA,KAACG,EAAA,CAAO,MAAO,OAAOP,CAAI,EAAG,cAAgBQ,GAAMP,EAAQ,OAAOO,CAAC,CAAC,EAClE,SAAA,CAAAH,MAACI,EAAA,CAAc,UAAU,OACvB,SAAAJ,MAACK,IAAY,EACf,EACAL,MAACM,GACE,SAAAjB,EAAY,IAAKkB,GAChBP,EAAAA,IAACQ,GAAmB,MAAO,OAAOD,CAAC,EAChC,SAAA,EAAE,cAAe,CAAE,MAAOA,EAAG,CAAA,EADfA,CAEjB,CACD,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,EAEAP,EAAAA,IAAC,MAAA,CACC,UAAWS,EACT,oBACA,0BACA,oCACA,oBACA,iBAAA,EAEF,aAAY,EAAE,WAAW,EAExB,SAAArB,EAAS,IAAKsB,GACbV,EAAAA,IAACW,EAAA,CAEC,GAAID,EAAI,GACR,UAAW,CAAC,CAAE,SAAAE,CAAA,IACZH,EACE,uDACA,+BACAG,EACI,uCACA,sDAAA,EAIP,SAAA,EAAEF,EAAI,OAAO,CAAA,EAZTA,EAAI,EAAA,CAcZ,CAAA,CAAA,QAGF,OAAA,CAAK,UAAU,mCACd,SAAAV,EAAAA,IAACa,IAAO,CAAA,CACV,CAAA,EACF,CAEJ"}
|
|
@@ -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-kq3mrzTq.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-vc5vV1Pk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-
|
|
1
|
+
{"version":3,"file":"layout-vc5vV1Pk.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 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-kq3mrzTq.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-x8HdhDD2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-
|
|
1
|
+
{"version":3,"file":"layout-x8HdhDD2.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,aa as Y,ab as q,ac as W,ad as $,ae 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,aa as Y,ab as q,ac as W,ad as $,ae as J}from"./index-kq3mrzTq.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-BwEvaqRa.js";import{u as te,a as ae}from"./use-settings-C10E-yWx.js";import{L as S}from"./loader-circle-wNz3NK0s.js";import{R as X}from"./refresh-ccw-BKRs7nNV.js";import{S as se}from"./save-BkYBfkO0.js";import{N as ne}from"./network-CYY94XAD.js";import{S as le}from"./shield-alert-CqDAxRHU.js";import{B as re}from"./bell-BcfPrP44.js";import{H as ce}from"./heart-pulse-tKr9RbAP.js";import{T as ie}from"./trash-2-CqlgSEso.js";import{P as oe}from"./plus-8qdCcw3J.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-BpQBNzJC.js.map
|