agentsw 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/i18n.js CHANGED
@@ -90,6 +90,10 @@ const messages = {
90
90
  "menu.reallyRemove": { en: "really remove {id}?", "zh-CN": "确认删除 {id}?" },
91
91
  "menu.pruneConfigs": { en: "also remove its entries from app configs?", "zh-CN": "同时从应用配置中移除其条目?" },
92
92
  "menu.upgrade": { en: "upgrade everything outdated?", "zh-CN": "升级全部过期项?" },
93
+ "menu.installApp": { en: "install an agent", "zh-CN": "安装智能体" },
94
+ "menu.pickApp": { en: "which agent to install?", "zh-CN": "安装哪个智能体?" },
95
+ "menu.installConfirm": { en: "install {name} via: {cmd}?", "zh-CN": "通过以下命令安装 {name}: {cmd}?" },
96
+ "menu.allInstalled": { en: "all agents already installed", "zh-CN": "所有智能体均已安装" },
93
97
  "menu.bye": { en: "bye", "zh-CN": "再见" },
94
98
  "add.id": { en: "provider id (slug)", "zh-CN": "供应商 id(slug)" },
95
99
  "add.idInvalid": { en: "lowercase slug, e.g. glm or my-proxy", "zh-CN": "请用小写 slug,例如 glm 或 my-proxy" },
package/dist/menu.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import pc from "picocolors";
2
2
  import prompts from "prompts";
3
- import { cmdAdd, cmdQuickAdd, cmdApps, cmdDiscover, cmdImport, cmdList, cmdRemove, cmdStatus, cmdSync, cmdUpgrade, cmdUse, } from "./commands.js";
3
+ import { cmdAdd, cmdQuickAdd, cmdApps, cmdInstall, cmdDiscover, cmdImport, cmdList, cmdRemove, cmdStatus, cmdSync, cmdUpgrade, cmdUse, } from "./commands.js";
4
4
  import { getLocale, setLocale, t } from "./i18n.js";
5
5
  import { loadStore, saveStore } from "./store.js";
6
+ import { appPackages, appCommand, installedVersion } from "./apps.js";
6
7
  function bye() {
7
8
  console.log(pc.dim(`\n${t("menu.bye")}`));
8
9
  process.exit(0);
@@ -83,6 +84,7 @@ export async function cmdMenu() {
83
84
  { title: t("menu.discover"), value: "discover" },
84
85
  { title: t("menu.remove"), value: "remove" },
85
86
  { title: t("menu.apps"), value: "apps" },
87
+ { title: t("menu.installApp"), value: "install" },
86
88
  { title: t("menu.language"), value: "language" },
87
89
  { title: t("menu.quit"), value: "quit" },
88
90
  ],
@@ -154,6 +156,25 @@ export async function cmdMenu() {
154
156
  if (await askToggle(t("menu.upgrade")))
155
157
  await cmdUpgrade([]);
156
158
  }
159
+ else if (action === "install") {
160
+ const installable = appPackages
161
+ .filter((a) => !installedVersion(a) && appCommand(a, "install"))
162
+ .map((a) => ({ title: `${a.id} · ${a.name}`, value: a.id }));
163
+ if (installable.length === 0) {
164
+ console.log(pc.dim(t("menu.allInstalled")));
165
+ continue;
166
+ }
167
+ const { appId } = await prompts({
168
+ type: "select",
169
+ name: "appId",
170
+ message: t("menu.pickApp"),
171
+ hint: t("menu.selectInstructions"),
172
+ choices: installable,
173
+ }, cancel);
174
+ if (!appId)
175
+ continue;
176
+ await cmdInstall(appId);
177
+ }
157
178
  else if (action === "language") {
158
179
  await chooseLanguage();
159
180
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentsw",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "CLI provider switcher for coding agents: manage OpenAI/Anthropic-protocol providers in one place and sync them, with models.dev metadata, into Claude Code, Codex, omp, pi, prime-agent, opencode, Hermes, WorkBuddy and DeepSeek Harness",
5
5
  "type": "module",
6
6
  "repository": {