@vibeapi/api-helper 0.0.20 → 0.0.23

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 (69) hide show
  1. package/LICENSE +25 -25
  2. package/README.md +35 -1
  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.js +1 -1
  6. package/dist/__tests__/claude-code-manager.test.js.map +1 -1
  7. package/dist/__tests__/model-registry.test.js +1 -1
  8. package/dist/__tests__/model-registry.test.js.map +1 -1
  9. package/dist/__tests__/tool-adapters.test.d.ts +1 -0
  10. package/dist/__tests__/tool-adapters.test.js +1 -0
  11. package/dist/__tests__/tool-adapters.test.js.map +1 -0
  12. package/dist/commands/auth.js +1 -1
  13. package/dist/commands/auth.js.map +1 -1
  14. package/dist/commands/config.js +1 -1
  15. package/dist/commands/config.js.map +1 -1
  16. package/dist/lib/api-validator.d.ts +13 -0
  17. package/dist/lib/api-validator.js +1 -1
  18. package/dist/lib/api-validator.js.map +1 -1
  19. package/dist/lib/brand.d.ts +13 -0
  20. package/dist/lib/brand.js +1 -0
  21. package/dist/lib/brand.js.map +1 -0
  22. package/dist/lib/claude-code-manager.js +1 -1
  23. package/dist/lib/claude-code-manager.js.map +1 -1
  24. package/dist/lib/config.d.ts +13 -1
  25. package/dist/lib/config.js +1 -1
  26. package/dist/lib/config.js.map +1 -1
  27. package/dist/lib/model-registry.d.ts +14 -0
  28. package/dist/lib/model-registry.js +1 -1
  29. package/dist/lib/model-registry.js.map +1 -1
  30. package/dist/lib/tool-manager.d.ts +10 -3
  31. package/dist/lib/tool-manager.js +1 -1
  32. package/dist/lib/tool-manager.js.map +1 -1
  33. package/dist/lib/tools/atomcode.d.ts +2 -0
  34. package/dist/lib/tools/atomcode.js +1 -0
  35. package/dist/lib/tools/atomcode.js.map +1 -0
  36. package/dist/lib/tools/backup.d.ts +12 -0
  37. package/dist/lib/tools/backup.js +1 -0
  38. package/dist/lib/tools/backup.js.map +1 -0
  39. package/dist/lib/tools/claude-code.d.ts +3 -0
  40. package/dist/lib/tools/claude-code.js +1 -0
  41. package/dist/lib/tools/claude-code.js.map +1 -0
  42. package/dist/lib/tools/codex.d.ts +2 -0
  43. package/dist/lib/tools/codex.js +1 -0
  44. package/dist/lib/tools/codex.js.map +1 -0
  45. package/dist/lib/tools/hermes.d.ts +2 -0
  46. package/dist/lib/tools/hermes.js +1 -0
  47. package/dist/lib/tools/hermes.js.map +1 -0
  48. package/dist/lib/tools/openclaw.d.ts +2 -0
  49. package/dist/lib/tools/openclaw.js +1 -0
  50. package/dist/lib/tools/openclaw.js.map +1 -0
  51. package/dist/lib/tools/opencode.d.ts +3 -0
  52. package/dist/lib/tools/opencode.js +1 -0
  53. package/dist/lib/tools/opencode.js.map +1 -0
  54. package/dist/lib/tools/registry.d.ts +4 -0
  55. package/dist/lib/tools/registry.js +1 -0
  56. package/dist/lib/tools/registry.js.map +1 -0
  57. package/dist/lib/tools/types.d.ts +69 -0
  58. package/dist/lib/tools/types.js +1 -0
  59. package/dist/lib/tools/types.js.map +1 -0
  60. package/dist/lib/wizard.d.ts +13 -0
  61. package/dist/lib/wizard.js +1 -1
  62. package/dist/lib/wizard.js.map +1 -1
  63. package/dist/locales/en_US.json +290 -278
  64. package/dist/locales/zh_CN.json +289 -277
  65. package/dist/models.json +17 -18
  66. package/dist/settings-template.json +2 -1
  67. package/models.json +17 -18
  68. package/package.json +2 -1
  69. package/settings-template.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../../src/lib/tools/openclaw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type ToolAdapter } from './types.js';
