@vibeapi/api-helper 0.0.17 → 0.0.22

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.
Files changed (148) hide show
  1. package/LICENSE +25 -25
  2. package/README.md +301 -0
  3. package/dist/__tests__/api-validator.test.js +1 -1
  4. package/dist/__tests__/api-validator.test.js.map +1 -1
  5. package/dist/__tests__/claude-code-manager.test.d.ts +1 -0
  6. package/dist/__tests__/claude-code-manager.test.js +1 -0
  7. package/dist/__tests__/claude-code-manager.test.js.map +1 -0
  8. package/dist/__tests__/command.test.d.ts +1 -0
  9. package/dist/__tests__/command.test.js +1 -0
  10. package/dist/__tests__/command.test.js.map +1 -0
  11. package/dist/__tests__/commands.test.d.ts +1 -0
  12. package/dist/__tests__/commands.test.js +1 -0
  13. package/dist/__tests__/commands.test.js.map +1 -0
  14. package/dist/__tests__/config-profiles.test.d.ts +1 -0
  15. package/dist/__tests__/config-profiles.test.js +1 -0
  16. package/dist/__tests__/config-profiles.test.js.map +1 -0
  17. package/dist/__tests__/config.test.js.map +1 -1
  18. package/dist/__tests__/extra-commands.test.d.ts +1 -0
  19. package/dist/__tests__/extra-commands.test.js +1 -0
  20. package/dist/__tests__/extra-commands.test.js.map +1 -0
  21. package/dist/__tests__/i18n.test.d.ts +1 -0
  22. package/dist/__tests__/i18n.test.js +1 -0
  23. package/dist/__tests__/i18n.test.js.map +1 -0
  24. package/dist/__tests__/logger.test.d.ts +1 -0
  25. package/dist/__tests__/logger.test.js +1 -0
  26. package/dist/__tests__/logger.test.js.map +1 -0
  27. package/dist/__tests__/opencode-manager.test.d.ts +1 -0
  28. package/dist/__tests__/opencode-manager.test.js +1 -0
  29. package/dist/__tests__/opencode-manager.test.js.map +1 -0
  30. package/dist/__tests__/runtime-options.test.d.ts +1 -0
  31. package/dist/__tests__/runtime-options.test.js +1 -0
  32. package/dist/__tests__/runtime-options.test.js.map +1 -0
  33. package/dist/__tests__/secret-store.test.d.ts +1 -0
  34. package/dist/__tests__/secret-store.test.js +1 -0
  35. package/dist/__tests__/secret-store.test.js.map +1 -0
  36. package/dist/__tests__/settings-template.test.d.ts +1 -0
  37. package/dist/__tests__/settings-template.test.js +1 -0
  38. package/dist/__tests__/settings-template.test.js.map +1 -0
  39. package/dist/__tests__/string-width.test.d.ts +1 -0
  40. package/dist/__tests__/string-width.test.js +1 -0
  41. package/dist/__tests__/string-width.test.js.map +1 -0
  42. package/dist/__tests__/tool-adapters.test.d.ts +1 -0
  43. package/dist/__tests__/tool-adapters.test.js +1 -0
  44. package/dist/__tests__/tool-adapters.test.js.map +1 -0
  45. package/dist/__tests__/tool-manager.test.d.ts +1 -0
  46. package/dist/__tests__/tool-manager.test.js +1 -0
  47. package/dist/__tests__/tool-manager.test.js.map +1 -0
  48. package/dist/__tests__/wizard.test.d.ts +1 -0
  49. package/dist/__tests__/wizard.test.js +1 -0
  50. package/dist/__tests__/wizard.test.js.map +1 -0
  51. package/dist/commands/auth.js +1 -1
  52. package/dist/commands/auth.js.map +1 -1
  53. package/dist/commands/bench.d.ts +6 -0
  54. package/dist/commands/bench.js +1 -0
  55. package/dist/commands/bench.js.map +1 -0
  56. package/dist/commands/completion.d.ts +1 -0
  57. package/dist/commands/completion.js +1 -0
  58. package/dist/commands/completion.js.map +1 -0
  59. package/dist/commands/config.js +1 -1
  60. package/dist/commands/config.js.map +1 -1
  61. package/dist/commands/doctor.js +1 -1
  62. package/dist/commands/doctor.js.map +1 -1
  63. package/dist/commands/index.d.ts +4 -0
  64. package/dist/commands/index.js +1 -1
  65. package/dist/commands/index.js.map +1 -1
  66. package/dist/commands/lang.js +1 -1
  67. package/dist/commands/lang.js.map +1 -1
  68. package/dist/commands/logs.d.ts +1 -0
  69. package/dist/commands/logs.js +1 -0
  70. package/dist/commands/logs.js.map +1 -0
  71. package/dist/commands/status.js +1 -1
  72. package/dist/commands/status.js.map +1 -1
  73. package/dist/commands/update.d.ts +7 -0
  74. package/dist/commands/update.js +1 -0
  75. package/dist/commands/update.js.map +1 -0
  76. package/dist/lib/api-validator.d.ts +15 -5
  77. package/dist/lib/api-validator.js +1 -1
  78. package/dist/lib/api-validator.js.map +1 -1
  79. package/dist/lib/brand.d.ts +13 -0
  80. package/dist/lib/brand.js +1 -0
  81. package/dist/lib/brand.js.map +1 -0
  82. package/dist/lib/claude-code-manager.js +1 -1
  83. package/dist/lib/claude-code-manager.js.map +1 -1
  84. package/dist/lib/command.d.ts +1 -0
  85. package/dist/lib/command.js +1 -1
  86. package/dist/lib/command.js.map +1 -1
  87. package/dist/lib/config.d.ts +69 -26
  88. package/dist/lib/config.js +1 -1
  89. package/dist/lib/config.js.map +1 -1
  90. package/dist/lib/confirm.d.ts +12 -0
  91. package/dist/lib/confirm.js +1 -0
  92. package/dist/lib/confirm.js.map +1 -0
  93. package/dist/lib/i18n.d.ts +1 -1
  94. package/dist/lib/i18n.js +1 -1
  95. package/dist/lib/i18n.js.map +1 -1
  96. package/dist/lib/model-registry.d.ts +6 -0
  97. package/dist/lib/model-registry.js +1 -1
  98. package/dist/lib/model-registry.js.map +1 -1
  99. package/dist/lib/opencode-manager.js +1 -1
  100. package/dist/lib/opencode-manager.js.map +1 -1
  101. package/dist/lib/runtime-options.d.ts +17 -0
  102. package/dist/lib/runtime-options.js +1 -0
  103. package/dist/lib/runtime-options.js.map +1 -0
  104. package/dist/lib/secret-store.d.ts +29 -0
  105. package/dist/lib/secret-store.js +1 -0
  106. package/dist/lib/secret-store.js.map +1 -0
  107. package/dist/lib/tool-manager.d.ts +10 -3
  108. package/dist/lib/tool-manager.js +1 -1
  109. package/dist/lib/tool-manager.js.map +1 -1
  110. package/dist/lib/tools/atomcode.d.ts +2 -0
  111. package/dist/lib/tools/atomcode.js +1 -0
  112. package/dist/lib/tools/atomcode.js.map +1 -0
  113. package/dist/lib/tools/backup.d.ts +12 -0
  114. package/dist/lib/tools/backup.js +1 -0
  115. package/dist/lib/tools/backup.js.map +1 -0
  116. package/dist/lib/tools/claude-code.d.ts +3 -0
  117. package/dist/lib/tools/claude-code.js +1 -0
  118. package/dist/lib/tools/claude-code.js.map +1 -0
  119. package/dist/lib/tools/codex.d.ts +2 -0
  120. package/dist/lib/tools/codex.js +1 -0
  121. package/dist/lib/tools/codex.js.map +1 -0
  122. package/dist/lib/tools/hermes.d.ts +2 -0
  123. package/dist/lib/tools/hermes.js +1 -0
  124. package/dist/lib/tools/hermes.js.map +1 -0
  125. package/dist/lib/tools/openclaw.d.ts +2 -0
  126. package/dist/lib/tools/openclaw.js +1 -0
  127. package/dist/lib/tools/openclaw.js.map +1 -0
  128. package/dist/lib/tools/opencode.d.ts +3 -0
  129. package/dist/lib/tools/opencode.js +1 -0
  130. package/dist/lib/tools/opencode.js.map +1 -0
  131. package/dist/lib/tools/registry.d.ts +4 -0
  132. package/dist/lib/tools/registry.js +1 -0
  133. package/dist/lib/tools/registry.js.map +1 -0
  134. package/dist/lib/tools/types.d.ts +69 -0
  135. package/dist/lib/tools/types.js +1 -0
  136. package/dist/lib/tools/types.js.map +1 -0
  137. package/dist/lib/wizard.js +1 -1
  138. package/dist/lib/wizard.js.map +1 -1
  139. package/dist/locales/en_US.json +282 -200
  140. package/dist/locales/zh_CN.json +281 -199
  141. package/dist/models.json +1 -0
  142. package/dist/settings-template.json +2 -1
  143. package/dist/utils/logger.d.ts +9 -0
  144. package/dist/utils/logger.js +1 -1
  145. package/dist/utils/logger.js.map +1 -1
  146. package/models.json +1 -0
  147. package/package.json +5 -2
  148. package/settings-template.json +2 -1
