agim-cli 1.2.159 → 1.3.1
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 +56 -53
- package/README.md +87 -426
- package/README.zh-CN.md +85 -416
- package/dist/cli-ui/cmd-handlers.d.ts.map +1 -1
- package/dist/cli-ui/cmd-handlers.js +1 -0
- package/dist/cli-ui/cmd-handlers.js.map +1 -1
- package/dist/cli-ui/entry-menu.d.ts +0 -2
- package/dist/cli-ui/entry-menu.d.ts.map +1 -1
- package/dist/cli-ui/entry-menu.js +0 -1
- package/dist/cli-ui/entry-menu.js.map +1 -1
- package/dist/cli-ui/i18n.d.ts +3 -8
- package/dist/cli-ui/i18n.d.ts.map +1 -1
- package/dist/cli-ui/i18n.js +6 -16
- package/dist/cli-ui/i18n.js.map +1 -1
- package/dist/cli-ui/tui/app.d.ts +5 -1
- package/dist/cli-ui/tui/app.d.ts.map +1 -1
- package/dist/cli-ui/tui/app.js +243 -63
- package/dist/cli-ui/tui/app.js.map +1 -1
- package/dist/cli-ui/tui/index.d.ts.map +1 -1
- package/dist/cli-ui/tui/index.js +23 -5
- package/dist/cli-ui/tui/index.js.map +1 -1
- package/dist/cli-ui/tui/sessions.d.ts +2 -0
- package/dist/cli-ui/tui/sessions.d.ts.map +1 -1
- package/dist/cli-ui/tui/sessions.js +13 -3
- package/dist/cli-ui/tui/sessions.js.map +1 -1
- package/dist/cli.js +39 -70
- package/dist/cli.js.map +1 -1
- package/dist/core/acp-server.d.ts.map +1 -1
- package/dist/core/acp-server.js +23 -44
- package/dist/core/acp-server.js.map +1 -1
- package/dist/core/admin-allowlist.d.ts +26 -15
- package/dist/core/admin-allowlist.d.ts.map +1 -1
- package/dist/core/admin-allowlist.js +213 -179
- package/dist/core/admin-allowlist.js.map +1 -1
- package/dist/core/approval-router.d.ts.map +1 -1
- package/dist/core/approval-router.js +23 -0
- package/dist/core/approval-router.js.map +1 -1
- package/dist/core/ask-user-rpc.d.ts.map +1 -1
- package/dist/core/ask-user-rpc.js +2 -3
- package/dist/core/ask-user-rpc.js.map +1 -1
- package/dist/core/commands/builtin.js +2 -2
- package/dist/core/commands/builtin.js.map +1 -1
- package/dist/core/commands/outbox.d.ts +1 -1
- package/dist/core/commands/outbox.d.ts.map +1 -1
- package/dist/core/commands/outbox.js +5 -1
- package/dist/core/commands/outbox.js.map +1 -1
- package/dist/core/commands/service.js +2 -2
- package/dist/core/commands/service.js.map +1 -1
- package/dist/core/commands/setup.d.ts.map +1 -1
- package/dist/core/commands/setup.js +11 -60
- package/dist/core/commands/setup.js.map +1 -1
- package/dist/core/llm/index.d.ts +1 -1
- package/dist/core/llm/index.d.ts.map +1 -1
- package/dist/core/llm/index.js +1 -1
- package/dist/core/llm/index.js.map +1 -1
- package/dist/core/llm/registry.d.ts +6 -0
- package/dist/core/llm/registry.d.ts.map +1 -1
- package/dist/core/llm/registry.js +12 -0
- package/dist/core/llm/registry.js.map +1 -1
- package/dist/core/llm/secrets.js +2 -2
- package/dist/core/llm/secrets.js.map +1 -1
- package/dist/core/onboarding.js +1 -1
- package/dist/core/onboarding.js.map +1 -1
- package/dist/core/registry.js +3 -3
- package/dist/core/registry.js.map +1 -1
- package/dist/core/router.js +2 -2
- package/dist/core/router.js.map +1 -1
- package/dist/core/sender-allowlist.js +1 -1
- package/dist/core/sender-allowlist.js.map +1 -1
- package/dist/plugins/agents/native/index.d.ts.map +1 -1
- package/dist/plugins/agents/native/index.js +17 -4
- package/dist/plugins/agents/native/index.js.map +1 -1
- package/dist/plugins/agents/pi-native/factory.d.ts.map +1 -1
- package/dist/plugins/agents/pi-native/factory.js +9 -3
- package/dist/plugins/agents/pi-native/factory.js.map +1 -1
- package/dist/plugins/agents/pi-native/index.js +2 -2
- package/dist/plugins/agents/pi-native/index.js.map +1 -1
- package/dist/plugins/agents/pi-native/provider-resolver.d.ts +2 -0
- package/dist/plugins/agents/pi-native/provider-resolver.d.ts.map +1 -1
- package/dist/plugins/agents/pi-native/provider-resolver.js +6 -1
- package/dist/plugins/agents/pi-native/provider-resolver.js.map +1 -1
- package/dist/plugins/agents/pi-native/tool-bridge.js +1 -1
- package/dist/plugins/agents/pi-native/tool-bridge.js.map +1 -1
- package/dist/web/llm-api.d.ts.map +1 -1
- package/dist/web/llm-api.js +12 -0
- package/dist/web/llm-api.js.map +1 -1
- package/dist/web/public/assets/{a2a-CK_McNBZ.js → a2a-Dtc6AKjx.js} +3 -3
- package/dist/web/public/assets/{a2a-CK_McNBZ.js.map → a2a-Dtc6AKjx.js.map} +1 -1
- package/dist/web/public/assets/{activity-SXgxjjhd.js → activity-CWFI_ke7.js} +2 -2
- package/dist/web/public/assets/{activity-SXgxjjhd.js.map → activity-CWFI_ke7.js.map} +1 -1
- package/dist/web/public/assets/admins-CeQorJdU.js +17 -0
- package/dist/web/public/assets/admins-CeQorJdU.js.map +1 -0
- package/dist/web/public/assets/{agents-BhuZPnjf.js → agents-DnJruPrS.js} +3 -3
- package/dist/web/public/assets/{agents-BhuZPnjf.js.map → agents-DnJruPrS.js.map} +1 -1
- package/dist/web/public/assets/{approvals-CUsF6htp.js → approvals-BEPKSyrL.js} +3 -3
- package/dist/web/public/assets/{approvals-CUsF6htp.js.map → approvals-BEPKSyrL.js.map} +1 -1
- package/dist/web/public/assets/{arrow-down-Dhsj-A0i.js → arrow-down-CzWGZc48.js} +2 -2
- package/dist/web/public/assets/{arrow-down-Dhsj-A0i.js.map → arrow-down-CzWGZc48.js.map} +1 -1
- package/dist/web/public/assets/{arrow-up-Byeo8HHt.js → arrow-up-CXy94NPi.js} +2 -2
- package/dist/web/public/assets/{arrow-up-Byeo8HHt.js.map → arrow-up-CXy94NPi.js.map} +1 -1
- package/dist/web/public/assets/{asks-BkwfCOfj.js → asks-BszsbhPn.js} +3 -3
- package/dist/web/public/assets/{asks-BkwfCOfj.js.map → asks-BszsbhPn.js.map} +1 -1
- package/dist/web/public/assets/audit-ACrwMizd.js +2 -0
- package/dist/web/public/assets/{audit-DshxCHuP.js.map → audit-ACrwMizd.js.map} +1 -1
- package/dist/web/public/assets/{bell-CgQQygG1.js → bell-BLwNOhXO.js} +2 -2
- package/dist/web/public/assets/{bell-CgQQygG1.js.map → bell-BLwNOhXO.js.map} +1 -1
- package/dist/web/public/assets/{bgjobs-qYRbEcQY.js → bgjobs-Cwp0PmTF.js} +3 -3
- package/dist/web/public/assets/{bgjobs-qYRbEcQY.js.map → bgjobs-Cwp0PmTF.js.map} +1 -1
- package/dist/web/public/assets/{brain-V9r2NcZc.js → brain-5AJBYzXX.js} +2 -2
- package/dist/web/public/assets/{brain-V9r2NcZc.js.map → brain-5AJBYzXX.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-CC-yM9eZ.js → briefcase-BTDurkZz.js} +2 -2
- package/dist/web/public/assets/{briefcase-CC-yM9eZ.js.map → briefcase-BTDurkZz.js.map} +1 -1
- package/dist/web/public/assets/chat-D7jjr-Rn.js +17 -0
- package/dist/web/public/assets/chat-D7jjr-Rn.js.map +1 -0
- package/dist/web/public/assets/{chevron-left-CTwCYqyt.js → chevron-left-CnLOhWHE.js} +2 -2
- package/dist/web/public/assets/{chevron-left-CTwCYqyt.js.map → chevron-left-CnLOhWHE.js.map} +1 -1
- package/dist/web/public/assets/chevron-right-CpWYrqTa.js +7 -0
- package/dist/web/public/assets/{chevron-right-CDiFYKGo.js.map → chevron-right-CpWYrqTa.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-CWttT2Af.js → circle-check-DhcTh_uP.js} +2 -2
- package/dist/web/public/assets/{circle-check-CWttT2Af.js.map → circle-check-DhcTh_uP.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-Cf2odn4o.js → circle-check-big-CcknUEHz.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-Cf2odn4o.js.map → circle-check-big-CcknUEHz.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-CMJqo4Pi.js → circle-x-QODE2UcL.js} +2 -2
- package/dist/web/public/assets/{circle-x-CMJqo4Pi.js.map → circle-x-QODE2UcL.js.map} +1 -1
- package/dist/web/public/assets/{clock-DUKggKlF.js → clock-BPBx4QWT.js} +3 -3
- package/dist/web/public/assets/{clock-DUKggKlF.js.map → clock-BPBx4QWT.js.map} +1 -1
- package/dist/web/public/assets/confirm-dialog-HsyBgWxC.js +2 -0
- package/dist/web/public/assets/{confirm-dialog-CMWuyC3w.js.map → confirm-dialog-HsyBgWxC.js.map} +1 -1
- package/dist/web/public/assets/{copy-D8mIKuYJ.js → copy-VJNELMp7.js} +3 -3
- package/dist/web/public/assets/{copy-D8mIKuYJ.js.map → copy-VJNELMp7.js.map} +1 -1
- package/dist/web/public/assets/{data-table-CHGndGOY.js → data-table-C0yaCeSS.js} +2 -2
- package/dist/web/public/assets/{data-table-CHGndGOY.js.map → data-table-C0yaCeSS.js.map} +1 -1
- package/dist/web/public/assets/{download-CgEI28s6.js → download-EUh-RXv5.js} +3 -3
- package/dist/web/public/assets/{download-CgEI28s6.js.map → download-EUh-RXv5.js.map} +1 -1
- package/dist/web/public/assets/{email-BLZQOZnx.js → email-YUzrp4Tf.js} +3 -3
- package/dist/web/public/assets/{email-BLZQOZnx.js.map → email-YUzrp4Tf.js.map} +1 -1
- package/dist/web/public/assets/{empty-state-D8kx-FwO.js → empty-state-DoiBKL4l.js} +2 -2
- package/dist/web/public/assets/{empty-state-D8kx-FwO.js.map → empty-state-DoiBKL4l.js.map} +1 -1
- package/dist/web/public/assets/{external-link-BM6n9mwt.js → external-link-Bf2430Ji.js} +2 -2
- package/dist/web/public/assets/{external-link-BM6n9mwt.js.map → external-link-Bf2430Ji.js.map} +1 -1
- package/dist/web/public/assets/{eye-Dk27zHD5.js → eye-vE4k-Us-.js} +2 -2
- package/dist/web/public/assets/{eye-Dk27zHD5.js.map → eye-vE4k-Us-.js.map} +1 -1
- package/dist/web/public/assets/facts-BPVTGzM4.js +2 -0
- package/dist/web/public/assets/{facts-CoWF4O82.js.map → facts-BPVTGzM4.js.map} +1 -1
- package/dist/web/public/assets/{goals-CuiFswaR.js → goals-HsKzf-PG.js} +3 -3
- package/dist/web/public/assets/{goals-CuiFswaR.js.map → goals-HsKzf-PG.js.map} +1 -1
- package/dist/web/public/assets/health-CSMAArAj.js +2 -0
- package/dist/web/public/assets/{health-C3lSUr_r.js.map → health-CSMAArAj.js.map} +1 -1
- package/dist/web/public/assets/{heart-pulse-D34iW_OF.js → heart-pulse-8RDC8GWv.js} +2 -2
- package/dist/web/public/assets/{heart-pulse-D34iW_OF.js.map → heart-pulse-8RDC8GWv.js.map} +1 -1
- package/dist/web/public/assets/{heartbeat-Z5gPGZhm.js → heartbeat-BzHZy7Mx.js} +3 -3
- package/dist/web/public/assets/{heartbeat-Z5gPGZhm.js.map → heartbeat-BzHZy7Mx.js.map} +1 -1
- package/dist/web/public/assets/{hot-CZJeO9Mj.js → hot-DkFvD3H4.js} +3 -3
- package/dist/web/public/assets/{hot-CZJeO9Mj.js.map → hot-DkFvD3H4.js.map} +1 -1
- package/dist/web/public/assets/index-Bc0H0I1S.css +1 -0
- package/dist/web/public/assets/index-D7BuMEIr.js +204 -0
- package/dist/web/public/assets/index-D7BuMEIr.js.map +1 -0
- package/dist/web/public/assets/injection-a2kkgRbT.js +2 -0
- package/dist/web/public/assets/{injection-BTDjIbkn.js.map → injection-a2kkgRbT.js.map} +1 -1
- package/dist/web/public/assets/{installed-B5IGYO0m.js → installed-XQQEPKh8.js} +3 -3
- package/dist/web/public/assets/{installed-B5IGYO0m.js.map → installed-XQQEPKh8.js.map} +1 -1
- package/dist/web/public/assets/jobs-Cby1Eq4o.js +2 -0
- package/dist/web/public/assets/{jobs-9YLeiSVG.js.map → jobs-Cby1Eq4o.js.map} +1 -1
- package/dist/web/public/assets/{layout-5cLpIeb4.js → layout-0rDvqHCV.js} +2 -2
- package/dist/web/public/assets/{layout-5cLpIeb4.js.map → layout-0rDvqHCV.js.map} +1 -1
- package/dist/web/public/assets/{layout-BdCXtDqk.js → layout-BRnEPnky.js} +2 -2
- package/dist/web/public/assets/{layout-BdCXtDqk.js.map → layout-BRnEPnky.js.map} +1 -1
- package/dist/web/public/assets/layout-BdtJtlu5.js +2 -0
- package/dist/web/public/assets/{layout-CgeijAPB.js.map → layout-BdtJtlu5.js.map} +1 -1
- package/dist/web/public/assets/{layout-DLtODZx_.js → layout-CbqldDRj.js} +2 -2
- package/dist/web/public/assets/{layout-DLtODZx_.js.map → layout-CbqldDRj.js.map} +1 -1
- package/dist/web/public/assets/layout-Gh29ouFO.js +2 -0
- package/dist/web/public/assets/{layout-DviZj3TJ.js.map → layout-Gh29ouFO.js.map} +1 -1
- package/dist/web/public/assets/{llm-BXhp_nmW.js → llm-COWnMdB9.js} +3 -3
- package/dist/web/public/assets/llm-COWnMdB9.js.map +1 -0
- package/dist/web/public/assets/loader-circle-DO3Ni2RJ.js +7 -0
- package/dist/web/public/assets/{loader-circle-Bgi0H_iI.js.map → loader-circle-DO3Ni2RJ.js.map} +1 -1
- package/dist/web/public/assets/{map-pin-o5p1iOoH.js → map-pin-BsL35E1s.js} +2 -2
- package/dist/web/public/assets/{map-pin-o5p1iOoH.js.map → map-pin-BsL35E1s.js.map} +1 -1
- package/dist/web/public/assets/{mcp-kSwFcRcU.js → mcp-CWMdxcBf.js} +3 -3
- package/dist/web/public/assets/{mcp-kSwFcRcU.js.map → mcp-CWMdxcBf.js.map} +1 -1
- package/dist/web/public/assets/{memos-uAcJzXoQ.js → memos-BYQa4d2t.js} +3 -3
- package/dist/web/public/assets/{memos-uAcJzXoQ.js.map → memos-BYQa4d2t.js.map} +1 -1
- package/dist/web/public/assets/messengers-CebazAJ1.js +2 -0
- package/dist/web/public/assets/{messengers-CkfyROty.js.map → messengers-CebazAJ1.js.map} +1 -1
- package/dist/web/public/assets/{mobile-ClKdRpd9.js → mobile-CMJRNHs2.js} +3 -3
- package/dist/web/public/assets/{mobile-ClKdRpd9.js.map → mobile-CMJRNHs2.js.map} +1 -1
- package/dist/web/public/assets/{native-agent-yfdrcTaK.js → native-agent-MGgMeTHN.js} +3 -3
- package/dist/web/public/assets/{native-agent-yfdrcTaK.js.map → native-agent-MGgMeTHN.js.map} +1 -1
- package/dist/web/public/assets/{network-BlQWIsIc.js → network-pNcx_slv.js} +2 -2
- package/dist/web/public/assets/{network-BlQWIsIc.js.map → network-pNcx_slv.js.map} +1 -1
- package/dist/web/public/assets/{outbox-CYwJu6AR.js → outbox-87hzZQLn.js} +3 -3
- package/dist/web/public/assets/{outbox-CYwJu6AR.js.map → outbox-87hzZQLn.js.map} +1 -1
- package/dist/web/public/assets/{pagination-C6qu72mB.js → pagination-C4edFAqf.js} +2 -2
- package/dist/web/public/assets/{pagination-C6qu72mB.js.map → pagination-C4edFAqf.js.map} +1 -1
- package/dist/web/public/assets/persona-BcOT3Wms.js +2 -0
- package/dist/web/public/assets/{persona-DnuFOp64.js.map → persona-BcOT3Wms.js.map} +1 -1
- package/dist/web/public/assets/{plans-DUg3JDwQ.js → plans-Ddz5qwqp.js} +3 -3
- package/dist/web/public/assets/{plans-DUg3JDwQ.js.map → plans-Ddz5qwqp.js.map} +1 -1
- package/dist/web/public/assets/{play-BGXpdCxa.js → play-Bzdymasn.js} +2 -2
- package/dist/web/public/assets/{play-BGXpdCxa.js.map → play-Bzdymasn.js.map} +1 -1
- package/dist/web/public/assets/{plus-2MZ7TkP3.js → plus-BxjzY9Wh.js} +2 -2
- package/dist/web/public/assets/{plus-2MZ7TkP3.js.map → plus-BxjzY9Wh.js.map} +1 -1
- package/dist/web/public/assets/policy-Be-tMZZc.js +2 -0
- package/dist/web/public/assets/{policy-C4xe2rWm.js.map → policy-Be-tMZZc.js.map} +1 -1
- package/dist/web/public/assets/{qr-code-BVHNR5Zs.js → qr-code-D1V5cA_X.js} +2 -2
- package/dist/web/public/assets/{qr-code-BVHNR5Zs.js.map → qr-code-D1V5cA_X.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-MHrCmmSv.js → refresh-ccw-BhPAzZAa.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-MHrCmmSv.js.map → refresh-ccw-BhPAzZAa.js.map} +1 -1
- package/dist/web/public/assets/{reminders-CmV_JNt5.js → reminders-DEWtrlH_.js} +3 -3
- package/dist/web/public/assets/{reminders-CmV_JNt5.js.map → reminders-DEWtrlH_.js.map} +1 -1
- package/dist/web/public/assets/{save-DhFewuZL.js → save-Cye8Vlu5.js} +2 -2
- package/dist/web/public/assets/{save-DhFewuZL.js.map → save-Cye8Vlu5.js.map} +1 -1
- package/dist/web/public/assets/{schedules-Cp63TJGf.js → schedules-CuqRy3t8.js} +3 -3
- package/dist/web/public/assets/{schedules-Cp63TJGf.js.map → schedules-CuqRy3t8.js.map} +1 -1
- package/dist/web/public/assets/{search-wZEXSmcX.js → search-BQqVArrW.js} +2 -2
- package/dist/web/public/assets/{search-wZEXSmcX.js.map → search-BQqVArrW.js.map} +1 -1
- package/dist/web/public/assets/{search-wUAqWxXK.js → search-Dot_W5Eu.js} +3 -3
- package/dist/web/public/assets/{search-wUAqWxXK.js.map → search-Dot_W5Eu.js.map} +1 -1
- package/dist/web/public/assets/security-BB-YnetQ.js +2 -0
- package/dist/web/public/assets/{security-BoMdDyCY.js.map → security-BB-YnetQ.js.map} +1 -1
- package/dist/web/public/assets/{service-C_KqtWwn.js → service-DgkqlAtM.js} +3 -3
- package/dist/web/public/assets/{service-C_KqtWwn.js.map → service-DgkqlAtM.js.map} +1 -1
- package/dist/web/public/assets/{shield-alert-CplKlUGS.js → shield-alert-CBOmgn9W.js} +2 -2
- package/dist/web/public/assets/{shield-alert-CplKlUGS.js.map → shield-alert-CBOmgn9W.js.map} +1 -1
- package/dist/web/public/assets/{status-badge-q2WooCma.js → status-badge-9sMFH4uP.js} +2 -2
- package/dist/web/public/assets/{status-badge-q2WooCma.js.map → status-badge-9sMFH4uP.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-CBi4c6FD.js → subtasks-BrqdQxw_.js} +3 -3
- package/dist/web/public/assets/{subtasks-CBi4c6FD.js.map → subtasks-BrqdQxw_.js.map} +1 -1
- package/dist/web/public/assets/{table-Bmwe7n4n.js → table-CSHCu7pz.js} +2 -2
- package/dist/web/public/assets/{table-Bmwe7n4n.js.map → table-CSHCu7pz.js.map} +1 -1
- package/dist/web/public/assets/{topn-CMRS4ApA.js → topn-DZWbwDge.js} +3 -3
- package/dist/web/public/assets/{topn-CMRS4ApA.js.map → topn-DZWbwDge.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-CT_B0mSH.js → trash-2-Cco09tAA.js} +2 -2
- package/dist/web/public/assets/{trash-2-CT_B0mSH.js.map → trash-2-Cco09tAA.js.map} +1 -1
- package/dist/web/public/assets/use-agim-skills-CJOJKeOZ.js +2 -0
- package/dist/web/public/assets/{use-agim-skills-C0HdvMQj.js.map → use-agim-skills-CJOJKeOZ.js.map} +1 -1
- package/dist/web/public/assets/use-background-tasks-D77bcfrq.js +2 -0
- package/dist/web/public/assets/{use-background-tasks-Co9CtmcD.js.map → use-background-tasks-D77bcfrq.js.map} +1 -1
- package/dist/web/public/assets/use-memory-CX4B1SYC.js +2 -0
- package/dist/web/public/assets/{use-memory-BHYuPOc9.js.map → use-memory-CX4B1SYC.js.map} +1 -1
- package/dist/web/public/assets/use-observability-rcc7fRmj.js +2 -0
- package/dist/web/public/assets/{use-observability-CHv6H0zQ.js.map → use-observability-rcc7fRmj.js.map} +1 -1
- package/dist/web/public/assets/use-settings-DQnJkPXp.js +2 -0
- package/dist/web/public/assets/{use-settings-Bx0ZTOsd.js.map → use-settings-DQnJkPXp.js.map} +1 -1
- package/dist/web/public/assets/use-workspace-J5eeVxw9.js +2 -0
- package/dist/web/public/assets/{use-workspace-zFEfqUCo.js.map → use-workspace-J5eeVxw9.js.map} +1 -1
- package/dist/web/public/assets/vector-xRphJ8hW.js +2 -0
- package/dist/web/public/assets/{vector-B9v7zTvA.js.map → vector-xRphJ8hW.js.map} +1 -1
- package/dist/web/public/assets/{viewer-CeD55ZLu.js → viewer-Bq7l2kE8.js} +3 -3
- package/dist/web/public/assets/{viewer-CeD55ZLu.js.map → viewer-Bq7l2kE8.js.map} +1 -1
- package/dist/web/public/assets/{workspace-Ci21xBqp.js → workspace-BqMuxPFF.js} +3 -3
- package/dist/web/public/assets/{workspace-Ci21xBqp.js.map → workspace-BqMuxPFF.js.map} +1 -1
- package/dist/web/public/assets/{workspaces-C8mT-jmj.js → workspaces-D0pYJfxI.js} +3 -3
- package/dist/web/public/assets/{workspaces-C8mT-jmj.js.map → workspaces-D0pYJfxI.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 +85 -54
- package/dist/web/server.js.map +1 -1
- package/package.json +4 -6
- package/dist/core/admin-bootstrap.d.ts +0 -42
- package/dist/core/admin-bootstrap.d.ts.map +0 -1
- package/dist/core/admin-bootstrap.js +0 -156
- package/dist/core/admin-bootstrap.js.map +0 -1
- package/dist/web/public/assets/admins-aofsuukT.js +0 -12
- package/dist/web/public/assets/admins-aofsuukT.js.map +0 -1
- package/dist/web/public/assets/audit-DshxCHuP.js +0 -2
- package/dist/web/public/assets/chat-CY4JriM5.js +0 -7
- package/dist/web/public/assets/chat-CY4JriM5.js.map +0 -1
- package/dist/web/public/assets/chevron-right-CDiFYKGo.js +0 -7
- package/dist/web/public/assets/confirm-dialog-CMWuyC3w.js +0 -2
- package/dist/web/public/assets/dialog-xeyu8dCf.js +0 -2
- package/dist/web/public/assets/dialog-xeyu8dCf.js.map +0 -1
- package/dist/web/public/assets/facts-CoWF4O82.js +0 -2
- package/dist/web/public/assets/health-C3lSUr_r.js +0 -2
- package/dist/web/public/assets/index-D1ulN_24.js +0 -199
- package/dist/web/public/assets/index-D1ulN_24.js.map +0 -1
- package/dist/web/public/assets/index-uKzGZ_Df.css +0 -1
- package/dist/web/public/assets/injection-BTDjIbkn.js +0 -2
- package/dist/web/public/assets/jobs-9YLeiSVG.js +0 -2
- package/dist/web/public/assets/layout-CgeijAPB.js +0 -2
- package/dist/web/public/assets/layout-DviZj3TJ.js +0 -2
- package/dist/web/public/assets/llm-BXhp_nmW.js.map +0 -1
- package/dist/web/public/assets/loader-circle-Bgi0H_iI.js +0 -7
- package/dist/web/public/assets/messengers-CkfyROty.js +0 -2
- package/dist/web/public/assets/persona-DnuFOp64.js +0 -2
- package/dist/web/public/assets/policy-C4xe2rWm.js +0 -2
- package/dist/web/public/assets/security-BoMdDyCY.js +0 -2
- package/dist/web/public/assets/use-agim-skills-C0HdvMQj.js +0 -2
- package/dist/web/public/assets/use-background-tasks-Co9CtmcD.js +0 -2
- package/dist/web/public/assets/use-llm-admin-Bd0XAQpx.js +0 -2
- package/dist/web/public/assets/use-llm-admin-Bd0XAQpx.js.map +0 -1
- package/dist/web/public/assets/use-memory-BHYuPOc9.js +0 -2
- package/dist/web/public/assets/use-observability-CHv6H0zQ.js +0 -2
- package/dist/web/public/assets/use-settings-Bx0ZTOsd.js +0 -2
- package/dist/web/public/assets/use-workspace-zFEfqUCo.js +0 -2
- package/dist/web/public/assets/useQuery-Bt7Ty7IO.js +0 -2
- package/dist/web/public/assets/useQuery-Bt7Ty7IO.js.map +0 -1
- package/dist/web/public/assets/vector-B9v7zTvA.js +0 -2
- package/dist/web/public/assets/x-DXACg96C.js +0 -7
- package/dist/web/public/assets/x-DXACg96C.js.map +0 -1
package/dist/cli-ui/tui/index.js
CHANGED
|
@@ -58,7 +58,13 @@ export async function runTui(opts = {}) {
|
|
|
58
58
|
else {
|
|
59
59
|
const s = loadSession(sessions[0].id);
|
|
60
60
|
if (s) {
|
|
61
|
-
resumed = {
|
|
61
|
+
resumed = {
|
|
62
|
+
id: s.id,
|
|
63
|
+
agent: s.agent,
|
|
64
|
+
createdAt: s.createdAt,
|
|
65
|
+
agentSessions: s.agentSessions,
|
|
66
|
+
messages: s.messages,
|
|
67
|
+
};
|
|
62
68
|
sessionId = s.id;
|
|
63
69
|
}
|
|
64
70
|
else {
|
|
@@ -69,7 +75,13 @@ export async function runTui(opts = {}) {
|
|
|
69
75
|
else {
|
|
70
76
|
const s = loadSession(wantedId);
|
|
71
77
|
if (s) {
|
|
72
|
-
resumed = {
|
|
78
|
+
resumed = {
|
|
79
|
+
id: s.id,
|
|
80
|
+
agent: s.agent,
|
|
81
|
+
createdAt: s.createdAt,
|
|
82
|
+
agentSessions: s.agentSessions,
|
|
83
|
+
messages: s.messages,
|
|
84
|
+
};
|
|
73
85
|
sessionId = s.id;
|
|
74
86
|
}
|
|
75
87
|
else {
|
|
@@ -141,7 +153,13 @@ export async function runTui(opts = {}) {
|
|
|
141
153
|
}
|
|
142
154
|
initialAgent = found.name;
|
|
143
155
|
}
|
|
144
|
-
|
|
156
|
+
let finalSessionId = sessionId;
|
|
157
|
+
const { waitUntilExit } = render(React.createElement(TuiApp, {
|
|
158
|
+
initialAgent,
|
|
159
|
+
resumed,
|
|
160
|
+
sessionId,
|
|
161
|
+
onSessionIdChange: (id) => { finalSessionId = id; },
|
|
162
|
+
}), { patchConsole: true, exitOnCtrlC: true });
|
|
145
163
|
try {
|
|
146
164
|
await waitUntilExit();
|
|
147
165
|
}
|
|
@@ -155,8 +173,8 @@ export async function runTui(opts = {}) {
|
|
|
155
173
|
if (resumeWarning) {
|
|
156
174
|
console.warn('⚠ ' + resumeWarning);
|
|
157
175
|
}
|
|
158
|
-
console.log(`会话 ID:${
|
|
159
|
-
console.log(`恢复命令:agim tui --resume ${
|
|
176
|
+
console.log(`会话 ID:${finalSessionId}`);
|
|
177
|
+
console.log(`恢复命令:agim tui --resume ${finalSessionId}`);
|
|
160
178
|
console.log(`查看所有会话:agim tui --list-sessions`);
|
|
161
179
|
}
|
|
162
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,SAAS;AACT,wCAAwC;AACxC,6EAA6E;AAC7E,uCAAuC;AACvC,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AACrE,2BAA2B;AAE3B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export interface StoredMessage {
|
|
|
8
8
|
export interface StoredSession {
|
|
9
9
|
id: string;
|
|
10
10
|
agent: string | undefined;
|
|
11
|
+
/** Agent-native resumable session ids keyed by agent name. */
|
|
12
|
+
agentSessions?: Record<string, string>;
|
|
11
13
|
cwd: string;
|
|
12
14
|
createdAt: string;
|
|
13
15
|
updatedAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,gBAAgB,QAAkC,CAAA;AAE/D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAQD,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAYlD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,gBAAgB,QAAkC,CAAA;AAE/D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAQD,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAYlD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmB5D;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;4EAC4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,SAAK,EAAE,IAAI,UAAQ,GAAG,WAAW,EAAE,CAgCpE"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// can pick up where they left off with `agim tui --resume <id>`.
|
|
3
3
|
//
|
|
4
4
|
// Storage: <AGIM_HOME>/tui-sessions/<id>.json
|
|
5
|
-
// File shape: { id, agent, cwd, createdAt, updatedAt, messages: [...] }
|
|
5
|
+
// File shape: { id, agent, agentSessions?, cwd, createdAt, updatedAt, messages: [...] }
|
|
6
6
|
//
|
|
7
7
|
// We save on:
|
|
8
8
|
// - graceful exit (TuiApp's onExit handler)
|
|
@@ -54,7 +54,17 @@ export function loadSession(id) {
|
|
|
54
54
|
if (!existsSync(file))
|
|
55
55
|
return null;
|
|
56
56
|
try {
|
|
57
|
-
|
|
57
|
+
const parsed = JSON.parse(readFileSync(file, 'utf-8'));
|
|
58
|
+
const next = {
|
|
59
|
+
id: parsed.id || id,
|
|
60
|
+
agent: parsed.agent,
|
|
61
|
+
agentSessions: parsed.agentSessions && typeof parsed.agentSessions === 'object' ? parsed.agentSessions : undefined,
|
|
62
|
+
cwd: parsed.cwd || '',
|
|
63
|
+
createdAt: parsed.createdAt || new Date(0).toISOString(),
|
|
64
|
+
updatedAt: parsed.updatedAt || new Date(0).toISOString(),
|
|
65
|
+
messages: Array.isArray(parsed.messages) ? parsed.messages : [],
|
|
66
|
+
};
|
|
67
|
+
return next;
|
|
58
68
|
}
|
|
59
69
|
catch (err) {
|
|
60
70
|
log.warn({ event: 'tui.sessions.load_failed', file, err: err instanceof Error ? err.message : String(err) });
|
|
@@ -95,7 +105,7 @@ export function listSessions(limit = 20, full = false) {
|
|
|
95
105
|
agent = parsed.agent;
|
|
96
106
|
cwd = parsed.cwd;
|
|
97
107
|
updatedAt = parsed.updatedAt || updatedAt;
|
|
98
|
-
msgCount = parsed.messages.length;
|
|
108
|
+
msgCount = Array.isArray(parsed.messages) ? parsed.messages.length : 0;
|
|
99
109
|
}
|
|
100
110
|
catch { /* ignore */ }
|
|
101
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,iEAAiE;AACjE,EAAE;AACF,8CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/cli-ui/tui/sessions.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -393,24 +393,8 @@ program
|
|
|
393
393
|
// until it's actually needed.
|
|
394
394
|
const { startSweepTimer: startMemoSweep } = await import('./core/memos.js');
|
|
395
395
|
startMemoSweep();
|
|
396
|
-
//
|
|
397
|
-
//
|
|
398
|
-
// a prominent banner so the operator can self-onboard via
|
|
399
|
-
// `/setup admin <token>` in IM (instead of having to edit env files
|
|
400
|
-
// by hand). On already-configured boxes, this is a no-op that also
|
|
401
|
-
// cleans up any stale token file.
|
|
402
|
-
try {
|
|
403
|
-
const { ensureBootstrapTokenIfNeeded } = await import('./core/admin-bootstrap.js');
|
|
404
|
-
ensureBootstrapTokenIfNeeded();
|
|
405
|
-
}
|
|
406
|
-
catch (err) {
|
|
407
|
-
console.warn(`⚠️ admin bootstrap setup failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
408
|
-
}
|
|
409
|
-
// Startup diagnostic: log how the admin allowlist resolved (process.env
|
|
410
|
-
// vs env-file fallback). Helps debug the "admin disappeared after
|
|
411
|
-
// restart" class of issue where systemd's EnvironmentFile parser
|
|
412
|
-
// silently drops part of IMHUB_ADMIN_USERS while the file itself
|
|
413
|
-
// looks fine. Pure log; non-fatal.
|
|
396
|
+
// Startup diagnostic: IM admin registry summary (admins + known IM users).
|
|
397
|
+
// The registry is now file-based and managed from Web Settings → Admins.
|
|
414
398
|
try {
|
|
415
399
|
const { logStartupResolution } = await import('./core/admin-allowlist.js');
|
|
416
400
|
logStartupResolution();
|
|
@@ -438,7 +422,7 @@ program
|
|
|
438
422
|
}
|
|
439
423
|
catch { /* getuid not available on Windows */ }
|
|
440
424
|
// v1.2.66 — env file permission audit. ~/.agim/env holds API keys
|
|
441
|
-
// + DB passwords
|
|
425
|
+
// + DB passwords. Wizard writes 0600 but if
|
|
442
426
|
// the operator manually edited / scp'd it, the mode may have
|
|
443
427
|
// drifted. WARN (not refuse-to-start) so a recovering operator
|
|
444
428
|
// can still bring the service up.
|
|
@@ -588,6 +572,22 @@ program
|
|
|
588
572
|
userId: ctx.message.userId,
|
|
589
573
|
...sanitizeUserText(ctx.message.text),
|
|
590
574
|
});
|
|
575
|
+
// v2 admin model — auto-discover IM identities. Any user who has
|
|
576
|
+
// ever talked to agim appears in Web Settings → Admins as a candidate,
|
|
577
|
+
// so operators never have to hand-type opaque user IDs.
|
|
578
|
+
try {
|
|
579
|
+
const { recordSeenImUser } = await import('./core/admin-allowlist.js');
|
|
580
|
+
recordSeenImUser(ctx.platform, ctx.message.userId, {
|
|
581
|
+
channelId: ctx.channelId,
|
|
582
|
+
threadId: ctx.message.threadId,
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
catch (err) {
|
|
586
|
+
ctx.logger.warn({
|
|
587
|
+
event: 'admin.known_user.record_failed',
|
|
588
|
+
err: err instanceof Error ? err.message : String(err),
|
|
589
|
+
}, 'failed to record known IM user; continuing');
|
|
590
|
+
}
|
|
591
591
|
// v1.2.66 — sender allowlist gate. When configured (env
|
|
592
592
|
// IMHUB_ALLOWED_USERS set), unknown senders get a short refusal
|
|
593
593
|
// and the message is dropped before reaching any agent or
|
|
@@ -2093,52 +2093,37 @@ tokenCmd
|
|
|
2093
2093
|
console.log('');
|
|
2094
2094
|
process.exit(1);
|
|
2095
2095
|
});
|
|
2096
|
-
// ─── admin
|
|
2097
|
-
|
|
2098
|
-
// Non-interactive companion to the entry menu's "邀请新管理员" option.
|
|
2099
|
-
// Useful from ansible / setup scripts.
|
|
2100
|
-
const adminCmd = program.command('admin').description('Manage the admin allowlist');
|
|
2101
|
-
adminCmd
|
|
2102
|
-
.command('invite')
|
|
2103
|
-
.description('Generate a one-time IM invite token. The invitee runs `/setup admin <token>` to onboard.')
|
|
2104
|
-
.action(async () => {
|
|
2105
|
-
const { generateAdminInviteToken } = await import('./core/admin-bootstrap.js');
|
|
2106
|
-
const { token, file } = generateAdminInviteToken();
|
|
2107
|
-
console.log('');
|
|
2108
|
-
console.log('✓ Admin invite token generated.');
|
|
2109
|
-
console.log(` token : ${token}`);
|
|
2110
|
-
console.log(` file : ${file}`);
|
|
2111
|
-
console.log('');
|
|
2112
|
-
console.log('Forward this to the invitee:');
|
|
2113
|
-
console.log(` /setup admin ${token}`);
|
|
2114
|
-
console.log('');
|
|
2115
|
-
console.log('⚠️ Single-use. Generating another invite invalidates the previous one.');
|
|
2116
|
-
});
|
|
2096
|
+
// ─── IM admin registry helpers (v2 model) ────────────────────────────
|
|
2097
|
+
const adminCmd = program.command('admin').description('Inspect IM admin assignments');
|
|
2117
2098
|
adminCmd
|
|
2118
2099
|
.command('list')
|
|
2119
|
-
.description('List current admins
|
|
2100
|
+
.description('List current IM admins')
|
|
2120
2101
|
.action(async () => {
|
|
2121
|
-
// Load ~/.agim/env so IMHUB_ADMIN_USERS is visible when this CLI runs
|
|
2122
|
-
// outside the daemon's process env (e.g. fresh shell invoking the CLI
|
|
2123
|
-
// directly). The daemon already loads this at start.
|
|
2124
|
-
try {
|
|
2125
|
-
const { readEnvFile } = await import('./cli-ui/env-file.js');
|
|
2126
|
-
const f = readEnvFile();
|
|
2127
|
-
if (f.IMHUB_ADMIN_USERS && !process.env.IMHUB_ADMIN_USERS) {
|
|
2128
|
-
process.env.IMHUB_ADMIN_USERS = f.IMHUB_ADMIN_USERS;
|
|
2129
|
-
}
|
|
2130
|
-
}
|
|
2131
|
-
catch { /* ignore */ }
|
|
2132
2102
|
const { listAdmins } = await import('./core/admin-allowlist.js');
|
|
2133
2103
|
const rows = listAdmins();
|
|
2134
2104
|
if (rows.length === 0) {
|
|
2135
|
-
console.log('(no admins configured —
|
|
2105
|
+
console.log('(no IM admins configured — assign from Web: Settings → Admins)');
|
|
2136
2106
|
return;
|
|
2137
2107
|
}
|
|
2138
|
-
console.log(`Admins (${rows.length}):`);
|
|
2108
|
+
console.log(`IM Admins (${rows.length}):`);
|
|
2139
2109
|
for (const r of rows)
|
|
2140
2110
|
console.log(` ${r.platform}:${r.userId}`);
|
|
2141
2111
|
});
|
|
2112
|
+
adminCmd
|
|
2113
|
+
.command('known')
|
|
2114
|
+
.description('List IM users discovered from inbound messages')
|
|
2115
|
+
.action(async () => {
|
|
2116
|
+
const { listKnownImUsers } = await import('./core/admin-allowlist.js');
|
|
2117
|
+
const rows = listKnownImUsers();
|
|
2118
|
+
if (rows.length === 0) {
|
|
2119
|
+
console.log('(no IM users discovered yet — ask someone to send a message first)');
|
|
2120
|
+
return;
|
|
2121
|
+
}
|
|
2122
|
+
console.log(`Known IM Users (${rows.length}):`);
|
|
2123
|
+
for (const r of rows) {
|
|
2124
|
+
console.log(` ${r.platform}:${r.userId} last_seen=${r.lastSeenAt}`);
|
|
2125
|
+
}
|
|
2126
|
+
});
|
|
2142
2127
|
// ─── `agim web` — print the web console URL ─────────────────────────
|
|
2143
2128
|
//
|
|
2144
2129
|
// Reads the same Viewer config the IM `/web` command uses, but resolves
|
|
@@ -2238,22 +2223,6 @@ async function maybeRunEntryMenu() {
|
|
|
2238
2223
|
await runTokenMenu(lang);
|
|
2239
2224
|
return true;
|
|
2240
2225
|
}
|
|
2241
|
-
case 'invite_admin': {
|
|
2242
|
-
const { generateAdminInviteToken } = await import('./core/admin-bootstrap.js');
|
|
2243
|
-
const { t } = await import('./cli-ui/i18n.js');
|
|
2244
|
-
const { token, file } = generateAdminInviteToken();
|
|
2245
|
-
console.log();
|
|
2246
|
-
console.log(t(lang, 'invite_admin.title'));
|
|
2247
|
-
console.log();
|
|
2248
|
-
console.log(` ${t(lang, 'invite_admin.generated')} ${token}`);
|
|
2249
|
-
console.log();
|
|
2250
|
-
console.log(` ${t(lang, 'invite_admin.howto')}`);
|
|
2251
|
-
console.log(` /setup admin ${token}`);
|
|
2252
|
-
console.log();
|
|
2253
|
-
console.log(` ${t(lang, 'invite_admin.note')} ${file}`);
|
|
2254
|
-
console.log();
|
|
2255
|
-
return true;
|
|
2256
|
-
}
|
|
2257
2226
|
case 'uninstall':
|
|
2258
2227
|
await cmdUninstall();
|
|
2259
2228
|
return true;
|