agim-cli 1.2.21 → 1.2.34
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 +172 -0
- package/README.md +8 -8
- package/README.zh-CN.md +6 -6
- package/dist/cli-ui/cmd-handlers.d.ts.map +1 -1
- package/dist/cli-ui/cmd-handlers.js +172 -13
- package/dist/cli-ui/cmd-handlers.js.map +1 -1
- package/dist/cli-ui/config-wizard.d.ts.map +1 -1
- package/dist/cli-ui/config-wizard.js +134 -24
- package/dist/cli-ui/config-wizard.js.map +1 -1
- package/dist/cli-ui/i18n.d.ts +33 -4
- package/dist/cli-ui/i18n.d.ts.map +1 -1
- package/dist/cli-ui/i18n.js +66 -8
- package/dist/cli-ui/i18n.js.map +1 -1
- package/dist/cli-ui/service.d.ts +44 -0
- package/dist/cli-ui/service.d.ts.map +1 -1
- package/dist/cli-ui/service.js +176 -8
- package/dist/cli-ui/service.js.map +1 -1
- package/dist/cli.js +193 -33
- package/dist/cli.js.map +1 -1
- package/dist/core/access-token.d.ts +51 -5
- package/dist/core/access-token.d.ts.map +1 -1
- package/dist/core/access-token.js +114 -15
- package/dist/core/access-token.js.map +1 -1
- package/dist/core/acp-server.d.ts.map +1 -1
- package/dist/core/acp-server.js +44 -3
- package/dist/core/acp-server.js.map +1 -1
- package/dist/core/admin-allowlist.d.ts +4 -1
- package/dist/core/admin-allowlist.d.ts.map +1 -1
- package/dist/core/admin-allowlist.js +14 -1
- package/dist/core/admin-allowlist.js.map +1 -1
- package/dist/core/admin-bootstrap.d.ts.map +1 -1
- package/dist/core/admin-bootstrap.js +8 -5
- package/dist/core/admin-bootstrap.js.map +1 -1
- package/dist/core/agent-base.d.ts.map +1 -1
- package/dist/core/agent-base.js +25 -0
- package/dist/core/agent-base.js.map +1 -1
- package/dist/core/agent-cwd.d.ts +1 -1
- package/dist/core/agent-cwd.d.ts.map +1 -1
- package/dist/core/agent-cwd.js +73 -2
- package/dist/core/agent-cwd.js.map +1 -1
- package/dist/core/agent-helper.d.ts +1 -1
- package/dist/core/agent-helper.js +4 -4
- package/dist/core/agent-helper.js.map +1 -1
- package/dist/core/approval-bus.d.ts +10 -0
- package/dist/core/approval-bus.d.ts.map +1 -1
- package/dist/core/approval-bus.js +130 -0
- package/dist/core/approval-bus.js.map +1 -1
- package/dist/core/approval-router.d.ts.map +1 -1
- package/dist/core/approval-router.js +18 -0
- package/dist/core/approval-router.js.map +1 -1
- package/dist/core/artifacts.d.ts +9 -1
- package/dist/core/artifacts.d.ts.map +1 -1
- package/dist/core/artifacts.js +22 -5
- package/dist/core/artifacts.js.map +1 -1
- package/dist/core/audit-log.d.ts +28 -0
- package/dist/core/audit-log.d.ts.map +1 -1
- package/dist/core/audit-log.js +100 -2
- package/dist/core/audit-log.js.map +1 -1
- package/dist/core/commands/service.d.ts +6 -5
- package/dist/core/commands/service.d.ts.map +1 -1
- package/dist/core/commands/service.js +59 -8
- package/dist/core/commands/service.js.map +1 -1
- package/dist/core/feature-flags.d.ts +10 -0
- package/dist/core/feature-flags.d.ts.map +1 -0
- package/dist/core/feature-flags.js +30 -0
- package/dist/core/feature-flags.js.map +1 -0
- package/dist/core/intent.d.ts.map +1 -1
- package/dist/core/intent.js +0 -4
- package/dist/core/intent.js.map +1 -1
- package/dist/core/logger.d.ts +31 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +41 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/memory-distill.js +1 -1
- package/dist/core/memory-distill.js.map +1 -1
- package/dist/core/memory-rpc.d.ts.map +1 -1
- package/dist/core/memory-rpc.js +55 -12
- package/dist/core/memory-rpc.js.map +1 -1
- package/dist/core/memory.d.ts +5 -0
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js +151 -1
- package/dist/core/memory.js.map +1 -1
- package/dist/core/onboarding.d.ts +6 -0
- package/dist/core/onboarding.d.ts.map +1 -1
- package/dist/core/onboarding.js +21 -10
- package/dist/core/onboarding.js.map +1 -1
- package/dist/core/outbox.d.ts +8 -1
- package/dist/core/outbox.d.ts.map +1 -1
- package/dist/core/outbox.js +46 -2
- package/dist/core/outbox.js.map +1 -1
- package/dist/core/persona.d.ts.map +1 -1
- package/dist/core/persona.js +1 -18
- package/dist/core/persona.js.map +1 -1
- package/dist/core/prompt-injection-guard.d.ts +23 -0
- package/dist/core/prompt-injection-guard.d.ts.map +1 -0
- package/dist/core/prompt-injection-guard.js +94 -0
- package/dist/core/prompt-injection-guard.js.map +1 -0
- package/dist/core/registry.d.ts +8 -0
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +41 -7
- package/dist/core/registry.js.map +1 -1
- package/dist/core/restart-flow.d.ts.map +1 -1
- package/dist/core/restart-flow.js +27 -0
- package/dist/core/restart-flow.js.map +1 -1
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +4 -0
- package/dist/core/router.js.map +1 -1
- package/dist/core/sensitive-paths.d.ts +28 -0
- package/dist/core/sensitive-paths.d.ts.map +1 -0
- package/dist/core/sensitive-paths.js +234 -0
- package/dist/core/sensitive-paths.js.map +1 -0
- package/dist/core/session.d.ts +9 -0
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +35 -4
- package/dist/core/session.js.map +1 -1
- package/dist/core/types.d.ts +6 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/viewer-local.d.ts +4 -0
- package/dist/core/viewer-local.d.ts.map +1 -1
- package/dist/core/viewer-local.js +74 -0
- package/dist/core/viewer-local.js.map +1 -1
- package/dist/plugins/agents/antigravity/ensure-mcp-config.d.ts +49 -0
- package/dist/plugins/agents/antigravity/ensure-mcp-config.d.ts.map +1 -0
- package/dist/plugins/agents/antigravity/ensure-mcp-config.js +110 -0
- package/dist/plugins/agents/antigravity/ensure-mcp-config.js.map +1 -0
- package/dist/plugins/agents/antigravity/index.d.ts +34 -0
- package/dist/plugins/agents/antigravity/index.d.ts.map +1 -0
- package/dist/plugins/agents/antigravity/index.js +330 -0
- package/dist/plugins/agents/antigravity/index.js.map +1 -0
- package/dist/plugins/agents/claude-code/mcp-approval-server.js +5 -5
- package/dist/plugins/agents/claude-code/mcp-approval-server.js.map +1 -1
- package/dist/plugins/messengers/feishu/card-builder.d.ts.map +1 -1
- package/dist/plugins/messengers/feishu/card-builder.js +0 -1
- package/dist/plugins/messengers/feishu/card-builder.js.map +1 -1
- package/dist/utils/cross-platform.d.ts +0 -5
- package/dist/utils/cross-platform.d.ts.map +1 -1
- package/dist/utils/cross-platform.js +1 -21
- package/dist/utils/cross-platform.js.map +1 -1
- package/dist/web/public/assets/{a2a-Dk2fSs33.js → a2a-BFM2Ojvs.js} +2 -2
- package/dist/web/public/assets/{a2a-Dk2fSs33.js.map → a2a-BFM2Ojvs.js.map} +1 -1
- package/dist/web/public/assets/{activity-eiIPshcV.js → activity-DNe1vn9s.js} +2 -2
- package/dist/web/public/assets/{activity-eiIPshcV.js.map → activity-DNe1vn9s.js.map} +1 -1
- package/dist/web/public/assets/{admins-DlbQYdW_.js → admins-DtIF8yji.js} +2 -2
- package/dist/web/public/assets/{admins-DlbQYdW_.js.map → admins-DtIF8yji.js.map} +1 -1
- package/dist/web/public/assets/agents-BJ3jyH1u.js +12 -0
- package/dist/web/public/assets/agents-BJ3jyH1u.js.map +1 -0
- package/dist/web/public/assets/{approvals-DlXS_sKD.js → approvals-8ifx3_0b.js} +2 -2
- package/dist/web/public/assets/{approvals-DlXS_sKD.js.map → approvals-8ifx3_0b.js.map} +1 -1
- package/dist/web/public/assets/{audit-C8I8xC_6.js → audit-BiFOljMy.js} +2 -2
- package/dist/web/public/assets/{audit-C8I8xC_6.js.map → audit-BiFOljMy.js.map} +1 -1
- package/dist/web/public/assets/{bgjobs-PFYinH7D.js → bgjobs-Dve01ab0.js} +2 -2
- package/dist/web/public/assets/{bgjobs-PFYinH7D.js.map → bgjobs-Dve01ab0.js.map} +1 -1
- package/dist/web/public/assets/{brain-DEEJttEL.js → brain-BI78EY6_.js} +2 -2
- package/dist/web/public/assets/{brain-DEEJttEL.js.map → brain-BI78EY6_.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-BlMy8gI6.js → briefcase-CuwoOW31.js} +2 -2
- package/dist/web/public/assets/{briefcase-BlMy8gI6.js.map → briefcase-CuwoOW31.js.map} +1 -1
- package/dist/web/public/assets/{chevron-right-DmABPvoA.js → chevron-right-D5JanEQ3.js} +2 -2
- package/dist/web/public/assets/{chevron-right-DmABPvoA.js.map → chevron-right-D5JanEQ3.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-C0Qpg1vL.js → circle-check-DXMzdFtD.js} +2 -2
- package/dist/web/public/assets/{circle-check-C0Qpg1vL.js.map → circle-check-DXMzdFtD.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-C8LG3beV.js → circle-check-big-CyJIIhiq.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-C8LG3beV.js.map → circle-check-big-CyJIIhiq.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-D_cRHcHK.js → circle-x-DTwfNpvp.js} +2 -2
- package/dist/web/public/assets/{circle-x-D_cRHcHK.js.map → circle-x-DTwfNpvp.js.map} +1 -1
- package/dist/web/public/assets/{confirm-dialog-Baz_xFle.js → confirm-dialog-F0sdcLGN.js} +2 -2
- package/dist/web/public/assets/{confirm-dialog-Baz_xFle.js.map → confirm-dialog-F0sdcLGN.js.map} +1 -1
- package/dist/web/public/assets/{data-table--I_ktDF4.js → data-table-DN_-VLbp.js} +2 -2
- package/dist/web/public/assets/{data-table--I_ktDF4.js.map → data-table-DN_-VLbp.js.map} +1 -1
- package/dist/web/public/assets/{dialog-DZpoEskO.js → dialog-CM16nfWK.js} +2 -2
- package/dist/web/public/assets/{dialog-DZpoEskO.js.map → dialog-CM16nfWK.js.map} +1 -1
- package/dist/web/public/assets/{download-DbFGHwZ5.js → download-tFqY3Zj6.js} +2 -2
- package/dist/web/public/assets/{download-DbFGHwZ5.js.map → download-tFqY3Zj6.js.map} +1 -1
- package/dist/web/public/assets/{email-BB1Hq8eE.js → email-By2-ARPV.js} +2 -2
- package/dist/web/public/assets/{email-BB1Hq8eE.js.map → email-By2-ARPV.js.map} +1 -1
- package/dist/web/public/assets/{empty-state-DXNa90pP.js → empty-state-Dq9_8t-M.js} +2 -2
- package/dist/web/public/assets/{empty-state-DXNa90pP.js.map → empty-state-Dq9_8t-M.js.map} +1 -1
- package/dist/web/public/assets/{external-link-nhnJN0qg.js → external-link-amfAWSUX.js} +2 -2
- package/dist/web/public/assets/{external-link-nhnJN0qg.js.map → external-link-amfAWSUX.js.map} +1 -1
- package/dist/web/public/assets/{eye-IKkn_oUo.js → eye-BfgN09Lx.js} +2 -2
- package/dist/web/public/assets/{eye-IKkn_oUo.js.map → eye-BfgN09Lx.js.map} +1 -1
- package/dist/web/public/assets/{facts-C7Qy9vTw.js → facts-uvL__ilQ.js} +2 -2
- package/dist/web/public/assets/{facts-C7Qy9vTw.js.map → facts-uvL__ilQ.js.map} +1 -1
- package/dist/web/public/assets/{health-CMRdeNEW.js → health-fiU-ueEw.js} +2 -2
- package/dist/web/public/assets/{health-CMRdeNEW.js.map → health-fiU-ueEw.js.map} +1 -1
- package/dist/web/public/assets/{hot-Bh5Nrc7i.js → hot-Dt4V3jM_.js} +2 -2
- package/dist/web/public/assets/{hot-Bh5Nrc7i.js.map → hot-Dt4V3jM_.js.map} +1 -1
- package/dist/web/public/assets/{index-CpGWCLE5.js → index-6GMwymev.js} +8 -8
- package/dist/web/public/assets/index-6GMwymev.js.map +1 -0
- package/dist/web/public/assets/{index-GpceOxum.css → index-CDYTPZH0.css} +1 -1
- package/dist/web/public/assets/{installed-FYLkPij2.js → installed-B_x6no76.js} +2 -2
- package/dist/web/public/assets/{installed-FYLkPij2.js.map → installed-B_x6no76.js.map} +1 -1
- package/dist/web/public/assets/{jobs-BmqLUzHp.js → jobs-LqWH3CIe.js} +2 -2
- package/dist/web/public/assets/{jobs-BmqLUzHp.js.map → jobs-LqWH3CIe.js.map} +1 -1
- package/dist/web/public/assets/layout-CvxcdPD9.js +2 -0
- package/dist/web/public/assets/layout-CvxcdPD9.js.map +1 -0
- package/dist/web/public/assets/{layout-BZaHqf69.js → layout-DHUzlXrd.js} +2 -2
- package/dist/web/public/assets/{layout-BZaHqf69.js.map → layout-DHUzlXrd.js.map} +1 -1
- package/dist/web/public/assets/{layout-CXsUyEpG.js → layout-MNk0bLGe.js} +2 -2
- package/dist/web/public/assets/{layout-CXsUyEpG.js.map → layout-MNk0bLGe.js.map} +1 -1
- package/dist/web/public/assets/{layout-DFxtpNut.js → layout-WcrkE0es.js} +2 -2
- package/dist/web/public/assets/{layout-DFxtpNut.js.map → layout-WcrkE0es.js.map} +1 -1
- package/dist/web/public/assets/{layout-d8qxPKQk.js → layout-apvyE2JN.js} +2 -2
- package/dist/web/public/assets/{layout-d8qxPKQk.js.map → layout-apvyE2JN.js.map} +1 -1
- package/dist/web/public/assets/{loader-circle-JaKY-xMt.js → loader-circle-hxNy7hSm.js} +2 -2
- package/dist/web/public/assets/{loader-circle-JaKY-xMt.js.map → loader-circle-hxNy7hSm.js.map} +1 -1
- package/dist/web/public/assets/{map-pin-hFFSWZ3B.js → map-pin-CCmA7ke2.js} +2 -2
- package/dist/web/public/assets/{map-pin-hFFSWZ3B.js.map → map-pin-CCmA7ke2.js.map} +1 -1
- package/dist/web/public/assets/{memos-EhjMUvVZ.js → memos-pEjDfEj3.js} +2 -2
- package/dist/web/public/assets/{memos-EhjMUvVZ.js.map → memos-pEjDfEj3.js.map} +1 -1
- package/dist/web/public/assets/messengers-Ba7opEc1.js +7 -0
- package/dist/web/public/assets/messengers-Ba7opEc1.js.map +1 -0
- package/dist/web/public/assets/{network-DtCI2ZUU.js → network-DJw-ei_k.js} +2 -2
- package/dist/web/public/assets/{network-DtCI2ZUU.js.map → network-DJw-ei_k.js.map} +1 -1
- package/dist/web/public/assets/{outbox-CxUbMp6o.js → outbox-Ckq-VT5C.js} +2 -2
- package/dist/web/public/assets/{outbox-CxUbMp6o.js.map → outbox-Ckq-VT5C.js.map} +1 -1
- package/dist/web/public/assets/{pagination-CkZY8YNa.js → pagination-DGS-TnI5.js} +2 -2
- package/dist/web/public/assets/{pagination-CkZY8YNa.js.map → pagination-DGS-TnI5.js.map} +1 -1
- package/dist/web/public/assets/{persona-B6TFMSnI.js → persona--LsrhCVU.js} +2 -2
- package/dist/web/public/assets/{persona-B6TFMSnI.js.map → persona--LsrhCVU.js.map} +1 -1
- package/dist/web/public/assets/{play-BxRcWaH5.js → play-Cb7co2DX.js} +2 -2
- package/dist/web/public/assets/{play-BxRcWaH5.js.map → play-Cb7co2DX.js.map} +1 -1
- package/dist/web/public/assets/{policy-ndE1Y8zD.js → policy-CbCotzr6.js} +2 -2
- package/dist/web/public/assets/{policy-ndE1Y8zD.js.map → policy-CbCotzr6.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-Bx817_KW.js → refresh-ccw-CINxCmwV.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-Bx817_KW.js.map → refresh-ccw-CINxCmwV.js.map} +1 -1
- package/dist/web/public/assets/{reminders-XynkGQc5.js → reminders-CSKrWre3.js} +2 -2
- package/dist/web/public/assets/{reminders-XynkGQc5.js.map → reminders-CSKrWre3.js.map} +1 -1
- package/dist/web/public/assets/{save-CqMcATrh.js → save-Bib9iAA-.js} +2 -2
- package/dist/web/public/assets/{save-CqMcATrh.js.map → save-Bib9iAA-.js.map} +1 -1
- package/dist/web/public/assets/{schedules-VM02w_Om.js → schedules-DUD_FfEX.js} +2 -2
- package/dist/web/public/assets/{schedules-VM02w_Om.js.map → schedules-DUD_FfEX.js.map} +1 -1
- package/dist/web/public/assets/{search-Ba-e1t1P.js → search-DZOHNA81.js} +2 -2
- package/dist/web/public/assets/{search-Ba-e1t1P.js.map → search-DZOHNA81.js.map} +1 -1
- package/dist/web/public/assets/{service-C-wnwJ-b.js → service-Cf7EQ4Sj.js} +3 -3
- package/dist/web/public/assets/{service-C-wnwJ-b.js.map → service-Cf7EQ4Sj.js.map} +1 -1
- package/dist/web/public/assets/{status-badge-CsdJ6k8Q.js → status-badge-RpKtiHgj.js} +2 -2
- package/dist/web/public/assets/{status-badge-CsdJ6k8Q.js.map → status-badge-RpKtiHgj.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-mGRKpF0G.js → subtasks-xCHP5uI6.js} +2 -2
- package/dist/web/public/assets/{subtasks-mGRKpF0G.js.map → subtasks-xCHP5uI6.js.map} +1 -1
- package/dist/web/public/assets/{table-vmLMgj6_.js → table-S43AHY-3.js} +2 -2
- package/dist/web/public/assets/{table-vmLMgj6_.js.map → table-S43AHY-3.js.map} +1 -1
- package/dist/web/public/assets/{topn-nu66Fotx.js → topn-C2tcvmnB.js} +2 -2
- package/dist/web/public/assets/{topn-nu66Fotx.js.map → topn-C2tcvmnB.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-ZIitN_U3.js → trash-2-Ct7YJmZO.js} +2 -2
- package/dist/web/public/assets/{trash-2-ZIitN_U3.js.map → trash-2-Ct7YJmZO.js.map} +1 -1
- package/dist/web/public/assets/{use-memory-DgEqHEca.js → use-memory-CCn0h8EP.js} +2 -2
- package/dist/web/public/assets/{use-memory-DgEqHEca.js.map → use-memory-CCn0h8EP.js.map} +1 -1
- package/dist/web/public/assets/{use-observability-CQev_A8e.js → use-observability-Dbal-WXR.js} +2 -2
- package/dist/web/public/assets/{use-observability-CQev_A8e.js.map → use-observability-Dbal-WXR.js.map} +1 -1
- package/dist/web/public/assets/{use-settings-CU-UcrVD.js → use-settings-erlkhPqn.js} +2 -2
- package/dist/web/public/assets/{use-settings-CU-UcrVD.js.map → use-settings-erlkhPqn.js.map} +1 -1
- package/dist/web/public/assets/{use-skills-Dr77CXLA.js → use-skills-C8Ukv8B4.js} +2 -2
- package/dist/web/public/assets/{use-skills-Dr77CXLA.js.map → use-skills-C8Ukv8B4.js.map} +1 -1
- package/dist/web/public/assets/{use-workspace-PNv9Z4de.js → use-workspace-8VZDPppc.js} +2 -2
- package/dist/web/public/assets/{use-workspace-PNv9Z4de.js.map → use-workspace-8VZDPppc.js.map} +1 -1
- package/dist/web/public/assets/{useQuery-BTyugXYV.js → useQuery-BnCHQlxq.js} +2 -2
- package/dist/web/public/assets/{useQuery-BTyugXYV.js.map → useQuery-BnCHQlxq.js.map} +1 -1
- package/dist/web/public/assets/{vector-w-Ea3pg6.js → vector-DDnIidyp.js} +2 -2
- package/dist/web/public/assets/{vector-w-Ea3pg6.js.map → vector-DDnIidyp.js.map} +1 -1
- package/dist/web/public/assets/{viewer-DKA7QP9U.js → viewer-BV0Cux3V.js} +2 -2
- package/dist/web/public/assets/{viewer-DKA7QP9U.js.map → viewer-BV0Cux3V.js.map} +1 -1
- package/dist/web/public/assets/{workspace-DVLZca7t.js → workspace-DbLMyUTn.js} +2 -2
- package/dist/web/public/assets/{workspace-DVLZca7t.js.map → workspace-DbLMyUTn.js.map} +1 -1
- package/dist/web/public/assets/{workspaces-DYZsMmY-.js → workspaces-BhF0IAJg.js} +2 -2
- package/dist/web/public/assets/{workspaces-DYZsMmY-.js.map → workspaces-BhF0IAJg.js.map} +1 -1
- package/dist/web/public/assets/{x-Ru3rHT82.js → x-BmgfwQRl.js} +2 -2
- package/dist/web/public/assets/{x-Ru3rHT82.js.map → x-BmgfwQRl.js.map} +1 -1
- package/dist/web/public/index.html +2 -2
- package/dist/web/public/settings.html +0 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +613 -28
- package/dist/web/server.js.map +1 -1
- package/package.json +3 -2
- package/dist/plugins/agents/copilot/index.d.ts +0 -35
- package/dist/plugins/agents/copilot/index.d.ts.map +0 -1
- package/dist/plugins/agents/copilot/index.js +0 -182
- package/dist/plugins/agents/copilot/index.js.map +0 -1
- package/dist/web/public/assets/agents-BMI1WbZj.js +0 -12
- package/dist/web/public/assets/agents-BMI1WbZj.js.map +0 -1
- package/dist/web/public/assets/env-Bqrb9XkC.js +0 -2
- package/dist/web/public/assets/env-Bqrb9XkC.js.map +0 -1
- package/dist/web/public/assets/index-CpGWCLE5.js.map +0 -1
- package/dist/web/public/assets/layout-9Gp_myEd.js +0 -2
- package/dist/web/public/assets/layout-9Gp_myEd.js.map +0 -1
- package/dist/web/public/assets/messengers-BRV1IVGX.js +0 -7
- package/dist/web/public/assets/messengers-BRV1IVGX.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,178 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.2.32] - 2026-05-22
|
|
8
|
+
|
|
9
|
+
### R15 — final R14 follow-ups
|
|
10
|
+
|
|
11
|
+
- **`findAgimProcesses` argv-strict /proc scan** — pre-R15 `pgrep -af
|
|
12
|
+
"agim start"` matched any process whose cmdline string contained the
|
|
13
|
+
substring `"agim start"` (operator's bash test scripts got SIGTERM'd
|
|
14
|
+
with exit 143 during R14 verification). New impl walks
|
|
15
|
+
`/proc/<pid>/cmdline` on Linux and validates argv shape (argv[0]
|
|
16
|
+
node-like, argv[1] agim entry, argv[2] = literal `'start'`). Shell
|
|
17
|
+
scripts can't satisfy. macOS/Windows fall back to legacy pgrep. PR #57.
|
|
18
|
+
- **PID_FILE on every successful `agim start`** — previously only
|
|
19
|
+
written by `spawnBackground()` (CLI `--bg` only), so systemd-started
|
|
20
|
+
agim never wrote it and R14 §六 self-check passed silently on stale
|
|
21
|
+
data. Now write `process.pid` after the R14 self-check passes;
|
|
22
|
+
`gracefulShutdown` unlinks only when the recorded pid matches our
|
|
23
|
+
own to avoid race with a freshly-spawned successor. PR #57.
|
|
24
|
+
|
|
25
|
+
## [1.2.30] - 2026-05-22
|
|
26
|
+
|
|
27
|
+
### R15 — new
|
|
28
|
+
|
|
29
|
+
- **CLI 向导 "Web 后台 — 监听地址 + 端口" 段** — bind (`IMHUB_WEB_BIND`
|
|
30
|
+
写到 `~/.agim/env`) + port (`webPort` 写到 `config.json`). 选
|
|
31
|
+
`0.0.0.0` 强制 yesNo 二次确认 "你前面有 TLS 反代吗"; port `< 1024`
|
|
32
|
+
拒绝。PR #56.
|
|
33
|
+
- **ACP port gate 闭合** — `GET /api/config` 现透传 `acpPort` 但只在
|
|
34
|
+
`IMHUB_ENABLE_REMOTE_AGENT=1` 时; `PUT /api/config` 在 gate 关时丢
|
|
35
|
+
incoming.acpPort; Web `/settings/service` Ports 卡的 ACP 输入框
|
|
36
|
+
按 `features.remoteAgent` gate (之前一直显示). PR #56.
|
|
37
|
+
|
|
38
|
+
## [1.2.29] - 2026-05-22
|
|
39
|
+
|
|
40
|
+
### R14 docs
|
|
41
|
+
|
|
42
|
+
- **`docs/deployment.md`** — systemd unit 模板加 R14 加固参数
|
|
43
|
+
(`TimeoutStopSec=30` / `KillMode=control-group` / `Restart=on-failure`
|
|
44
|
+
/ `RestartPreventExitStatus=2` / `StartLimit*`). 明示不要
|
|
45
|
+
`dbus-run-session` wrapper. PR #55.
|
|
46
|
+
- **`docs/keyring-integration.md`** (新增) — 可选 keyring 集成参考,含
|
|
47
|
+
R14 cgroup-escape 故障案例反例。**非默认部署,不进 npm 包**。PR #55.
|
|
48
|
+
|
|
49
|
+
## [1.2.28] - 2026-05-22
|
|
50
|
+
|
|
51
|
+
### R14 — IM systemd lifecycle + Copilot removal
|
|
52
|
+
|
|
53
|
+
- **IM `/restart` reap 兜底** — `initiateRestart()` systemd 分支在
|
|
54
|
+
`systemctl restart` 之前调用 `reapStrayAgimProcesses`. PR #53.
|
|
55
|
+
- **IM `/stop` 走 systemctl** — `handleStopCommand` 之前总是 SIGTERM
|
|
56
|
+
自己, systemd unit 配 `Restart=always` 时变成 no-op. 改成 systemd
|
|
57
|
+
模式下走 `systemctl stop` detached + 1s 后 reap 兜底. PR #53.
|
|
58
|
+
|
|
59
|
+
### Removed
|
|
60
|
+
|
|
61
|
+
- **Copilot adapter** — 删 `src/plugins/agents/copilot/` 整目录,
|
|
62
|
+
intent classifier profile, install hint, 飞书 emoji, i18n (en+zh),
|
|
63
|
+
MCP A2A enum. 已有 `copilot` in `config.agents` 走标准 "agent not
|
|
64
|
+
available" fallback. PR #54.
|
|
65
|
+
|
|
66
|
+
## [1.2.27] - 2026-05-22
|
|
67
|
+
|
|
68
|
+
### R14 — graceful shutdown + reap + startup self-check
|
|
69
|
+
|
|
70
|
+
- **25s 优雅退出硬截止** — `gracefulShutdown` 包 setTimeout 25s,
|
|
71
|
+
到点 `process.exit(1)`. 与 systemd `TimeoutStopSec=30` 配 5s
|
|
72
|
+
buffer 防 SIGKILL. PR #51.
|
|
73
|
+
- **端口先释放** — `webServer.close()` / `acpServer.close()` 提到
|
|
74
|
+
teardown 链最前; 两者 close() 加 `httpServer.closeAllConnections()`
|
|
75
|
+
强断 keep-alive, 让端口在 DB / messenger teardown 之前释放. PR #51.
|
|
76
|
+
- **Reap stray agim 进程** — `reapStrayAgimProcesses` 实现 SIGTERM
|
|
77
|
+
→ 5s → SIGKILL. Web restart 在 `systemctl restart` 之前先 reap.
|
|
78
|
+
PR #51.
|
|
79
|
+
- **detectService is-enabled 而非 is-active** — systemd in activating
|
|
80
|
+
/ failed / inactive 仍返 mode='systemd', 防止 web restart 回退到
|
|
81
|
+
spawnBackground 造成双开. PR #51.
|
|
82
|
+
- **启动期自检** — PID_FILE 活 pid 且 ≠ self → exit(2); INVOCATION_ID
|
|
83
|
+
缺 + unit 文件存在 → warn + `~/.agim/start-anomaly.log`. PR #51.
|
|
84
|
+
- **opencode serve 显式 stop** — 之前依赖 parent-exit, SIGKILL 下变
|
|
85
|
+
僵尸. PR #51.
|
|
86
|
+
|
|
87
|
+
### Web Start/Stop systemctl
|
|
88
|
+
|
|
89
|
+
- **Web `/api/service/start` 走 systemctl** — 之前写死
|
|
90
|
+
`spawnBackground` (绕开 systemd 创建第二个实例). 改成 systemd 模式
|
|
91
|
+
下 active 时返 alreadyRunning, 否则 `systemctl start` detached.
|
|
92
|
+
PR #52.
|
|
93
|
+
- **Web `/api/service/stop` 跑 reap 兜底** — `systemctl stop` 之后
|
|
94
|
+
跑 reap 收掉 cgroup-escape 残留. PR #52.
|
|
95
|
+
|
|
96
|
+
## [1.2.26] - 2026-05-22
|
|
97
|
+
|
|
98
|
+
### Changed
|
|
99
|
+
|
|
100
|
+
- **删 `/settings/env` raw 编辑器** — 直接 vim `~/.agim/env`. 各专用
|
|
101
|
+
页 (Email / Policy / Viewer / Memory) 还在用 `/api/env` 改自己那
|
|
102
|
+
一小撮 key. PR #50.
|
|
103
|
+
- **`npm run build` 接入 vite** — 新 `build:spa` 脚本: vite build +
|
|
104
|
+
rsync dist → public. 防止下次 SPA 源码改了但 bundle 没重建.
|
|
105
|
+
PR #50.
|
|
106
|
+
|
|
107
|
+
## [1.2.25] - 2026-05-21
|
|
108
|
+
|
|
109
|
+
### R13 — security follow-ups (10 controls)
|
|
110
|
+
|
|
111
|
+
- **G1 admin role on web tokens + bootstrap token redaction** —
|
|
112
|
+
`TokenRow.role: 'admin'|'user'`; 20+ mutation 端点 `requireAdmin`
|
|
113
|
+
gate; web + IM admin bootstrap token 原值不再进 stdout/pino. PR #48.
|
|
114
|
+
- **G2 sensitive-paths hard-deny + outbound secret scrubber** —
|
|
115
|
+
approval-bus 在 readonly-auto-allow 之前 hard-deny `~/.agim/`,
|
|
116
|
+
`~/.ssh/`, `/etc/shadow`, `.env`, `AGENTS.md`, `CLAUDE.md`, `id_rsa`
|
|
117
|
+
等 (运维 approve 也无法); outbox 文本 payload 入 SQLite 之前过 10
|
|
118
|
+
类 secret 模式扫描. PR #48.
|
|
119
|
+
- **G3 memory facts sanitize + AGENTS.md scan** — `memory_query` /
|
|
120
|
+
`memory_list` 输出对 5W1H 走 `sanitizeForInjection`;
|
|
121
|
+
`ensureAgentWorkspace` 启动期扫 AGENTS.md/CLAUDE.md, 11 英文 + 4
|
|
122
|
+
中文 prompt-injection 模式命中 → warn + audit. PR #48.
|
|
123
|
+
- **G4 `IMHUB_ACP_BIND` env + non-loopback audit** — ACP 服务监听
|
|
124
|
+
地址可配; 改非回环时启动 warn + 持久 audit-event. PR #48.
|
|
125
|
+
- **G5 advisories** — `IMHUB_TIMEOUT_DEFAULT=allow` 启动横幅 + 每
|
|
126
|
+
小时 reminder; 按 IP WS 限流 (`IMHUB_WS_MAX_PER_IP=20` +
|
|
127
|
+
`IMHUB_WS_MAX_NEW_PER_IP_PER_MIN=30`); `?token=` URL 回退首次使用
|
|
128
|
+
warn + audit; 非回环 Web bind 未设 `IMHUB_WEB_TLS_ACK` 启动横幅.
|
|
129
|
+
PR #48.
|
|
130
|
+
|
|
131
|
+
### R12 — 6 enterprise privacy hardening items + visibility gates
|
|
132
|
+
|
|
133
|
+
- **① 用户消息日志脱敏** — `sanitizeUserText()` 默认
|
|
134
|
+
`{len, prefix(6), sha256(12)}`, `IMHUB_LOG_USER_TEXT=1` 显式启用
|
|
135
|
+
原文 (120 字符 cap). PR #48.
|
|
136
|
+
- **② Memory / Persona / Paste TTL** — `IMHUB_MEMORY_FACT_RETENTION_
|
|
137
|
+
DAYS=90`/`IMHUB_PERSONA_RETENTION_DAYS=180`/`IMHUB_PASTE_RETENTION_
|
|
138
|
+
DAYS=30`. facts 按 last_referenced_at (LRU 友好), 0 = 永久. PR #48.
|
|
139
|
+
- **③ `agim uninstall` 三模式** — 保留 / 清凭据保留历史 / 完全销毁
|
|
140
|
+
(typed "DELETE" + shred + rm -rf). PR #48.
|
|
141
|
+
- **④ 显式 0o600 / 0o700 文件权限** — session logs + A2A artifacts
|
|
142
|
+
不再依赖 umask. PR #48.
|
|
143
|
+
- **⑤ `audit_events` 持久审计表** — 10 类事件 (approval / admin /
|
|
144
|
+
config / env / token / workspace) 持久 180 天, details JSON 只放
|
|
145
|
+
字段名 / 长度 / 哈希前缀. `GET /api/audit/events` 暴露. PR #48.
|
|
146
|
+
- **⑥ `IMHUB_SKILLHUB_ENABLED` 出网开关** — `=0` 关 skillhub
|
|
147
|
+
对外 fetch (气隙部署). PR #48.
|
|
148
|
+
- **Compliance visibility gates** — `IMHUB_ENABLE_GLOBAL_IM` 控
|
|
149
|
+
Discord+Telegram, `IMHUB_ENABLE_REMOTE_AGENT` 控 ACP. 默认全关,
|
|
150
|
+
三层都 gate (CLI 向导 / Web 设置 / 运行时). PR #48.
|
|
151
|
+
|
|
152
|
+
### Build
|
|
153
|
+
|
|
154
|
+
- **重建 SPA bundles** — PR #48 改了 SPA 源码但未重建 bundle, 导致
|
|
155
|
+
生产 deploy 上 telegram/discord 卡片仍可见. PR #49 重建并 ship
|
|
156
|
+
更新 `src/web/public/assets/*`.
|
|
157
|
+
|
|
158
|
+
## [1.2.22] - 2026-05-20
|
|
159
|
+
|
|
160
|
+
### Fixed
|
|
161
|
+
|
|
162
|
+
- **Fresh install white-screens on the web console.** `index.html`
|
|
163
|
+
shipped in `dist/web/public/` is the v2 SPA shell since M1 / R10,
|
|
164
|
+
but the static-asset router that serves `/assets/<chunk>.js` was
|
|
165
|
+
gated behind `IMHUB_WEB_V2=1`. New installs without that env var
|
|
166
|
+
set received the SPA HTML (which references `/assets/index-…js`)
|
|
167
|
+
but every chunk request fell through to the catch-all 404 — the
|
|
168
|
+
browser parsed the shell, failed every module import, and stuck
|
|
169
|
+
on a white screen with no obvious error short of devtools.
|
|
170
|
+
- Default flipped to ON. Set `IMHUB_WEB_V2=0` to drop back to the
|
|
171
|
+
legacy v1 page handler (still serves the older
|
|
172
|
+
`tasks.html` / `reminders.html` / `memos.html` / `settings.html`
|
|
173
|
+
for any operator who customised those files; new operators get
|
|
174
|
+
the SPA out of the box).
|
|
175
|
+
|
|
176
|
+
(1.2.21 was an unrelated opencode permission-polling fix landed in
|
|
177
|
+
parallel; this release bumps to 1.2.22 to stay above it.)
|
|
178
|
+
|
|
7
179
|
## [1.2.20] - 2026-05-20
|
|
8
180
|
|
|
9
181
|
### Fixed
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[中文文档](README.zh-CN.md)
|
|
4
4
|
|
|
5
|
-
**Universal messenger-to-agent bridge** — connect WeChat / Feishu / DingTalk / Telegram / Discord to Claude Code / Codex /
|
|
5
|
+
**Universal messenger-to-agent bridge** — connect WeChat / Feishu / DingTalk / Telegram / Discord to Claude Code / Codex / OpenCode, or any custom agent via ACP. Single Node.js process, no Docker, no Redis.
|
|
6
6
|
|
|
7
7
|
> **Naming**: Agim ⟵ Agent + IM (with a hint of "agile"). Chinese name 阿吉姆.
|
|
8
8
|
> npm package: **`agim-cli`** (the unscoped `agim` is reserved by npm's
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
## Highlights
|
|
19
19
|
|
|
20
|
-
- **5 messengers + email,
|
|
20
|
+
- **5 messengers + email, 3+ agents** — WeChat (image / file / voice), Feishu, DingTalk (image / voice with server-side ASR), Telegram, Discord, Email (SMTP); Claude Code, Codex, OpenCode, plus any ACP endpoint
|
|
21
|
+
- **Compliance-first defaults (v1.2.23+)** — Discord + Telegram + remote-ACP-agent are **hidden** by default. Opt-in via `IMHUB_ENABLE_GLOBAL_IM=1` / `IMHUB_ENABLE_REMOTE_AGENT=1`. See [`docs/security-hardening.md`](docs/security-hardening.md) for the full security control catalogue (~30 env vars / sensitive-path denylist / outbound secret scrubber / audit-events table / admin role on tokens / R14 systemctl-aware lifecycle).
|
|
21
22
|
- **Agent-to-Agent (A2A)** — agents call other agents inline via `mcp__imhub__call_agent`. Just say *"用 codex 帮我跑 git status"* / *"ask opencode to run the tests"* — the active agent hands off, waits, integrates the reply. Guardrails: depth limit (default 3), self-call ban, workspace whitelist, per-user budget. Observability: `/a2a stats | recent | tree <id>`. Disable with `IMHUB_A2A_ENABLED=0`.
|
|
22
23
|
- **A2A shared artifacts (v1.1.3+)** — caller drops files into the callee's workspace via `inputs[]` (`fromAbsolutePath` / `fromCallerOutput` / inline `content`), and callee writes products to `~/.agim/artifacts/<jobId>/_agim-output/`. Returned `outputs[]` lets the caller read files on demand. Hard-link first, copy fallback. Size caps configurable.
|
|
23
24
|
- **IM long-message viewer (v1.1.6+)** — WeChat / Feishu and friends render rich markdown poorly. When an agent's reply exceeds the size threshold (or contains a markdown table / large code block), agim stashes the full markdown in `~/.agim/viewer.db` (permanent, local-only — content never leaves your host) and sends the IM a short summary + a link `https://<your-host>/v/<uuid>`. The link is served by agim's own web console — operator exposes the web port (cloudflared / caddy / tailscale of choice). Agents can opt in explicitly by wrapping long answers in `<im-summary>…</im-summary><full-md>…</full-md>`. Enable with `IMHUB_VIEWER_ENABLED=1` + `IMHUB_VIEWER_PUBLIC_BASE_URL=https://your-host`.
|
|
@@ -36,7 +37,7 @@
|
|
|
36
37
|
- **Multi-tenant workspaces** — per-workspace agent whitelist, rate limits, command-level ACL
|
|
37
38
|
- **Persistent jobs & cron** — SQLite-backed, survives restarts, 30-day retention (24h for auto-tracked inline jobs)
|
|
38
39
|
- **Observability** — structured logging (pino + traceId), Prometheus metrics, audit log
|
|
39
|
-
- **Security** — timing-safe auth, SSRF guards, credential file permissions, approval socket entropy
|
|
40
|
+
- **Security** — token-based admin/user roles (R13), sensitive-path hard-deny + outbound secret scrubber (R13), prompt-injection guard on memory + AGENTS.md (R13), per-IP WS rate limit, timing-safe auth, SSRF guards, credential file permissions, approval socket entropy, persistent `audit_events` table with 180-day retention (R12 ⑤), 25s graceful shutdown + reap (R14), startup PID self-check (R14)
|
|
40
41
|
|
|
41
42
|
See [CHANGELOG.md](CHANGELOG.md) for the full version history.
|
|
42
43
|
|
|
@@ -91,7 +92,7 @@ units that call `agim` continue to work without any extra setup.
|
|
|
91
92
|
| Category | Details |
|
|
92
93
|
|----------|---------|
|
|
93
94
|
| **Messengers** | WeChat (iLink — image / file / voice / video), Feishu (WebSocket), DingTalk (Stream mode — image / voice with built-in ASR), Telegram (grammy — photo / voice / audio), Discord (discord.js), Email (SMTP, push-only) |
|
|
94
|
-
| **Agents** | Claude Code, Codex,
|
|
95
|
+
| **Agents** | Claude Code, Codex, OpenCode — all via shared `AgentBase`; any HTTP agent via ACP |
|
|
95
96
|
| **Reminders** | `/remind` slash, LLM intent detection, LLM-polished delivery, MCP tools for agents (claude-code + opencode), web `/reminders` UI |
|
|
96
97
|
| **Web UI** | Chat with streaming, three-state theme (light / dark / system), bilingual (EN / 中文), SSE dashboard |
|
|
97
98
|
| **Tool Approval** | Human-in-the-loop over IM + in-page cards; MCP sidecar for Claude |
|
|
@@ -346,9 +347,9 @@ Environment="IMHUB_SMTP_PASS=xxxxxxxxxxxxxxxx"
|
|
|
346
347
|
▼
|
|
347
348
|
┌── Agent invocation ───────────────┐
|
|
348
349
|
│ circuit breaker + spawn stream │
|
|
349
|
-
|
|
350
|
-
▼ ▼ ▼ ▼
|
|
351
|
-
claude opencode codex
|
|
350
|
+
└───┬──────┬──────┬──────┬───┘
|
|
351
|
+
▼ ▼ ▼ ▼
|
|
352
|
+
claude opencode codex ACP
|
|
352
353
|
│
|
|
353
354
|
▼ (tool approval)
|
|
354
355
|
MCP sidecar → approvalBus → IM thread
|
|
@@ -370,7 +371,6 @@ For the full deep-dive see [`docs/architecture/current.md`](docs/architecture/cu
|
|
|
370
371
|
- At least one agent CLI or ACP endpoint:
|
|
371
372
|
- `npm i -g @anthropic-ai/claude-code`
|
|
372
373
|
- `npm i -g @openai/codex`
|
|
373
|
-
- `npm i -g @github/copilot`
|
|
374
374
|
- `npm i -g opencode-ai`
|
|
375
375
|
|
|
376
376
|
## Development
|
package/README.zh-CN.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md)
|
|
4
4
|
|
|
5
|
-
**IM 到 AI Agent 的万能桥梁** — 将微信 / 飞书 / 钉钉 / Telegram / Discord 接入 Claude Code / Codex /
|
|
5
|
+
**IM 到 AI Agent 的万能桥梁** — 将微信 / 飞书 / 钉钉 / Telegram / Discord 接入 Claude Code / Codex / OpenCode,或通过 ACP 接入任意自定义 Agent。单 Node.js 进程,无需 Docker / Redis。
|
|
6
6
|
|
|
7
7
|
> **品牌**:英文名 **Agim**(取自 Agent + IM,也有 agile 敏捷的感觉),中文名 **阿吉姆**。
|
|
8
8
|
> npm 包名 **`agim-cli`**(短名 `agim` 被 npm 反 typo-squat 保留),装完后**命令**还是 **`agim`**,
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
## 亮点
|
|
15
15
|
|
|
16
|
-
- **5 种 IM + 邮件,
|
|
16
|
+
- **5 种 IM + 邮件,3+ 种 Agent** — 微信(图片 / 文件 / 语音)、飞书、钉钉(图片 / 语音,自带服务端 ASR)、Telegram、Discord、Email(SMTP);Claude Code、Codex、OpenCode,以及任意 ACP 端点
|
|
17
|
+
- **合规友好默认(v1.2.23+)** — Discord、Telegram、远程 ACP Agent 默认**全部隐藏**(CLI 向导 / Web 后台 / 运行时加载三层都 gate 住)。通过 `IMHUB_ENABLE_GLOBAL_IM=1` / `IMHUB_ENABLE_REMOTE_AGENT=1` 显式启用。完整安全控制清单见 [`docs/security-hardening.md`](docs/security-hardening.md)(~30 个 env、敏感路径黑名单、出站脱敏、审计事件表、token 角色、R14 systemctl-aware 生命周期)
|
|
17
18
|
- **Agent 之间互调(A2A)** — Agent 可以在自己的工具循环里直接调另一个 Agent,比如直接说「用 codex 帮我跑 git status」/「让 opencode 跑一下测试」。护栏在 agim 里强制:递归深度限制(默认 3)、禁止自调、工作区白名单、按人预算共享;可观测:`/a2a stats | recent | tree <id>`;`IMHUB_A2A_ENABLED=0` 关闭
|
|
18
19
|
- **A2A 共享文件传递(v1.1.3+)** — caller 可通过 `inputs[]`(`fromAbsolutePath` / `fromCallerOutput` / 内联 `content`)把文件放进 callee 工作区;callee 把产物写到 `~/.agim/artifacts/<jobId>/_agim-output/`,返回的 `outputs[]` 让 caller 按需读。同文件系统优先 hard-link,否则复制。大小上限 env 可调
|
|
19
20
|
- **IM 长内容 viewer(v1.1.6+)** — 微信 / 飞书等对富 markdown 渲染差。Agent 回复超过阈值(行数 / 字符数 / 含表格 / 大段代码)时,agim 把完整 markdown 永久存进本机 `~/.agim/viewer.db`(**永远不离开你的机器**),IM 里只发短摘要 + 链接 `https://<你的域名>/v/<uuid>`。链接背后是 agim 自己的 web console,由你自己反代(cloudflared / caddy / tailscale 任选)。Agent 可显式用 `<im-summary>…</im-summary><full-md>…</full-md>` 包装长回答获得最干净体验。开启:`IMHUB_VIEWER_ENABLED=1` + `IMHUB_VIEWER_PUBLIC_BASE_URL=https://你的域名`
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
- **多租户工作区** — 按工作区隔离 Agent 白名单、限流、命令级 ACL
|
|
33
34
|
- **持久化任务与定时** — SQLite 落地,重启不丢,显式 `/job` 30 天 / 自动跟踪的 inline job 24 小时
|
|
34
35
|
- **可观测** — 结构化日志(pino + traceId)、Prometheus 指标、审计日志
|
|
35
|
-
- **安全** —
|
|
36
|
+
- **安全** — Web 令牌 admin/user 双角色(R13)、敏感路径硬拒(AGENTS.md / `~/.agim/env` / `.env` 等)+ 出站 token 自动脱敏(R13)、记忆 / AGENTS.md prompt-injection 防护(R13)、按 IP WS 限流、常量时鉴权、SSRF 防护、凭证文件 0o600、审批 socket 熵值、持久 `audit_events` 表保留 180 天(R12 ⑤)、25s 优雅退出 + reap 兜底(R14)、启动期 PID 自检(R14)。详见 [`docs/security-hardening.md`](docs/security-hardening.md)
|
|
36
37
|
|
|
37
38
|
完整版本历史见 [CHANGELOG.md](CHANGELOG.md)。
|
|
38
39
|
|
|
@@ -83,7 +84,7 @@ npm 包名是 `agim-cli`(短名 `agim` 被 npm 反 typo-squat 保留了);
|
|
|
83
84
|
| 分类 | 内容 |
|
|
84
85
|
|------|------|
|
|
85
86
|
| **IM 通道** | 微信(iLink — 图片 / 文件 / 语音 / 视频)、飞书(WebSocket)、钉钉(Stream 模式 — 图片 / 语音,自带服务端 ASR)、Telegram(grammy — 图片 / 语音 / 音频)、Discord(discord.js)、Email(SMTP,仅推送) |
|
|
86
|
-
| **Agent** | Claude Code、Codex、
|
|
87
|
+
| **Agent** | Claude Code、Codex、OpenCode(统一 `AgentBase`);任何 HTTP Agent 通过 ACP 接入 |
|
|
87
88
|
| **提醒** | `/remind` slash、LLM 意图识别、LLM 润色投递、Agent MCP 工具(claude-code + opencode)、Web `/reminders` 页面 |
|
|
88
89
|
| **Web 控制台** | 流式对话、三态主题(浅 / 深 / 跟随系统)、中英双语、SSE 实时仪表盘 |
|
|
89
90
|
| **工具人审** | IM 端 + 页面内审批卡;Claude MCP sidecar |
|
|
@@ -340,7 +341,7 @@ Environment="IMHUB_SMTP_PASS=xxxxxxxxxxxxxxxx"
|
|
|
340
341
|
│ 断路器 + spawn stream │
|
|
341
342
|
└───┬──────┬──────┬──────┬──────┬───┘
|
|
342
343
|
▼ ▼ ▼ ▼ ▼
|
|
343
|
-
claude opencode codex
|
|
344
|
+
claude opencode codex ACP
|
|
344
345
|
│
|
|
345
346
|
▼ (工具审批)
|
|
346
347
|
MCP sidecar → approvalBus → IM 会话
|
|
@@ -362,7 +363,6 @@ Environment="IMHUB_SMTP_PASS=xxxxxxxxxxxxxxxx"
|
|
|
362
363
|
- 至少一个 Agent CLI 或 ACP 端点:
|
|
363
364
|
- `npm i -g @anthropic-ai/claude-code`
|
|
364
365
|
- `npm i -g @openai/codex`
|
|
365
|
-
- `npm i -g @github/copilot`
|
|
366
366
|
- `npm i -g opencode-ai`
|
|
367
367
|
|
|
368
368
|
## 开发
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-handlers.d.ts","sourceRoot":"","sources":["../../src/cli-ui/cmd-handlers.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAoCvD,wBAAgB,SAAS,IAAI,IAAI,CA+BhC;AAID;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiClG;AAID,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB7C;AAID,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBhD;
|
|
1
|
+
{"version":3,"file":"cmd-handlers.d.ts","sourceRoot":"","sources":["../../src/cli-ui/cmd-handlers.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAoCvD,wBAAgB,SAAS,IAAI,IAAI,CA+BhC;AAID;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiClG;AAID,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB7C;AAID,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBhD;AA+CD,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAyKlD;AAkBD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiGjE"}
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
// status / outcomes in that language, and shells out to systemctl / npm /
|
|
4
4
|
// rm where appropriate.
|
|
5
5
|
import { execSync, spawn } from 'node:child_process';
|
|
6
|
-
import { unlinkSync, existsSync, readFileSync } from 'node:fs';
|
|
6
|
+
import { unlinkSync, existsSync, readFileSync, rmSync } from 'node:fs';
|
|
7
7
|
import { dirname } from 'node:path';
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
9
|
import { homedir } from 'node:os';
|
|
10
10
|
import { join } from 'node:path';
|
|
11
11
|
import { detectService, spawnBackground, stopService, formatUptime, readWebEndpoint, PID_FILE, LOG_FILE, } from './service.js';
|
|
12
|
-
import {
|
|
12
|
+
import { menu, inputText, UserAbortError } from './prompts.js';
|
|
13
13
|
import { pickLang } from './lang-picker.js';
|
|
14
14
|
import { readSavedLang, t } from './i18n.js';
|
|
15
|
-
import { CONFIG_FILE, WORKSPACES_DIR } from './paths.js';
|
|
15
|
+
import { CONFIG_DIR, CONFIG_FILE, WORKSPACES_DIR } from './paths.js';
|
|
16
16
|
import { ENV_FILE, removeEnvFile } from './env-file.js';
|
|
17
17
|
/** Candidate paths for the systemd unit; v1.0 prefers `agim.service`,
|
|
18
18
|
* pre-v1.0 wrote `im-hub.service`. Resolved at runtime by `findSystemdUnit()`
|
|
@@ -165,21 +165,130 @@ export async function cmdRestart() {
|
|
|
165
165
|
console.log(t(lang, 'svc.restart.done'));
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
-
|
|
168
|
+
/** The credential files that mode='creds' and mode='full' both wipe.
|
|
169
|
+
* Resolved from CONFIG_DIR so the legacy `~/.im-hub/` layout is handled
|
|
170
|
+
* automatically (agim-paths.ts auto-detects on a 0.x upgrade). */
|
|
171
|
+
function credentialFiles() {
|
|
172
|
+
return [
|
|
173
|
+
join(CONFIG_DIR, 'tokens.json'),
|
|
174
|
+
join(CONFIG_DIR, 'admin-bootstrap-token'),
|
|
175
|
+
join(CONFIG_DIR, 'acp-token'),
|
|
176
|
+
join(CONFIG_DIR, 'approval-bus.sock'),
|
|
177
|
+
];
|
|
178
|
+
}
|
|
179
|
+
/** Cheap probe for `shred` on PATH — used to decide whether full-destruction
|
|
180
|
+
* mode can do a secure overwrite or has to fall back to plain unlink. */
|
|
181
|
+
function hasShred() {
|
|
182
|
+
try {
|
|
183
|
+
execSync('command -v shred', { stdio: 'ignore' });
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** Best-effort secure delete: shred -u when available, else unlink + warn.
|
|
191
|
+
* Returns whether the file no longer exists at end. */
|
|
192
|
+
function secureDelete(path, lang, shredAvailable) {
|
|
193
|
+
if (!existsSync(path))
|
|
194
|
+
return;
|
|
195
|
+
if (shredAvailable) {
|
|
196
|
+
try {
|
|
197
|
+
execSync(`shred -u "${path.replace(/"/g, '\\"')}"`, { stdio: 'ignore' });
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
// Fall through to unlink.
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
// Only warn once per uninstall — caller printed the warning before
|
|
206
|
+
// looping; here we just unlink silently.
|
|
207
|
+
}
|
|
208
|
+
try {
|
|
209
|
+
unlinkSync(path);
|
|
210
|
+
}
|
|
211
|
+
catch { /* ignore */ }
|
|
212
|
+
}
|
|
169
213
|
export async function cmdUninstall() {
|
|
170
214
|
const lang = await pickLang();
|
|
171
215
|
// Path interpolations — match whatever AGIM_HOME / AGIM_WORKSPACES
|
|
172
216
|
// resolved to so the prompts reflect the actual on-disk layout (the
|
|
173
217
|
// legacy ~/.im-hub/ on upgraded systems, the new ~/.agim/ on fresh).
|
|
174
|
-
const pathVars = {
|
|
218
|
+
const pathVars = {
|
|
219
|
+
config: CONFIG_FILE,
|
|
220
|
+
workspaces: WORKSPACES_DIR,
|
|
221
|
+
home: CONFIG_DIR,
|
|
222
|
+
};
|
|
175
223
|
console.log();
|
|
176
|
-
console.log(t(lang, 'svc.uninstall.
|
|
224
|
+
console.log(t(lang, 'svc.uninstall.intro'));
|
|
177
225
|
console.log();
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
226
|
+
// Pick uninstall mode. menu() throws UserAbortError on Ctrl-C; treat as
|
|
227
|
+
// cancel (not a crash). We don't pass `back:` so BACK sentinel can't
|
|
228
|
+
// come back, but TS still narrows the return type — handle it for
|
|
229
|
+
// exhaustiveness.
|
|
230
|
+
let mode;
|
|
231
|
+
try {
|
|
232
|
+
const picked = await menu({
|
|
233
|
+
lang,
|
|
234
|
+
message: t(lang, 'svc.uninstall.mode.prompt'),
|
|
235
|
+
choices: [
|
|
236
|
+
{
|
|
237
|
+
value: 'keep',
|
|
238
|
+
name: t(lang, 'svc.uninstall.mode.keep_name'),
|
|
239
|
+
description: t(lang, 'svc.uninstall.mode.keep_desc', pathVars),
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
value: 'creds',
|
|
243
|
+
name: t(lang, 'svc.uninstall.mode.creds_name'),
|
|
244
|
+
description: t(lang, 'svc.uninstall.mode.creds_desc'),
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
value: 'full',
|
|
248
|
+
name: t(lang, 'svc.uninstall.mode.full_name'),
|
|
249
|
+
description: t(lang, 'svc.uninstall.mode.full_desc', pathVars),
|
|
250
|
+
},
|
|
251
|
+
],
|
|
252
|
+
default: 'keep',
|
|
253
|
+
});
|
|
254
|
+
if (typeof picked === 'symbol') {
|
|
255
|
+
console.log(t(lang, 'svc.uninstall.cancelled'));
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
mode = picked;
|
|
182
259
|
}
|
|
260
|
+
catch (err) {
|
|
261
|
+
if (err instanceof UserAbortError) {
|
|
262
|
+
console.log(t(lang, 'svc.uninstall.cancelled'));
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
throw err;
|
|
266
|
+
}
|
|
267
|
+
// Full destruction needs a typed confirmation — the menu pick alone
|
|
268
|
+
// is too easy to fat-finger when the consequences are irreversible.
|
|
269
|
+
if (mode === 'full') {
|
|
270
|
+
console.log();
|
|
271
|
+
console.log(t(lang, 'svc.uninstall.full_warn', pathVars));
|
|
272
|
+
console.log();
|
|
273
|
+
let typed;
|
|
274
|
+
try {
|
|
275
|
+
typed = await inputText({
|
|
276
|
+
message: t(lang, 'svc.uninstall.full_confirm_prompt'),
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
catch (err) {
|
|
280
|
+
if (err instanceof UserAbortError) {
|
|
281
|
+
console.log(t(lang, 'svc.uninstall.full_aborted'));
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
throw err;
|
|
285
|
+
}
|
|
286
|
+
if (typed.trim() !== 'DELETE') {
|
|
287
|
+
console.log(t(lang, 'svc.uninstall.full_aborted'));
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
// ─── Steps common to all three modes ───────────────────────────────
|
|
183
292
|
// 1. Stop any running instance.
|
|
184
293
|
console.log(t(lang, 'svc.uninstall.stopping'));
|
|
185
294
|
await stopService();
|
|
@@ -206,7 +315,8 @@ export async function cmdUninstall() {
|
|
|
206
315
|
execSync('systemctl daemon-reload', { stdio: 'ignore' });
|
|
207
316
|
}
|
|
208
317
|
catch { /* ok */ }
|
|
209
|
-
// 3. Remove config + env (
|
|
318
|
+
// 3. Remove config + env + pidfile (kept in mode=keep for backward compat
|
|
319
|
+
// with prior behaviour — config is regenerated on next `agim config`).
|
|
210
320
|
console.log(t(lang, 'svc.uninstall.removing_config', pathVars));
|
|
211
321
|
try {
|
|
212
322
|
unlinkSync(CONFIG_FILE);
|
|
@@ -228,9 +338,58 @@ export async function cmdUninstall() {
|
|
|
228
338
|
catch (err) {
|
|
229
339
|
console.warn(`⚠️ npm uninstall failed: ${err instanceof Error ? err.message : String(err)} — run \`npm uninstall -g agim-cli\` manually.`);
|
|
230
340
|
}
|
|
341
|
+
if (mode === 'keep') {
|
|
342
|
+
console.log();
|
|
343
|
+
console.log(t(lang, 'svc.uninstall.workspaces_kept', pathVars));
|
|
344
|
+
console.log(t(lang, 'svc.uninstall.done'));
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
// ─── Mode='creds' or 'full': wipe credential files ─────────────────
|
|
348
|
+
// These four files are what would let an attacker keep using the Web
|
|
349
|
+
// dashboard / ACP after the install is gone. unlink is fine here
|
|
350
|
+
// because mode='full' falls through to a secure shred + rm -rf below.
|
|
351
|
+
console.log(t(lang, 'svc.uninstall.removing_creds'));
|
|
352
|
+
for (const f of credentialFiles()) {
|
|
353
|
+
try {
|
|
354
|
+
unlinkSync(f);
|
|
355
|
+
}
|
|
356
|
+
catch { /* missing is fine */ }
|
|
357
|
+
}
|
|
358
|
+
if (mode === 'creds') {
|
|
359
|
+
console.log();
|
|
360
|
+
console.log(t(lang, 'svc.uninstall.creds_done'));
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
// ─── Mode='full': shred sensitive files, then rm -rf ───────────────
|
|
364
|
+
// Why shred when we're about to `rm -rf`? On ext4 / xfs / btrfs without
|
|
365
|
+
// FS-level encryption (LUKS / BitLocker), `rm` just unlinks — file
|
|
366
|
+
// blocks linger on raw disk until reused. `shred -u` overwrites then
|
|
367
|
+
// unlinks. This is a best-effort hardening — the right answer is
|
|
368
|
+
// FS-level encryption, but for users who skipped that, shred catches
|
|
369
|
+
// the obvious credential files.
|
|
370
|
+
console.log(t(lang, 'svc.uninstall.shredding'));
|
|
371
|
+
const shredAvailable = hasShred();
|
|
372
|
+
if (!shredAvailable) {
|
|
373
|
+
console.log(t(lang, 'svc.uninstall.shred_unavailable'));
|
|
374
|
+
}
|
|
375
|
+
// Re-target the files since credentialFiles() are now gone (unlinked
|
|
376
|
+
// above). Sensitive-files-list also includes env + config that we
|
|
377
|
+
// already unlinked in the common step — explicitly cover them in case
|
|
378
|
+
// a future refactor changes ordering.
|
|
379
|
+
const sensitive = [ENV_FILE, CONFIG_FILE, ...credentialFiles()];
|
|
380
|
+
for (const f of sensitive)
|
|
381
|
+
secureDelete(f, lang, shredAvailable);
|
|
382
|
+
console.log(t(lang, 'svc.uninstall.removing_all', pathVars));
|
|
383
|
+
for (const dir of [CONFIG_DIR, WORKSPACES_DIR]) {
|
|
384
|
+
try {
|
|
385
|
+
rmSync(dir, { recursive: true, force: true });
|
|
386
|
+
}
|
|
387
|
+
catch (err) {
|
|
388
|
+
console.warn(`⚠️ Failed to remove ${dir}: ${err instanceof Error ? err.message : String(err)}`);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
231
391
|
console.log();
|
|
232
|
-
console.log(t(lang, 'svc.uninstall.
|
|
233
|
-
console.log(t(lang, 'svc.uninstall.done'));
|
|
392
|
+
console.log(t(lang, 'svc.uninstall.full_done'));
|
|
234
393
|
}
|
|
235
394
|
// ─── post-config: offer to start the service ────────────────────────
|
|
236
395
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-handlers.js","sourceRoot":"","sources":["../../src/cli-ui/cmd-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmd-handlers.js","sourceRoot":"","sources":["../../src/cli-ui/cmd-handlers.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,wBAAwB;AAExB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,QAAQ,GACT,MAAM,cAAc,CAAA;AACrB,OAAO,EAAS,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,CAAC,EAAa,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAEvD;;yCAEyC;AACzC,MAAM,uBAAuB,GAAG;IAC9B,kCAAkC;IAClC,oCAAoC;CAC5B,CAAA;AAEV,SAAS,eAAe;IACtB,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAA;QACpD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;wEACwE;AACxE,SAAS,eAAe;IACtB,OAAO,eAAe,EAAE,EAAE,IAAI,IAAI,IAAI,CAAA;AACxC,CAAC;AAED;;wCAEwC;AACxC,SAAS,SAAS;IAChB,OAAO,aAAa,EAAE,IAAI,IAAI,CAAA;AAChC,CAAC;AAED,wEAAwE;AAExE,MAAM,UAAU,SAAS;IACvB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAA;IACxB,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3B,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;YAChF,MAAK;QACP,KAAK,YAAY;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC3F,MAAK;QACP,KAAK,YAAY;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;YAC5E,MAAK;QACP,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAA;YACrD,IAAI,eAAe,EAAE,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAA;YAC5D,CAAC;YACD,OAAM;IACV,CAAC;IACD,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC;IACD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;IAC7B,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACnF,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC;AAED,wEAAwE;AAExE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAW,EAAE,kBAAuC;IACjF,MAAM,IAAI,GAAG,SAAS,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1B,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;QACzE,OAAM;IACR,CAAC;IACD,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAA;QAC7C,uEAAuE;QACvE,2BAA2B;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACnE,qEAAqE;QACrE,oCAAoC;QACpC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;YAClE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;YAC9E,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,OAAM;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAA;IAC7C,MAAM,kBAAkB,EAAE,CAAA;AAC5B,CAAC;AAED,wEAAwE;AAExE,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1B,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAA;QAC5C,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;IACnD,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC;SAAM,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI;YAChC,CAAC,CAAC,8CAA8C;YAChD,CAAC,CAAC,2FAA2F,CAAC,CAAC,CAAA;IACnG,CAAC;IACD,MAAM,WAAW,EAAE,CAAA;IACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,wEAAwE;AAExE,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAA;IACxB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1B,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;QAC9B,IAAI,IAAI;YAAE,QAAQ,CAAC,qBAAqB,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC1E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAA;QACxC,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAA;QAC9C,OAAM;IACR,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAA;QACtC,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY;YAAE,MAAM,WAAW,EAAE,CAAA;QACjD,qBAAqB;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACnE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC;AAMD;;mEAEmE;AACnE,SAAS,eAAe;IACtB,OAAO;QACL,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;QAC7B,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;KACtC,CAAA;AACH,CAAC;AAED;0EAC0E;AAC1E,SAAS,QAAQ;IACf,IAAI,CAAC;QACH,QAAQ,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;wDACwD;AACxD,SAAS,YAAY,CAAC,IAAY,EAAE,IAAU,EAAE,cAAuB;IACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAM;IAC7B,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,QAAQ,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mEAAmE;QACnE,yCAAyC;IAC3C,CAAC;IACD,IAAI,CAAC;QAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAA;IAC7B,mEAAmE;IACnE,oEAAoE;IACpE,qEAAqE;IACrE,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,UAAU;KACjB,CAAA;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,wEAAwE;IACxE,qEAAqE;IACrE,kEAAkE;IAClE,kBAAkB;IAClB,IAAI,IAAmB,CAAA;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAgB;YACvC,IAAI;YACJ,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,2BAA2B,CAAC;YAC7C,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,8BAA8B,CAAC;oBAC7C,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,8BAA8B,EAAE,QAAQ,CAAC;iBAC/D;gBACD;oBACE,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,+BAA+B,CAAC;oBAC9C,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,+BAA+B,CAAC;iBACtD;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,8BAA8B,CAAC;oBAC7C,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,8BAA8B,EAAE,QAAQ,CAAC;iBAC/D;aACF;YACD,OAAO,EAAE,MAAM;SAChB,CAAC,CAAA;QACF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QACD,IAAI,GAAG,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAA;YAC/C,OAAM;QACR,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,EAAE,QAAQ,CAAC,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,IAAI,KAAa,CAAA;QACjB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,SAAS,CAAC;gBACtB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,mCAAmC,CAAC;aACtD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAA;gBAClD,OAAM;YACR,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAA;YAClD,OAAM;QACR,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAA;IAC9C,MAAM,WAAW,EAAE,CAAA;IACnB,yEAAyE;IACzE,0EAA0E;IAC1E,0DAA0D;IAC1D,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAQ;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC;YACH,QAAQ,CAAC,qBAAqB,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAChE,CAAC;QAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,uBAAuB,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,QAAQ,cAAc,CAAC,CAAA;QAC9I,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnF,0EAA0E;IAC1E,0EAA0E;IAC1E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,+BAA+B,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC/D,IAAI,CAAC;QAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC/D,aAAa,EAAE,CAAA;IACf,IAAI,CAAC;QAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC5D,qCAAqC;IACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAA;IAClD,IAAI,CAAC;QACH,gEAAgE;QAChE,oEAAoE;QACpE,gEAAgE;QAChE,QAAQ,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;IAC5I,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,+BAA+B,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IAED,sEAAsE;IACtE,qEAAqE;IACrE,iEAAiE;IACjE,sEAAsE;IACtE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC,CAAA;IACpD,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAA;QAChD,OAAM;IACR,CAAC;IAED,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,qEAAqE;IACrE,iEAAiE;IACjE,qEAAqE;IACrE,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAA;IAC/C,MAAM,cAAc,GAAG,QAAQ,EAAE,CAAA;IACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,qEAAqE;IACrE,kEAAkE;IAClE,sEAAsE;IACtE,sCAAsC;IACtC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;IAC/D,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;IAEhE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC5D,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjG,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,uEAAuE;AACvE,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,wCAAwC;AACxC,EAAE;AACF,uDAAuD;AACvD,8DAA8D;AAC9D,sEAAsE;AACtE,qDAAqD;AACrD,uEAAuE;AACvE,gEAAgE;AAChE,EAAE;AACF,mEAAmE;AACnE,2CAA2C;AAE3C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAU;IAChD,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IAC9D,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAA;YACnD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC;gBAC5B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,yBAAyB,CAAC;gBAC3C,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;YACF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAA;gBACzC,OAAM;YACR,CAAC;YACD,sDAAsD;YACtD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;YACnE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;gBACpE,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;gBAC7B,IAAI,GAAG,EAAE,CAAC;oBACR,+DAA+D;oBAC/D,+DAA+D;oBAC/D,6DAA6D;oBAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;oBAC5D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAA;gBAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAA;YAC1C,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;YAC3F,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,iEAAiE;QACjE,qCAAqC;QACrC,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;QACtF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;YAC9B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC;YACvC,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,QAAQ,CAAC,qBAAqB,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;oBAChE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAA;gBACrD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACtE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBACvD,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QAED,+BAA+B;QAC/B,MAAM,WAAW,EAAE,CAAA;QACnB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACnE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;YACpE,MAAM,GAAG,GAAG,eAAe,EAAE,CAAA;YAC7B,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;gBAC5D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAA;YAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,oEAAoE;YACpE,OAAM;QACR,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,KAAK,KAAK,CAAA;AACV,KAAK,YAAY,CAAA;AACjB,KAAK,OAAO,CAAA;AACZ,KAAK,QAAQ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-wizard.d.ts","sourceRoot":"","sources":["../../src/cli-ui/config-wizard.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAK,KAAK,IAAI,EAAY,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"config-wizard.d.ts","sourceRoot":"","sources":["../../src/cli-ui/config-wizard.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAK,KAAK,IAAI,EAAY,MAAM,WAAW,CAAA;AAoBlD,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D/D"}
|