@vibeapi/api-helper 0.0.30 → 0.0.31

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/README.md CHANGED
@@ -35,7 +35,7 @@ vibecli status # 查看当前配置
35
35
 
36
36
  ```bash
37
37
  vibecli setup --key sk-xxx # 校验后按 Key 能力自动配置(能访问 Claude 模型配 Claude Code、能访问 GPT 模型配 Codex)
38
- vibecli setup --claudekey sk-a --codexkey sk-b # 双令牌各配各的(如 Claude 分组 + GPT 分组),加密存为工具专属 Key
38
+ vibecli setup --claudekey sk-a --codexkey sk-b # 双令牌各配各的(如 Claude 分组 + GPT 分组),存为工具专属 Key
39
39
  ```
40
40
 
41
41
  非交互(CI):
@@ -51,7 +51,7 @@ vibecli config claude-code --non-interactive
51
51
  - **按工具选模型**:使用默认 / 实时从 API 拉取 / 内置预设 / 手动输入;每个工具可用不同模型。
52
52
  - Claude Code 默认用 Claude 组合(sonnet 为 1M 变体 `claude-sonnet-5[1m]`,opus 为 1M 变体 `claude-opus-4-8[1m]`);Codex 默认 `gpt-5.6-sol`,其余工具默认 `gpt-5.5`。
53
53
  - **改前自动备份 + 一键还原**:覆盖配置前先快照(每文件留 10 份),`vibecli config <tool> restore` 随时回退;还原本身也可再撤销。
54
- - **多 Profile + 加密密钥**:work/personal 各自独立;API Key AES-256-GCM `~/.vibecli/secrets.enc`,绝不明文落盘。
54
+ - **多 Profile + 可迁移凭据**:work/personal 各自独立;API Key 存在权限为 `0600` `~/.vibecli/config.yaml`,与 Claude/Codex 本身的明文凭据方式一致,换机不会被主机绑定加密阻断。
55
55
  - **CI 友好**:所有命令支持 `--json` / `--non-interactive` / `--yes` / `--dry-run` / `--no-color`。
56
56
 
57
57
  ## 常用命令