2
+ /** Thin adapter over the OpenCodeManager singleton. */
3
+ export declare const opencodeAdapter: ToolAdapter;
@@ -0,0 +1 @@
1
+ import{join as o}from"path";import{homedir as e}from"os";import{openCodeManager as n}from"../opencode-manager.js";import{backupBeforeWrite as t}from"./backup.js";import{pickModel as i}from"./types.js";import{getToolDefaultModel as a}from"../model-registry.js";const p=o(e(),".config","opencode","opencode.json");export const opencodeAdapter={name:"opencode",displayName:"OpenCode",command:"opencode",installCommand:"npm install -g opencode-ai",configPath:p,loadPrivateConfig(o){t(p);const e=i(o.models,a("opencode"));n.loadPrivateConfig(o.apiKey,{...o.models,opus:e,haiku:e})},unloadPrivateConfig(){t(p),n.unloadPrivateConfig()},detectCurrentConfig:()=>n.detectCurrentConfig(),getConfig:()=>n.getConfig(),updateConfig(o){n.saveConfig(o)}};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/lib/tools/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAA2C,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;AAEnF,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAgB;IACxC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,UAAU;IACnB,cAAc,EAAE,4BAA4B;IAC5C,UAAU,EAAE,kBAAkB;IAE9B,iBAAiB,CAAC,GAAqB;QACnC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QACtC,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QACrE,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,mBAAmB;QACf,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QACtC,eAAe,CAAC,mBAAmB,EAAE,CAAC;IAC1C,CAAC;IACD,mBAAmB;QACf,OAAO,eAAe,CAAC,mBAAmB,EAAE,CAAC;IACjD,CAAC;IACD,SAAS;QACL,OAAO,eAAe,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IACD,YAAY,CAAC,MAAe;QACxB,eAAe,CAAC,UAAU,CAAC,MAA0D,CAAC,CAAC;IAC3F,CAAC;CACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ToolAdapter } from './types.js';
2
+ export declare const TOOL_ADAPTERS: Record<string, ToolAdapter>;
3
+ export declare function getAdapter(name: string): ToolAdapter | undefined;
4
+ export declare function listAdapters(): ToolAdapter[];
@@ -0,0 +1 @@
1
+ import{claudeCodeAdapter as o}from"./claude-code.js";import{opencodeAdapter as r}from"./opencode.js";import{codexAdapter as t}from"./codex.js";import{openclawAdapter as e}from"./openclaw.js";import{hermesAdapter as m}from"./hermes.js";import{atomcodeAdapter as p}from"./atomcode.js";const n=[o,r,t,e,m,p];export const TOOL_ADAPTERS=Object.fromEntries(n.map(o=>[o.name,o]));export function getAdapter(o){return TOOL_ADAPTERS[o]}export function listAdapters(){return[...n]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/lib/tools/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;GAIG;AACH,MAAM,QAAQ,GAAkB;IAC5B,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,eAAe;IACf,aAAa;IACb,eAAe;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAgC,MAAM,CAAC,WAAW,CACxE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACrD,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY;IACxB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import type { ChelperModels } from '../config.js';
2
+ /**
3
+ * Home directory the tool adapters write under. Honors `CHELPER_TEST_HOME` (the
4
+ * same override the config layer uses) so tests can redirect ~/.codex, ~/.hermes,
5
+ * etc. into a temp dir instead of the real home directory.
6
+ */
7
+ export declare function toolHome(): string;
8
+ /**
9
+ * Everything a tool adapter needs to write a working private-provider config.
10
+ * Built by ToolManager from the active profile (api key + base url + the models
11
+ * resolved for this specific tool).
12
+ */
13
+ export interface ToolApplyContext {
14
+ apiKey: string;
15
+ baseUrl: string;
16
+ models: ChelperModels;
17
+ }
18
+ /**
19
+ * One self-contained integration for a downstream coding tool.
20
+ *
21
+ * Adding support for a new tool means dropping a single file that exports one of
22
+ * these and registering it in `registry.ts` — no more editing `if (toolName === ...)`
23
+ * branches scattered across ToolManager.
24
+ */
25
+ export interface ToolAdapter {
26
+ /** Stable id used on the CLI and as the config key (e.g. `codex`). */
27
+ name: string;
28
+ /** Human-facing label (e.g. `Codex`). */
29
+ displayName: string;
30
+ /** Binary probed with `which`/`where` to detect installation. */
31
+ command: string;
32
+ /** Shell command that installs the tool globally. */
33
+ installCommand: string;
34
+ /** Primary config file path (informational; used for status/doctor output). */
35
+ configPath: string;
36
+ /** Hidden tools are still usable by id but omitted from menus. */
37
+ hidden?: boolean;
38
+ /** Write this CLI's provider config into the tool. */
39
+ loadPrivateConfig(ctx: ToolApplyContext): void;
40
+ /** Remove this CLI's provider config from the tool, leaving other config intact. */
41
+ unloadPrivateConfig(): void;
42
+ /** Read back the api key currently configured for this tool, if any. */
43
+ detectCurrentConfig(): {
44
+ apiKey: string | null;
45
+ };
46
+ /** Read the raw config object (best-effort; null when unreadable/absent). */
47
+ getConfig(): unknown;
48
+ /** Overwrite the raw config object. Optional — not all tools support it. */
49
+ updateConfig?(config: unknown): void;
50
+ }
51
+ /**
52
+ * Pick the single "main" model for tools that only take one model id.
53
+ * Falls back through the canonical slots so a partially-filled map still works.
54
+ */
55
+ export declare function primaryModel(models: ChelperModels): string;
56
+ /**
57
+ * Pick the model for a non-Claude tool. If the user has customized their primary
58
+ * (opus) model away from the built-in Anthropic default, use that; otherwise fall
59
+ * back to `fallback` (the non-Claude default, e.g. gpt-5.5) — since the Anthropic
60
+ * default model name is meaningless to these OpenAI-compatible tools.
61
+ */
62
+ export declare function pickModel(models: ChelperModels, fallback: string): string;
63
+ /**
64
+ * Normalize a base URL into an OpenAI-compatible endpoint by ensuring a version
65
+ * suffix. Most non-Anthropic tools here speak the OpenAI/Responses wire format
66
+ * and expect a `/v1` (or similar) suffix; the Claude/OpenCode adapters use the
67
+ * raw base URL instead. Adjust here if a gateway uses a different path.
68
+ */
69
+ export declare function withV1(baseUrl: string): string;
@@ -0,0 +1 @@
1
+ import{homedir as o}from"os";import{getDefaultModels as r}from"../model-registry.js";export function toolHome(){const r=process.env.CHELPER_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`}
@@ -0,0 +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;AA8CD;;;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"}
@@ -21,6 +21,19 @@ export declare class Wizard {
21
21
  selectAndConfigureTool(): Promise<void>;
22
22
  configureTool(toolName: string): Promise<void>;
23
23
  showToolMenu(toolName: string): Promise<void>;
24
+ /**
25
+ * Build a per-tool model override from a single chosen model id.
26
+ * Non-Claude model → fill every slot (the tool uses it for everything,
27
+ * including Claude Code's haiku/sonnet/opus). Claude model → override only
28
+ * the main (opus) slot and keep the other slots at their defaults.
29
+ */
30
+ private singleModelOverride;
31
+ /**
32
+ * Per-tool model picker shown after a tool is selected, before loading.
33
+ * Sources: use default / built-in presets / manual input. Returns false if
34
+ * the user backed out.
35
+ */
36
+ configureToolModel(toolName: string): Promise<boolean>;
24
37
  loadConfig(toolName: string): Promise<void>;
25
38
  unloadConfig(toolName: string): Promise<void>;
26
39
  run(): Promise<void>;
@@ -1 +1 @@
1
- import e from"inquirer";import t from"chalk";import a from"ora";import{configManager as i,DEFAULT_MODELS as o}from"./config.js";import{getPresets as n,resolvePreset as s}from"./model-registry.js";import{toolManager as r,SUPPORTED_TOOLS as l}from"./tool-manager.js";import{i18n as c}from"./i18n.js";import{createBorderLine as d,createContentLine as p}from"../utils/string-width.js";import{validateApiKey as m}from"./api-validator.js";import{readFileSync as u}from"fs";import{dirname as g,join as w}from"path";import{fileURLToPath as _}from"url";const y=g(_(import.meta.url)),h=t.hex("#FF8700");export class Wizard{static instance;BOX_WIDTH=63;apiKeyValid=!1;constructor(){}static getInstance(){return Wizard.instance||(Wizard.instance=new Wizard),Wizard.instance}createBox(e){console.log(h.bold("\n"+d("╔","╗","═",this.BOX_WIDTH))),console.log(h.bold(p(e,"║","║",this.BOX_WIDTH,"center"))),console.log(h.bold(d("╚","╝","═",this.BOX_WIDTH))),console.log("")}showOperationHints(){const e=[t.gray(c.t("wizard.hint_navigate")),t.gray(c.t("wizard.hint_confirm"))];console.log(t.gray("💡 ")+e.join(t.gray(" | "))+"\n")}async promptWithHints(t){this.showOperationHints();const a=t.map(e=>"list"!==e.type||e.pageSize?e:{...e,pageSize:20});return e.prompt(a)}printBanner(){const e=65,t=c.t("wizard.banner_subtitle"),a=p(t,"║","║",e,"center"),i=p("","║","║",e,"center"),o=p(`API Helper v${function(){try{return JSON.parse(u(w(y,"..","..","package.json"),"utf-8")).version}catch{return"0.0.0"}}()}`,"║","║",e,"center"),n=[" ▄▀▄ █▀▄ █ █▄█ ██▀ █ █▀▄ ██▀ █▀▄ "," █▀█ █▀ █ █ █ █▄▄ █▄▄ █▀ █▄▄ █▀▄ "].map(t=>p(t,"║","║",e,"center")),s=[d("╔","╗","═",e),i,...n,i,o,a,d("╚","╝","═",e)];console.log(h.bold("\n"+s.join("\n")))}resetScreen(){console.clear(),this.printBanner()}async runFirstTimeSetup(){this.resetScreen(),console.log(h.bold("\n"+c.t("wizard.welcome"))),console.log(t.gray(c.t("wizard.privacy_note")+"\n")),await this.configLanguage(),await this.configApiKey(),i.getApiKey()?(await this.configModels({skipLoadPrompt:!0}),await this.selectAndConfigureTool()):console.log(t.red("\n"+c.t("wizard.api_key_required")))}async configLanguage(){for(;;){this.resetScreen(),this.createBox(c.t("wizard.select_language"));const a=c.getLocale(),{language:o}=await this.promptWithHints([{type:"list",name:"language",message:"✨ "+c.t("wizard.select_language"),choices:[{name:"[EN] English"+("en_US"===a?t.green(" ✓ ("+c.t("wizard.current_active")+")"):""),value:"en_US"},{name:"[CN] 中文"+("zh_CN"===a?t.green(" ✓ ("+c.t("wizard.current_active")+")"):""),value:"zh_CN"},new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:"back"},{name:"x "+c.t("wizard.nav_exit"),value:"exit"}],default:"zh_CN"}]);if("exit"===o)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else if("back"===o)return;return i.setLang(o),void c.setLocale(o)}}buildPresetChoices(){const a=n(),i=a.filter(e=>e.recommended),o=a.filter(e=>!e.recommended),s=e=>({name:(c.t(e.name)!==e.name?c.t(e.name):e.name)+(e.models?t.gray(` [H:${e.models.haiku} S:${e.models.sonnet} O:${e.models.opus}]`):""),value:{type:"preset",preset:e}}),r=[];return i.length>0&&(r.push(new e.Separator(t.hex("#FF8700")("── "+c.t("wizard.recommended")+" ──"))),r.push(...i.map(s))),o.length>0&&(r.push(new e.Separator(t.gray("── "+c.t("wizard.other_models")+" ──"))),r.push(...o.map(s))),r}async handleCustomModelInput(){const a=i.getModels(),{customMode:n}=await e.prompt([{type:"list",name:"customMode",message:c.t("wizard.custom_model_mode"),choices:[{name:c.t("wizard.custom_model_single"),value:"single"},{name:c.t("wizard.custom_model_per_role"),value:"per_role"}]}]);if("single"===n){const{customModel:t}=await e.prompt([{type:"input",name:"customModel",message:c.t("wizard.input_custom_model"),default:o.sonnet}]);i.setModels({haiku:t,sonnet:t,opus:t,reasoning:t})}else{const t=await e.prompt([{type:"input",name:"haiku",message:c.t("wizard.model_haiku"),default:a.haiku},{type:"input",name:"sonnet",message:c.t("wizard.model_sonnet"),default:a.sonnet},{type:"input",name:"opus",message:c.t("wizard.model_opus"),default:a.opus},{type:"input",name:"reasoning",message:c.t("wizard.model_reasoning"),default:a.reasoning}]);i.setModels(t)}console.log(t.green("\n✓ "+c.t("wizard.models_saved")))}async configModels(a){if(!i.getApiKey())return console.log(t.red("\n"+c.t("wizard.api_key_required"))),void await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}]);for(;;){this.resetScreen(),this.createBox(c.t("wizard.config_models"));const o=[...this.buildPresetChoices()];o.push(new e.Separator),o.push({name:"✏️ "+c.t("wizard.custom_model_input"),value:{type:"custom_input"}}),o.push(new e.Separator),o.push({name:"<- "+c.t("wizard.nav_return"),value:{type:"back"}}),o.push({name:"x "+c.t("wizard.nav_exit"),value:{type:"exit"}});const{modelChoice:n}=await this.promptWithHints([{type:"list",name:"modelChoice",message:c.t("wizard.select_model_config"),choices:o}]);if("exit"===n.type)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else{if("back"===n.type)return;if("custom_input"===n.type)return await this.handleCustomModelInput(),void(a?.skipLoadPrompt||await this.promptLoadAfterModelConfig());if("preset"===n.type){const e=s(n.preset);return i.setModels(e),console.log(t.green("\n✓ "+c.t("wizard.models_saved"))),void(a?.skipLoadPrompt||await this.promptLoadAfterModelConfig())}}}}async promptLoadAfterModelConfig(){const{shouldLoad:t}=await e.prompt([{type:"list",name:"shouldLoad",message:c.t("wizard.load_config_now"),choices:[{name:c.t("wizard.load_config_yes"),value:!0},{name:c.t("wizard.load_config_later"),value:!1}]}]);t&&await this.selectAndConfigureTool()}async configApiKey(){for(;;){this.resetScreen(),this.createBox(c.t("wizard.input_api_key")),console.log(t.gray("\n💡 "+c.t("wizard.api_key_input_hint"))),console.log(t.gray(" "+c.t("wizard.api_key_get_hint",{url:"https://www.vibeapi.cn/console/token"}))),console.log();const{apiKey:o}=await e.prompt([{type:"password",name:"apiKey",message:c.t("wizard.input_your_api_key"),mask:"*"}]);if(!o||""===o.trim()){const{action:t}=await e.prompt([{type:"list",name:"action",message:c.t("wizard.select_action"),choices:[{name:c.t("wizard.retry_input"),value:"retry"},{name:"<- "+c.t("wizard.nav_return"),value:"back"}]}]);if("back"===t)return;continue}const n=a(c.t("wizard.validating_api_key")).start(),s=await m(o.trim());if(n.stop(),s.valid)return i.setApiKey(o.trim()),this.apiKeyValid=!0,void console.log(t.green("\n✓ "+c.t("wizard.api_key_valid")));{this.apiKeyValid=!1,"invalid_api_key"===s.error?console.log(t.red("\n✗ "+c.t("wizard.api_key_invalid"))):console.log(t.red("\n✗ "+c.t("wizard.api_key_network_error")));const{action:a}=await e.prompt([{type:"list",name:"action",message:c.t("wizard.select_action"),choices:[{name:c.t("wizard.retry_input"),value:"retry"},{name:"<- "+c.t("wizard.nav_return"),value:"back"}]}]);if("back"===a)return}}}async selectAndConfigureTool(){for(;;){this.resetScreen(),this.createBox(c.t("wizard.select_tool"));const{tool:a}=await this.promptWithHints([{type:"list",name:"tool",message:"🛠️ "+c.t("wizard.select_tool"),choices:[{name:"Claude Code",value:"claude-code"},{name:"OpenCode",value:"opencode"},new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:"back"},{name:"x "+c.t("wizard.nav_exit"),value:"exit"}]}]);if("exit"===a)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else if("back"===a)return;await this.configureTool(a)}}async configureTool(a){const i=l[a];if(i){if(!r.isToolInstalled(a)){console.log(t.yellow("\n"+c.t("wizard.tool_not_installed",{tool:i.displayName})));const{install:o}=await e.prompt([{type:"confirm",name:"install",message:c.t("wizard.install_tool_confirm"),default:!0}]);if(!o)return;try{await r.installTool(a)}catch{return void console.log(t.red(c.t("wizard.install_failed")))}}await this.showToolMenu(a)}}async showToolMenu(a){for(;;){this.resetScreen();const i=l[a];if(!i)return;this.createBox(i.displayName+" "+c.t("wizard.menu_title"));const{action:o}=await this.promptWithHints([{type:"list",name:"action",message:"⚙️ "+c.t("wizard.select_action"),choices:[{name:"📥 "+c.t("wizard.action_load_config",{tool:i.displayName}),value:"load"},{name:"📤 "+c.t("wizard.action_unload_config",{tool:i.displayName}),value:"unload"},new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:"back"},{name:"x "+c.t("wizard.nav_exit"),value:"exit"}]}]);if("exit"===o)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else{if("back"===o)return;"load"===o?await this.loadConfig(a):"unload"===o&&await this.unloadConfig(a)}}}async loadConfig(o){const n=i.getApiKey(),s=i.getModels();if(!n)return console.log(t.red("\n"+c.t("wizard.api_key_required"))),console.log(t.yellow(c.t("wizard.please_config_api_key_first"))),void await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}]);if(!this.apiKeyValid){const i=a(c.t("wizard.validating_api_key")).start();if(!(await m(n)).valid)return i.fail(c.t("wizard.api_key_invalid")),console.log(t.red("\n"+c.t("wizard.please_reconfig_api_key"))),void await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}]);this.apiKeyValid=!0,i.stop()}const d=a(c.t("wizard.loading_config")).start();try{r.loadPrivateConfig(o,n,s),d.succeed(c.t("wizard.config_loaded",{tool:l[o]?.displayName||o}));const{nextAction:a}=await e.prompt([{type:"list",name:"nextAction",message:c.t("wizard.what_next"),choices:[{name:c.t("wizard.exit_and_start"),value:"exit"},{name:c.t("wizard.continue_config"),value:"continue"}]}]);"exit"===a&&(console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0))}catch(a){d.fail(c.t("wizard.config_failed")),console.log(t.red(a instanceof Error?a.message:String(a))),await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}])}}async unloadConfig(i){const{confirm:o}=await e.prompt([{type:"confirm",name:"confirm",message:c.t("wizard.confirm_unload_config",{tool:l[i]?.displayName||i}),default:!1}]);if(!o)return;const n=a(c.t("wizard.unloading_config")).start();try{r.unloadPrivateConfig(i),n.succeed(c.t("wizard.config_unloaded"));const{nextAction:a}=await e.prompt([{type:"list",name:"nextAction",message:c.t("wizard.what_next"),choices:[{name:c.t("wizard.exit_and_start"),value:"exit"},{name:c.t("wizard.continue_config"),value:"continue"}]}]);"exit"===a&&(console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0))}catch(a){n.fail(c.t("wizard.config_unload_failed")),console.log(t.red(a instanceof Error?a.message:String(a))),await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}])}}async run(){const e=i.getConfig();if(e.api_key){const t=await m(e.api_key);this.apiKeyValid=t.valid}else this.apiKeyValid=!1;e.api_key&&this.apiKeyValid?await this.showMainMenu():await this.runFirstTimeSetup()}async showMainMenu(){for(;;){this.resetScreen();const a=i.getApiKey()||"",o=a.length>4?"sk-****"+a.slice(-4):"****",n=i.getModels(),r=n.opus||n.sonnet||"N/A";console.log(t.gray(` 🔑 API Key: ${o}`)+t.green(" ✓")),console.log(t.gray(` 🤖 ${c.t("wizard.current_model")}: ${r}`)),console.log("");const l=[...this.buildPresetChoices()];l.push(new e.Separator),l.push({name:"✏️ "+c.t("wizard.custom_model_input"),value:{type:"custom_input"}}),l.push({name:"🛠️ "+c.t("wizard.menu_load_to_tool"),value:{type:"load_tool"}}),l.push(new e.Separator(t.gray("── "+c.t("wizard.settings")+" ──"))),l.push({name:"🔑 "+c.t("wizard.menu_change_api_key"),value:{type:"apikey"}}),l.push({name:"🌐 "+c.t("wizard.menu_config_language"),value:{type:"language"}}),l.push(new e.Separator),l.push({name:"x "+c.t("wizard.nav_exit"),value:{type:"exit"}});const{action:d}=await this.promptWithHints([{type:"list",name:"action",message:c.t("wizard.select_model_config"),choices:l}]);if("exit"===d.type)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else if("preset"===d.type){const e=s(d.preset);i.setModels(e),console.log(t.green("\n✓ "+c.t("wizard.models_saved"))),await this.promptLoadAfterModelConfig()}else if("custom_input"===d.type)await this.handleCustomModelInput(),await this.promptLoadAfterModelConfig();else if("load_tool"===d.type)await this.selectAndConfigureTool();else if("apikey"===d.type){await this.configApiKey();const e=i.getApiKey();if(e){const t=await m(e);this.apiKeyValid=t.valid}else this.apiKeyValid=!1}else"language"===d.type&&await this.configLanguage()}}}export const wizard=Wizard.getInstance();
1
+ import e from"inquirer";import t from"chalk";import a from"ora";import{configManager as i,DEFAULT_MODELS as o}from"./config.js";import{getPresets as n,resolvePreset as s,getToolDefaultModel as r}from"./model-registry.js";import{toolManager as l,SUPPORTED_TOOLS as d}from"./tool-manager.js";import{i18n as c}from"./i18n.js";import{createBorderLine as p,createContentLine as m}from"../utils/string-width.js";import{validateApiKey as u,fetchModels as g}from"./api-validator.js";import{readFileSync as w}from"fs";import{dirname as _,join as y}from"path";import{fileURLToPath as f}from"url";const h=_(f(import.meta.url)),z=t.hex("#FF8700");export class Wizard{static instance;BOX_WIDTH=63;apiKeyValid=!1;constructor(){}static getInstance(){return Wizard.instance||(Wizard.instance=new Wizard),Wizard.instance}createBox(e){console.log(z.bold("\n"+p("╔","╗","═",this.BOX_WIDTH))),console.log(z.bold(m(e,"║","║",this.BOX_WIDTH,"center"))),console.log(z.bold(p("╚","╝","═",this.BOX_WIDTH))),console.log("")}showOperationHints(){const e=[t.gray(c.t("wizard.hint_navigate")),t.gray(c.t("wizard.hint_confirm"))];console.log(t.gray("💡 ")+e.join(t.gray(" | "))+"\n")}async promptWithHints(t){this.showOperationHints();const a=t.map(e=>"list"!==e.type||e.pageSize?e:{...e,pageSize:20});return e.prompt(a)}printBanner(){const e=65,t=c.t("wizard.banner_subtitle"),a=m(t,"║","║",e,"center"),i=m("","║","║",e,"center"),o=m(`API Helper v${function(){try{return JSON.parse(w(y(h,"..","..","package.json"),"utf-8")).version}catch{return"0.0.0"}}()}`,"║","║",e,"center"),n=[" ▄▀▄ █▀▄ █ █▄█ ██▀ █ █▀▄ ██▀ █▀▄ "," █▀█ █▀ █ █ █ █▄▄ █▄▄ █▀ █▄▄ █▀▄ "].map(t=>m(t,"║","║",e,"center")),s=[p("╔","╗","═",e),i,...n,i,o,a,p("╚","╝","═",e)];console.log(z.bold("\n"+s.join("\n")))}resetScreen(){console.clear(),this.printBanner()}async runFirstTimeSetup(){this.resetScreen(),console.log(z.bold("\n"+c.t("wizard.welcome"))),console.log(t.gray(c.t("wizard.privacy_note")+"\n")),await this.configLanguage(),await this.configApiKey(),i.getApiKey()?await this.selectAndConfigureTool():console.log(t.red("\n"+c.t("wizard.api_key_required")))}async configLanguage(){for(;;){this.resetScreen(),this.createBox(c.t("wizard.select_language"));const a=c.getLocale(),{language:o}=await this.promptWithHints([{type:"list",name:"language",message:"✨ "+c.t("wizard.select_language"),choices:[{name:"[EN] English"+("en_US"===a?t.green(" ✓ ("+c.t("wizard.current_active")+")"):""),value:"en_US"},{name:"[CN] 中文"+("zh_CN"===a?t.green(" ✓ ("+c.t("wizard.current_active")+")"):""),value:"zh_CN"},new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:"back"},{name:"x "+c.t("wizard.nav_exit"),value:"exit"}],default:"zh_CN"}]);if("exit"===o)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else if("back"===o)return;return i.setLang(o),void c.setLocale(o)}}buildPresetChoices(){const a=n(),i=a.filter(e=>e.recommended),o=a.filter(e=>!e.recommended),s=e=>({name:(c.t(e.name)!==e.name?c.t(e.name):e.name)+(e.models?t.gray(` [H:${e.models.haiku} S:${e.models.sonnet} O:${e.models.opus}]`):""),value:{type:"preset",preset:e}}),r=[];return i.length>0&&(r.push(new e.Separator(t.hex("#FF8700")("── "+c.t("wizard.recommended")+" ──"))),r.push(...i.map(s))),o.length>0&&(r.push(new e.Separator(t.gray("── "+c.t("wizard.other_models")+" ──"))),r.push(...o.map(s))),r}async handleCustomModelInput(){const a=i.getModels(),{customMode:n}=await e.prompt([{type:"list",name:"customMode",message:c.t("wizard.custom_model_mode"),choices:[{name:c.t("wizard.custom_model_single"),value:"single"},{name:c.t("wizard.custom_model_per_role"),value:"per_role"}]}]);if("single"===n){const{customModel:t}=await e.prompt([{type:"input",name:"customModel",message:c.t("wizard.input_custom_model"),default:o.sonnet}]);i.setModels({haiku:t,sonnet:t,opus:t,reasoning:t})}else{const t=await e.prompt([{type:"input",name:"haiku",message:c.t("wizard.model_haiku"),default:a.haiku},{type:"input",name:"sonnet",message:c.t("wizard.model_sonnet"),default:a.sonnet},{type:"input",name:"opus",message:c.t("wizard.model_opus"),default:a.opus},{type:"input",name:"reasoning",message:c.t("wizard.model_reasoning"),default:a.reasoning}]);i.setModels(t)}console.log(t.green("\n✓ "+c.t("wizard.models_saved")))}async configModels(a){if(!i.getApiKey())return console.log(t.red("\n"+c.t("wizard.api_key_required"))),void await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}]);for(;;){this.resetScreen(),this.createBox(c.t("wizard.config_models"));const o=[...this.buildPresetChoices()];o.push(new e.Separator),o.push({name:"✏️ "+c.t("wizard.custom_model_input"),value:{type:"custom_input"}}),o.push(new e.Separator),o.push({name:"<- "+c.t("wizard.nav_return"),value:{type:"back"}}),o.push({name:"x "+c.t("wizard.nav_exit"),value:{type:"exit"}});const{modelChoice:n}=await this.promptWithHints([{type:"list",name:"modelChoice",message:c.t("wizard.select_model_config"),choices:o}]);if("exit"===n.type)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else{if("back"===n.type)return;if("custom_input"===n.type)return await this.handleCustomModelInput(),void(a?.skipLoadPrompt||await this.promptLoadAfterModelConfig());if("preset"===n.type){const e=s(n.preset);return i.setModels(e),console.log(t.green("\n✓ "+c.t("wizard.models_saved"))),void(a?.skipLoadPrompt||await this.promptLoadAfterModelConfig())}}}}async promptLoadAfterModelConfig(){const{shouldLoad:t}=await e.prompt([{type:"list",name:"shouldLoad",message:c.t("wizard.load_config_now"),choices:[{name:c.t("wizard.load_config_yes"),value:!0},{name:c.t("wizard.load_config_later"),value:!1}]}]);t&&await this.selectAndConfigureTool()}async configApiKey(){for(;;){this.resetScreen(),this.createBox(c.t("wizard.input_api_key")),console.log(t.gray("\n💡 "+c.t("wizard.api_key_input_hint"))),console.log(t.gray(" "+c.t("wizard.api_key_get_hint",{url:"https://www.vibeapi.cn/console/token"}))),console.log();const{apiKey:o}=await e.prompt([{type:"password",name:"apiKey",message:c.t("wizard.input_your_api_key"),mask:"*"}]);if(!o||""===o.trim()){const{action:t}=await e.prompt([{type:"list",name:"action",message:c.t("wizard.select_action"),choices:[{name:c.t("wizard.retry_input"),value:"retry"},{name:"<- "+c.t("wizard.nav_return"),value:"back"}]}]);if("back"===t)return;continue}const n=a(c.t("wizard.validating_api_key")).start(),s=await u(o.trim());if(n.stop(),s.valid)return i.setApiKey(o.trim()),this.apiKeyValid=!0,void console.log(t.green("\n✓ "+c.t("wizard.api_key_valid")));{this.apiKeyValid=!1,"invalid_api_key"===s.error?console.log(t.red("\n✗ "+c.t("wizard.api_key_invalid"))):console.log(t.red("\n✗ "+c.t("wizard.api_key_network_error")));const{action:a}=await e.prompt([{type:"list",name:"action",message:c.t("wizard.select_action"),choices:[{name:c.t("wizard.retry_input"),value:"retry"},{name:"<- "+c.t("wizard.nav_return"),value:"back"}]}]);if("back"===a)return}}}async selectAndConfigureTool(){for(;;){this.resetScreen(),this.createBox(c.t("wizard.select_tool"));const a=l.getSupportedTools().map(e=>({name:e.displayName,value:e.name})),{tool:i}=await this.promptWithHints([{type:"list",name:"tool",message:"🛠️ "+c.t("wizard.select_tool"),choices:[...a,new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:"back"},{name:"x "+c.t("wizard.nav_exit"),value:"exit"}]}]);if("exit"===i)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else if("back"===i)return;await this.configureTool(i)}}async configureTool(a){const i=d[a];if(i){if(!l.isToolInstalled(a)){console.log(t.yellow("\n"+c.t("wizard.tool_not_installed",{tool:i.displayName})));const{install:o}=await e.prompt([{type:"confirm",name:"install",message:c.t("wizard.install_tool_confirm"),default:!0}]);if(!o)return;try{await l.installTool(a)}catch{return void console.log(t.red(c.t("wizard.install_failed")))}}await this.showToolMenu(a)}}async showToolMenu(a){for(;;){this.resetScreen();const i=d[a];if(!i)return;this.createBox(i.displayName+" "+c.t("wizard.menu_title"));const{action:o}=await this.promptWithHints([{type:"list",name:"action",message:"⚙️ "+c.t("wizard.select_action"),choices:[{name:"📥 "+c.t("wizard.action_load_config",{tool:i.displayName}),value:"load"},{name:"📤 "+c.t("wizard.action_unload_config",{tool:i.displayName}),value:"unload"},new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:"back"},{name:"x "+c.t("wizard.nav_exit"),value:"exit"}]}]);if("exit"===o)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else{if("back"===o)return;"load"===o?await this.configureToolModel(a)&&await this.loadConfig(a):"unload"===o&&await this.unloadConfig(a)}}}singleModelOverride(e){const t=e.trim();return/claude/i.test(t)?{opus:t}:{haiku:t,sonnet:t,opus:t,reasoning:t}}async configureToolModel(o){const n=d[o];if(!n)return!1;const l="claude-code"===o,p=r(o),m=l||!p?c.t("wizard.model_builtin_default"):p;this.resetScreen(),this.createBox(n.displayName+" · "+c.t("wizard.config_models"));const u=[{name:"✅ "+c.t("wizard.use_default_model",{model:m}),value:{type:"default"}},{name:"🌐 "+c.t("wizard.fetch_models_from_api"),value:{type:"fetch"}},...this.buildPresetChoices(),new e.Separator,{name:"✏️ "+c.t("wizard.input_custom_model"),value:{type:"custom"}},new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:{type:"back"}}],{choice:w}=await this.promptWithHints([{type:"list",name:"choice",message:c.t("wizard.select_tool_model",{tool:n.displayName}),choices:u}]);if("back"===w.type)return!1;if("default"===w.type)i.setToolModel(o,null);else if("preset"===w.type)i.setToolModel(o,s(w.preset));else if("custom"===w.type){const{model:t}=await e.prompt([{type:"input",name:"model",message:c.t("wizard.input_custom_model"),default:!l&&p?p:void 0}]),a=(t||"").trim();i.setToolModel(o,a?this.singleModelOverride(a):null)}else if("fetch"===w.type){const n=i.getApiKey();if(!n)return console.log(t.red("\n"+c.t("wizard.api_key_required"))),!1;const s=a(c.t("wizard.fetching_models")).start(),r=await g(n);let d;if(s.stop(),r.ok&&r.models.length>0){const{model:t}=await e.prompt([{type:"list",name:"model",message:c.t("wizard.select_fetched_model"),pageSize:20,choices:[...r.models,new e.Separator,{name:"<- "+c.t("wizard.nav_return"),value:"__back__"}]}]);if("__back__"===t)return!1;d=t}else{console.log(t.yellow("\n"+c.t("wizard.fetch_models_failed")));const{model:a}=await e.prompt([{type:"input",name:"model",message:c.t("wizard.input_custom_model"),default:!l&&p?p:void 0}]);d=(a||"").trim()}i.setToolModel(o,d?this.singleModelOverride(d):null)}return console.log(t.green("\n✓ "+c.t("wizard.models_saved"))),l&&console.log(t.gray("💡 "+c.t("wizard.claude_model_hint"))),!0}async loadConfig(o){const n=i.getApiKey(),s=i.getModelsForTool(o);if(!n)return console.log(t.red("\n"+c.t("wizard.api_key_required"))),console.log(t.yellow(c.t("wizard.please_config_api_key_first"))),void await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}]);if(!this.apiKeyValid){const i=a(c.t("wizard.validating_api_key")).start();if(!(await u(n)).valid)return i.fail(c.t("wizard.api_key_invalid")),console.log(t.red("\n"+c.t("wizard.please_reconfig_api_key"))),void await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}]);this.apiKeyValid=!0,i.stop()}const r=a(c.t("wizard.loading_config")).start();try{l.loadPrivateConfig(o,n,s),r.succeed(c.t("wizard.config_loaded",{tool:d[o]?.displayName||o}));const{nextAction:a}=await e.prompt([{type:"list",name:"nextAction",message:c.t("wizard.what_next"),choices:[{name:c.t("wizard.exit_and_start"),value:"exit"},{name:c.t("wizard.continue_config"),value:"continue"}]}]);"exit"===a&&(console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0))}catch(a){r.fail(c.t("wizard.config_failed")),console.log(t.red(a instanceof Error?a.message:String(a))),await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}])}}async unloadConfig(i){const{confirm:o}=await e.prompt([{type:"confirm",name:"confirm",message:c.t("wizard.confirm_unload_config",{tool:d[i]?.displayName||i}),default:!1}]);if(!o)return;const n=a(c.t("wizard.unloading_config")).start();try{l.unloadPrivateConfig(i),n.succeed(c.t("wizard.config_unloaded"));const{nextAction:a}=await e.prompt([{type:"list",name:"nextAction",message:c.t("wizard.what_next"),choices:[{name:c.t("wizard.exit_and_start"),value:"exit"},{name:c.t("wizard.continue_config"),value:"continue"}]}]);"exit"===a&&(console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0))}catch(a){n.fail(c.t("wizard.config_unload_failed")),console.log(t.red(a instanceof Error?a.message:String(a))),await e.prompt([{type:"input",name:"continue",message:c.t("wizard.press_enter")}])}}async run(){const e=i.getConfig();if(e.api_key){const t=await u(e.api_key);this.apiKeyValid=t.valid}else this.apiKeyValid=!1;e.api_key&&this.apiKeyValid?await this.showMainMenu():await this.runFirstTimeSetup()}async showMainMenu(){for(;;){this.resetScreen();const a=i.getApiKey()||"",o=a.length>4?"sk-****"+a.slice(-4):"****",n=i.getModels(),r=n.opus||n.sonnet||"N/A";console.log(t.gray(` 🔑 API Key: ${o}`)+t.green(" ✓")),console.log(t.gray(` 🤖 ${c.t("wizard.current_model")}: ${r}`)),console.log("");const l=[...this.buildPresetChoices()];l.push(new e.Separator),l.push({name:"✏️ "+c.t("wizard.custom_model_input"),value:{type:"custom_input"}}),l.push({name:"🛠️ "+c.t("wizard.menu_load_to_tool"),value:{type:"load_tool"}}),l.push(new e.Separator(t.gray("── "+c.t("wizard.settings")+" ──"))),l.push({name:"🔑 "+c.t("wizard.menu_change_api_key"),value:{type:"apikey"}}),l.push({name:"🌐 "+c.t("wizard.menu_config_language"),value:{type:"language"}}),l.push(new e.Separator),l.push({name:"x "+c.t("wizard.nav_exit"),value:{type:"exit"}});const{action:d}=await this.promptWithHints([{type:"list",name:"action",message:c.t("wizard.select_model_config"),choices:l}]);if("exit"===d.type)console.log(t.green("\n👋 "+c.t("wizard.goodbye_message"))),process.exit(0);else if("preset"===d.type){const e=s(d.preset);i.setModels(e),console.log(t.green("\n✓ "+c.t("wizard.models_saved"))),await this.promptLoadAfterModelConfig()}else if("custom_input"===d.type)await this.handleCustomModelInput(),await this.promptLoadAfterModelConfig();else if("load_tool"===d.type)await this.selectAndConfigureTool();else if("apikey"===d.type){await this.configApiKey();const e=i.getApiKey();if(e){const t=await u(e);this.apiKeyValid=t.valid}else this.apiKeyValid=!1}else"language"===d.type&&await this.configLanguage()}}}export const wizard=Wizard.getInstance();
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/lib/wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/lib/wizard.ts"],"names":[],"mappings":"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"}