@@ -1 +1 @@
1
- import o from"chalk";import{configManager as t,DEFAULT_BASE_URL as e}from"../lib/config.js";import{toolManager as s}from"../lib/tool-manager.js";import{claudeCodeManager as n}from"../lib/claude-code-manager.js";import{i18n as l}from"../lib/i18n.js";export async function statusCommand(){console.log("\n"+o.bold(l.t("status.title"))+"\n");const a=t.getApiKey(),c=a?a.length>4?"sk-****"+a.slice(-4):"****":o.yellow(l.t("wizard.not_set"));console.log(` ${o.cyan(l.t("status.api_key"))}: ${a?o.green(c):c}`);const g=t.getBaseUrl(),i=g===e;console.log(` ${o.cyan(l.t("status.base_url"))}: ${g}${i?o.gray(" (default)"):""}`),console.log(` ${o.cyan(l.t("status.language"))}: ${t.getLang()}`);const r=t.getModels();console.log(` ${o.cyan(l.t("status.models"))}:`),console.log(` Haiku: ${r.haiku}`),console.log(` Sonnet: ${r.sonnet}`),console.log(` Opus: ${r.opus}`),console.log(` Reasoning: ${r.reasoning}`),console.log(` ${o.cyan(l.t("status.tools"))}:`);const u=s.getSupportedTools();for(const t of u){const e=s.isToolInstalled(t.name),a=e?o.green("✓"):o.red("✗");let c="";e&&"claude-code"===t.name&&(c=n.detectCurrentConfig().apiKey?o.green(" ("+l.t("status.config_loaded")+")"):o.gray(" ("+l.t("status.config_not_loaded")+")")),console.log(` ${a} ${t.displayName}${c}`)}console.log("")}
1
+ import o from"chalk";import{configManager as e,DEFAULT_BASE_URL as t}from"../lib/config.js";import{toolManager as s}from"../lib/tool-manager.js";import{claudeCodeManager as l}from"../lib/claude-code-manager.js";import{i18n as n}from"../lib/i18n.js";import{isJsonMode as a,emitJson as i,isColorEnabled as r}from"../lib/runtime-options.js";function g(o){return r()?o:o=>o}export async function statusCommand(){const r=e.getApiKey(),c=e.getBaseUrl(),u=e.getModels(),d=e.getLang(),m=s.getSupportedTools().map(o=>{const e=s.isToolInstalled(o.name);let t=null;return e&&"claude-code"===o.name&&(t=Boolean(l.detectCurrentConfig().apiKey)),{name:o.name,display_name:o.displayName,installed:e,config_loaded:t}}),p=e.getActiveProfileName(),f=e.listProfiles(),$=Object.keys(e.getCustomPresets());if(a())return void i({api_key_set:Boolean(r),api_key_fingerprint:e.getApiKeyFingerprint()||null,base_url:c,base_url_is_default:c===t,language:d,models:u,tools:m,active_profile:p,profiles:f,custom_presets:$});const _=g(o.cyan),y=g(o.green),b=g(o.yellow),k=g(o.gray),j=g(o.red);console.log("\n"+g(o.bold)(n.t("status.title"))+"\n");const C=e.getApiKeyFingerprint(),A=r?C?`sk-fp-${C}`:"sk-****":b(n.t("wizard.not_set"));console.log(` ${_(n.t("status.api_key"))}: ${r?y(A):A}`);const K=c===t;console.log(` ${_(n.t("status.base_url"))}: ${c}${K?k(" (default)"):""}`),console.log(` ${_(n.t("status.language"))}: ${d}`),console.log(` ${_("Profile")}: ${p} ${k("("+f.join(", ")+")")}`),console.log(` ${_(n.t("status.models"))}:`),console.log(` Haiku: ${u.haiku}`),console.log(` Sonnet: ${u.sonnet}`),console.log(` Opus: ${u.opus}`),console.log(` Reasoning: ${u.reasoning}`),$.length>0&&console.log(` ${_("Custom presets")}: ${$.join(", ")}`),console.log(` ${_(n.t("status.tools"))}:`);for(const o of m){const e=o.installed?y("✓"):j("✗");let t="";!0===o.config_loaded?t=y(" ("+n.t("status.config_loaded")+")"):!1===o.config_loaded&&(t=k(" ("+n.t("status.config_not_loaded")+")")),console.log(` ${e} ${o.display_name}${t}`)}console.log("")}
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface UpdateOptions {
2
+ fetchFn?: typeof fetch;
3
+ localVersion?: string;
4
+ }
5
+ export declare function compareSemver(a: string, b: string): number;
6
+ export declare function updateCommand(options?: UpdateOptions): Promise<void>;
7
+ export {};
@@ -0,0 +1 @@
1
+ import t from"chalk";import{readFileSync as e}from"fs";import{join as r,dirname as n}from"path";import{fileURLToPath as o}from"url";import{i18n as i}from"../lib/i18n.js";import{isJsonMode as a,emitJson as l,isColorEnabled as s}from"../lib/runtime-options.js";function p(t){return s()?t:t=>t}function c(t){const[e,...r]=t.split("-"),n=r.length?r.join("-").split("."):[];return{main:e.split(".").map(t=>Number.parseInt(t,10)||0),pre:n}}function u(t,e){const r=Number.parseInt(t,10),n=Number.parseInt(e,10),o=Number.isFinite(r)&&String(r)===t,i=Number.isFinite(n)&&String(n)===e;return o&&i?r-n:o?-1:i?1:t<e?-1:t>e?1:0}export function compareSemver(t,e){const r=c(t),n=c(e),o=Math.max(r.main.length,n.main.length);for(let t=0;t<o;t+=1){const e=(r.main[t]||0)-(n.main[t]||0);if(0!==e)return e}if(0===r.pre.length&&0===n.pre.length)return 0;if(0===r.pre.length)return 1;if(0===n.pre.length)return-1;const i=Math.max(r.pre.length,n.pre.length);for(let t=0;t<i;t+=1){const e=r.pre[t],o=n.pre[t];if(void 0===e)return-1;if(void 0===o)return 1;const i=u(e,o);if(0!==i)return i}return 0}export async function updateCommand(s={}){const c=s.fetchFn||fetch,u=s.localVersion||function(){try{const t=o(import.meta.url),i=n(t),a=r(i,"../../package.json");return JSON.parse(e(a,"utf-8")).version||"0.0.0"}catch{return"0.0.0"}}();a()||console.log(p(t.gray)(i.t("update.checking")));let m=null,f=null;try{const t=await c("https://registry.npmjs.org/@vibeapi/api-helper/latest",{headers:{Accept:"application/json"}});t.ok?m=(await t.json()).version||null:f=`HTTP ${t.status}`}catch(t){f=t instanceof Error?t.message:String(t)}a()?l({current:u,latest:m,up_to_date:m?compareSemver(u,m)>=0:null,error:f}):(console.log(` ${p(t.cyan)(i.t("update.current",{version:u}))}`),m?(console.log(` ${p(t.cyan)(i.t("update.latest",{version:m}))}`),compareSemver(u,m)>=0?console.log(" "+p(t.green)(i.t("update.up_to_date"))):(console.log(" "+p(t.yellow)(i.t("update.available"))),console.log(" "+p(t.gray)(i.t("update.command_hint"))))):console.log(" "+p(t.yellow)(i.t("update.fetch_failed",{error:f||"unknown"}))))}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,20 @@ export interface ValidateApiKeyResult {
3
3
  error?: 'network_error' | 'invalid_api_key' | 'unknown_error';
4
4
  message?: string;
5
5
  }