@@ -1 +1 @@
1
- import{describe as e,it as a,expect as t,beforeEach as o,afterEach as n,vi as i}from"vitest";import{mkdirSync as r,rmSync as s,existsSync as c,readFileSync as g}from"fs";import{join as l}from"path";import{tmpdir as f}from"os";import*as p from"js-yaml";e("ConfigManager profiles & presets & backups",()=>{let e,m,M;o(async()=>{e=l(f(),`vibecli-profile-${Date.now()}-${Math.random().toString(36).slice(2)}`),r(e,{recursive:!0}),m=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,i.resetModules(),M=await import("../lib/config.js")}),n(()=>{void 0!==m?process.env.VIBECLI_TEST_HOME=m:delete process.env.VIBECLI_TEST_HOME;try{s(e,{recursive:!0,force:!0})}catch{}}),a("starts with a default profile",()=>{const e=M.configManager.listProfiles();t(e).toContain(M.DEFAULT_PROFILE_NAME),t(M.configManager.getActiveProfileName()).toBe(M.DEFAULT_PROFILE_NAME)}),a("persists API key on the active profile only",()=>{M.configManager.setApiKey("key-default"),M.configManager.createProfile("alt"),M.configManager.setActiveProfile("alt"),M.configManager.setApiKey("key-alt"),M.configManager.setActiveProfile(M.DEFAULT_PROFILE_NAME),t(M.configManager.getApiKey()).toBe("key-default"),M.configManager.setActiveProfile("alt"),t(M.configManager.getApiKey()).toBe("key-alt")}),a("refuses to delete the only remaining profile",()=>{t(()=>M.configManager.deleteProfile(M.DEFAULT_PROFILE_NAME)).toThrow()}),a("deletes a profile and re-elects an active one",()=>{M.configManager.createProfile("alt"),M.configManager.setActiveProfile("alt"),M.configManager.deleteProfile("alt"),t(M.configManager.listProfiles()).not.toContain("alt"),t(M.configManager.getActiveProfileName()).toBe(M.DEFAULT_PROFILE_NAME)}),a("saves and applies custom presets",()=>{const e={haiku:"h-x",sonnet:"s-x",opus:"o-x",reasoning:"r-x"};M.configManager.saveCustomPreset("mine",e);const a=M.configManager.getCustomPresets();t(a.mine.models).toEqual(e),t(typeof a.mine.updated_at).toBe("string"),M.configManager.setModels(M.DEFAULT_MODELS),M.configManager.setModels(a.mine.models),t(M.configManager.getModels()).toEqual(e),M.configManager.deleteCustomPreset("mine"),t(M.configManager.getCustomPresets()).not.toHaveProperty("mine")}),a("creates manual backups and lists them",()=>{M.configManager.setApiKey("key-1");const e=M.configManager.createBackup("snapshot one");t(c(e)).toBe(!0);const a=M.configManager.listBackups();t(a.length).toBeGreaterThan(0),t(a[0].name).toBe(e.split(/[/\\]/).pop())}),a("restores a previous backup",async()=>{M.configManager.setApiKey("key-old");const e=M.configManager.createBackup();M.configManager.setApiKey("key-new"),i.resetModules();const a=await import("../lib/config.js");a.configManager.restoreBackup(e.split(/[/\\]/).pop()),t(a.configManager.getApiKey()).toBe("key-old")}),a("rejects backup names containing path-traversal segments",()=>{t(()=>M.configManager.restoreBackup("..")).toThrow(/Invalid backup name/),t(()=>M.configManager.restoreBackup("../etc/passwd")).toThrow(/Invalid backup name/),t(()=>M.configManager.restoreBackup("a/b.yaml")).toThrow(/Invalid backup name/),t(()=>M.configManager.restoreBackup("a\\b.yaml")).toThrow(/Invalid backup name/)}),a("migrates legacy plan field on disk",async()=>{const a=l(e,".vibecli");r(a,{recursive:!0}),(await import("fs")).writeFileSync(l(a,"config.yaml"),p.dump({lang:"zh_CN",api_key:"legacy-key",plan:"legacy-plan"}),"utf-8"),i.resetModules();const o=await import("../lib/config.js");t(o.configManager.getApiKey()).toBe("legacy-key");const n=p.load(g(l(a,"config.yaml"),"utf-8"));t(n).not.toHaveProperty("plan"),t(n).toHaveProperty("profiles")}),a("revokeApiKey clears both yaml profile and the encrypted secrets entry",async()=>{M.configManager.setApiKey("sk-revoke-test"),t(M.configManager.getApiKey()).toBe("sk-revoke-test");const a=await import("../lib/secret-store.js");t(a.secretStore.getApiKey(M.DEFAULT_PROFILE_NAME)).toBe("sk-revoke-test"),M.configManager.revokeApiKey(),t(M.configManager.getApiKey()).toBeUndefined();const o=p.load(g(l(e,".vibecli","config.yaml"),"utf-8"));t(o.profiles?.[M.DEFAULT_PROFILE_NAME]?.api_key).toBeUndefined(),t(a.secretStore.getApiKey(M.DEFAULT_PROFILE_NAME)).toBeUndefined(),t(a.secretStore.listProfilesWithKeys()).not.toContain(M.DEFAULT_PROFILE_NAME)}),a("--base=URL form is recognized as a transient runtime override (not persisted)",async()=>{M.configManager.setApiKey("sk-anchor");const{Command:a}=await import("../lib/command.js"),o=new a;try{await o.execute(["--base=https://transient.example.com","--help"])}catch{}t(M.configManager.getBaseUrl()).toBe("https://transient.example.com");const n=p.load(g(l(e,".vibecli","config.yaml"),"utf-8")),i=M.configManager.getActiveProfileName();t(n.profiles?.[i]?.base_url).not.toBe("https://transient.example.com")})});
1
+ import{describe as e,it as a,expect as o,beforeEach as t,afterEach as n,vi as i}from"vitest";import{mkdirSync as r,rmSync as s,existsSync as c,readFileSync as g}from"fs";import{join as l}from"path";import{tmpdir as f}from"os";import*as p from"js-yaml";e("ConfigManager profiles & presets & backups",()=>{let e,M,m;t(async()=>{e=l(f(),`vibecli-profile-${Date.now()}-${Math.random().toString(36).slice(2)}`),r(e,{recursive:!0}),M=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,i.resetModules(),m=await import("../lib/config.js")}),n(()=>{void 0!==M?process.env.VIBECLI_TEST_HOME=M:delete process.env.VIBECLI_TEST_HOME;try{s(e,{recursive:!0,force:!0})}catch{}}),a("starts with a default profile",()=>{const e=m.configManager.listProfiles();o(e).toContain(m.DEFAULT_PROFILE_NAME),o(m.configManager.getActiveProfileName()).toBe(m.DEFAULT_PROFILE_NAME)}),a("persists API keys in plaintext on the active profile only",()=>{m.configManager.setApiKey("key-default"),m.configManager.createProfile("alt"),m.configManager.setActiveProfile("alt"),m.configManager.setApiKey("key-alt"),m.configManager.setActiveProfile(m.DEFAULT_PROFILE_NAME),o(m.configManager.getApiKey()).toBe("key-default"),m.configManager.setActiveProfile("alt"),o(m.configManager.getApiKey()).toBe("key-alt");const a=p.load(g(l(e,".vibecli","config.yaml"),"utf-8"));o(a.credential_store).toBe("plaintext"),o(a.profiles.default.api_key).toBe("key-default"),o(a.profiles.alt.api_key).toBe("key-alt"),o(c(l(e,".vibecli","secrets.enc"))).toBe(!1)}),a("refuses to delete the only remaining profile",()=>{o(()=>m.configManager.deleteProfile(m.DEFAULT_PROFILE_NAME)).toThrow()}),a("deletes a profile and re-elects an active one",()=>{m.configManager.createProfile("alt"),m.configManager.setActiveProfile("alt"),m.configManager.deleteProfile("alt"),o(m.configManager.listProfiles()).not.toContain("alt"),o(m.configManager.getActiveProfileName()).toBe(m.DEFAULT_PROFILE_NAME)}),a("saves and applies custom presets",()=>{const e={haiku:"h-x",sonnet:"s-x",opus:"o-x",reasoning:"r-x"};m.configManager.saveCustomPreset("mine",e);const a=m.configManager.getCustomPresets();o(a.mine.models).toEqual(e),o(typeof a.mine.updated_at).toBe("string"),m.configManager.setModels(m.DEFAULT_MODELS),m.configManager.setModels(a.mine.models),o(m.configManager.getModels()).toEqual(e),m.configManager.deleteCustomPreset("mine"),o(m.configManager.getCustomPresets()).not.toHaveProperty("mine")}),a("creates manual backups and lists them",()=>{m.configManager.setApiKey("key-1");const e=m.configManager.createBackup("snapshot one");o(c(e)).toBe(!0);const a=m.configManager.listBackups();o(a.length).toBeGreaterThan(0),o(a[0].name).toBe(e.split(/[/\\]/).pop())}),a("restores a previous backup",async()=>{m.configManager.setApiKey("key-old");const e=m.configManager.createBackup();m.configManager.setApiKey("key-new"),i.resetModules();const a=await import("../lib/config.js");a.configManager.restoreBackup(e.split(/[/\\]/).pop()),o(a.configManager.getApiKey()).toBe("key-old")}),a("rejects backup names containing path-traversal segments",()=>{o(()=>m.configManager.restoreBackup("..")).toThrow(/Invalid backup name/),o(()=>m.configManager.restoreBackup("../etc/passwd")).toThrow(/Invalid backup name/),o(()=>m.configManager.restoreBackup("a/b.yaml")).toThrow(/Invalid backup name/),o(()=>m.configManager.restoreBackup("a\\b.yaml")).toThrow(/Invalid backup name/)}),a("migrates legacy plan field on disk",async()=>{const a=l(e,".vibecli");r(a,{recursive:!0}),(await import("fs")).writeFileSync(l(a,"config.yaml"),p.dump({lang:"zh_CN",api_key:"legacy-key",plan:"legacy-plan"}),"utf-8"),i.resetModules();const t=await import("../lib/config.js");o(t.configManager.getApiKey()).toBe("legacy-key");const n=p.load(g(l(a,"config.yaml"),"utf-8"));o(n).not.toHaveProperty("plan"),o(n).toHaveProperty("profiles")}),a("revokeApiKey clears both profile and per-tool plaintext keys",()=>{m.configManager.setApiKey("sk-revoke-test"),m.configManager.setToolApiKey("codex","sk-revoke-gpt"),o(m.configManager.getApiKey()).toBe("sk-revoke-test"),o(m.configManager.getApiKeyForTool("codex")).toBe("sk-revoke-gpt"),m.configManager.revokeApiKey(),o(m.configManager.getApiKey()).toBeUndefined(),o(m.configManager.getApiKeyForTool("codex")).toBeUndefined();const a=p.load(g(l(e,".vibecli","config.yaml"),"utf-8"));o(a.profiles?.[m.DEFAULT_PROFILE_NAME]?.api_key).toBeUndefined(),o(a.profiles?.[m.DEFAULT_PROFILE_NAME]?.tool_api_keys).toBeUndefined()}),a("--base=URL form is recognized as a transient runtime override (not persisted)",async()=>{m.configManager.setApiKey("sk-anchor");const{Command:a}=await import("../lib/command.js"),t=new a;try{await t.execute(["--base=https://transient.example.com","--help"])}catch{}o(m.configManager.getBaseUrl()).toBe("https://transient.example.com");const n=p.load(g(l(e,".vibecli","config.yaml"),"utf-8")),i=m.configManager.getActiveProfileName();o(n.profiles?.[i]?.base_url).not.toBe("https://transient.example.com")})});
@@ -1 +1 @@
1
- {"version":3,"file":"config-profiles.test.js","sourceRoot":"","sources":["../../src/__tests__/config-profiles.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-profiles.test.js","sourceRoot":"","sources":["../../src/__tests__/config-profiles.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAQhC,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACxD,IAAI,OAAe,CAAC;IACpB,IAAI,gBAAoC,CAAC;IACzC,IAAI,GAAwB,CAAC;IAE7B,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjG,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACxC,EAAE,CAAC,YAAY,EAAE,CAAC;QAClB,GAAG,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACzC,CAAC;QACD,IAAI,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACL,YAAY;QAChB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3C,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1D,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAQ,CAAC;QACjG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,YAAY,GAAG;YACjB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,KAAK;SACnB,CAAC;QACF,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtD,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChD,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE5D,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACxC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAC9C,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvC,+EAA+E;QAC/E,oEAAoE;QACpE,EAAE,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAClD,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnF,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC9F,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzF,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG;YACjB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,aAAa;SACtB,CAAC;QACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;QAEnF,EAAE,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAA4B,CAAC;QAC3G,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC9C,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE1E,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAEjC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAEvF,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC3F,kFAAkF;QAClF,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,sCAAsC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACL,oDAAoD;QACxD,CAAC;QAED,oEAAoE;QACpE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAE7E,0EAA0E;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAEvF,CAAC;QACF,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- import{describe as e,it as t,expect as r,beforeEach as o,afterEach as s,vi as i}from"vitest";import{mkdirSync as a,rmSync as c,existsSync as l,statSync as n}from"fs";import{join as p}from"path";import{tmpdir as d}from"os";e("SecretStore",()=>{let e,f,u;o(async()=>{e=p(d(),`vibecli-secret-${Date.now()}-${Math.random().toString(36).slice(2)}`),a(e,{recursive:!0}),f=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,i.resetModules(),u=await import("../lib/secret-store.js")}),s(()=>{void 0!==f?process.env.VIBECLI_TEST_HOME=f:delete process.env.VIBECLI_TEST_HOME;try{c(e,{recursive:!0,force:!0})}catch{}}),t("returns undefined when no key has been stored",()=>{r(u.secretStore.getApiKey("default")).toBeUndefined(),r(u.secretStore.listProfilesWithKeys()).toEqual([])}),t("round-trips an api key through encrypt + decrypt",()=>{u.secretStore.setApiKey("default","sk-abc-123"),r(u.secretStore.getApiKey("default")).toBe("sk-abc-123");const t=p(e,".vibecli","secrets.enc");r(l(t)).toBe(!0)}),t("isolates keys per profile",()=>{u.secretStore.setApiKey("default","key-default"),u.secretStore.setApiKey("alt","key-alt"),r(u.secretStore.getApiKey("default")).toBe("key-default"),r(u.secretStore.getApiKey("alt")).toBe("key-alt"),r(u.secretStore.listProfilesWithKeys().sort()).toEqual(["alt","default"])}),t("produces a stable, non-empty fingerprint for stored keys",()=>{r(u.secretStore.fingerprint("default")).toBe(""),u.secretStore.setApiKey("default","sk-fingerprint-test");const e=u.secretStore.fingerprint("default"),t=u.secretStore.fingerprint("default");r(e).toHaveLength(12),r(e).toBe(t)}),t("removes a key on deleteApiKey",()=>{u.secretStore.setApiKey("default","key-default"),u.secretStore.setApiKey("alt","key-alt"),u.secretStore.deleteApiKey("alt"),r(u.secretStore.getApiKey("alt")).toBeUndefined(),r(u.secretStore.getApiKey("default")).toBe("key-default")}),t("does not write a yaml-readable plaintext file",async()=>{u.secretStore.setApiKey("default","sk-very-secret-value");const t=p(e,".vibecli","secrets.enc"),o=n(t);r(o.size).toBeGreaterThan(0);const s=(await import("fs")).readFileSync(t,"utf-8");r(s).not.toContain("sk-very-secret-value");const i=JSON.parse(s);r(i.version).toBe(2),r(typeof i.iv).toBe("string"),r(typeof i.salt).toBe("string"),r(typeof i.auth_tag).toBe("string"),r(typeof i.cipher_text).toBe("string")}),t("migrates inline yaml api_key into encrypted store on first read",async()=>{const t=await import("js-yaml"),o=await import("fs"),s=p(e,".vibecli");a(s,{recursive:!0}),o.writeFileSync(p(s,"config.yaml"),t.dump({active_profile:"default",profiles:{default:{api_key:"sk-inline-legacy",base_url:"https://api.example.com",models:{plan:"a",solve:"b",scaffold:"c"}}},presets:{}}),"utf-8"),i.resetModules();const c=await import("../lib/config.js");r(c.configManager.getApiKey()).toBe("sk-inline-legacy");const l=t.load(o.readFileSync(p(s,"config.yaml"),"utf-8"));r(l.profiles.default.api_key).toBeUndefined();const n=await import("../lib/secret-store.js");r(n.secretStore.getApiKey("default")).toBe("sk-inline-legacy")}),t("persists across fresh module instances (cross-instance round-trip)",async()=>{u.secretStore.setApiKey("default","sk-cross-instance"),r(u.secretStore.getApiKey("default")).toBe("sk-cross-instance"),i.resetModules();const e=await import("../lib/secret-store.js");r(e.secretStore).not.toBe(u.secretStore),r(e.secretStore.getApiKey("default")).toBe("sk-cross-instance")}),t("upgrades a legacy v1 envelope to v2 on first read",async()=>{const t=await import("fs"),o=await import("crypto"),{hostname:s,userInfo:c}=await import("os"),l=o.randomBytes(16),n=o.randomBytes(12),d=`${c().username}:${s()}:vibecli-secret-store`,f=o.scryptSync(d,l,32,{N:16384,maxmem:67108864}),u=o.createCipheriv("aes-256-gcm",f,n),y=Buffer.from(JSON.stringify({api_keys:{default:"sk-legacy-v1"}}),"utf-8"),g=Buffer.concat([u.update(y),u.final()]),S=u.getAuthTag(),v={version:1,iv:n.toString("base64"),salt:l.toString("base64"),auth_tag:S.toString("base64"),cipher_text:g.toString("base64")},B=p(e,".vibecli");a(B,{recursive:!0});const k=p(B,"secrets.enc");t.writeFileSync(k,JSON.stringify(v),"utf-8"),i.resetModules();const m=await import("../lib/secret-store.js");r(m.secretStore.getApiKey("default")).toBe("sk-legacy-v1");const K=JSON.parse(t.readFileSync(k,"utf-8"));r(K.version).toBe(2)}),t("refuses to overwrite an undecryptable envelope on setApiKey",async()=>{const t=await import("fs"),o=p(e,".vibecli");a(o,{recursive:!0});const s={version:2,iv:Buffer.alloc(12,1).toString("base64"),salt:Buffer.alloc(16,2).toString("base64"),auth_tag:Buffer.alloc(16,3).toString("base64"),cipher_text:Buffer.alloc(48,4).toString("base64")};t.writeFileSync(p(o,"secrets.enc"),JSON.stringify(s),"utf-8"),i.resetModules();const c=await import("../lib/secret-store.js");r(c.secretStore.getApiKey("default")).toBeUndefined(),r(c.secretStore.getLastDecryptError()).not.toBeNull(),r(()=>c.secretStore.setApiKey("default","sk-new-key")).toThrow(c.SecretStoreDecryptError);const l=JSON.parse(t.readFileSync(p(o,"secrets.enc"),"utf-8"));r(l.cipher_text).toBe(s.cipher_text),c.secretStore.deleteAll(),c.secretStore.setApiKey("default","sk-new-key"),r(c.secretStore.getApiKey("default")).toBe("sk-new-key")})}),e("SecretStore per-tool keys",()=>{let e,l;o(()=>{e=p(d(),`vibecli-toolkey-${Date.now()}-${Math.random().toString(36).slice(2)}`),a(e,{recursive:!0}),l=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,i.resetModules()}),s(()=>{void 0!==l?process.env.VIBECLI_TEST_HOME=l:delete process.env.VIBECLI_TEST_HOME;try{c(e,{recursive:!0,force:!0})}catch{}}),t("round-trips tool keys independently of the profile default key",async()=>{const{SecretStore:e}=await import("../lib/secret-store.js"),t=e.getInstance();t.setApiKey("default","sk-default"),t.setToolApiKey("default","codex","sk-gpt-group"),t.setToolApiKey("default","claude-code","sk-claude-group"),r(t.getApiKey("default")).toBe("sk-default"),r(t.getToolApiKey("default","codex")).toBe("sk-gpt-group"),r(t.getToolApiKey("default","claude-code")).toBe("sk-claude-group"),r(t.listToolsWithKeys("default")).toEqual(["claude-code","codex"]),r(t.toolFingerprint("default","codex")).toHaveLength(12),r(t.toolFingerprint("default","codex")).not.toBe(t.fingerprint("default")),t.deleteToolApiKey("default","codex"),r(t.getToolApiKey("default","codex")).toBeUndefined(),r(t.getToolApiKey("default","claude-code")).toBe("sk-claude-group"),t.deleteToolApiKeys("default"),r(t.listToolsWithKeys("default")).toEqual([]),r(t.getApiKey("default")).toBe("sk-default")})});
1
+ import{describe as e,it as t,expect as o,beforeEach as s,afterEach as r,vi as i}from"vitest";import{mkdirSync as a,rmSync as c,existsSync as l,readFileSync as n,writeFileSync as f,statSync as p}from"fs";import{join as g,dirname as u}from"path";import{tmpdir as d}from"os";import{hostname as y,userInfo as m}from"os";import{createCipheriv as k,randomBytes as _,scryptSync as b}from"crypto";import*as v from"js-yaml";function B(e,t,o=2){const s=1===o?16384:32768,r=_(16),i=_(12),c=`${m().username}:${y()}:vibecli-secret-store`,l=b(c,r,32,{N:s,maxmem:67108864}),n=k("aes-256-gcm",l,i),p=Buffer.from(JSON.stringify(t),"utf-8"),g=Buffer.concat([n.update(p),n.final()]),d={version:o,iv:i.toString("base64"),salt:r.toString("base64"),auth_tag:n.getAuthTag().toString("base64"),cipher_text:g.toString("base64")};a(u(e),{recursive:!0}),f(e,JSON.stringify(d),"utf-8")}e("legacy secrets.enc migration",()=>{let e,u;s(()=>{e=g(d(),`vibecli-secret-${Date.now()}-${Math.random().toString(36).slice(2)}`),a(e,{recursive:!0}),u=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,i.resetModules()}),r(()=>{void 0!==u?process.env.VIBECLI_TEST_HOME=u:delete process.env.VIBECLI_TEST_HOME;try{c(e,{recursive:!0,force:!0})}catch{}}),t("returns an empty record when the legacy file is absent",async()=>{const{readLegacySecretsFile:t}=await import("../lib/secret-store.js");o(t(g(e,"missing.enc"))).toEqual({})}),t.each([1,2])("reads legacy v%s envelopes without creating new encrypted state",async t=>{const s=g(e,".vibecli","secrets.enc");B(s,{api_keys:{default:"sk-default"},tool_api_keys:{default:{codex:"sk-gpt","claude-code":"sk-claude"}}},t);const{readLegacySecretsFile:r}=await import("../lib/secret-store.js");o(r(s)).toEqual({api_keys:{default:"sk-default"},tool_api_keys:{default:{codex:"sk-gpt","claude-code":"sk-claude"}}})}),t("rejects malformed and undecryptable legacy envelopes",async()=>{const t=g(e,"malformed.enc"),s=g(e,"undecryptable.enc");f(t,"not-json","utf-8"),f(s,JSON.stringify({version:2,iv:Buffer.alloc(12,1).toString("base64"),salt:Buffer.alloc(16,2).toString("base64"),auth_tag:Buffer.alloc(16,3).toString("base64"),cipher_text:Buffer.alloc(48,4).toString("base64")}),"utf-8");const{readLegacySecretsFile:r,SecretStoreDecryptError:i}=await import("../lib/secret-store.js");o(()=>r(t)).toThrow(i),o(()=>r(s)).toThrow(i)}),t("migrates profile and tool keys to plaintext config.yaml, then removes secrets.enc",async()=>{const t=g(e,".vibecli"),s=g(t,"config.yaml"),r=g(t,"secrets.enc");a(t,{recursive:!0}),f(s,v.dump({lang:"en_US",active_profile:"default",profiles:{default:{api_key:"sk-inline-existing"}},presets:{}}),"utf-8"),B(r,{api_keys:{default:"sk-default"},tool_api_keys:{default:{codex:"sk-gpt"}}}),i.resetModules();const{configManager:c}=await import("../lib/config.js");o(c.getApiKey()).toBe("sk-inline-existing"),o(c.getApiKeyForTool("codex")).toBe("sk-gpt"),o(l(r)).toBe(!1);const u=v.load(n(s,"utf-8"));o(u.credential_store).toBe("plaintext"),o(u.profiles.default.api_key).toBe("sk-inline-existing"),o(u.profiles.default.tool_api_keys.codex).toBe("sk-gpt"),o(511&p(s).mode).toBe(384)}),t("keeps an undecryptable legacy file for recovery but never blocks a new key write",async()=>{const t=g(e,".vibecli"),s=g(t,"config.yaml"),r=g(t,"secrets.enc");a(t,{recursive:!0}),f(s,v.dump({lang:"en_US",active_profile:"default",profiles:{default:{}},presets:{}}),"utf-8"),f(r,JSON.stringify({version:2,iv:Buffer.alloc(12,1).toString("base64"),salt:Buffer.alloc(16,2).toString("base64"),auth_tag:Buffer.alloc(16,3).toString("base64"),cipher_text:Buffer.alloc(48,4).toString("base64")}),"utf-8"),i.resetModules();const{configManager:c}=await import("../lib/config.js");o(()=>c.setToolApiKey("codex","sk-new-gpt")).not.toThrow(),o(c.getApiKeyForTool("codex")).toBe("sk-new-gpt"),o(l(r)).toBe(!0);const p=v.load(n(s,"utf-8"));o(p.credential_store).toBe("plaintext"),o(p.profiles.default.tool_api_keys.codex).toBe("sk-new-gpt"),i.resetModules();const u=await import("../lib/config.js");o(u.configManager.getApiKeyForTool("codex")).toBe("sk-new-gpt")}),t("restores a <=0.0.30 backup by importing its encrypted companion",async()=>{const{configManager:t}=await import("../lib/config.js");t.setApiKey("sk-current");const s=g(e,".vibecli","backups"),r="config-legacy.yaml",i=g(s,r);a(s,{recursive:!0}),f(i,v.dump({lang:"en_US",active_profile:"default",profiles:{default:{}},presets:{}}),"utf-8"),B(g(s,"config-legacy.secrets.enc"),{api_keys:{default:"sk-restored"},tool_api_keys:{default:{codex:"sk-restored-gpt"}}}),t.restoreBackup(r),o(t.getApiKey()).toBe("sk-restored"),o(t.getApiKeyForTool("codex")).toBe("sk-restored-gpt");const c=v.load(n(g(e,".vibecli","config.yaml"),"utf-8"));o(c.profiles.default.api_key).toBe("sk-restored"),o(c.profiles.default.tool_api_keys.codex).toBe("sk-restored-gpt")})});
@@ -1 +1 @@
1
- {"version":3,"file":"secret-store.test.js","sourceRoot":"","sources":["../../src/__tests__/secret-store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-store.test.js","sourceRoot":"","sources":["../../src/__tests__/secret-store.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{describe as e,it as o,expect as s,beforeEach as t,afterEach as a,vi as i}from"vitest";import{mkdirSync as l,rmSync as c}from"fs";import{join as n}from"path";import{tmpdir as d}from"os";i.mock("../lib/api-validator.js",()=>({validateApiKey:i.fn(),fetchModels:i.fn()}));import{validateApiKey as m,fetchModels as p}from"../lib/api-validator.js";const r=m,u=p;e("setup command",()=>{let e,m,p,k,y,v;t(async()=>{e=n(d(),`vibecli-setup-${Date.now()}-${Math.random().toString(36).slice(2)}`),l(e,{recursive:!0}),m=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,i.resetModules(),r.mockReset(),u.mockReset(),p=[],k=[],y=i.spyOn(console,"log").mockImplementation((...e)=>{k.push(e.join(" "))}),v=i.spyOn(console,"error").mockImplementation((...e)=>{k.push(e.join(" "))});const{toolManager:o}=await import("../lib/tool-manager.js");i.spyOn(o,"loadPrivateConfig").mockImplementation((e,o)=>{p.push({tool:e,key:o})}),i.spyOn(o,"isToolInstalled").mockReturnValue(!0)}),a(()=>{y.mockRestore(),v.mockRestore(),i.restoreAllMocks(),process.exitCode=0,void 0!==m?process.env.VIBECLI_TEST_HOME=m:delete process.env.VIBECLI_TEST_HOME;try{c(e,{recursive:!0,force:!0})}catch{}}),o("--key with both families configures both tools with the default key",async()=>{r.mockResolvedValue({valid:!0}),u.mockResolvedValue({ok:!0,models:["claude-opus-4-8","gpt-5.6-sol"]});const{setupCommand:e}=await import("../commands/setup.js");await e({key:"sk-universal"}),s(p.map(e=>e.tool).sort()).toEqual(["claude-code","codex"]),s(p.every(e=>"sk-universal"===e.key)).toBe(!0);const{configManager:o}=await import("../lib/config.js");s(o.getApiKey()).toBe("sk-universal"),s(o.getApiKeyForTool("codex")).toBe("sk-universal"),s(0===process.exitCode||void 0===process.exitCode).toBe(!0)}),o("--key with only claude models configures Claude Code only",async()=>{r.mockResolvedValue({valid:!0}),u.mockResolvedValue({ok:!0,models:["claude-opus-4-8","claude-sonnet-5"]});const{setupCommand:e}=await import("../commands/setup.js");await e({key:"sk-claude-group"}),s(p.map(e=>e.tool)).toEqual(["claude-code"]),s(k.join("\n")).toMatch(/skipped Codex|跳过 Codex/)}),o("--key invalid aborts without configuring anything",async()=>{r.mockResolvedValue({valid:!1,error:"invalid_api_key",message:"HTTP 401"});const{setupCommand:e}=await import("../commands/setup.js");await e({key:"sk-bad"}),s(p).toEqual([]),s(process.exitCode).toBe(1)}),o("--claudekey + --codexkey stores per-tool keys and applies each with its own key",async()=>{r.mockResolvedValue({valid:!0}),u.mockImplementation(async e=>"sk-claude"===e?{ok:!0,models:["claude-opus-4-8"]}:{ok:!0,models:["gpt-5.6-sol"]});const{setupCommand:e}=await import("../commands/setup.js");await e({claudekey:"sk-claude",codexkey:"sk-gpt"}),s(p).toEqual(s.arrayContaining([{tool:"claude-code",key:"sk-claude"},{tool:"codex",key:"sk-gpt"}]));const{configManager:o}=await import("../lib/config.js");s(o.getApiKeyForTool("claude-code")).toBe("sk-claude"),s(o.getApiKeyForTool("codex")).toBe("sk-gpt"),s(o.getApiKey()).toBeUndefined()}),o("--codexkey whose token group has no GPT models is rejected",async()=>{r.mockResolvedValue({valid:!0}),u.mockResolvedValue({ok:!0,models:["claude-opus-4-8"]});const{setupCommand:e}=await import("../commands/setup.js");await e({codexkey:"sk-claude-only"}),s(p).toEqual([]),s(process.exitCode).toBe(1),s(k.join("\n")).toMatch(/skipped Codex|跳过 Codex/)}),o("no flags prints usage and fails",async()=>{const{setupCommand:e}=await import("../commands/setup.js");await e({}),s(process.exitCode).toBe(1),s(p).toEqual([])})});
1
+ import{describe as e,it as o,expect as s,beforeEach as t,afterEach as a,vi as i}from"vitest";import{mkdirSync as l,rmSync as c,existsSync as n,readFileSync as d,writeFileSync as r}from"fs";import{join as p}from"path";import{tmpdir as m}from"os";import*as u from"js-yaml";i.mock("../lib/api-validator.js",()=>({validateApiKey:i.fn(),fetchModels:i.fn()}));import{validateApiKey as k,fetchModels as y}from"../lib/api-validator.js";const g=k,f=y;e("setup command",()=>{let e,k,y,v,C,x;t(async()=>{e=p(m(),`vibecli-setup-${Date.now()}-${Math.random().toString(36).slice(2)}`),l(e,{recursive:!0}),k=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,i.resetModules(),g.mockReset(),f.mockReset(),y=[],v=[],C=i.spyOn(console,"log").mockImplementation((...e)=>{v.push(e.join(" "))}),x=i.spyOn(console,"error").mockImplementation((...e)=>{v.push(e.join(" "))});const{toolManager:o}=await import("../lib/tool-manager.js");i.spyOn(o,"loadPrivateConfig").mockImplementation((e,o)=>{y.push({tool:e,key:o})}),i.spyOn(o,"isToolInstalled").mockReturnValue(!0)}),a(()=>{C.mockRestore(),x.mockRestore(),i.restoreAllMocks(),process.exitCode=0,void 0!==k?process.env.VIBECLI_TEST_HOME=k:delete process.env.VIBECLI_TEST_HOME;try{c(e,{recursive:!0,force:!0})}catch{}}),o("--key with both families configures both tools with the default key",async()=>{g.mockResolvedValue({valid:!0}),f.mockResolvedValue({ok:!0,models:["claude-opus-4-8","gpt-5.6-sol"]});const{setupCommand:e}=await import("../commands/setup.js");await e({key:"sk-universal"}),s(y.map(e=>e.tool).sort()).toEqual(["claude-code","codex"]),s(y.every(e=>"sk-universal"===e.key)).toBe(!0);const{configManager:o}=await import("../lib/config.js");s(o.getApiKey()).toBe("sk-universal"),s(o.getApiKeyForTool("codex")).toBe("sk-universal"),s(0===process.exitCode||void 0===process.exitCode).toBe(!0)}),o("--key with only claude models configures Claude Code only",async()=>{g.mockResolvedValue({valid:!0}),f.mockResolvedValue({ok:!0,models:["claude-opus-4-8","claude-sonnet-5"]});const{setupCommand:e}=await import("../commands/setup.js");await e({key:"sk-claude-group"}),s(y.map(e=>e.tool)).toEqual(["claude-code"]),s(v.join("\n")).toMatch(/skipped Codex|跳过 Codex/)}),o("--key invalid aborts without configuring anything",async()=>{g.mockResolvedValue({valid:!1,error:"invalid_api_key",message:"HTTP 401"});const{setupCommand:e}=await import("../commands/setup.js");await e({key:"sk-bad"}),s(y).toEqual([]),s(process.exitCode).toBe(1)}),o("--claudekey + --codexkey stores plaintext per-tool keys and applies each with its own key",async()=>{g.mockResolvedValue({valid:!0}),f.mockImplementation(async e=>"sk-claude"===e?{ok:!0,models:["claude-opus-4-8"]}:{ok:!0,models:["gpt-5.6-sol"]});const{setupCommand:o}=await import("../commands/setup.js");await o({claudekey:"sk-claude",codexkey:"sk-gpt"}),s(y).toEqual(s.arrayContaining([{tool:"claude-code",key:"sk-claude"},{tool:"codex",key:"sk-gpt"}]));const{configManager:t}=await import("../lib/config.js");s(t.getApiKeyForTool("claude-code")).toBe("sk-claude"),s(t.getApiKeyForTool("codex")).toBe("sk-gpt"),s(t.getApiKey()).toBeUndefined();const a=p(e,".vibecli","config.yaml"),i=u.load(d(a,"utf-8"));s(i.profiles.default.tool_api_keys).toEqual({"claude-code":"sk-claude",codex:"sk-gpt"}),s(n(p(e,".vibecli","secrets.enc"))).toBe(!1)}),o("--codexkey ignores an undecryptable legacy secrets.enc instead of requiring deletion",async()=>{g.mockResolvedValue({valid:!0}),f.mockResolvedValue({ok:!0,models:["gpt-5.6-sol"]});const o=p(e,".vibecli");l(o,{recursive:!0}),r(p(o,"secrets.enc"),JSON.stringify({version:2,iv:Buffer.alloc(12,1).toString("base64"),salt:Buffer.alloc(16,2).toString("base64"),auth_tag:Buffer.alloc(16,3).toString("base64"),cipher_text:Buffer.alloc(48,4).toString("base64")}),"utf-8");const{setupCommand:t}=await import("../commands/setup.js");await t({codexkey:"sk-fresh-gpt"}),s(y).toContainEqual({tool:"codex",key:"sk-fresh-gpt"});const a=u.load(d(p(o,"config.yaml"),"utf-8"));s(a.profiles.default.tool_api_keys.codex).toBe("sk-fresh-gpt"),s(0===process.exitCode||void 0===process.exitCode).toBe(!0)}),o("--codexkey whose token group has no GPT models is rejected",async()=>{g.mockResolvedValue({valid:!0}),f.mockResolvedValue({ok:!0,models:["claude-opus-4-8"]});const{setupCommand:e}=await import("../commands/setup.js");await e({codexkey:"sk-claude-only"}),s(y).toEqual([]),s(process.exitCode).toBe(1),s(v.join("\n")).toMatch(/skipped Codex|跳过 Codex/)}),o("no flags prints usage and fails",async()=>{const{setupCommand:e}=await import("../commands/setup.js");await e({}),s(process.exitCode).toBe(1),s(y).toEqual([])})});
@@ -1 +1 @@
1
- {"version":3,"file":"setup-command.test.js","sourceRoot":"","sources":["../../src/__tests__/setup-command.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-command.test.js","sourceRoot":"","sources":["../../src/__tests__/setup-command.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{describe as e,it as o,expect as t,beforeEach as s,afterEach as r,vi as a}from"vitest";import{mkdirSync as i,rmSync as n,readFileSync as l,writeFileSync as d,readdirSync as c}from"fs";import{join as p}from"path";import{tmpdir as m}from"os";import*as u from"js-yaml";import*as f from"@iarna/toml";const g={haiku:"h-model",sonnet:"s-model",opus:"o-model",reasoning:"r-model"},v=(e={})=>({apiKey:"sk-test-123",baseUrl:"https://gateway.example.com",models:g,...e});e("tool adapters",()=>{let c,g,h;s(async()=>{c=p(m(),`vibecli-tools-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(c,{recursive:!0}),g=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=c,a.resetModules(),h=await import("../lib/tools/registry.js")}),r(()=>{void 0!==g?process.env.VIBECLI_TEST_HOME=g:delete process.env.VIBECLI_TEST_HOME;try{n(c,{recursive:!0,force:!0})}catch{}}),o("registry exposes the six expected tools",()=>{t(Object.keys(h.TOOL_ADAPTERS).sort()).toEqual(["atomcode","claude-code","codex","hermes","opencode","openclaw"].sort())}),e("codex",()=>{const e=()=>f.parse(l(p(c,".codex","config.toml"),"utf-8"));o("writes a branded provider, primary model and OPENAI_API_KEY auth",()=>{h.getAdapter("codex").loadPrivateConfig(v());const o=e();t(o.model).toBe("o-model"),t(o.model_provider).toBe("custom"),t(o.model_reasoning_effort).toBe("xhigh"),t(o.model_providers.custom.base_url).toBe("https://gateway.example.com/v1"),t(o.model_providers.custom.name).toBe("custom"),t(o.model_providers.custom.wire_api).toBe("responses"),t(o.model_providers.custom.requires_openai_auth).toBe(!0),t(o.features).toEqual({goals:!0,js_repl:!1}),t(JSON.parse(l(p(c,".codex","auth.json"),"utf-8")).OPENAI_API_KEY).toBe("sk-test-123"),t(h.getAdapter("codex").detectCurrentConfig()).toEqual({apiKey:"sk-test-123"})}),o("preserves foreign providers on load and unload",()=>{const o=h.getAdapter("codex");i(p(c,".codex"),{recursive:!0});const s=f.stringify({model_providers:{other:{base_url:"https://other"}}});d(p(c,".codex","config.toml"),s,"utf-8"),o.loadPrivateConfig(v()),t(e().model_providers.other.base_url).toBe("https://other"),o.unloadPrivateConfig();const r=e();t(r.model_providers.custom).toBeUndefined(),t(r.model_providers.other.base_url).toBe("https://other"),t(r.model_provider).toBeUndefined()})}),e("atomcode",()=>{const e=()=>f.parse(l(p(c,".atomcode","config.toml"),"utf-8"));o("writes an openai provider with key and model",()=>{const o=h.getAdapter("atomcode");o.loadPrivateConfig(v());const s=e();t(s.default_provider).toBe("VibeAPI"),t(s.providers.VibeAPI.type).toBe("openai"),t(s.providers.VibeAPI.api_key).toBe("sk-test-123"),t(s.providers.VibeAPI.model).toBe("o-model"),t(s.providers.VibeAPI.base_url).toBe("https://gateway.example.com/v1"),t(o.detectCurrentConfig()).toEqual({apiKey:"sk-test-123"}),o.unloadPrivateConfig(),t(e().providers?.VibeAPI).toBeUndefined()})}),e("openclaw",()=>{const e=()=>JSON.parse(l(p(c,".openclaw","openclaw.json"),"utf-8"));o("writes provider and agents.defaults.model.primary",()=>{const o=h.getAdapter("openclaw");o.loadPrivateConfig(v());const s=e();t(s.models.providers.vibeapi.apiKey).toBe("sk-test-123"),t(s.models.providers.vibeapi.baseUrl).toBe("https://gateway.example.com/v1"),t(s.models.providers.vibeapi.models[0].id).toBe("o-model"),t(s.agents.defaults.model.primary).toBe("vibeapi/o-model"),t(o.detectCurrentConfig()).toEqual({apiKey:"sk-test-123"}),o.unloadPrivateConfig();const r=e();t(r.models.providers.vibeapi).toBeUndefined(),t(r.agents.defaults.model.primary).toBeUndefined()})}),e("hermes",()=>{const e=()=>l(p(c,".hermes",".env"),"utf-8");o("writes config.yaml model block and .env api key",()=>{const o=h.getAdapter("hermes");o.loadPrivateConfig(v());const s=u.load(l(p(c,".hermes","config.yaml"),"utf-8"));t(s.model.provider).toBe("custom"),t(s.model.base_url).toBe("https://gateway.example.com/v1"),t(s.model.default).toBe("o-model"),t(e()).toContain("VIBEAPI_API_KEY=sk-test-123"),t(o.detectCurrentConfig()).toEqual({apiKey:"sk-test-123"}),o.unloadPrivateConfig(),t(e()).not.toContain("sk-test-123")})}),o("withV1 does not double-append a version suffix",()=>{h.getAdapter("codex").loadPrivateConfig(v({baseUrl:"https://gw.example.com/v1"}));const e=f.parse(l(p(c,".codex","config.toml"),"utf-8"));t(e.model_providers.custom.base_url).toBe("https://gw.example.com/v1")})}),e("config backups before write",()=>{let e,u,g,h;const B=(e,o)=>c(e).filter(e=>e.startsWith(`${o}.bak-`));s(async()=>{e=p(m(),`vibecli-bak-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(e,{recursive:!0}),u=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,a.resetModules(),g=await import("../lib/tools/registry.js"),h=await import("../lib/tools/backup.js")}),r(()=>{void 0!==u?process.env.VIBECLI_TEST_HOME=u:delete process.env.VIBECLI_TEST_HOME;try{n(e,{recursive:!0,force:!0})}catch{}}),o("does not back up on the first write (no original file)",()=>{g.getAdapter("codex").loadPrivateConfig(v()),t(B(p(e,".codex"),"config.toml")).toHaveLength(0)}),o("snapshots the original before overwriting on a second load",()=>{const o=g.getAdapter("codex");o.loadPrivateConfig(v({baseUrl:"https://first.example.com"})),o.loadPrivateConfig(v({baseUrl:"https://second.example.com"}));const s=p(e,".codex"),r=B(s,"config.toml");t(r).toHaveLength(1);const a=f.parse(l(p(s,r[0]),"utf-8"));t(a.model_providers.custom.base_url).toBe("https://first.example.com/v1")}),o("keeps at most 10 backups per file",()=>{const o=p(e,"sample.json");d(o,"v0","utf-8");for(let e=1;e<=15;e++)h.backupBeforeWrite(o),d(o,`v${e}`,"utf-8");t(B(e,"sample.json").length).toBe(h.MAX_TOOL_BACKUPS)}),o("restoreBackup brings back the latest snapshot and snapshots current first (undoable)",()=>{const o=p(e,"cfg.json");d(o,"v1","utf-8"),h.backupBeforeWrite(o),d(o,"v2","utf-8"),h.backupBeforeWrite(o),d(o,"v3","utf-8");const s=h.restoreBackup(o);t(s.restored).toBe(!0),t(l(o,"utf-8")).toBe("v2"),t(s.snapshot).toBeTruthy();const r=h.restoreBackup(o);t(r.restored).toBe(!0),t(l(o,"utf-8")).toBe("v3")}),o("atomicWriteFile creates the dir, writes, and leaves no temp file",()=>{const o=p(e,"nested","deep","out.json");h.atomicWriteFile(o,'{"ok":true}'),t(l(o,"utf-8")).toBe('{"ok":true}');const s=c(p(e,"nested","deep")).filter(e=>e.includes(".tmp-"));t(s).toEqual([])}),o("restoreBackup reports no_backup when there are none",()=>{const o=p(e,"fresh.json");d(o,"only","utf-8");const s=h.restoreBackup(o);t(s.restored).toBe(!1),t(s.reason).toBe("no_backup")}),o("ToolManager.restorePrivateConfig restores a tool config in place",async()=>{const o=g.getAdapter("codex"),{toolManager:s}=await import("../lib/tool-manager.js");o.loadPrivateConfig(v({baseUrl:"https://first.example.com"})),o.loadPrivateConfig(v({baseUrl:"https://second.example.com"}));const r=p(e,".codex","config.toml");t(l(r,"utf-8")).toContain("https://second.example.com/v1");const a=s.restorePrivateConfig("codex");t(a.some(e=>e.result.restored)).toBe(!0),t(l(r,"utf-8")).toContain("https://first.example.com/v1")})}),e("non-Claude tools use their per-tool default model",()=>{let e,d,c,g;const v=()=>({apiKey:"sk-x",baseUrl:"https://gw.example.com",models:{...g}});s(async()=>{e=p(m(),`vibecli-def-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(e,{recursive:!0}),d=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,a.resetModules(),c=await import("../lib/tools/registry.js"),({DEFAULT_MODELS:g}=await import("../lib/config.js"))}),r(()=>{void 0!==d?process.env.VIBECLI_TEST_HOME=d:delete process.env.VIBECLI_TEST_HOME;try{n(e,{recursive:!0,force:!0})}catch{}}),o("codex uses gpt-5.6-sol when models are default",()=>{c.getAdapter("codex").loadPrivateConfig(v());const o=f.parse(l(p(e,".codex","config.toml"),"utf-8"));t(o.model).toBe("gpt-5.6-sol")}),o("atomcode uses gpt-5.5 when models are default",()=>{c.getAdapter("atomcode").loadPrivateConfig(v());const o=f.parse(l(p(e,".atomcode","config.toml"),"utf-8"));t(o.providers.VibeAPI.model).toBe("gpt-5.5")}),o("openclaw uses gpt-5.5 when models are default",()=>{c.getAdapter("openclaw").loadPrivateConfig(v());const o=JSON.parse(l(p(e,".openclaw","openclaw.json"),"utf-8"));t(o.models.providers.vibeapi.models[0].id).toBe("gpt-5.5"),t(o.agents.defaults.model.primary).toBe("vibeapi/gpt-5.5")}),o("hermes uses gpt-5.5 when models are default",()=>{c.getAdapter("hermes").loadPrivateConfig(v());const o=u.load(l(p(e,".hermes","config.yaml"),"utf-8"));t(o.model.default).toBe("gpt-5.5")}),o("honors a custom model over the per-tool default",()=>{c.getAdapter("codex").loadPrivateConfig({apiKey:"sk-x",baseUrl:"https://gw.example.com",models:{...g,opus:"my-custom-model"}});const o=f.parse(l(p(e,".codex","config.toml"),"utf-8"));t(o.model).toBe("my-custom-model")})}),e("flexible model configuration",()=>{let e,l,d;s(async()=>{e=p(m(),`vibecli-models-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(e,{recursive:!0}),l=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,a.resetModules(),d=await import("../lib/config.js")}),r(()=>{void 0!==l?process.env.VIBECLI_TEST_HOME=l:delete process.env.VIBECLI_TEST_HOME;try{n(e,{recursive:!0,force:!0})}catch{}}),o("preserves custom (non-canonical) model slots",()=>{d.configManager.setModels({...g,vision:"vision-model"});const e=d.configManager.getModels();t(e.opus).toBe("o-model"),t(e.vision).toBe("vision-model")}),o("merges per-tool overrides over base models",()=>{d.configManager.setModels(g),d.configManager.setToolModel("codex",{opus:"codex-only-model"}),t(d.configManager.getModelsForTool("codex").opus).toBe("codex-only-model"),t(d.configManager.getModelsForTool("hermes").opus).toBe("o-model"),t(d.configManager.getModels().opus).toBe("o-model")}),o("clears a per-tool override when set to null",()=>{d.configManager.setModels(g),d.configManager.setToolModel("codex",{opus:"x"}),d.configManager.setToolModel("codex",null),t(d.configManager.getModelsForTool("codex").opus).toBe("o-model")})});
1
+ import{describe as e,it as o,expect as t,beforeEach as s,afterEach as r,vi as a}from"vitest";import{mkdirSync as i,rmSync as n,readFileSync as l,writeFileSync as d,readdirSync as c,utimesSync as p}from"fs";import{join as m}from"path";import{tmpdir as u}from"os";import*as f from"js-yaml";import*as g from"@iarna/toml";const v={haiku:"h-model",sonnet:"s-model",opus:"o-model",reasoning:"r-model"},B=(e={})=>({apiKey:"sk-test-123",baseUrl:"https://gateway.example.com",models:v,...e});e("tool adapters",()=>{let c,p,v;s(async()=>{c=m(u(),`vibecli-tools-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(c,{recursive:!0}),p=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=c,a.resetModules(),v=await import("../lib/tools/registry.js")}),r(()=>{void 0!==p?process.env.VIBECLI_TEST_HOME=p:delete process.env.VIBECLI_TEST_HOME;try{n(c,{recursive:!0,force:!0})}catch{}}),o("registry exposes the six expected tools",()=>{t(Object.keys(v.TOOL_ADAPTERS).sort()).toEqual(["atomcode","claude-code","codex","hermes","opencode","openclaw"].sort())}),e("codex",()=>{const e=()=>g.parse(l(m(c,".codex","config.toml"),"utf-8"));o("writes a branded provider, primary model and OPENAI_API_KEY auth",()=>{v.getAdapter("codex").loadPrivateConfig(B());const o=e();t(o.model).toBe("o-model"),t(o.model_provider).toBe("custom"),t(o.model_reasoning_effort).toBe("xhigh"),t(o.model_providers.custom.base_url).toBe("https://gateway.example.com/v1"),t(o.model_providers.custom.name).toBe("custom"),t(o.model_providers.custom.wire_api).toBe("responses"),t(o.model_providers.custom.requires_openai_auth).toBe(!0),t(o.features).toEqual({goals:!0,js_repl:!1}),t(JSON.parse(l(m(c,".codex","auth.json"),"utf-8")).OPENAI_API_KEY).toBe("sk-test-123"),t(v.getAdapter("codex").detectCurrentConfig()).toEqual({apiKey:"sk-test-123"})}),o("preserves foreign providers on load and unload",()=>{const o=v.getAdapter("codex");i(m(c,".codex"),{recursive:!0});const s=g.stringify({model_providers:{other:{base_url:"https://other"}}});d(m(c,".codex","config.toml"),s,"utf-8"),o.loadPrivateConfig(B()),t(e().model_providers.other.base_url).toBe("https://other"),o.unloadPrivateConfig();const r=e();t(r.model_providers.custom).toBeUndefined(),t(r.model_providers.other.base_url).toBe("https://other"),t(r.model_provider).toBeUndefined()})}),e("atomcode",()=>{const e=()=>g.parse(l(m(c,".atomcode","config.toml"),"utf-8"));o("writes an openai provider with key and model",()=>{const o=v.getAdapter("atomcode");o.loadPrivateConfig(B());const s=e();t(s.default_provider).toBe("VibeAPI"),t(s.providers.VibeAPI.type).toBe("openai"),t(s.providers.VibeAPI.api_key).toBe("sk-test-123"),t(s.providers.VibeAPI.model).toBe("o-model"),t(s.providers.VibeAPI.base_url).toBe("https://gateway.example.com/v1"),t(o.detectCurrentConfig()).toEqual({apiKey:"sk-test-123"}),o.unloadPrivateConfig(),t(e().providers?.VibeAPI).toBeUndefined()})}),e("openclaw",()=>{const e=()=>JSON.parse(l(m(c,".openclaw","openclaw.json"),"utf-8"));o("writes provider and agents.defaults.model.primary",()=>{const o=v.getAdapter("openclaw");o.loadPrivateConfig(B());const s=e();t(s.models.providers.vibeapi.apiKey).toBe("sk-test-123"),t(s.models.providers.vibeapi.baseUrl).toBe("https://gateway.example.com/v1"),t(s.models.providers.vibeapi.models[0].id).toBe("o-model"),t(s.agents.defaults.model.primary).toBe("vibeapi/o-model"),t(o.detectCurrentConfig()).toEqual({apiKey:"sk-test-123"}),o.unloadPrivateConfig();const r=e();t(r.models.providers.vibeapi).toBeUndefined(),t(r.agents.defaults.model.primary).toBeUndefined()})}),e("hermes",()=>{const e=()=>l(m(c,".hermes",".env"),"utf-8");o("writes config.yaml model block and .env api key",()=>{const o=v.getAdapter("hermes");o.loadPrivateConfig(B());const s=f.load(l(m(c,".hermes","config.yaml"),"utf-8"));t(s.model.provider).toBe("custom"),t(s.model.base_url).toBe("https://gateway.example.com/v1"),t(s.model.default).toBe("o-model"),t(e()).toContain("VIBEAPI_API_KEY=sk-test-123"),t(o.detectCurrentConfig()).toEqual({apiKey:"sk-test-123"}),o.unloadPrivateConfig(),t(e()).not.toContain("sk-test-123")})}),o("withV1 does not double-append a version suffix",()=>{v.getAdapter("codex").loadPrivateConfig(B({baseUrl:"https://gw.example.com/v1"}));const e=g.parse(l(m(c,".codex","config.toml"),"utf-8"));t(e.model_providers.custom.base_url).toBe("https://gw.example.com/v1")})}),e("config backups before write",()=>{let e,f,v,h;const _=(e,o)=>c(e).filter(e=>e.startsWith(`${o}.bak-`));s(async()=>{e=m(u(),`vibecli-bak-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(e,{recursive:!0}),f=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,a.resetModules(),v=await import("../lib/tools/registry.js"),h=await import("../lib/tools/backup.js")}),r(()=>{void 0!==f?process.env.VIBECLI_TEST_HOME=f:delete process.env.VIBECLI_TEST_HOME;try{n(e,{recursive:!0,force:!0})}catch{}}),o("does not back up on the first write (no original file)",()=>{v.getAdapter("codex").loadPrivateConfig(B()),t(_(m(e,".codex"),"config.toml")).toHaveLength(0)}),o("snapshots the original before overwriting on a second load",()=>{const o=v.getAdapter("codex");o.loadPrivateConfig(B({baseUrl:"https://first.example.com"})),o.loadPrivateConfig(B({baseUrl:"https://second.example.com"}));const s=m(e,".codex"),r=_(s,"config.toml");t(r).toHaveLength(1);const a=g.parse(l(m(s,r[0]),"utf-8"));t(a.model_providers.custom.base_url).toBe("https://first.example.com/v1")}),o("keeps at most 10 backups per file",()=>{const o=m(e,"sample.json");d(o,"v0","utf-8");for(let e=1;e<=15;e++)h.backupBeforeWrite(o),d(o,`v${e}`,"utf-8");t(_(e,"sample.json").length).toBe(h.MAX_TOOL_BACKUPS)}),o("restoreBackup brings back the latest snapshot and snapshots current first (undoable)",()=>{const o=m(e,"cfg.json");d(o,"v1","utf-8"),h.backupBeforeWrite(o),d(o,"v2","utf-8"),h.backupBeforeWrite(o),d(o,"v3","utf-8");const s=c(e).filter(e=>e.startsWith("cfg.json.bak-")).map(o=>m(e,o)),r=s.find(e=>"v1"===l(e,"utf-8")),a=s.find(e=>"v2"===l(e,"utf-8"));p(r,new Date(Date.now()+6e4),new Date(Date.now()+6e4)),p(a,new Date(Date.now()-6e4),new Date(Date.now()-6e4));const i=h.restoreBackup(o);t(i.restored).toBe(!0),t(l(o,"utf-8")).toBe("v2"),t(i.snapshot).toBeTruthy();const n=h.restoreBackup(o);t(n.restored).toBe(!0),t(l(o,"utf-8")).toBe("v3")}),o("atomicWriteFile creates the dir, writes, and leaves no temp file",()=>{const o=m(e,"nested","deep","out.json");h.atomicWriteFile(o,'{"ok":true}'),t(l(o,"utf-8")).toBe('{"ok":true}');const s=c(m(e,"nested","deep")).filter(e=>e.includes(".tmp-"));t(s).toEqual([])}),o("restoreBackup reports no_backup when there are none",()=>{const o=m(e,"fresh.json");d(o,"only","utf-8");const s=h.restoreBackup(o);t(s.restored).toBe(!1),t(s.reason).toBe("no_backup")}),o("ToolManager.restorePrivateConfig restores a tool config in place",async()=>{const o=v.getAdapter("codex"),{toolManager:s}=await import("../lib/tool-manager.js");o.loadPrivateConfig(B({baseUrl:"https://first.example.com"})),o.loadPrivateConfig(B({baseUrl:"https://second.example.com"}));const r=m(e,".codex","config.toml");t(l(r,"utf-8")).toContain("https://second.example.com/v1");const a=s.restorePrivateConfig("codex");t(a.some(e=>e.result.restored)).toBe(!0),t(l(r,"utf-8")).toContain("https://first.example.com/v1")})}),e("non-Claude tools use their per-tool default model",()=>{let e,d,c,p;const v=()=>({apiKey:"sk-x",baseUrl:"https://gw.example.com",models:{...p}});s(async()=>{e=m(u(),`vibecli-def-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(e,{recursive:!0}),d=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,a.resetModules(),c=await import("../lib/tools/registry.js"),({DEFAULT_MODELS:p}=await import("../lib/config.js"))}),r(()=>{void 0!==d?process.env.VIBECLI_TEST_HOME=d:delete process.env.VIBECLI_TEST_HOME;try{n(e,{recursive:!0,force:!0})}catch{}}),o("codex uses gpt-5.6-sol when models are default",()=>{c.getAdapter("codex").loadPrivateConfig(v());const o=g.parse(l(m(e,".codex","config.toml"),"utf-8"));t(o.model).toBe("gpt-5.6-sol")}),o("codex rejects a customized Claude opus model and keeps its own default",()=>{c.getAdapter("codex").loadPrivateConfig({...v(),models:{...p,opus:"claude-opus-future[1m]"}});const o=g.parse(l(m(e,".codex","config.toml"),"utf-8"));t(o.model).toBe("gpt-5.6-sol"),t(o.profiles["gpt-5.6-sol"].model).toBe("gpt-5.6-sol"),t(o.profiles).not.toHaveProperty("claude-opus-future[1m]")}),o("atomcode uses gpt-5.5 when models are default",()=>{c.getAdapter("atomcode").loadPrivateConfig(v());const o=g.parse(l(m(e,".atomcode","config.toml"),"utf-8"));t(o.providers.VibeAPI.model).toBe("gpt-5.5")}),o("openclaw uses gpt-5.5 when models are default",()=>{c.getAdapter("openclaw").loadPrivateConfig(v());const o=JSON.parse(l(m(e,".openclaw","openclaw.json"),"utf-8"));t(o.models.providers.vibeapi.models[0].id).toBe("gpt-5.5"),t(o.agents.defaults.model.primary).toBe("vibeapi/gpt-5.5")}),o("hermes uses gpt-5.5 when models are default",()=>{c.getAdapter("hermes").loadPrivateConfig(v());const o=f.load(l(m(e,".hermes","config.yaml"),"utf-8"));t(o.model.default).toBe("gpt-5.5")}),o("honors a custom model over the per-tool default",()=>{c.getAdapter("codex").loadPrivateConfig({apiKey:"sk-x",baseUrl:"https://gw.example.com",models:{...p,opus:"my-custom-model"}});const o=g.parse(l(m(e,".codex","config.toml"),"utf-8"));t(o.model).toBe("my-custom-model")})}),e("flexible model configuration",()=>{let e,l,d;s(async()=>{e=m(u(),`vibecli-models-${Date.now()}-${Math.random().toString(36).slice(2)}`),i(e,{recursive:!0}),l=process.env.VIBECLI_TEST_HOME,process.env.VIBECLI_TEST_HOME=e,a.resetModules(),d=await import("../lib/config.js")}),r(()=>{void 0!==l?process.env.VIBECLI_TEST_HOME=l:delete process.env.VIBECLI_TEST_HOME;try{n(e,{recursive:!0,force:!0})}catch{}}),o("preserves custom (non-canonical) model slots",()=>{d.configManager.setModels({...v,vision:"vision-model"});const e=d.configManager.getModels();t(e.opus).toBe("o-model"),t(e.vision).toBe("vision-model")}),o("merges per-tool overrides over base models",()=>{d.configManager.setModels(v),d.configManager.setToolModel("codex",{opus:"codex-only-model"}),t(d.configManager.getModelsForTool("codex").opus).toBe("codex-only-model"),t(d.configManager.getModelsForTool("hermes").opus).toBe("o-model"),t(d.configManager.getModels().opus).toBe("o-model")}),o("clears a per-tool override when set to null",()=>{d.configManager.setModels(v),d.configManager.setToolModel("codex",{opus:"x"}),d.configManager.setToolModel("codex",null),t(d.configManager.getModelsForTool("codex").opus).toBe("o-model")})});
@@ -1 +1 @@
1
- {"version":3,"file":"tool-adapters.test.js","sourceRoot":"","sources":["../../src/__tests__/tool-adapters.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-adapters.test.js","sourceRoot":"","sources":["../../src/__tests__/tool-adapters.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * vibecli setup --claudekey sk-a --codexkey sk-b
9
9
  * 双令牌各配各的(如 Claude 分组 + GPT 分组),各自校验 + 能力核对,
10
- * 加密存为该工具的专属 Key。只给其中一个旗标就只配对应工具。
10
+ * 明文存入 config.yaml 的工具专属 Key。只给其中一个旗标就只配对应工具。
11
11
  *
12
12
  * 重复执行即换令牌(幂等)。模型一律用默认组合,之后可在向导 / tool-model 里改。
13
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export interface VibecliModels {
11
11
  }
12
12
  export interface VibecliProfile {
13
13
  api_key?: string;
14
+ /** Per-tool credentials used by setup --claudekey/--codexkey. */
15
+ tool_api_keys?: Record<string, string>;
14
16
  base_url?: string;
15
17
  models?: VibecliModels;
16
18
  /** Per-tool model overrides, merged over `models` when configuring that tool. */
@@ -27,6 +29,7 @@ export interface ConfigBackupInfo {
27
29
  }
28
30
  export interface VibecliConfig {
29
31
  lang: string;
32
+ credential_store?: 'plaintext';
30
33
  active_profile?: string;
31
34
  profiles?: Record<string, VibecliProfile>;
32
35
  presets?: Record<string, VibecliPreset>;
@@ -53,6 +56,7 @@ export declare class ConfigManager {
53
56
  private createDefaultConfig;
54
57
  private normalizeModels;
55
58
  private normalizeToolModels;
59
+ private normalizeStringRecord;
56
60
  private normalizeProfile;
57
61
  private normalizeProfiles;
58
62
  private normalizePresets;
@@ -60,22 +64,19 @@ export declare class ConfigManager {
60
64
  private syncLegacyFields;
61
65
  private sanitizeBackupLabel;
62
66
  private getBackupDir;
63
- private getSecretsPath;
67
+ private getLegacySecretsPath;
64
68
  private getSecretsBackupPath;
65
- private snapshotSecrets;
66
- private restoreSecretsSnapshot;
67
69
  static getInstance(): ConfigManager;
68
70
  private ensureConfigDir;
69
71
  private loadConfig;
70
- private hasInlineSecrets;
71
72
  private needsMigration;
72
73
  private migrateOldConfig;
73
74
  private atomicWrite;
74
75
  private backupConfig;
75
76
  private rotateBackups;
76
77
  saveConfig(config?: VibecliConfig): void;
77
- private extractSecretsForPersistence;
78
- private hydrateSecretsFromStore;
78
+ private prepareForPersistence;
79
+ private mergeLegacySecrets;
79
80
  getConfig(): VibecliConfig;
80
81
  updateConfig(updates: Partial<VibecliConfig>): void;
81
82
  isFirstRun(): boolean;
@@ -1 +1 @@
1
- import{existsSync as e,mkdirSync as t,readFileSync as i,writeFileSync as o,renameSync as r,unlinkSync as s,readdirSync as n,rmdirSync as a,statSync as c,copyFileSync as l}from"fs";import{join as f,dirname as g}from"path";import{homedir as h}from"os";import*as p from"js-yaml";import{logger as m}from"../utils/logger.js";import{getDefaultModels as u}from"./model-registry.js";import{secretStore as d}from"./secret-store.js";import{i18n as y}from"./i18n.js";export const DEFAULT_BASE_URL="https://www.vibeapi.cn";export const DEFAULT_MODELS=u();export const DEFAULT_PROFILE_NAME="default";export class ConfigManager{static instance;configDir;configPath;config;runtimeBaseUrl;constructor(){this.configDir=this.resolveConfigDir(),this.migrateLegacyConfigDir(),this.configPath=f(this.configDir,"config.yaml"),this.config=this.loadConfig()}migrateLegacyConfigDir(){try{const t=f(g(this.configDir),".chelper");if(t===this.configDir||!e(t))return;if(["config.yaml","secrets.enc"].some(t=>e(f(this.configDir,t))))return;if(e(this.configDir)){for(const i of n(t)){const o=f(this.configDir,i);e(o)||r(f(t,i),o)}0===n(t).length&&a(t)}else r(t,this.configDir);m.info(`Migrated config dir: ${t} -> ${this.configDir}`)}catch(e){m.warn("Failed to migrate legacy .chelper config dir:",e)}}resolveConfigDir(){const e=process.env.VIBECLI_CONFIG_DIR;if(e&&e.trim())return e.trim();const t=process.env.VIBECLI_TEST_HOME;return t&&t.trim()?f(t.trim(),".vibecli"):f(h(),".vibecli")}createDefaultConfig(){return this.syncLegacyFields({lang:"en_US",active_profile:"default",profiles:{[DEFAULT_PROFILE_NAME]:{}},presets:{}})}normalizeModels(e){const t={haiku:e?.haiku?.trim()||DEFAULT_MODELS.haiku,sonnet:e?.sonnet?.trim()||DEFAULT_MODELS.sonnet,opus:e?.opus?.trim()||DEFAULT_MODELS.opus,reasoning:e?.reasoning?.trim()||DEFAULT_MODELS.reasoning};if(e&&"object"==typeof e)for(const[i,o]of Object.entries(e))i in t||"string"==typeof o&&o.trim()&&(t[i]=o.trim());return t}normalizeToolModels(e){if(!e||"object"!=typeof e)return{};const t=Object.entries(e).flatMap(([e,t])=>{if(!e||"string"!=typeof e||!t||"object"!=typeof t)return[];const i={};for(const[e,o]of Object.entries(t))"string"==typeof o&&o.trim()&&(i[e]=o.trim());return Object.keys(i).length>0?[[e,i]]:[]});return Object.fromEntries(t)}normalizeProfile(e){if(!e)return{};const t=this.normalizeToolModels(e.tool_models);return{..."string"==typeof e.api_key&&e.api_key?{api_key:e.api_key}:{},..."string"==typeof e.base_url&&e.base_url?{base_url:e.base_url}:{},...e.models?{models:this.normalizeModels(e.models)}:{},...Object.keys(t).length>0?{tool_models:t}:{}}}normalizeProfiles(e){if(!e||"object"!=typeof e)return{};const t=Object.entries(e).flatMap(([e,t])=>e&&"string"==typeof e&&t&&"object"==typeof t?[[e,this.normalizeProfile(t)]]:[]);return Object.fromEntries(t)}normalizePresets(e){if(!e||"object"!=typeof e)return{};const t=Object.entries(e).flatMap(([e,t])=>{if(!e||"string"!=typeof e||!t||"object"!=typeof t)return[];const i=t;return i.models?[[e,{models:this.normalizeModels(i.models),updated_at:i.updated_at||new Date(0).toISOString()}]]:[]});return Object.fromEntries(t)}getResolvedActiveProfile(e){const t=e.active_profile||"default";return e.profiles?.[t]||{}}syncLegacyFields(e){const t=this.normalizeProfiles(e.profiles),i=e.active_profile?.trim()||Object.keys(t)[0]||"default",o=t[i]?t:{...t,[i]:{}},r=this.getResolvedActiveProfile({...e,profiles:o,active_profile:i});return{...e,lang:e.lang||"en_US",active_profile:i,profiles:o,presets:this.normalizePresets(e.presets),api_key:r.api_key,base_url:r.base_url,models:r.models?this.normalizeModels(r.models):DEFAULT_MODELS}}sanitizeBackupLabel(e){return(e||"").trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)}getBackupDir(){return f(this.configDir,"backups")}getSecretsPath(){return f(this.configDir,"secrets.enc")}getSecretsBackupPath(e){return e.replace(/\.yaml$/,".secrets.enc")}snapshotSecrets(t){const i=this.getSecretsPath();if(e(i))try{l(i,this.getSecretsBackupPath(t))}catch(e){m.logError("ConfigManager.snapshotSecrets",e)}}restoreSecretsSnapshot(t){const i=this.getSecretsBackupPath(t);if(e(i))try{l(i,this.getSecretsPath())}catch(e){m.logError("ConfigManager.restoreSecretsSnapshot",e)}}static getInstance(){return ConfigManager.instance||(ConfigManager.instance=new ConfigManager),ConfigManager.instance}ensureConfigDir(){e(this.configDir)||t(this.configDir,{recursive:!0})}loadConfig(){try{if(e(this.configPath)){const e=i(this.configPath,"utf-8"),t=p.load(e),o=this.migrateOldConfig(t||{lang:"en_US"}),r=this.hydrateSecretsFromStore(o);return(this.needsMigration(t)||this.hasInlineSecrets(t))&&(this.backupConfig(),this.atomicWrite(this.configPath,p.dump(this.extractSecretsForPersistence(r)))),r}}catch(e){m.warn("Failed to load config, using defaults:",e),m.logError("ConfigManager.loadConfig",e)}return this.createDefaultConfig()}hasInlineSecrets(e){if(!e||"object"!=typeof e)return!1;const t=e;if("string"==typeof t.api_key&&t.api_key)return!0;if(t.profiles&&"object"==typeof t.profiles)for(const e of Object.values(t.profiles))if(e&&"object"==typeof e&&"string"==typeof e.api_key&&e.api_key)return!0;return!1}needsMigration(e){return!(!e||"object"!=typeof e)&&("plan"in e||!("profiles"in e)||!("active_profile"in e)||!("presets"in e))}migrateOldConfig(e){if(!e||"object"!=typeof e)return this.createDefaultConfig();const t=e,{plan:i,...o}=t,r=this.normalizeProfiles(o.profiles),s=this.normalizeProfile({api_key:"string"==typeof o.api_key?o.api_key:void 0,base_url:"string"==typeof o.base_url?o.base_url:void 0,models:o.models}),n=Object.keys(r).length>0?r:{[DEFAULT_PROFILE_NAME]:s},a="string"==typeof o.active_profile&&o.active_profile.trim()?o.active_profile.trim():Object.keys(n)[0]||"default";return this.syncLegacyFields({lang:"string"==typeof o.lang&&o.lang?o.lang:"en_US",active_profile:a,profiles:n,presets:this.normalizePresets(o.presets)})}atomicWrite(t,i){const n=`${t}.tmp`;try{o(n,i,"utf-8"),r(n,t)}catch(t){if(e(n))try{s(n)}catch{}throw t}}backupConfig(){if(!e(this.configPath))return;const r=this.getBackupDir();e(r)||t(r,{recursive:!0});const s=(new Date).toISOString().replace(/[:.]/g,"-"),n=f(r,`config-${s}.yaml`);try{const e=i(this.configPath,"utf-8");o(n,e,"utf-8"),this.snapshotSecrets(n),this.rotateBackups(r,10,30)}catch(e){m.logError("ConfigManager.backupConfig",e)}}rotateBackups(t,i,o){try{const r=Date.now()-24*o*60*60*1e3,a=n(t).filter(e=>e.startsWith("config-")&&e.endsWith(".yaml")).map(e=>({name:e,path:f(t,e),mtime:c(f(t,e)).mtime})).sort((e,t)=>t.mtime.getTime()-e.mtime.getTime()),l=new Set;a.slice(i).forEach(e=>l.add(e.path)),a.forEach(e=>{e.mtime.getTime()<r&&l.add(e.path)});for(const t of l){let i=!1;try{s(t),i=!0}catch(e){m.logError("ConfigManager.rotateBackups",e)}if(i){const i=this.getSecretsBackupPath(t);if(e(i))try{s(i)}catch(e){m.logError("ConfigManager.rotateBackups.secrets",e)}}}}catch(e){m.logError("ConfigManager.rotateBackups",e)}}saveConfig(e){try{this.ensureConfigDir(),this.backupConfig();const t=this.syncLegacyFields(this.migrateOldConfig(e||this.config)),i=this.extractSecretsForPersistence(t),o=p.dump(i);this.atomicWrite(this.configPath,o),this.config=t}catch(e){throw m.error("Failed to save config:",e),m.logError("ConfigManager.saveConfig",e),e}}extractSecretsForPersistence(e){const t={...e.profiles||{}},i=[];for(const[e,o]of Object.entries(t))o?.api_key&&(d.setApiKey(e,o.api_key),i.push(e));for(const e of i){const{api_key:i,...o}=t[e];t[e]=o}const o={...e,profiles:t};return delete o.api_key,o}hydrateSecretsFromStore(e){const t={...e.profiles||{}};for(const[e,i]of Object.entries(t)){if(i?.api_key)continue;const o=d.getApiKey(e);o&&(t[e]={...i,api_key:o})}return{...e,profiles:t}}getConfig(){return this.syncLegacyFields({...this.config})}updateConfig(e){this.saveConfig({...this.config,...e})}isFirstRun(){return!e(this.configPath)}getLang(){return this.config.lang||"en_US"}setLang(e){this.updateConfig({lang:e})}getActiveProfileName(){return this.config.active_profile||"default"}listProfiles(){return Object.keys(this.config.profiles||{}).sort()}getProfile(e=this.getActiveProfileName()){const t=this.config.profiles?.[e]||{};return{...t.api_key?{api_key:t.api_key}:{},...t.base_url?{base_url:t.base_url}:{},models:t.models?this.normalizeModels(t.models):DEFAULT_MODELS,...t.tool_models&&Object.keys(t.tool_models).length>0?{tool_models:this.normalizeToolModels(t.tool_models)}:{}}}createProfile(e,t=this.getActiveProfileName()){const i=this.getProfile(t),o={...this.config.profiles||{},[e]:{...i.api_key?{api_key:i.api_key}:{},...i.base_url?{base_url:i.base_url}:{},models:this.normalizeModels(i.models)}};this.saveConfig({...this.config,profiles:o})}setActiveProfile(e){if(!this.config.profiles?.[e])throw new Error(`Profile not found: ${e}`);this.saveConfig({...this.config,active_profile:e})}updateProfile(e,t){const i=this.config.profiles?.[e]||{},o=t.models?this.normalizeModels({...i.models,...t.models}):i.models?this.normalizeModels(i.models):void 0,r={...i,...void 0!==t.api_key?{api_key:t.api_key}:{},...void 0!==t.base_url?{base_url:t.base_url}:{},...o?{models:o}:{}},s={...this.config.profiles||{},[e]:r};this.saveConfig({...this.config,profiles:s})}deleteProfile(e){const t={...this.config.profiles||{}};if(!t[e])return;const i=Object.keys(t).filter(t=>t!==e);if(0===i.length)throw new Error("At least one profile must remain");delete t[e];const o=this.getActiveProfileName()===e?i[0]:this.getActiveProfileName();this.saveConfig({...this.config,profiles:t,active_profile:o})}getApiKey(){return this.config.profiles?.[this.getActiveProfileName()]?.api_key}setApiKey(e){this.updateProfile(this.getActiveProfileName(),{api_key:e})}revokeApiKey(){const e=this.config.profiles?.[this.getActiveProfileName()]||{},{api_key:t,...i}=e,o={...this.config.profiles||{},[this.getActiveProfileName()]:i};try{d.deleteApiKey(this.getActiveProfileName()),d.deleteToolApiKeys(this.getActiveProfileName())}catch(e){m.logError("ConfigManager.revokeApiKey",e);try{d.deleteAll()}catch(e){m.logError("ConfigManager.revokeApiKey.deleteAll",e)}}this.saveConfig({...this.config,profiles:o})}getApiKeyFingerprint(){try{return d.fingerprint(this.getActiveProfileName())}catch{return""}}getApiKeyForTool(e){try{const t=d.getToolApiKey(this.getActiveProfileName(),e);if(t)return t}catch{}return this.getApiKey()||void 0}setToolApiKey(e,t){d.setToolApiKey(this.getActiveProfileName(),e,t)}clearToolApiKey(e){d.deleteToolApiKey(this.getActiveProfileName(),e)}listToolApiKeys(){try{return d.listToolsWithKeys(this.getActiveProfileName())}catch{return[]}}getToolApiKeyFingerprint(e){try{return d.toolFingerprint(this.getActiveProfileName(),e)}catch{return""}}getModels(){const e=this.config.profiles?.[this.getActiveProfileName()]?.models;return e?this.normalizeModels(e):DEFAULT_MODELS}setModels(e){this.updateProfile(this.getActiveProfileName(),{models:this.normalizeModels(e)})}updateModels(e){this.setModels(this.normalizeModels({...this.getModels(),...e}))}getModelsForTool(e){const t=this.getModels(),i=this.config.profiles?.[this.getActiveProfileName()]?.tool_models?.[e];return i?this.normalizeModels({...t,...i}):t}setToolModel(e,t){const i=this.getActiveProfileName(),o=this.config.profiles?.[i]||{},r={...o.tool_models||{}};t&&0!==Object.keys(t).length?r[e]=t:delete r[e];const s={...o};Object.keys(r).length>0?s.tool_models=r:delete s.tool_models;const n={...this.config.profiles||{},[i]:s};this.saveConfig({...this.config,profiles:n})}getCustomPresets(){return{...this.config.presets||{}}}saveCustomPreset(e,t){const i={...this.config.presets||{},[e]:{models:this.normalizeModels(t),updated_at:(new Date).toISOString()}};this.saveConfig({...this.config,presets:i})}deleteCustomPreset(e){const t={...this.config.presets||{}};t[e]&&(delete t[e],this.saveConfig({...this.config,presets:t}))}listBackups(){const t=this.getBackupDir();return e(t)?n(t).filter(e=>e.startsWith("config-")&&e.endsWith(".yaml")).map(e=>{const i=f(t,e);return{name:e,path:i,mtimeMs:c(i).mtimeMs}}).sort((e,t)=>t.mtimeMs-e.mtimeMs):[]}createBackup(r){this.ensureConfigDir();const s=this.getBackupDir();e(s)||t(s,{recursive:!0});const n=(new Date).toISOString().replace(/[:.]/g,"-"),a=this.sanitizeBackupLabel(r),c=f(s,a?`config-${n}-${a}.yaml`:`config-${n}.yaml`),l=e(this.configPath)?i(this.configPath,"utf-8"):p.dump(this.getConfig());return o(c,l,"utf-8"),this.snapshotSecrets(c),this.rotateBackups(s,10,30),c}restoreBackup(t){if(!t||"."===t||".."===t||/[/\\]|\.\./.test(t))throw new Error(`Invalid backup name: ${t}`);const o=this.getBackupDir(),r=f(o,t);if(!e(r))throw new Error(`Backup not found: ${t}`);const s=i(r,"utf-8"),n=p.load(s),a=this.getSecretsBackupPath(r),c=e(a),l=this.hasInlineSecrets(n);if(!c&&!l)throw new Error(y.t("config.backup_companion_missing",{path:a}));c&&this.restoreSecretsSnapshot(r);const g=this.migrateOldConfig(n||this.createDefaultConfig()),h=c?this.hydrateSecretsFromStore(g):g;this.saveConfig(h)}getBaseUrl(){return this.runtimeBaseUrl||this.config.profiles?.[this.getActiveProfileName()]?.base_url||DEFAULT_BASE_URL}setBaseUrl(e,t=!1){this.runtimeBaseUrl=e,t&&this.updateProfile(this.getActiveProfileName(),{base_url:e})}resetBaseUrl(){this.runtimeBaseUrl=void 0;const e=this.config.profiles?.[this.getActiveProfileName()]||{},{base_url:t,...i}=e,o={...this.config.profiles||{},[this.getActiveProfileName()]:i};this.saveConfig({...this.config,profiles:o})}}export const configManager=ConfigManager.getInstance();
1
+ import{existsSync as e,mkdirSync as t,readFileSync as i,writeFileSync as o,renameSync as s,unlinkSync as r,readdirSync as n,rmdirSync as a,statSync as c,chmodSync as l}from"fs";import{join as f,dirname as g}from"path";import{homedir as h}from"os";import{createHash as p}from"crypto";import*as m from"js-yaml";import{logger as u}from"../utils/logger.js";import{getDefaultModels as d}from"./model-registry.js";import{readLegacySecretsFile as y}from"./secret-store.js";export const DEFAULT_BASE_URL="https://www.vibeapi.cn";export const DEFAULT_MODELS=d();export const DEFAULT_PROFILE_NAME="default";const _="plaintext";export class ConfigManager{static instance;configDir;configPath;config;runtimeBaseUrl;constructor(){this.configDir=this.resolveConfigDir(),this.migrateLegacyConfigDir(),this.configPath=f(this.configDir,"config.yaml"),this.config=this.loadConfig()}migrateLegacyConfigDir(){try{const t=f(g(this.configDir),".chelper");if(t===this.configDir||!e(t))return;if(["config.yaml","secrets.enc"].some(t=>e(f(this.configDir,t))))return;if(e(this.configDir)){for(const i of n(t)){const o=f(this.configDir,i);e(o)||s(f(t,i),o)}0===n(t).length&&a(t)}else s(t,this.configDir);u.info(`Migrated config dir: ${t} -> ${this.configDir}`)}catch(e){u.warn("Failed to migrate legacy .chelper config dir:",e)}}resolveConfigDir(){const e=process.env.VIBECLI_CONFIG_DIR;if(e&&e.trim())return e.trim();const t=process.env.VIBECLI_TEST_HOME;return t&&t.trim()?f(t.trim(),".vibecli"):f(h(),".vibecli")}createDefaultConfig(){return this.syncLegacyFields({lang:"en_US",active_profile:"default",profiles:{[DEFAULT_PROFILE_NAME]:{}},presets:{}})}normalizeModels(e){const t={haiku:e?.haiku?.trim()||DEFAULT_MODELS.haiku,sonnet:e?.sonnet?.trim()||DEFAULT_MODELS.sonnet,opus:e?.opus?.trim()||DEFAULT_MODELS.opus,reasoning:e?.reasoning?.trim()||DEFAULT_MODELS.reasoning};if(e&&"object"==typeof e)for(const[i,o]of Object.entries(e))i in t||"string"==typeof o&&o.trim()&&(t[i]=o.trim());return t}normalizeToolModels(e){if(!e||"object"!=typeof e)return{};const t=Object.entries(e).flatMap(([e,t])=>{if(!e||"string"!=typeof e||!t||"object"!=typeof t)return[];const i={};for(const[e,o]of Object.entries(t))"string"==typeof o&&o.trim()&&(i[e]=o.trim());return Object.keys(i).length>0?[[e,i]]:[]});return Object.fromEntries(t)}normalizeStringRecord(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>"string"==typeof e[1]&&Boolean(e[1].trim())).map(([e,t])=>[e,t.trim()]))}normalizeProfile(e){if(!e)return{};const t=this.normalizeToolModels(e.tool_models),i=this.normalizeStringRecord(e.tool_api_keys);return{..."string"==typeof e.api_key&&e.api_key?{api_key:e.api_key}:{},...Object.keys(i).length>0?{tool_api_keys:i}:{},..."string"==typeof e.base_url&&e.base_url?{base_url:e.base_url}:{},...e.models?{models:this.normalizeModels(e.models)}:{},...Object.keys(t).length>0?{tool_models:t}:{}}}normalizeProfiles(e){if(!e||"object"!=typeof e)return{};const t=Object.entries(e).flatMap(([e,t])=>e&&"string"==typeof e&&t&&"object"==typeof t?[[e,this.normalizeProfile(t)]]:[]);return Object.fromEntries(t)}normalizePresets(e){if(!e||"object"!=typeof e)return{};const t=Object.entries(e).flatMap(([e,t])=>{if(!e||"string"!=typeof e||!t||"object"!=typeof t)return[];const i=t;return i.models?[[e,{models:this.normalizeModels(i.models),updated_at:i.updated_at||new Date(0).toISOString()}]]:[]});return Object.fromEntries(t)}getResolvedActiveProfile(e){const t=e.active_profile||"default";return e.profiles?.[t]||{}}syncLegacyFields(e){const t=this.normalizeProfiles(e.profiles),i=e.active_profile?.trim()||Object.keys(t)[0]||"default",o=t[i]?t:{...t,[i]:{}},s=this.getResolvedActiveProfile({...e,profiles:o,active_profile:i});return{...e,lang:e.lang||"en_US",active_profile:i,profiles:o,presets:this.normalizePresets(e.presets),api_key:s.api_key,base_url:s.base_url,models:s.models?this.normalizeModels(s.models):DEFAULT_MODELS}}sanitizeBackupLabel(e){return(e||"").trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)}getBackupDir(){return f(this.configDir,"backups")}getLegacySecretsPath(){return f(this.configDir,"secrets.enc")}getSecretsBackupPath(e){return e.replace(/\.yaml$/,".secrets.enc")}static getInstance(){return ConfigManager.instance||(ConfigManager.instance=new ConfigManager),ConfigManager.instance}ensureConfigDir(){e(this.configDir)||t(this.configDir,{recursive:!0})}loadConfig(){try{if(e(this.configPath)){const t=i(this.configPath,"utf-8"),o=m.load(t);let s=this.migrateOldConfig(o||{lang:"en_US"}),n=!1;const a=this.getLegacySecretsPath();if(e(a)&&o?.credential_store!==_)try{s=this.mergeLegacySecrets(s,y(a)),n=!0}catch(e){u.warn("Legacy secrets.enc is unreadable on this host; it was kept for recovery and will not block new credentials."),u.logError("ConfigManager.migrateLegacySecrets",e)}if((this.needsMigration(o)||n)&&(this.backupConfig(),this.atomicWrite(this.configPath,m.dump(this.prepareForPersistence(s))),n))try{r(a)}catch(e){u.logError("ConfigManager.removeLegacySecrets",e)}try{l(this.configPath,384)}catch{}return s}const t=this.getLegacySecretsPath();if(e(t))try{const e=this.mergeLegacySecrets(this.createDefaultConfig(),y(t));this.ensureConfigDir(),this.atomicWrite(this.configPath,m.dump(this.prepareForPersistence(e)));try{r(t)}catch(e){u.logError("ConfigManager.removeLegacySecrets",e)}return e}catch(e){u.warn("Legacy secrets.enc is unreadable on this host; it was kept for recovery and will not block new credentials."),u.logError("ConfigManager.migrateLegacySecretsWithoutConfig",e)}}catch(e){u.warn("Failed to load config, using defaults:",e),u.logError("ConfigManager.loadConfig",e)}return this.createDefaultConfig()}needsMigration(e){return!(!e||"object"!=typeof e)&&("plan"in e||!("profiles"in e)||!("active_profile"in e)||!("presets"in e))}migrateOldConfig(e){if(!e||"object"!=typeof e)return this.createDefaultConfig();const t=e,{plan:i,...o}=t,s=this.normalizeProfiles(o.profiles),r=this.normalizeProfile({api_key:"string"==typeof o.api_key?o.api_key:void 0,base_url:"string"==typeof o.base_url?o.base_url:void 0,models:o.models}),n=Object.keys(s).length>0?s:{[DEFAULT_PROFILE_NAME]:r},a="string"==typeof o.active_profile&&o.active_profile.trim()?o.active_profile.trim():Object.keys(n)[0]||"default";return this.syncLegacyFields({lang:"string"==typeof o.lang&&o.lang?o.lang:"en_US",...o.credential_store===_?{credential_store:_}:{},active_profile:a,profiles:n,presets:this.normalizePresets(o.presets)})}atomicWrite(t,i){const n=`${t}.tmp`;try{o(n,i,{encoding:"utf-8",mode:384}),s(n,t);try{l(t,384)}catch{}}catch(t){if(e(n))try{r(n)}catch{}throw t}}backupConfig(){if(!e(this.configPath))return;const s=this.getBackupDir();e(s)||t(s,{recursive:!0});const r=(new Date).toISOString().replace(/[:.]/g,"-"),n=f(s,`config-${r}.yaml`);try{const e=i(this.configPath,"utf-8");o(n,e,{encoding:"utf-8",mode:384}),this.rotateBackups(s,10,30)}catch(e){u.logError("ConfigManager.backupConfig",e)}}rotateBackups(t,i,o){try{const s=Date.now()-24*o*60*60*1e3,a=n(t).filter(e=>e.startsWith("config-")&&e.endsWith(".yaml")).map(e=>({name:e,path:f(t,e),mtime:c(f(t,e)).mtime})).sort((e,t)=>t.mtime.getTime()-e.mtime.getTime()),l=new Set;a.slice(i).forEach(e=>l.add(e.path)),a.forEach(e=>{e.mtime.getTime()<s&&l.add(e.path)});for(const t of l){let i=!1;try{r(t),i=!0}catch(e){u.logError("ConfigManager.rotateBackups",e)}if(i){const i=this.getSecretsBackupPath(t);if(e(i))try{r(i)}catch(e){u.logError("ConfigManager.rotateBackups.secrets",e)}}}}catch(e){u.logError("ConfigManager.rotateBackups",e)}}saveConfig(e){try{this.ensureConfigDir(),this.backupConfig();const t=this.syncLegacyFields(this.migrateOldConfig(e||this.config)),i=this.prepareForPersistence(t),o=m.dump(i);this.atomicWrite(this.configPath,o),this.config=t}catch(e){throw u.error("Failed to save config:",e),u.logError("ConfigManager.saveConfig",e),e}}prepareForPersistence(e){const t={...e,credential_store:_};return delete t.api_key,delete t.base_url,delete t.models,t}mergeLegacySecrets(e,t){const i={...e.profiles||{}},o=new Set([...Object.keys(t.api_keys||{}),...Object.keys(t.tool_api_keys||{})]);for(const e of o){const o=i[e]||{},s=o.api_key||t.api_keys?.[e],r={...t.tool_api_keys?.[e]||{},...o.tool_api_keys||{}};i[e]={...o,...s?{api_key:s}:{},...Object.keys(r).length>0?{tool_api_keys:r}:{}}}return this.syncLegacyFields({...e,profiles:i})}getConfig(){return this.syncLegacyFields({...this.config})}updateConfig(e){this.saveConfig({...this.config,...e})}isFirstRun(){return!e(this.configPath)}getLang(){return this.config.lang||"en_US"}setLang(e){this.updateConfig({lang:e})}getActiveProfileName(){return this.config.active_profile||"default"}listProfiles(){return Object.keys(this.config.profiles||{}).sort()}getProfile(e=this.getActiveProfileName()){const t=this.config.profiles?.[e]||{};return{...t.api_key?{api_key:t.api_key}:{},...t.tool_api_keys&&Object.keys(t.tool_api_keys).length>0?{tool_api_keys:this.normalizeStringRecord(t.tool_api_keys)}:{},...t.base_url?{base_url:t.base_url}:{},models:t.models?this.normalizeModels(t.models):DEFAULT_MODELS,...t.tool_models&&Object.keys(t.tool_models).length>0?{tool_models:this.normalizeToolModels(t.tool_models)}:{}}}createProfile(e,t=this.getActiveProfileName()){const i=this.getProfile(t),o={...this.config.profiles||{},[e]:{...i.api_key?{api_key:i.api_key}:{},...i.base_url?{base_url:i.base_url}:{},models:this.normalizeModels(i.models)}};this.saveConfig({...this.config,profiles:o})}setActiveProfile(e){if(!this.config.profiles?.[e])throw new Error(`Profile not found: ${e}`);this.saveConfig({...this.config,active_profile:e})}updateProfile(e,t){const i=this.config.profiles?.[e]||{},o=t.models?this.normalizeModels({...i.models,...t.models}):i.models?this.normalizeModels(i.models):void 0,s={...i,...void 0!==t.api_key?{api_key:t.api_key}:{},...void 0!==t.base_url?{base_url:t.base_url}:{},...o?{models:o}:{}},r={...this.config.profiles||{},[e]:s};this.saveConfig({...this.config,profiles:r})}deleteProfile(e){const t={...this.config.profiles||{}};if(!t[e])return;const i=Object.keys(t).filter(t=>t!==e);if(0===i.length)throw new Error("At least one profile must remain");delete t[e];const o=this.getActiveProfileName()===e?i[0]:this.getActiveProfileName();this.saveConfig({...this.config,profiles:t,active_profile:o})}getApiKey(){return this.config.profiles?.[this.getActiveProfileName()]?.api_key}setApiKey(e){this.updateProfile(this.getActiveProfileName(),{api_key:e})}revokeApiKey(){const e=this.config.profiles?.[this.getActiveProfileName()]||{},{api_key:t,tool_api_keys:i,...o}=e,s={...this.config.profiles||{},[this.getActiveProfileName()]:o};this.saveConfig({...this.config,profiles:s})}getApiKeyFingerprint(){const e=this.getApiKey();return e?p("sha256").update(e).digest("hex").slice(0,12):""}getApiKeyForTool(e){const t=this.config.profiles?.[this.getActiveProfileName()];return t?.tool_api_keys?.[e]||t?.api_key||void 0}setToolApiKey(e,t){const i=this.getActiveProfileName(),o=this.config.profiles?.[i]||{},s={...this.config.profiles||{},[i]:{...o,tool_api_keys:{...o.tool_api_keys||{},[e]:t}}};this.saveConfig({...this.config,profiles:s})}clearToolApiKey(e){const t=this.getActiveProfileName(),i=this.config.profiles?.[t]||{},{[e]:o,...s}=i.tool_api_keys||{},r={...i};Object.keys(s).length>0?r.tool_api_keys=s:delete r.tool_api_keys,this.saveConfig({...this.config,profiles:{...this.config.profiles||{},[t]:r}})}listToolApiKeys(){return Object.keys(this.config.profiles?.[this.getActiveProfileName()]?.tool_api_keys||{}).sort()}getToolApiKeyFingerprint(e){const t=this.config.profiles?.[this.getActiveProfileName()]?.tool_api_keys?.[e];return t?p("sha256").update(t).digest("hex").slice(0,12):""}getModels(){const e=this.config.profiles?.[this.getActiveProfileName()]?.models;return e?this.normalizeModels(e):DEFAULT_MODELS}setModels(e){this.updateProfile(this.getActiveProfileName(),{models:this.normalizeModels(e)})}updateModels(e){this.setModels(this.normalizeModels({...this.getModels(),...e}))}getModelsForTool(e){const t=this.getModels(),i=this.config.profiles?.[this.getActiveProfileName()]?.tool_models?.[e];return i?this.normalizeModels({...t,...i}):t}setToolModel(e,t){const i=this.getActiveProfileName(),o=this.config.profiles?.[i]||{},s={...o.tool_models||{}};t&&0!==Object.keys(t).length?s[e]=t:delete s[e];const r={...o};Object.keys(s).length>0?r.tool_models=s:delete r.tool_models;const n={...this.config.profiles||{},[i]:r};this.saveConfig({...this.config,profiles:n})}getCustomPresets(){return{...this.config.presets||{}}}saveCustomPreset(e,t){const i={...this.config.presets||{},[e]:{models:this.normalizeModels(t),updated_at:(new Date).toISOString()}};this.saveConfig({...this.config,presets:i})}deleteCustomPreset(e){const t={...this.config.presets||{}};t[e]&&(delete t[e],this.saveConfig({...this.config,presets:t}))}listBackups(){const t=this.getBackupDir();return e(t)?n(t).filter(e=>e.startsWith("config-")&&e.endsWith(".yaml")).map(e=>{const i=f(t,e);return{name:e,path:i,mtimeMs:c(i).mtimeMs}}).sort((e,t)=>t.mtimeMs-e.mtimeMs):[]}createBackup(s){this.ensureConfigDir();const r=this.getBackupDir();e(r)||t(r,{recursive:!0});const n=(new Date).toISOString().replace(/[:.]/g,"-"),a=this.sanitizeBackupLabel(s),c=f(r,a?`config-${n}-${a}.yaml`:`config-${n}.yaml`),l=e(this.configPath)?i(this.configPath,"utf-8"):m.dump(this.prepareForPersistence(this.getConfig()));return o(c,l,{encoding:"utf-8",mode:384}),this.rotateBackups(r,10,30),c}restoreBackup(t){if(!t||"."===t||".."===t||/[/\\]|\.\./.test(t))throw new Error(`Invalid backup name: ${t}`);const o=this.getBackupDir(),s=f(o,t);if(!e(s))throw new Error(`Backup not found: ${t}`);const r=i(s,"utf-8"),n=m.load(r),a=this.getSecretsBackupPath(s);let c=this.migrateOldConfig(n||this.createDefaultConfig());if(n?.credential_store!==_&&e(a))try{c=this.mergeLegacySecrets(c,y(a))}catch(e){throw new Error(`Legacy backup credentials could not be decrypted: ${a}`,{cause:e})}this.saveConfig(c)}getBaseUrl(){return this.runtimeBaseUrl||this.config.profiles?.[this.getActiveProfileName()]?.base_url||DEFAULT_BASE_URL}setBaseUrl(e,t=!1){this.runtimeBaseUrl=e,t&&this.updateProfile(this.getActiveProfileName(),{base_url:e})}resetBaseUrl(){this.runtimeBaseUrl=void 0;const e=this.config.profiles?.[this.getActiveProfileName()]||{},{base_url:t,...i}=e,o={...this.config.profiles||{},[this.getActiveProfileName()]:i};this.saveConfig({...this.config,profiles:o})}}export const configManager=ConfigManager.getInstance();
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -2,36 +2,13 @@ export declare class SecretStoreDecryptError extends Error {
2
2
  readonly cause?: unknown | undefined;
3
3
  constructor(message: string, cause?: unknown | undefined);
4
4
  }
5
- export declare class SecretStore {
6
- private static instance;
7
- private secretsDir;
8
- private secretsPath;
9
- private lastDecryptError;
10
- private constructor();
11
- static getInstance(): SecretStore;
12
- private ensureDir;
13
- private writeAtomic;
14
- private readEnvelope;
15
- private decrypt;
16
- private encrypt;
17
- private loadRecord;
18
- private safeLoadRecord;
19
- private persistRecord;
20
- isAvailable(): boolean;
21
- getLastDecryptError(): SecretStoreDecryptError | null;
22
- fingerprint(profile: string): string;
23
- getApiKey(profile: string): string | undefined;
24
- setApiKey(profile: string, apiKey: string): void;
25
- deleteApiKey(profile: string): void;
26
- listProfilesWithKeys(): string[];
27
- /** 读取某工具的专属 Key(没有则 undefined,调用方回退 profile 默认 Key)。 */
28
- getToolApiKey(profile: string, tool: string): string | undefined;
29
- setToolApiKey(profile: string, tool: string, apiKey: string): void;
30
- deleteToolApiKey(profile: string, tool: string): void;
31
- /** 撤销 profile 时连同其全部工具专属 Key 一起清掉。 */
32
- deleteToolApiKeys(profile: string): void;
33
- listToolsWithKeys(profile: string): string[];
34
- toolFingerprint(profile: string, tool: string): string;
35
- deleteAll(): void;
5
+ /** Read-only shape used to migrate credential files written by vibecli <= 0.0.30. */
6
+ export interface LegacySecretRecord {
7
+ api_keys?: Record<string, string>;
8
+ tool_api_keys?: Record<string, Record<string, string>>;
36
9
  }
37
- export declare const secretStore: SecretStore;
10
+ /**
11
+ * Decrypt a legacy secrets.enc file for one-time migration. New credentials are
12
+ * never written through this module; config.yaml is the sole vibecli store.
13
+ */
14
+ export declare function readLegacySecretsFile(path: string): LegacySecretRecord;
@@ -1 +1 @@
1
- import{existsSync as e,mkdirSync as t,readFileSync as r,writeFileSync as s,renameSync as o,unlinkSync as i,chmodSync as c}from"fs";import{join as n,dirname as a}from"path";import{homedir as l,hostname as p,userInfo as h}from"os";import{createCipheriv as y,createDecipheriv as d,randomBytes as u,scryptSync as f,createHash as S}from"crypto";import{logger as _}from"../utils/logger.js";const g="aes-256-gcm";export class SecretStoreDecryptError extends Error{cause;constructor(e,t){super(e),this.cause=t,this.name="SecretStoreDecryptError"}}function v(e,t=32768){const r=`${h().username}:${p()}:vibecli-secret-store`;return f(r,e,32,{N:t,maxmem:67108864})}export class SecretStore{static instance;secretsDir;secretsPath;lastDecryptError=null;constructor(){this.secretsDir=function(){const e=process.env.VIBECLI_CONFIG_DIR;if(e&&e.trim())return e.trim();const t=process.env.VIBECLI_TEST_HOME;return t&&t.trim()?n(t.trim(),".vibecli"):n(l(),".vibecli")}(),this.secretsPath=n(this.secretsDir,"secrets.enc")}static getInstance(){return SecretStore.instance||(SecretStore.instance=new SecretStore),SecretStore.instance}ensureDir(){const r=a(this.secretsPath);e(r)||t(r,{recursive:!0})}writeAtomic(t){const r=`${this.secretsPath}.tmp`;try{s(r,t,{encoding:"utf-8",mode:384}),o(r,this.secretsPath);try{c(this.secretsPath,384)}catch{}}catch(t){if(e(r))try{i(r)}catch{}throw t}}readEnvelope(){if(!e(this.secretsPath))return null;try{const e=r(this.secretsPath,"utf-8"),t=JSON.parse(e);return function(e){if(!e||"object"!=typeof e)return!1;const t=e;return(2===t.version||1===t.version)&&"string"==typeof t.iv&&"string"==typeof t.salt&&"string"==typeof t.auth_tag&&"string"==typeof t.cipher_text}(t)?t:null}catch(e){return _.logError("SecretStore.readEnvelope",e),null}}decrypt(e){const t=Buffer.from(e.salt,"base64"),r=Buffer.from(e.iv,"base64"),s=Buffer.from(e.auth_tag,"base64"),o=Buffer.from(e.cipher_text,"base64"),i=v(t,1===e.version?16384:32768),c=d(g,i,r);c.setAuthTag(s);try{const e=Buffer.concat([c.update(o),c.final()]);return JSON.parse(e.toString("utf-8"))}catch(e){throw new SecretStoreDecryptError("Failed to decrypt secret envelope (host or user identity may have changed)",e)}}encrypt(e){const t=u(16),r=u(12),s=v(t),o=y(g,s,r),i=Buffer.from(JSON.stringify(e),"utf-8"),c=Buffer.concat([o.update(i),o.final()]),n=o.getAuthTag();return{version:2,iv:r.toString("base64"),salt:t.toString("base64"),auth_tag:n.toString("base64"),cipher_text:c.toString("base64")}}loadRecord(){const e=this.readEnvelope();if(!e)return{};try{const t=this.decrypt(e);if(1===e.version&&t.api_keys&&Object.keys(t.api_keys).length>0)try{this.persistRecord(t)}catch(e){_.logError("SecretStore.upgradeEnvelope",e)}return t}catch(e){throw e instanceof SecretStoreDecryptError&&(this.lastDecryptError=e,_.warn("SecretStore decrypt failed - identity drift suspected; refusing to drop existing envelope")),_.logError("SecretStore.loadRecord",e),e}}safeLoadRecord(){try{return this.loadRecord()}catch{return{}}}persistRecord(e){this.ensureDir();const t=this.encrypt(e);this.writeAtomic(JSON.stringify(t,null,2))}isAvailable(){return!0}getLastDecryptError(){return this.lastDecryptError}fingerprint(e){const t=this.getApiKey(e);return t?S("sha256").update(t).digest("hex").slice(0,12):""}getApiKey(e){const t=this.safeLoadRecord();return t.api_keys?.[e]}setApiKey(t,r){const s=this.safeLoadRecord();if(this.lastDecryptError&&e(this.secretsPath))throw new SecretStoreDecryptError("Refusing to overwrite an undecryptable secrets envelope; remove it explicitly via deleteAll() or delete ~/.vibecli/secrets.enc to proceed",this.lastDecryptError);s.api_keys={...s.api_keys||{},[t]:r},this.persistRecord(s),this.lastDecryptError=null}deleteApiKey(t){const r=this.safeLoadRecord();if(this.lastDecryptError&&e(this.secretsPath))throw new SecretStoreDecryptError("Refusing to mutate an undecryptable secrets envelope; remove it explicitly via deleteAll() or delete ~/.vibecli/secrets.enc to proceed",this.lastDecryptError);if(!r.api_keys||!(t in r.api_keys))return;const{[t]:s,...o}=r.api_keys;r.api_keys=o,this.persistRecord(r)}listProfilesWithKeys(){const e=this.safeLoadRecord();return Object.keys(e.api_keys||{}).sort()}getToolApiKey(e,t){const r=this.safeLoadRecord();return r.tool_api_keys?.[e]?.[t]}setToolApiKey(t,r,s){const o=this.safeLoadRecord();if(this.lastDecryptError&&e(this.secretsPath))throw new SecretStoreDecryptError("Refusing to overwrite an undecryptable secrets envelope; remove it explicitly via deleteAll() or delete ~/.vibecli/secrets.enc to proceed",this.lastDecryptError);o.tool_api_keys={...o.tool_api_keys||{},[t]:{...o.tool_api_keys?.[t]||{},[r]:s}},this.persistRecord(o),this.lastDecryptError=null}deleteToolApiKey(t,r){const s=this.safeLoadRecord();if(this.lastDecryptError&&e(this.secretsPath))throw new SecretStoreDecryptError("Refusing to mutate an undecryptable secrets envelope; remove it explicitly via deleteAll() or delete ~/.vibecli/secrets.enc to proceed",this.lastDecryptError);const o=s.tool_api_keys?.[t];if(!o||!(r in o))return;const{[r]:i,...c}=o;if(s.tool_api_keys={...s.tool_api_keys||{},[t]:c},0===Object.keys(c).length){const{[t]:e,...r}=s.tool_api_keys;s.tool_api_keys=r}this.persistRecord(s)}deleteToolApiKeys(t){const r=this.safeLoadRecord();if(this.lastDecryptError&&e(this.secretsPath))throw new SecretStoreDecryptError("Refusing to mutate an undecryptable secrets envelope; remove it explicitly via deleteAll() or delete ~/.vibecli/secrets.enc to proceed",this.lastDecryptError);if(!r.tool_api_keys||!(t in r.tool_api_keys))return;const{[t]:s,...o}=r.tool_api_keys;r.tool_api_keys=o,this.persistRecord(r)}listToolsWithKeys(e){const t=this.safeLoadRecord();return Object.keys(t.tool_api_keys?.[e]||{}).sort()}toolFingerprint(e,t){const r=this.getToolApiKey(e,t);return r?S("sha256").update(r).digest("hex").slice(0,12):""}deleteAll(){if(e(this.secretsPath))try{i(this.secretsPath)}catch(e){_.logError("SecretStore.deleteAll",e)}}}export const secretStore=SecretStore.getInstance();
1
+ import{existsSync as e,readFileSync as t}from"fs";import{hostname as r,userInfo as o}from"os";import{createDecipheriv as s,scryptSync as c}from"crypto";export class SecretStoreDecryptError extends Error{cause;constructor(e,t){super(e),this.cause=t,this.name="SecretStoreDecryptError"}}function n(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>"string"==typeof e[1]&&Boolean(e[1].trim())).map(([e,t])=>[e,t.trim()]))}export function readLegacySecretsFile(i){if(!e(i))return{};let a;try{const e=JSON.parse(t(i,"utf-8"));if(!function(e){if(!e||"object"!=typeof e)return!1;const t=e;return(2===t.version||1===t.version)&&"string"==typeof t.iv&&"string"==typeof t.salt&&"string"==typeof t.auth_tag&&"string"==typeof t.cipher_text}(e))throw new Error("invalid secret envelope");a=e}catch(e){throw new SecretStoreDecryptError(`Failed to read legacy secret envelope: ${i}`,e)}try{const e=Buffer.from(a.salt,"base64"),t=Buffer.from(a.iv,"base64"),i=Buffer.from(a.auth_tag,"base64"),f=Buffer.from(a.cipher_text,"base64"),p=1===a.version?16384:32768,y=s("aes-256-gcm",function(e,t){const s=`${o().username}:${r()}:vibecli-secret-store`;return c(s,e,32,{N:t,maxmem:67108864})}(e,p),t);y.setAuthTag(i);const u=Buffer.concat([y.update(f),y.final()]);return function(e){if(!e||"object"!=typeof e||Array.isArray(e))return{};const t=e,r=n(t.api_keys),o=t.tool_api_keys&&"object"==typeof t.tool_api_keys?t.tool_api_keys:{},s=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,n(t)]).filter(([,e])=>Object.keys(e).length>0));return{...Object.keys(r).length>0?{api_keys:r}:{},...Object.keys(s).length>0?{tool_api_keys:s}:{}}}(JSON.parse(u.toString("utf-8")))}catch(e){throw new SecretStoreDecryptError(`Failed to decrypt legacy secret envelope: ${i} (host or user identity may have changed)`,e)}}
@@ -1 +1 @@
1
- {"version":3,"file":"secret-store.js","sourceRoot":"","sources":["../../src/lib/secret-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-store.js","sourceRoot":"","sources":["../../src/lib/secret-store.ts"],"names":[],"mappings":"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"}
@@ -28,10 +28,9 @@ export interface BackupEntry {
28
28
  seq: number;
29
29
  }
30
30
  /**
31
- * List a file's snapshots, newest first. mtime only has millisecond resolution,
32
- * so several backups created in the same ms tie break the tie by the sequence
33
- * counter so ordering reflects true creation order (restore/rotate depend on it).
34
- * Empty if the dir/file has none.
31
+ * List a file's snapshots, newest first. The filename timestamp is authoritative:
32
+ * copy/restore operations can make filesystem mtime tie or move backwards. The
33
+ * numeric collision suffix orders snapshots created within the same millisecond.
35
34
  */
36
35
  export declare function listBackups(filePath: string): BackupEntry[];
37
36
  export interface RestoreResult {
@@ -1 +1 @@
1
- import{existsSync as t,copyFileSync as r,readdirSync as o,statSync as e,unlinkSync as c,writeFileSync as s,renameSync as n,mkdirSync as a}from"fs";import{dirname as i,basename as p,join as u}from"path";import{logger as f}from"../../utils/logger.js";export function atomicWriteFile(r,o){const e=i(r);t(e)||a(e,{recursive:!0});const p=`${r}.tmp-${process.pid}-${Date.now()}`;try{s(p,o,"utf-8"),n(p,r)}catch(r){try{t(p)&&c(p)}catch{}throw r}}export const MAX_TOOL_BACKUPS=10;const m=".bak-";function h(r){const o=`${r}${m}${(new Date).toISOString().replace(/[:.]/g,"-")}`;let e=o,c=1;for(;t(e);)e=`${o}-${c++}`;return e}export function backupBeforeWrite(o,e=10){try{if(!t(o))return;r(o,h(o)),k(o,e)}catch(t){f.logError("backupBeforeWrite",t)}}function l(t){const r=t.match(/Z-(\d+)$/);return r?Number(r[1]):0}export function listBackups(t){const r=i(t),c=p(t)+m;try{return o(r).filter(t=>t.startsWith(c)).map(t=>{const o=u(r,t);return{path:o,name:t,mtimeMs:e(o).mtimeMs,seq:l(t)}}).sort((t,r)=>r.mtimeMs-t.mtimeMs||r.seq-t.seq)}catch{return[]}}export function restoreBackup(o,e){const c=e?listBackups(o).find(t=>t.path===e||t.name===e)?.path:listBackups(o)[0]?.path;if(!c||!t(c))return{restored:!1,reason:"no_backup"};let s;if(t(o)){const t=h(o);try{r(o,t),s=p(t)}catch(t){f.logError("restoreBackup.snapshot",t)}}return r(c,o),k(o,10),{restored:!0,from:p(c),snapshot:s}}function k(t,r){for(const o of listBackups(t).slice(Math.max(0,r)))try{c(o.path)}catch(t){f.logError("backupBeforeWrite.rotate",t)}}
1
+ import{existsSync as t,copyFileSync as r,readdirSync as e,statSync as o,unlinkSync as s,writeFileSync as c,renameSync as n,mkdirSync as a}from"fs";import{dirname as i,basename as u,join as m}from"path";import{logger as p}from"../../utils/logger.js";export function atomicWriteFile(r,e){const o=i(r);t(o)||a(o,{recursive:!0});const u=`${r}.tmp-${process.pid}-${Date.now()}`;try{c(u,e,"utf-8"),n(u,r)}catch(r){try{t(u)&&s(u)}catch{}throw r}}export const MAX_TOOL_BACKUPS=10;const f=".bak-";function h(r){const e=`${r}${f}${(new Date).toISOString().replace(/[:.]/g,"-")}`;let o=e,s=1;for(;t(o);)o=`${e}-${s++}`;return o}export function backupBeforeWrite(e,o=10){try{if(!t(e))return;r(e,h(e)),d(e,o)}catch(t){p.logError("backupBeforeWrite",t)}}function l(t){const r=t.match(/Z-(\d+)$/);return r?Number(r[1]):0}function b(t){const r=t.match(/(\d{4})-(\d{2})-(\d{2})T(\d{2})-(\d{2})-(\d{2})-(\d{3})Z(?:-\d+)?$/);if(!r)return 0;const[,e,o,s,c,n,a,i]=r;return Date.UTC(Number(e),Number(o)-1,Number(s),Number(c),Number(n),Number(a),Number(i))}export function listBackups(t){const r=i(t),s=u(t)+f;try{return e(r).filter(t=>t.startsWith(s)).map(t=>{const e=m(r,t);return{path:e,name:t,mtimeMs:o(e).mtimeMs,seq:l(t),timestampMs:b(t)}}).sort((t,r)=>r.timestampMs-t.timestampMs||r.seq-t.seq||r.mtimeMs-t.mtimeMs)}catch{return[]}}export function restoreBackup(e,o){const s=o?listBackups(e).find(t=>t.path===o||t.name===o)?.path:listBackups(e)[0]?.path;if(!s||!t(s))return{restored:!1,reason:"no_backup"};let c;if(t(e)){const t=h(e);try{r(e,t),c=u(t)}catch(t){p.logError("restoreBackup.snapshot",t)}}return r(s,e),d(e,10),{restored:!0,from:u(s),snapshot:c}}function d(t,r){for(const e of listBackups(t).slice(Math.max(0,r)))try{s(e.path)}catch(t){p.logError("backupBeforeWrite.rotate",t)}}
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../src/lib/tools/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../src/lib/tools/backup.ts"],"names":[],"mappings":"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"}
@@ -60,10 +60,10 @@ export interface ToolAdapter {
60
60
  */
61
61
  export declare function primaryModel(models: VibecliModels): string;
62
62
  /**
63
- * Pick the model for a non-Claude tool. If the user has customized their primary
64
- * (opus) model away from the built-in Anthropic default, use that; otherwise fall
65
- * back to `fallback` (the non-Claude default, e.g. gpt-5.5) since the Anthropic
66
- * default model name is meaningless to these OpenAI-compatible tools.
63
+ * Pick the model for a non-Claude tool. A customized non-Claude primary is kept,
64
+ * while every Claude model id falls back to the tool-specific default. This
65
+ * prevents a Claude-oriented profile from leaking its opus slot into Codex and
66
+ * other OpenAI-compatible clients.
67
67
  */
68
68
  export declare function pickModel(models: VibecliModels, fallback: string): string;
69
69
  /**
@@ -1 +1 @@
1
- import{homedir as o}from"os";import{getDefaultModels as r}from"../model-registry.js";export function toolHome(){const r=process.env.VIBECLI_TEST_HOME;return r&&r.trim()?r.trim():o()}export function primaryModel(o){return o.opus||o.sonnet||o.reasoning||o.haiku}export function pickModel(o,t){const e=primaryModel(o);return e&&e!==r().opus?e:t}export function withV1(o){const r=(o||"").replace(/\/+$/,"");return/\/v\d+$/.test(r)?r:`${r}/v1`}
1
+ import{homedir as o}from"os";import{getDefaultModels as r}from"../model-registry.js";export function toolHome(){const r=process.env.VIBECLI_TEST_HOME;return r&&r.trim()?r.trim():o()}export function primaryModel(o){return o.opus||o.sonnet||o.reasoning||o.haiku}export function pickModel(o,t){const e=primaryModel(o),n=/(?:^|\/)claude(?:-|$)/i.test(e);return e&&e!==r().opus&&!n?e:t}export function withV1(o){const r=(o||"").replace(/\/+$/,"");return/\/v\d+$/.test(r)?r:`${r}/v1`}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/C,OAAO,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACrE,CAAC;AAoDD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IAC9C,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAqB,EAAE,QAAgB;IAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,OAAO,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAe;IAClC,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/C,OAAO,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACrE,CAAC;AAoDD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IAC9C,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAqB,EAAE,QAAgB;IAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO,OAAO,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAe;IAClC,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC;AAC/D,CAAC"}
@@ -240,8 +240,7 @@
240
240
  "backup_created": "Backup created: {{path}}",
241
241
  "backup_restored": "Backup restored: {{name}}",
242
242
  "backup_restore_missing_name": "Specify a backup name to restore",
243
- "backup_companion_missing": "Backup is missing its encrypted secret companion ({{path}}). Restore aborted to avoid api_key drift.",
244
- "profile_delete_confirm": "Delete profile {{name}}? This removes its api_key from the keystore.",
243
+ "profile_delete_confirm": "Delete profile {{name}}? This removes its stored API keys.",
245
244
  "profile_delete_dry_run": "Would delete profile {{name}}",
246
245
  "profile_delete_aborted": "Profile deletion cancelled",
247
246
  "backup_restore_confirm": "Restore backup {{name}}? Current config and api_key will be overwritten.",
@@ -300,9 +299,6 @@
300
299
  "non_interactive_required_token": "An API token is required in non-interactive mode",
301
300
  "non_interactive_aborted": "Aborted - missing required input"
302
301
  },
303
- "secret_store": {
304
- "host_changed": "Stored API key cannot be decrypted on this host. The keystore was likely created under a different user/machine. Re-authenticate via 'vibecli auth' to refresh."
305
- },
306
302
  "setup": {
307
303
  "usage": "Usage: vibecli setup --key sk-xxx or vibecli setup --claudekey sk-a --codexkey sk-b",
308
304
  "validating": "Validating API key for {{label}}...",
@@ -240,7 +240,6 @@
240
240
  "backup_created": "备份已创建: {{path}}",
241
241
  "backup_restored": "备份已恢复: {{name}}",
242
242
  "backup_restore_missing_name": "请指定要恢复的备份名称",
243
- "backup_companion_missing": "备份缺少加密密钥伴随文件 ({{path}}),已中止恢复以避免 api_key 错乱",
244
243
  "profile_delete_confirm": "确定删除 Profile {{name}}?将同时清除其密钥",
245
244
  "profile_delete_dry_run": "将删除 Profile {{name}}",
246
245
  "profile_delete_aborted": "已取消删除 Profile",
@@ -300,9 +299,6 @@
300
299
  "non_interactive_required_token": "非交互模式下必须提供 API Token",
301
300
  "non_interactive_aborted": "已中止 - 缺少必要输入"
302
301
  },
303
- "secret_store": {
304
- "host_changed": "本机无法解密已保存的 API Key。密钥库可能创建于其它机器或用户。请通过 'vibecli auth' 重新认证以刷新。"
305
- },
306
302
  "setup": {
307
303
  "usage": "用法: vibecli setup --key sk-xxx 或 vibecli setup --claudekey sk-a --codexkey sk-b",
308
304
  "validating": "正在验证 {{label}} 的 API Key...",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibeapi/api-helper",
3
- "version": "0.0.30",
3
+ "version": "0.0.31",
4
4
  "description": "CLI tool for managing AI coding assistants (Claude Code, Codex, OpenClaw, Hermes, AtomCode) with one unified config",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",