6
+ interface ValidateOptions {
7
+ /** Timeout per attempt in milliseconds. Default: 30_000. */
8
+ timeoutMs?: number;
9
+ /** Number of retries on network error (excluding the first attempt). Default: 2. */
10
+ retries?: number;
11
+ /** Initial backoff delay in ms; doubles each retry. Default: 500. */
12
+ backoffMs?: number;
13
+ /** Override fetch (mainly for tests). */
14
+ fetchFn?: typeof fetch;
15
+ /** Override sleep (mainly for tests). */
16
+ sleepFn?: (ms: number) => Promise<void>;
17
+ }
6
18
  /**
7
- * 验证 API Key 的有效性和网络连通性
8
- *
9
- * @param apiKey - API Key
10
- * @returns 验证结果,包含 valid 状态和可选的错误信息
19
+ * 验证 API Key 的有效性和网络连通性,遇到网络错误时按指数退避重试
11
20
  */
12
- export declare function validateApiKey(apiKey: string): Promise<ValidateApiKeyResult>;
21
+ export declare function validateApiKey(apiKey: string, options?: ValidateOptions): Promise<ValidateApiKeyResult>;
22
+ export {};
@@ -1 +1 @@
1
- import{logger as r}from"../utils/logger.js";import{configManager as e}from"./config.js";export async function validateApiKey(t){const o=`${e.getBaseUrl()}/v1/models`;try{const r=new AbortController,e=setTimeout(()=>r.abort(),3e4),a=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},signal:r.signal});if(clearTimeout(e),401===a.status)return{valid:!1,error:"invalid_api_key",message:"API Key is invalid or expired"};if(a.ok){try{const r=await a.json();if(r&&"list"===r.object)return{valid:!0}}catch{return{valid:!0}}return{valid:!0}}return{valid:!1,error:"unknown_error",message:`HTTP ${a.status}: ${a.statusText}`}}catch(e){return r.logError("validateApiKey",e),e instanceof Error?"AbortError"===e.name?{valid:!1,error:"network_error",message:"Request timeout"}:{valid:!1,error:"network_error",message:e.message}:{valid:!1,error:"network_error",message:"Network connection failed"}}}
1
+ import{logger as r}from"../utils/logger.js";import{configManager as e}from"./config.js";const t=r=>new Promise(e=>setTimeout(e,r));async function o(r,t,o){const a=`${e.getBaseUrl()}/v1/models`,i=new AbortController,n=setTimeout(()=>i.abort(),t);try{const e=await o(a,{method:"GET",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"},signal:i.signal});if(401===e.status)return{valid:!1,error:"invalid_api_key",message:"API Key is invalid or expired"};if(e.ok){try{const r=await e.json();if(r&&"list"===r.object)return{valid:!0}}catch{return{valid:!0}}return{valid:!0}}return{valid:!1,error:"unknown_error",message:`HTTP ${e.status}: ${e.statusText}`}}catch(r){return r instanceof Error&&"AbortError"===r.name?{valid:!1,error:"network_error",message:"Request timeout"}:{valid:!1,error:"network_error",message:r instanceof Error?r.message:"Network connection failed"}}finally{clearTimeout(n)}}export async function validateApiKey(e,a={}){const{timeoutMs:i=3e4,retries:n=2,backoffMs:s=500,fetchFn:l=fetch,sleepFn:c=t}=a;let d={valid:!1,error:"network_error",message:"Network connection failed"};for(let t=0;t<=n;t++){const a=await o(e,i,l);if(a.valid||"invalid_api_key"===a.error)return a.valid||r.logError("validateApiKey",new Error(a.message||"invalid_api_key")),a;d=a,t<n&&await c(s*Math.pow(2,t))}return r.logError("validateApiKey",new Error(d.message||"network_error")),d}
@@ -1 +1 @@
1
- {"version":3,"file":"api-validator.js","sourceRoot":"","sources":["../../src/lib/api-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,GAAG,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;IAEtD,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;QAExE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACL,eAAe,EAAE,UAAU,MAAM,EAAE;gBACnC,cAAc,EAAE,kBAAkB;aACrC;YACD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC5B,CAAC,CAAC;QACH,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO;gBACH,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,+BAA+B;aAC3C,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YACd,qBAAqB;YACrB,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACjC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,wBAAwB;gBACxB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,aAAa;QACb,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE;SAC7D,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,UAAU;QACV,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,OAAO;oBACH,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,eAAe;oBACtB,OAAO,EAAE,iBAAiB;iBAC7B,CAAC;YACN,CAAC;YACD,OAAO;gBACH,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,eAAe;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;aACzB,CAAC;QACN,CAAC;QACD,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,2BAA2B;SACvC,CAAC;IACN,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"api-validator.js","sourceRoot":"","sources":["../../src/lib/api-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Brand identity used when this CLI writes provider entries into third-party
3
+ * tool config files (Codex, OpenClaw, Hermes, AtomCode, ...).
4
+ *
5
+ * Keeping these in one place makes a rebrand (or a white-label fork) a single-file
6
+ * change instead of a grep-and-replace across every tool adapter.
7
+ */
8
+ /** Human-facing provider name, e.g. shown as `name = "VibeAPI"` in Codex. */
9
+ export declare const BRAND_NAME = "VibeAPI";
10
+ /** Machine provider key used as the object/table key inside tool configs. */
11
+ export declare const PROVIDER_KEY = "vibeapi";
12
+ /** Env-var key some tools read the API key from. */
13
+ export declare const API_KEY_ENV = "VIBEAPI_API_KEY";
@@ -0,0 +1 @@
1
+ export const BRAND_NAME="VibeAPI";export const PROVIDER_KEY="vibeapi";export const API_KEY_ENV="VIBEAPI_API_KEY";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AAEpC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;AAEtC,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- import{existsSync as e,mkdirSync as t,readFileSync as n,writeFileSync as s,renameSync as r,unlinkSync as a}from"fs";import{join as i,dirname as o}from"path";import{homedir as g}from"os";import{logger as c}from"../utils/logger.js";import{configManager as l,DEFAULT_MODELS as C}from"./config.js";import{loadSettingsTemplate as h}from"./settings-template.js";export class ClaudeCodeManager{static instance;settingsPath;mcpConfigPath;constructor(){this.settingsPath=i(g(),".claude","settings.json"),this.mcpConfigPath=i(g(),".claude.json")}static getInstance(){return ClaudeCodeManager.instance||(ClaudeCodeManager.instance=new ClaudeCodeManager),ClaudeCodeManager.instance}ensureConfigDir(n){const s=o(n);e(s)||t(s,{recursive:!0})}atomicWrite(t,n){const i=`${t}.tmp`;try{s(i,n,"utf-8"),r(i,t)}catch(t){if(e(i))try{a(i)}catch{}throw t}}getSettings(){try{if(e(this.settingsPath)){const e=n(this.settingsPath,"utf-8");return JSON.parse(e)}}catch(e){c.warn("Failed to read Claude Code settings:",e),c.logError("ClaudeCodeManager.getSettings",e)}return{}}saveSettings(e){try{this.ensureConfigDir(this.settingsPath),this.atomicWrite(this.settingsPath,JSON.stringify(e,null,2))}catch(e){throw new Error(`Failed to save Claude Code settings: ${e}`)}}getMCPConfig(){try{if(e(this.mcpConfigPath)){const e=n(this.mcpConfigPath,"utf-8");return JSON.parse(e)}}catch(e){c.warn("Failed to read Claude Code MCP config:",e),c.logError("ClaudeCodeManager.getMCPConfig",e)}return{}}saveMCPConfig(e){try{this.ensureConfigDir(this.mcpConfigPath),this.atomicWrite(this.mcpConfigPath,JSON.stringify(e,null,2))}catch(e){throw new Error(`Failed to save Claude Code MCP config: ${e}`)}}loadPrivateConfig(e,t){this.ensureOnboardingCompleted(),this.cleanupShellEnvVars();const n=h(),s=n.env||{},{env:r,...a}=n,i=this.getSettings(),o=i.env||{},{ANTHROPIC_API_KEY:g,...c}=o,u={...i,...a,env:{...c,...s,ANTHROPIC_AUTH_TOKEN:e,ANTHROPIC_BASE_URL:l.getBaseUrl(),ANTHROPIC_DEFAULT_HAIKU_MODEL:t.haiku||C.haiku,ANTHROPIC_DEFAULT_SONNET_MODEL:t.sonnet||C.sonnet,ANTHROPIC_DEFAULT_OPUS_MODEL:t.opus||C.opus,ANTHROPIC_MODEL:t.opus||C.opus,ANTHROPIC_REASONING_MODEL:t.reasoning||C.reasoning}};this.saveSettings(u)}ensureOnboardingCompleted(){try{const e=this.getMCPConfig();e.hasCompletedOnboarding||this.saveMCPConfig({...e,hasCompletedOnboarding:!0})}catch(e){c.warn("Failed to ensure onboarding completed:",e),c.logError("ClaudeCodeManager.ensureOnboardingCompleted",e)}}cleanupShellEnvVars(){if("win32"!==process.platform&&(process.env.ANTHROPIC_API_KEY||process.env.ANTHROPIC_BASE_URL))try{const t=this.getShellRcFilePath();if(!t||!e(t))return;let r=n(t,"utf-8");const a=r,i=[/^\s*export\s+ANTHROPIC_BASE_URL=.*$/gm,/^\s*export\s+ANTHROPIC_API_KEY=.*$/gm,/^\s*#\s*Claude Code environment variables\s*$/gm];for(const e of i)r=r.replace(e,"");r!==a&&(s(t,r,"utf-8"),console.log(`Cleaned up ANTHROPIC_* environment variables from ${t}`))}catch(e){c.warn("Failed to cleanup shell environment variables:",e),c.logError("ClaudeCodeManager.cleanupShellEnvVars",e)}}getShellRcFilePath(){const e=g();if("win32"===process.platform)return null;switch((process.env.SHELL||"").split("/").pop()||""){case"bash":return i(e,".bashrc");case"zsh":return i(e,".zshrc");case"fish":return i(e,".config","fish","config.fish");default:return i(e,".profile")}}unloadPrivateConfig(){const e=this.getSettings();if(!e.env)return;const{ANTHROPIC_AUTH_TOKEN:t,ANTHROPIC_BASE_URL:n,ANTHROPIC_DEFAULT_HAIKU_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:a,ANTHROPIC_MODEL:i,ANTHROPIC_REASONING_MODEL:o,API_TIMEOUT_MS:g,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:c,...l}=e.env,C={...e,env:l};C.env&&0===Object.keys(C.env).length&&delete C.env,this.saveSettings(C)}detectCurrentConfig(){try{const e=this.getSettings();return e.env&&e.env.ANTHROPIC_AUTH_TOKEN?{apiKey:e.env.ANTHROPIC_AUTH_TOKEN}:{apiKey:null}}catch{return{apiKey:null}}}getExperimentalFeature(e){const t=this.getSettings();return t.env?.[e]}setExperimentalFeature(e,t){const n=this.getSettings(),s=n.env||{},r={...n,env:{...s,[e]:t}};this.saveSettings(r)}removeExperimentalFeature(e){const t=this.getSettings();if(!t.env)return;const{[e]:n,...s}=t.env,r={...t,env:s};this.saveSettings(r)}}export const claudeCodeManager=ClaudeCodeManager.getInstance();
1
+ import{existsSync as e,mkdirSync as t,readFileSync as n,writeFileSync as s,renameSync as r,unlinkSync as i}from"fs";import{join as a,dirname as o}from"path";import{homedir as g}from"os";import{logger as C}from"../utils/logger.js";import{configManager as c,DEFAULT_MODELS as l}from"./config.js";import{loadSettingsTemplate as h}from"./settings-template.js";export class ClaudeCodeManager{static instance;settingsPath;mcpConfigPath;constructor(){this.settingsPath=a(g(),".claude","settings.json"),this.mcpConfigPath=a(g(),".claude.json")}static getInstance(){return ClaudeCodeManager.instance||(ClaudeCodeManager.instance=new ClaudeCodeManager),ClaudeCodeManager.instance}ensureConfigDir(n){const s=o(n);e(s)||t(s,{recursive:!0})}atomicWrite(t,n){const a=`${t}.tmp`;try{s(a,n,"utf-8"),r(a,t)}catch(t){if(e(a))try{i(a)}catch{}throw t}}getSettings(){try{if(e(this.settingsPath)){const e=n(this.settingsPath,"utf-8");return JSON.parse(e)}}catch(e){C.warn("Failed to read Claude Code settings:",e),C.logError("ClaudeCodeManager.getSettings",e)}return{}}saveSettings(e){try{this.ensureConfigDir(this.settingsPath),this.atomicWrite(this.settingsPath,JSON.stringify(e,null,2))}catch(e){throw new Error(`Failed to save Claude Code settings: ${e}`)}}getMCPConfig(){try{if(e(this.mcpConfigPath)){const e=n(this.mcpConfigPath,"utf-8");return JSON.parse(e)}}catch(e){C.warn("Failed to read Claude Code MCP config:",e),C.logError("ClaudeCodeManager.getMCPConfig",e)}return{}}saveMCPConfig(e){try{this.ensureConfigDir(this.mcpConfigPath),this.atomicWrite(this.mcpConfigPath,JSON.stringify(e,null,2))}catch(e){throw new Error(`Failed to save Claude Code MCP config: ${e}`)}}loadPrivateConfig(e,t){this.ensureOnboardingCompleted(),this.cleanupShellEnvVars();const n=h(),s=n.env||{},{env:r,...i}=n,a=this.getSettings(),o=a.env||{},{ANTHROPIC_API_KEY:g,ANTHROPIC_DEFAULT_HAIKU_MODEL:C,ANTHROPIC_DEFAULT_SONNET_MODEL:u,ANTHROPIC_DEFAULT_OPUS_MODEL:O,ANTHROPIC_MODEL:_,ANTHROPIC_REASONING_MODEL:d,...E}=o,A={};t.haiku&&t.haiku!==l.haiku&&(A.ANTHROPIC_DEFAULT_HAIKU_MODEL=t.haiku),t.sonnet&&t.sonnet!==l.sonnet&&(A.ANTHROPIC_DEFAULT_SONNET_MODEL=t.sonnet),t.opus&&t.opus!==l.opus&&(A.ANTHROPIC_DEFAULT_OPUS_MODEL=t.opus,A.ANTHROPIC_MODEL=t.opus),t.reasoning&&t.reasoning!==l.reasoning&&(A.ANTHROPIC_REASONING_MODEL=t.reasoning);const P={...a,...i,env:{...E,...s,ANTHROPIC_AUTH_TOKEN:e,ANTHROPIC_BASE_URL:c.getBaseUrl(),...A}};this.saveSettings(P)}ensureOnboardingCompleted(){try{const e=this.getMCPConfig();e.hasCompletedOnboarding||this.saveMCPConfig({...e,hasCompletedOnboarding:!0})}catch(e){C.warn("Failed to ensure onboarding completed:",e),C.logError("ClaudeCodeManager.ensureOnboardingCompleted",e)}}cleanupShellEnvVars(){if("win32"!==process.platform&&(process.env.ANTHROPIC_API_KEY||process.env.ANTHROPIC_BASE_URL))try{const t=this.getShellRcFilePath();if(!t||!e(t))return;let r=n(t,"utf-8");const i=r,a=[/^\s*export\s+ANTHROPIC_BASE_URL=.*$/gm,/^\s*export\s+ANTHROPIC_API_KEY=.*$/gm,/^\s*#\s*Claude Code environment variables\s*$/gm];for(const e of a)r=r.replace(e,"");r!==i&&(s(t,r,"utf-8"),C.info(`Cleaned up ANTHROPIC_* environment variables from ${t}`))}catch(e){C.warn("Failed to cleanup shell environment variables:",e),C.logError("ClaudeCodeManager.cleanupShellEnvVars",e)}}getShellRcFilePath(){const e=g();if("win32"===process.platform)return null;switch((process.env.SHELL||"").split("/").pop()||""){case"bash":return a(e,".bashrc");case"zsh":return a(e,".zshrc");case"fish":return a(e,".config","fish","config.fish");default:return a(e,".profile")}}unloadPrivateConfig(){const e=this.getSettings();if(!e.env)return;const{ANTHROPIC_AUTH_TOKEN:t,ANTHROPIC_BASE_URL:n,ANTHROPIC_DEFAULT_HAIKU_MODEL:s,ANTHROPIC_DEFAULT_SONNET_MODEL:r,ANTHROPIC_DEFAULT_OPUS_MODEL:i,ANTHROPIC_MODEL:a,ANTHROPIC_REASONING_MODEL:o,API_TIMEOUT_MS:g,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:C,...c}=e.env,l={...e,env:c};l.env&&0===Object.keys(l.env).length&&delete l.env,this.saveSettings(l)}detectCurrentConfig(){try{const e=this.getSettings();return e.env&&e.env.ANTHROPIC_AUTH_TOKEN?{apiKey:e.env.ANTHROPIC_AUTH_TOKEN}:{apiKey:null}}catch{return{apiKey:null}}}getExperimentalFeature(e){const t=this.getSettings();return t.env?.[e]}setExperimentalFeature(e,t){const n=this.getSettings(),s=n.env||{},r={...n,env:{...s,[e]:t}};this.saveSettings(r)}removeExperimentalFeature(e){const t=this.getSettings();if(!t.env)return;const{[e]:n,...s}=t.env,r={...t,env:s};this.saveSettings(r)}}export const claudeCodeManager=ClaudeCodeManager.getInstance();
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-manager.js","sourceRoot":"","sources":["../../src/lib/claude-code-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-manager.js","sourceRoot":"","sources":["../../src/lib/claude-code-manager.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class Command {
5
5
  private getVersion;
6
6
  private setupProgram;
7
7
  private handleInitCommand;
8
+ private preflightArgs;
8
9
  execute(args: string[]): Promise<void>;
9
10
  getProgram(): Commander;
10
11
  }
@@ -1 +1 @@
1
- import{Command as a}from"commander";import{i18n as e}from"./i18n.js";import{configManager as t}from"./config.js";import{wizard as r}from"./wizard.js";import{langCommand as n,authCommand as o,doctorCommand as i,configCommand as s,statusCommand as c}from"../commands/index.js";import m from"chalk";import{readFileSync as p}from"fs";import{join as g,dirname as l}from"path";import{fileURLToPath as d}from"url";export class Command{program;constructor(){const r=t.getLang();e.loadFromConfig(r),this.program=new a,this.setupProgram()}getVersion(){try{const a=d(import.meta.url),e=l(a),t=g(e,"../../package.json");return JSON.parse(p(t,"utf-8")).version}catch{return"1.0.0"}}setupProgram(){this.program.name("chelper").description(e.t("cli.title")).version(this.getVersion(),"-v, --version",e.t("commands.version")).helpOption("-h, --help",e.t("commands.help")).option("--base <url>","Custom API base URL"),this.program.command("init").description(e.t("commands.init")).action(async()=>{await this.handleInitCommand()});const a=this.program.command("lang").description(e.t("commands.lang"));a.command("show").description(e.t("lang.show_usage")).action(async()=>{await n(["show"])}),a.command("set <locale>").description(e.t("lang.set_usage")).action(async a=>{await n(["set",a])});const p=this.program.command("auth").description(e.t("commands.auth"));p.argument("[token]","API token").action(async a=>{const e=[];a&&e.push(a),await o(e)}),p.command("revoke").description("Revoke saved API key").action(async()=>{await o(["revoke"])}),p.command("reload <tool>").description("Reload plan configuration to the specified tool (e.g., claude)").action(async a=>{await o(["reload",a])}),this.program.command("doctor").description(e.t("commands.doctor")).action(async()=>{await i()}),this.program.command("status").description(e.t("commands.status")).action(async()=>{await c()}),this.program.command("enter [option]").description(e.t("commands.enter")).action(async a=>{if(a)switch(a){case"lang":case"language":await r.configLanguage();break;case"apikey":case"api-key":await r.configApiKey();break;case"models":await r.configModels();break;default:{const e=[a];await s(e);break}}else await r.showMainMenu()}),this.program.action(async()=>{t.isFirstRun()?(console.log(m.cyan(e.t("messages.first_run"))),await r.runFirstTimeSetup()):await r.showMainMenu()}),this.program.configureHelp({sortSubcommands:!0,subcommandTerm:a=>a.name()+" "+a.usage()}),this.program.addHelpText("after",`\n${m.bold(e.t("cli.examples"))}:\n ${m.gray("$ chelper # Interactive main menu")}\n ${m.gray("$ chelper init # Run first-time setup wizard")}\n ${m.gray("$ chelper enter # Interactive main menu")}\n ${m.gray("$ chelper enter lang # Interactive language configuration")}\n ${m.gray("$ chelper enter apikey # Interactive API key configuration")}\n ${m.gray("$ chelper enter models # Interactive model configuration")}\n ${m.gray("$ chelper lang show # Show current language")}\n ${m.gray("$ chelper lang set zh_CN")}\n ${m.gray("$ chelper auth # Interactive auth setup")}\n ${m.gray("$ chelper auth <token> # Set API key")}\n ${m.gray("$ chelper auth revoke")}\n ${m.gray("$ chelper doctor # Health check")}\n ${m.gray("$ chelper status # Show current status")}\n ${m.gray('$ chelper --base "https://custom.api.com" init # Custom base URL')}\n`)}async handleInitCommand(){await r.runFirstTimeSetup()}async execute(a){try{const e=a.indexOf("--base");-1!==e&&a[e+1]&&t.setBaseUrl(a[e+1]),await this.program.parseAsync(a,{from:"user"})}catch(a){a instanceof Error&&console.error(m.red(e.t("cli.error_general")),a.message),process.exit(1)}}getProgram(){return this.program}}
1
+ import{Command as a}from"commander";import{i18n as o}from"./i18n.js";import{configManager as e}from"./config.js";import{wizard as t}from"./wizard.js";import{langCommand as n,authCommand as r,doctorCommand as s,configCommand as i,statusCommand as c}from"../commands/index.js";import{logsCommand as m}from"../commands/logs.js";import{completionCommand as p}from"../commands/completion.js";import{benchCommand as l}from"../commands/bench.js";import{updateCommand as g}from"../commands/update.js";import h from"chalk";import{readFileSync as d}from"fs";import{join as u,dirname as f}from"path";import{fileURLToPath as y}from"url";import{setRuntimeOptions as w,detectColorPreferenceFromEnv as $,isColorEnabled as b}from"./runtime-options.js";export class Command{program;constructor(){const t=e.getLang();o.loadFromConfig(t),this.program=new a,this.setupProgram()}getVersion(){try{const a=y(import.meta.url),o=f(a),e=u(o,"../../package.json");return JSON.parse(d(e,"utf-8")).version}catch{return"1.0.0"}}setupProgram(){this.program.name("chelper").description(o.t("cli.title")).version(this.getVersion(),"-v, --version",o.t("commands.version")).helpOption("-h, --help",o.t("commands.help")).option("--base <url>","Custom API base URL").option("--non-interactive","Disable interactive prompts (CI mode)").option("--json","Emit machine-readable JSON output where applicable").option("--yes, -y","Auto-confirm prompts that have a default action").option("--dry-run","Show planned changes without writing anywhere").option("--no-color","Disable colored output"),this.program.command("init").description(o.t("commands.init")).action(async()=>{await this.handleInitCommand()});const a=this.program.command("lang").description(o.t("commands.lang"));a.command("show").description(o.t("lang.show_usage")).action(async()=>{await n(["show"])}),a.command("set <locale>").description(o.t("lang.set_usage")).action(async a=>{await n(["set",a])});const d=this.program.command("auth").description(o.t("commands.auth"));d.argument("[token]","API token").action(async a=>{const o=[];a&&o.push(a),await r(o)}),d.command("revoke").description("Revoke saved API key").action(async()=>{await r(["revoke"])}),d.command("reload <tool>").description("Reload plan configuration to the specified tool (e.g., claude)").action(async a=>{await r(["reload",a])}),this.program.command("doctor").description(o.t("commands.doctor")).action(async()=>{await s()}),this.program.command("status").description(o.t("commands.status")).action(async()=>{await c()}),this.program.command("logs").description("Inspect chelper log files").argument("[action]","list|tail|path").argument("[file]","specific log file when using tail").action(async(a,o)=>{const e=[];a&&e.push(a),o&&e.push(o),await m(e)}),this.program.command("completion <shell>").description("Print shell completion script (bash|zsh|fish)").action(async a=>{await p([a])}),this.program.command("update").description("Check for a newer version on npm").action(async()=>{await g()}),this.program.command("bench").description("Benchmark the configured API endpoint").option("--samples <n>","number of samples to send","5").action(async a=>{const o=[];a.samples&&o.push("--samples",a.samples),await l(o)}),this.program.command("config").description("Manage profiles, presets, backups, and per-tool config").argument("[args...]","Subcommand and arguments").allowUnknownOption(!0).action(async a=>{await i(a||[])}),this.program.command("enter [option]").description(o.t("commands.enter")).action(async a=>{if(a)switch(a){case"lang":case"language":await t.configLanguage();break;case"apikey":case"api-key":await t.configApiKey();break;case"models":await t.configModels();break;default:{const o=[a];await i(o);break}}else await t.showMainMenu()}),this.program.action(async()=>{e.isFirstRun()?(console.log(h.cyan(o.t("messages.first_run"))),await t.runFirstTimeSetup()):await t.showMainMenu()}),this.program.configureHelp({sortSubcommands:!0,subcommandTerm:a=>a.name()+" "+a.usage()}),this.program.addHelpText("after",`\n${h.bold(o.t("cli.examples"))}:\n ${h.gray("$ chelper # Interactive main menu")}\n ${h.gray("$ chelper init # Run first-time setup wizard")}\n ${h.gray("$ chelper status --json # Machine-readable status")}\n ${h.gray("$ chelper config profile list")}\n ${h.gray("$ chelper config profile create work")}\n ${h.gray("$ chelper config profile use work")}\n ${h.gray("$ chelper config preset save fast")}\n ${h.gray("$ chelper config backup create snapshot")}\n ${h.gray("$ chelper auth <token> --non-interactive")}\n ${h.gray("$ chelper auth revoke --yes")}\n ${h.gray("$ chelper logs path")}\n ${h.gray("$ chelper completion bash")}\n ${h.gray("$ chelper bench --samples 3")}\n ${h.gray("$ chelper update")}\n ${h.gray('$ chelper --base "https://custom.api.com" init # Custom base URL')}\n`)}async handleInitCommand(){await t.runFirstTimeSetup()}preflightArgs(a){const o=o=>a.includes(o),t=!o("--no-color")&&$();let n;w({nonInteractive:o("--non-interactive"),json:o("--json"),yes:o("--yes")||o("-y"),dryRun:o("--dry-run"),color:t}),t||(h.level=0);for(let o=0;o<a.length;o+=1){const e=a[o];if("--base"===e&&a[o+1]){n=a[o+1];break}if(e.startsWith("--base=")){n=e.slice(7);break}}n&&e.setBaseUrl(n)}async execute(a){try{this.preflightArgs(a),await this.program.parseAsync(a,{from:"user"})}catch(a){if(a instanceof Error){const e=b()?h.red:a=>a;console.error(e(o.t("cli.error_general")),a.message)}process.exit(1)}}getProgram(){return this.program}}
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/lib/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/lib/command.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,38 @@
1
1
  export declare const DEFAULT_BASE_URL = "https://www.vibeapi.cn";
2
2
  export declare const DEFAULT_MODELS: import("./model-registry.js").Models;
3
+ export declare const DEFAULT_PROFILE_NAME = "default";
4
+ export interface ChelperModels {
5
+ haiku: string;
6
+ sonnet: string;
7
+ opus: string;
8
+ reasoning: string;
9
+ /** Additional custom slots (e.g. a "vision" or "fast" slot) are preserved as-is. */
10
+ [slot: string]: string;
11
+ }
12
+ export interface ChelperProfile {
13
+ api_key?: string;
14
+ base_url?: string;
15
+ models?: ChelperModels;
16
+ /** Per-tool model overrides, merged over `models` when configuring that tool. */
17
+ tool_models?: Record<string, Partial<ChelperModels>>;
18
+ }
19
+ export interface ChelperPreset {
20
+ models: ChelperModels;
21
+ updated_at: string;
22
+ }
23
+ export interface ConfigBackupInfo {
24
+ name: string;
25
+ path: string;
26
+ mtimeMs: number;
27
+ }
3
28
  export interface ChelperConfig {
4
29
  lang: string;
30
+ active_profile?: string;
31
+ profiles?: Record<string, ChelperProfile>;
32
+ presets?: Record<string, ChelperPreset>;
5
33
  api_key?: string;
6
34
  base_url?: string;
7
- models?: {
8
- haiku: string;
9
- sonnet: string;
10
- opus: string;
11
- reasoning: string;
12
- };
35
+ models?: ChelperModels;
13
36
  }
14
37
  export declare class ConfigManager {
15
38
  private static instance;
@@ -18,45 +41,65 @@ export declare class ConfigManager {
18
41
  private config;
19
42
  private runtimeBaseUrl?;
20
43
  private constructor();
21
- /**
22
- * 获取配置目录路径,支持环境变量覆盖
23
- */
24
- private getConfigDir;
44
+ private resolveConfigDir;
45
+ private createDefaultConfig;
46
+ private normalizeModels;
47
+ private normalizeToolModels;
48
+ private normalizeProfile;
49
+ private normalizeProfiles;
50
+ private normalizePresets;
51
+ private getResolvedActiveProfile;
52
+ private syncLegacyFields;
53
+ private sanitizeBackupLabel;
54
+ private getBackupDir;
55
+ private getSecretsPath;
56
+ private getSecretsBackupPath;
57
+ private snapshotSecrets;
58
+ private restoreSecretsSnapshot;
25
59
  static getInstance(): ConfigManager;
26
60
  private ensureConfigDir;
27
61
  private loadConfig;
28
- /**
29
- * 检查配置是否需要迁移
30
- */
62
+ private hasInlineSecrets;
31
63
  private needsMigration;
32
- /**
33
- * 迁移旧配置格式
34
- */
35
64
  private migrateOldConfig;
36
- /**
37
- * 原子写入文件
38
- */
39
65
  private atomicWrite;
40
- /**
41
- * 备份当前配置
42
- */
43
66
  private backupConfig;
44
- /**
45
- * 轮转备份文件,保留最近的 N 个
46
- */
47
67
  private rotateBackups;
48
68
  saveConfig(config?: ChelperConfig): void;
69
+ private extractSecretsForPersistence;
70
+ private hydrateSecretsFromStore;
49
71
  getConfig(): ChelperConfig;
50
72
  updateConfig(updates: Partial<ChelperConfig>): void;
51
73
  isFirstRun(): boolean;
52
74
  getLang(): string;
53
75
  setLang(lang: string): void;
76
+ getActiveProfileName(): string;
77
+ listProfiles(): string[];
78
+ getProfile(name?: string): ChelperProfile;
79
+ createProfile(name: string, sourceProfileName?: string): void;
80
+ setActiveProfile(name: string): void;
81
+ updateProfile(name: string, updates: Partial<ChelperProfile>): void;
82
+ deleteProfile(name: string): void;
54
83
  getApiKey(): string | undefined;
55
84
  setApiKey(apiKey: string): void;
56
85
  revokeApiKey(): void;
86
+ getApiKeyFingerprint(): string;
57
87
  getModels(): typeof DEFAULT_MODELS;
58
88
  setModels(models: typeof DEFAULT_MODELS): void;
59
- updateModels(partial: Partial<typeof DEFAULT_MODELS>): void;
89
+ updateModels(partial: Partial<ChelperModels>): void;
90
+ /**
91
+ * Resolve the effective models for a specific tool: the profile's base models
92
+ * with any per-tool override merged on top.
93
+ */
94
+ getModelsForTool(toolName: string): ChelperModels;
95
+ /** Set (or clear) a per-tool model override on the active profile. */
96
+ setToolModel(toolName: string, override: Partial<ChelperModels> | null): void;
97
+ getCustomPresets(): Record<string, ChelperPreset>;
98
+ saveCustomPreset(name: string, models: typeof DEFAULT_MODELS): void;
99
+ deleteCustomPreset(name: string): void;
100
+ listBackups(): ConfigBackupInfo[];
101
+ createBackup(label?: string): string;
102
+ restoreBackup(name: string): void;
60
103
  getBaseUrl(): string;
61
104
  setBaseUrl(url: string, persist?: boolean): void;
62
105
  resetBaseUrl(): void;
@@ -1 +1 @@
1
- import{existsSync as t,mkdirSync as i,readFileSync as n,writeFileSync as e,renameSync as o,unlinkSync as r,readdirSync as s,statSync as a}from"fs";import{join as g}from"path";import{homedir as c}from"os";import*as f from"js-yaml";import{logger as h}from"../utils/logger.js";import{getDefaultModels as u}from"./model-registry.js";export const DEFAULT_BASE_URL="https://www.vibeapi.cn";export const DEFAULT_MODELS=u();export class ConfigManager{static instance;configDir;configPath;config;runtimeBaseUrl;constructor(){this.configDir=this.getConfigDir(),this.configPath=g(this.configDir,"config.yaml"),this.config=this.loadConfig()}getConfigDir(){const t=process.env.CHELPER_CONFIG_DIR;if(t&&t.trim())return t.trim();const i=process.env.CHELPER_TEST_HOME;return i&&i.trim()?g(i.trim(),".chelper"):g(c(),".chelper")}static getInstance(){return ConfigManager.instance||(ConfigManager.instance=new ConfigManager),ConfigManager.instance}ensureConfigDir(){t(this.configDir)||i(this.configDir,{recursive:!0})}loadConfig(){try{if(t(this.configPath)){const t=n(this.configPath,"utf-8"),i=f.load(t),e=this.migrateOldConfig(i||{lang:"en_US"});return this.needsMigration(i)&&(this.backupConfig(),this.atomicWrite(this.configPath,f.dump(e))),e}}catch(t){h.warn("Failed to load config, using defaults:",t),h.logError("ConfigManager.loadConfig",t)}return{lang:"en_US"}}needsMigration(t){return t&&"plan"in t}migrateOldConfig(t){if(t.plan){const{plan:i,...n}=t;return{...n,lang:t.lang||"en_US",api_key:t.api_key,models:DEFAULT_MODELS}}return t}atomicWrite(i,n){const s=`${i}.tmp`;try{e(s,n,"utf-8"),o(s,i)}catch(i){if(t(s))try{r(s)}catch{}throw i}}backupConfig(){if(!t(this.configPath))return;const o=g(this.configDir,"backups");t(o)||i(o,{recursive:!0});const r=(new Date).toISOString().replace(/[:.]/g,"-"),s=g(o,`config-${r}.yaml`);try{const t=n(this.configPath,"utf-8");e(s,t,"utf-8"),this.rotateBackups(o,10)}catch(t){h.logError("ConfigManager.backupConfig",t)}}rotateBackups(t,i){try{s(t).filter(t=>t.startsWith("config-")&&t.endsWith(".yaml")).map(i=>({name:i,path:g(t,i),mtime:a(g(t,i)).mtime})).sort((t,i)=>i.mtime.getTime()-t.mtime.getTime()).slice(i).forEach(t=>{try{r(t.path)}catch(t){h.logError("ConfigManager.rotateBackups",t)}})}catch(t){h.logError("ConfigManager.rotateBackups",t)}}saveConfig(t){try{this.ensureConfigDir(),this.backupConfig();const i=t||this.config,n=f.dump(i);this.atomicWrite(this.configPath,n),this.config=i}catch(t){throw h.error("Failed to save config:",t),h.logError("ConfigManager.saveConfig",t),t}}getConfig(){return{...this.config}}updateConfig(t){this.config={...this.config,...t},this.saveConfig()}isFirstRun(){return!t(this.configPath)}getLang(){return this.config.lang||"en_US"}setLang(t){this.updateConfig({lang:t})}getApiKey(){return this.config.api_key}setApiKey(t){this.updateConfig({api_key:t})}revokeApiKey(){this.updateConfig({api_key:void 0})}getModels(){return this.config.models||DEFAULT_MODELS}setModels(t){this.updateConfig({models:t})}updateModels(t){const i=this.getModels(),n={haiku:t.haiku??i.haiku,sonnet:t.sonnet??i.sonnet,opus:t.opus??i.opus,reasoning:t.reasoning??i.reasoning};this.updateConfig({models:n})}getBaseUrl(){return this.config.base_url||this.runtimeBaseUrl||DEFAULT_BASE_URL}setBaseUrl(t,i=!1){this.runtimeBaseUrl=t,i&&this.updateConfig({base_url:t})}resetBaseUrl(){this.runtimeBaseUrl=void 0;const{base_url:t,...i}=this.config;this.config=i,this.saveConfig()}}export const configManager=ConfigManager.getInstance();
1
+ import{existsSync as e,mkdirSync as t,readFileSync as i,writeFileSync as s,renameSync as o,unlinkSync as r,readdirSync as n,statSync as a,copyFileSync as c}from"fs";import{join as l}from"path";import{homedir as f}from"os";import*as g from"js-yaml";import{logger as h}from"../utils/logger.js";import{getDefaultModels as p}from"./model-registry.js";import{secretStore as m}from"./secret-store.js";import{i18n as u}from"./i18n.js";export const DEFAULT_BASE_URL="https://www.vibeapi.cn";export const DEFAULT_MODELS=p();export const DEFAULT_PROFILE_NAME="default";export class ConfigManager{static instance;configDir;configPath;config;runtimeBaseUrl;constructor(){this.configDir=this.resolveConfigDir(),this.configPath=l(this.configDir,"config.yaml"),this.config=this.loadConfig()}resolveConfigDir(){const e=process.env.CHELPER_CONFIG_DIR;if(e&&e.trim())return e.trim();const t=process.env.CHELPER_TEST_HOME;return t&&t.trim()?l(t.trim(),".chelper"):l(f(),".chelper")}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,s]of Object.entries(e))i in t||"string"==typeof s&&s.trim()&&(t[i]=s.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,s]of Object.entries(t))"string"==typeof s&&s.trim()&&(i[e]=s.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",s=t[i]?t:{...t,[i]:{}},o=this.getResolvedActiveProfile({...e,profiles:s,active_profile:i});return{...e,lang:e.lang||"en_US",active_profile:i,profiles:s,presets:this.normalizePresets(e.presets),api_key:o.api_key,base_url:o.base_url,models:o.models?this.normalizeModels(o.models):DEFAULT_MODELS}}sanitizeBackupLabel(e){return(e||"").trim().replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)}getBackupDir(){return l(this.configDir,"backups")}getSecretsPath(){return l(this.configDir,"secrets.enc")}getSecretsBackupPath(e){return e.replace(/\.yaml$/,".secrets.enc")}snapshotSecrets(t){const i=this.getSecretsPath();if(e(i))try{c(i,this.getSecretsBackupPath(t))}catch(e){h.logError("ConfigManager.snapshotSecrets",e)}}restoreSecretsSnapshot(t){const i=this.getSecretsBackupPath(t);if(e(i))try{c(i,this.getSecretsPath())}catch(e){h.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=g.load(e),s=this.migrateOldConfig(t||{lang:"en_US"}),o=this.hydrateSecretsFromStore(s);return(this.needsMigration(t)||this.hasInlineSecrets(t))&&(this.backupConfig(),this.atomicWrite(this.configPath,g.dump(this.extractSecretsForPersistence(o)))),o}}catch(e){h.warn("Failed to load config, using defaults:",e),h.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,...s}=t,o=this.normalizeProfiles(s.profiles),r=this.normalizeProfile({api_key:"string"==typeof s.api_key?s.api_key:void 0,base_url:"string"==typeof s.base_url?s.base_url:void 0,models:s.models}),n=Object.keys(o).length>0?o:{[DEFAULT_PROFILE_NAME]:r},a="string"==typeof s.active_profile&&s.active_profile.trim()?s.active_profile.trim():Object.keys(n)[0]||"default";return this.syncLegacyFields({lang:"string"==typeof s.lang&&s.lang?s.lang:"en_US",active_profile:a,profiles:n,presets:this.normalizePresets(s.presets)})}atomicWrite(t,i){const n=`${t}.tmp`;try{s(n,i,"utf-8"),o(n,t)}catch(t){if(e(n))try{r(n)}catch{}throw t}}backupConfig(){if(!e(this.configPath))return;const o=this.getBackupDir();e(o)||t(o,{recursive:!0});const r=(new Date).toISOString().replace(/[:.]/g,"-"),n=l(o,`config-${r}.yaml`);try{const e=i(this.configPath,"utf-8");s(n,e,"utf-8"),this.snapshotSecrets(n),this.rotateBackups(o,10,30)}catch(e){h.logError("ConfigManager.backupConfig",e)}}rotateBackups(t,i,s){try{const o=Date.now()-24*s*60*60*1e3,c=n(t).filter(e=>e.startsWith("config-")&&e.endsWith(".yaml")).map(e=>({name:e,path:l(t,e),mtime:a(l(t,e)).mtime})).sort((e,t)=>t.mtime.getTime()-e.mtime.getTime()),f=new Set;c.slice(i).forEach(e=>f.add(e.path)),c.forEach(e=>{e.mtime.getTime()<o&&f.add(e.path)});for(const t of f){let i=!1;try{r(t),i=!0}catch(e){h.logError("ConfigManager.rotateBackups",e)}if(i){const i=this.getSecretsBackupPath(t);if(e(i))try{r(i)}catch(e){h.logError("ConfigManager.rotateBackups.secrets",e)}}}}catch(e){h.logError("ConfigManager.rotateBackups",e)}}saveConfig(e){try{this.ensureConfigDir(),this.backupConfig();const t=this.syncLegacyFields(this.migrateOldConfig(e||this.config)),i=this.extractSecretsForPersistence(t),s=g.dump(i);this.atomicWrite(this.configPath,s),this.config=t}catch(e){throw h.error("Failed to save config:",e),h.logError("ConfigManager.saveConfig",e),e}}extractSecretsForPersistence(e){const t={...e.profiles||{}},i=[];for(const[e,s]of Object.entries(t))s?.api_key&&(m.setApiKey(e,s.api_key),i.push(e));for(const e of i){const{api_key:i,...s}=t[e];t[e]=s}const s={...e,profiles:t};return delete s.api_key,s}hydrateSecretsFromStore(e){const t={...e.profiles||{}};for(const[e,i]of Object.entries(t)){if(i?.api_key)continue;const s=m.getApiKey(e);s&&(t[e]={...i,api_key:s})}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),s={...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:s})}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]||{},s=t.models?this.normalizeModels({...i.models,...t.models}):i.models?this.normalizeModels(i.models):void 0,o={...i,...void 0!==t.api_key?{api_key:t.api_key}:{},...void 0!==t.base_url?{base_url:t.base_url}:{},...s?{models:s}:{}},r={...this.config.profiles||{},[e]:o};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 s=this.getActiveProfileName()===e?i[0]:this.getActiveProfileName();this.saveConfig({...this.config,profiles:t,active_profile:s})}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,s={...this.config.profiles||{},[this.getActiveProfileName()]:i};try{m.deleteApiKey(this.getActiveProfileName())}catch(e){h.logError("ConfigManager.revokeApiKey",e);try{m.deleteAll()}catch(e){h.logError("ConfigManager.revokeApiKey.deleteAll",e)}}this.saveConfig({...this.config,profiles:s})}getApiKeyFingerprint(){try{return m.fingerprint(this.getActiveProfileName())}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(),s=this.config.profiles?.[i]||{},o={...s.tool_models||{}};t&&0!==Object.keys(t).length?o[e]=t:delete o[e];const r={...s};Object.keys(o).length>0?r.tool_models=o: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=l(t,e);return{name:e,path:i,mtimeMs:a(i).mtimeMs}}).sort((e,t)=>t.mtimeMs-e.mtimeMs):[]}createBackup(o){this.ensureConfigDir();const r=this.getBackupDir();e(r)||t(r,{recursive:!0});const n=(new Date).toISOString().replace(/[:.]/g,"-"),a=this.sanitizeBackupLabel(o),c=l(r,a?`config-${n}-${a}.yaml`:`config-${n}.yaml`),f=e(this.configPath)?i(this.configPath,"utf-8"):g.dump(this.getConfig());return s(c,f,"utf-8"),this.snapshotSecrets(c),this.rotateBackups(r,10,30),c}restoreBackup(t){if(!t||"."===t||".."===t||/[/\\]|\.\./.test(t))throw new Error(`Invalid backup name: ${t}`);const s=this.getBackupDir(),o=l(s,t);if(!e(o))throw new Error(`Backup not found: ${t}`);const r=i(o,"utf-8"),n=g.load(r),a=this.getSecretsBackupPath(o),c=e(a),f=this.hasInlineSecrets(n);if(!c&&!f)throw new Error(u.t("config.backup_companion_missing",{path:a}));c&&this.restoreSecretsSnapshot(o);const h=this.migrateOldConfig(n||this.createDefaultConfig()),p=c?this.hydrateSecretsFromStore(h):h;this.saveConfig(p)}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,s={...this.config.profiles||{},[this.getActiveProfileName()]:i};this.saveConfig({...this.config,profiles:s})}}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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"}
@@ -0,0 +1,12 @@
1
+ export interface ConfirmOptions {
2
+ message: string;
3
+ defaultValue?: boolean;
4
+ }
5
+ export declare function confirmAction({ message, defaultValue }: ConfirmOptions): Promise<boolean>;
6
+ export interface DryRunGuardArgs<T> {
7
+ description: string;
8
+ json?: T;
9
+ apply: () => void | Promise<void>;
10
+ onApplied?: () => void;
11
+ }
12
+ export declare function applyOrDryRun<T>({ description, json, apply, onApplied }: DryRunGuardArgs<T>): Promise<void>;
@@ -0,0 +1 @@
1
+ import r from"inquirer";import{isDryRun as n,shouldAutoConfirm as o,isJsonMode as i,emitJson as t,isColorEnabled as e}from"./runtime-options.js";import{i18n as a}from"./i18n.js";import p from"chalk";export async function confirmAction({message:n,defaultValue:i=!1}){if(o())return!0;const{confirmed:t}=await r.prompt([{type:"confirm",name:"confirmed",message:n,default:i}]);return Boolean(t)}export async function applyOrDryRun({description:r,json:o,apply:m,onApplied:s}){if(n()){if(i())return void t({dry_run:!0,description:r,payload:o??null});const n=e()?p.cyan:r=>r;return void process.stdout.write(`${n(a.t("runtime.dry_run_label"))} ${r}\n`)}await m(),s&&s()}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.js","sourceRoot":"","sources":["../../src/lib/confirm.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,EAAkB;IACjF,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACxC;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO;YACP,OAAO,EAAE,YAAY;SACxB;KACJ,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAsB;IAC9F,IAAI,QAAQ,EAAE,EAAE,CAAC;QACb,IAAI,UAAU,EAAE,EAAE,CAAC;YACf,QAAQ,CAAC;gBACL,OAAO,EAAE,IAAI;gBACb,WAAW;gBACX,OAAO,EAAE,IAAI,IAAI,IAAI;aACxB,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC;QACtF,OAAO;IACX,CAAC;IAED,MAAM,KAAK,EAAE,CAAC;IACd,IAAI,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;IAChB,CAAC;AACL,CAAC"}
@@ -16,5 +16,5 @@ declare class I18n {
16
16
  private loadSavedLocale;
17
17
  loadFromConfig(locale: string): void;
18
18
  }
19
+ export { I18n };
19
20
  export declare const i18n: I18n;
20
- export { i18n as I18n };