@vibeapi/api-helper 0.0.14 → 0.0.16

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 (41) hide show
  1. package/dist/cli.js +1 -17
  2. package/dist/commands/auth.js +1 -119
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/config.js +1 -130
  5. package/dist/commands/doctor.js +1 -105
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/index.js +1 -5
  8. package/dist/commands/lang.js +1 -28
  9. package/dist/index.js +1 -10
  10. package/dist/lib/api-validator.js +1 -79
  11. package/dist/lib/api-validator.js.map +1 -1
  12. package/dist/lib/claude-code-manager.js +1 -269
  13. package/dist/lib/claude-code-manager.js.map +1 -1
  14. package/dist/lib/command.js +1 -168
  15. package/dist/lib/command.js.map +1 -1
  16. package/dist/lib/config.d.ts +4 -6
  17. package/dist/lib/config.js +1 -226
  18. package/dist/lib/config.js.map +1 -1
  19. package/dist/lib/i18n.js +1 -149
  20. package/dist/lib/model-registry.d.ts +20 -0
  21. package/dist/lib/model-registry.js +1 -0
  22. package/dist/lib/model-registry.js.map +1 -0
  23. package/dist/lib/opencode-manager.js +1 -134
  24. package/dist/lib/opencode-manager.js.map +1 -1
  25. package/dist/lib/settings-template.d.ts +6 -0
  26. package/dist/lib/settings-template.js +1 -0
  27. package/dist/lib/settings-template.js.map +1 -0
  28. package/dist/lib/tool-manager.js +1 -280
  29. package/dist/lib/tool-manager.js.map +1 -1
  30. package/dist/lib/wizard.d.ts +3 -3
  31. package/dist/lib/wizard.js +1 -625
  32. package/dist/lib/wizard.js.map +1 -1
  33. package/dist/locales/en_US.json +9 -7
  34. package/dist/locales/zh_CN.json +8 -6
  35. package/dist/models.json +44 -0
  36. package/dist/settings-template.json +12 -0
  37. package/dist/utils/logger.js +1 -202
  38. package/dist/utils/string-width.js +1 -131
  39. package/models.json +44 -0
  40. package/package.json +75 -73
  41. package/settings-template.json +12 -0
package/dist/cli.js CHANGED
@@ -1,18 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import { Command } from './lib/command.js';
3
- import { i18n } from './lib/i18n.js';
4
- import { logger } from './utils/logger.js';
5
- async function main() {
6
- const args = process.argv.slice(2);
7
- const command = new Command();
8
- try {
9
- await command.execute(args);
10
- }
11
- catch (error) {
12
- logger.logError('CLI', error);
13
- console.error(`${i18n.t('cli.error_general')}`, error instanceof Error ? error.message : String(error));
14
- process.exit(1);
15
- }
16
- }
17
- main();
18
- //# sourceMappingURL=cli.js.map
2
+ import{Command as r}from"./lib/command.js";import{i18n as o}from"./lib/i18n.js";import{logger as e}from"./utils/logger.js";!async function(){const s=process.argv.slice(2),i=new r;try{await i.execute(s)}catch(r){e.logError("CLI",r),console.error(`${o.t("cli.error_general")}`,r instanceof Error?r.message:String(r)),process.exit(1)}}();
@@ -1,119 +1 @@
1
- import inquirer from 'inquirer';
2
- import ora from 'ora';
3
- import { configManager, DEFAULT_MODELS } from '../lib/config.js';
4
- import { i18n } from '../lib/i18n.js';
5
- import chalk from 'chalk';
6
- import { validateApiKey } from '../lib/api-validator.js';
7
- import { toolManager } from '../lib/tool-manager.js';
8
- const SUPPORTED_RELOAD_TOOLS = ['claude', 'claude-code', 'opencode'];
9
- async function reloadToTool(tool) {
10
- const normalizedTool = tool.toLowerCase();
11
- if (!SUPPORTED_RELOAD_TOOLS.includes(normalizedTool)) {
12
- console.log(chalk.red(i18n.t('auth.reload_tool_not_supported', { tool })));
13
- return;
14
- }
15
- const apiKey = configManager.getApiKey();
16
- const models = configManager.getModels() || DEFAULT_MODELS;
17
- if (!apiKey) {
18
- console.log(chalk.red(i18n.t('auth.reload_missing_config')));
19
- return;
20
- }
21
- const toolDisplayName = normalizedTool === 'opencode' ? 'OpenCode' : 'Claude Code';
22
- console.log(chalk.blue(i18n.t('auth.reloading', { tool: toolDisplayName })));
23
- try {
24
- const toolName = normalizedTool === 'opencode' ? 'opencode' : 'claude-code';
25
- toolManager.loadPrivateConfig(toolName, apiKey, models);
26
- await new Promise(resolve => setTimeout(resolve, 800));
27
- console.log(chalk.green(i18n.t('auth.reloaded', { tool: toolDisplayName })));
28
- }
29
- catch (error) {
30
- console.log(chalk.red(i18n.t('auth.reload_failed')));
31
- if (error instanceof Error) {
32
- console.log(chalk.red(error.message));
33
- }
34
- }
35
- }
36
- async function revokeApiKey() {
37
- const { confirm } = await inquirer.prompt([
38
- {
39
- type: 'confirm',
40
- name: 'confirm',
41
- message: i18n.t('auth.revoke_confirm'),
42
- default: false
43
- }
44
- ]);
45
- if (confirm) {
46
- configManager.revokeApiKey();
47
- console.log(chalk.green(i18n.t('auth.revoked')));
48
- }
49
- else {
50
- console.log(chalk.yellow(i18n.t('auth.not_revoked')));
51
- }
52
- }
53
- async function interactiveAuth() {
54
- const { token } = await inquirer.prompt([
55
- {
56
- type: 'password',
57
- name: 'token',
58
- message: i18n.t('auth.token_prompt'),
59
- validate: (input) => {
60
- if (!input || input.trim().length === 0) {
61
- return i18n.t('auth.token_required');
62
- }
63
- return true;
64
- }
65
- }
66
- ]);
67
- const spinner = ora(i18n.t('wizard.validating_api_key')).start();
68
- const validationResult = await validateApiKey(token.trim());
69
- if (!validationResult.valid) {
70
- if (validationResult.error === 'invalid_api_key') {
71
- spinner.fail(chalk.red(i18n.t('wizard.api_key_invalid')));
72
- }
73
- else {
74
- spinner.fail(chalk.red(i18n.t('wizard.api_key_network_error')));
75
- }
76
- return;
77
- }
78
- spinner.succeed(chalk.green(i18n.t('wizard.api_key_valid')));
79
- configManager.setApiKey(token.trim());
80
- console.log(chalk.green(i18n.t('auth.saved')));
81
- }
82
- async function directAuth(token) {
83
- const spinner = ora(i18n.t('wizard.validating_api_key')).start();
84
- const validationResult = await validateApiKey(token);
85
- await new Promise(resolve => setTimeout(resolve, 800));
86
- if (!validationResult.valid) {
87
- if (validationResult.error === 'invalid_api_key') {
88
- spinner.fail(chalk.red(i18n.t('wizard.api_key_invalid')));
89
- }
90
- else {
91
- spinner.fail(chalk.red(i18n.t('wizard.api_key_network_error')));
92
- }
93
- }
94
- else {
95
- configManager.setApiKey(token);
96
- spinner.succeed(chalk.green(i18n.t('auth.saved')));
97
- }
98
- }
99
- export async function authCommand(args) {
100
- if (args.length === 0) {
101
- await interactiveAuth();
102
- return;
103
- }
104
- if (args[0] === 'revoke') {
105
- await revokeApiKey();
106
- return;
107
- }
108
- if (args[0] === 'reload') {
109
- await reloadToTool(args[1] || '');
110
- return;
111
- }
112
- // 直接设置 API Key: chelper auth <token>
113
- if (args.length >= 1) {
114
- await directAuth(args[0]);
115
- return;
116
- }
117
- console.log(i18n.t('auth.set_usage'));
118
- }
119
- //# sourceMappingURL=auth.js.map
1
+ import e from"inquirer";import o from"ora";import{configManager as t,DEFAULT_MODELS as a}from"../lib/config.js";import{i18n as i}from"../lib/i18n.js";import r from"chalk";import{validateApiKey as n}from"../lib/api-validator.js";import{toolManager as l}from"../lib/tool-manager.js";const d=["claude","claude-code","opencode"];export async function authCommand(c){0!==c.length?"revoke"!==c[0]?"reload"!==c[0]?c.length>=1?await async function(e){const a=o(i.t("wizard.validating_api_key")).start(),l=await n(e);l.valid?(t.setApiKey(e),a.succeed(r.green(i.t("auth.saved")))):"invalid_api_key"===l.error?a.fail(r.red(i.t("wizard.api_key_invalid"))):a.fail(r.red(i.t("wizard.api_key_network_error")))}(c[0]):console.log(i.t("auth.set_usage")):await async function(e){const o=e.toLowerCase();if(!d.includes(o))return void console.log(r.red(i.t("auth.reload_tool_not_supported",{tool:e})));const n=t.getApiKey(),c=t.getModels()||a;if(!n)return void console.log(r.red(i.t("auth.reload_missing_config")));const s="opencode"===o?"OpenCode":"Claude Code";console.log(r.blue(i.t("auth.reloading",{tool:s})));try{const e="opencode"===o?"opencode":"claude-code";l.loadPrivateConfig(e,n,c),console.log(r.green(i.t("auth.reloaded",{tool:s})))}catch(e){console.log(r.red(i.t("auth.reload_failed"))),e instanceof Error&&console.log(r.red(e.message))}}(c[1]||""):await async function(){const{confirm:o}=await e.prompt([{type:"confirm",name:"confirm",message:i.t("auth.revoke_confirm"),default:!1}]);o?(t.revokeApiKey(),console.log(r.green(i.t("auth.revoked")))):console.log(r.yellow(i.t("auth.not_revoked")))}():await async function(){const{token:a}=await e.prompt([{type:"password",name:"token",message:i.t("auth.token_prompt"),validate:e=>!(!e||0===e.trim().length)||i.t("auth.token_required")}]),l=o(i.t("wizard.validating_api_key")).start(),d=await n(a.trim());d.valid?(l.succeed(r.green(i.t("wizard.api_key_valid"))),t.setApiKey(a.trim()),console.log(r.green(i.t("auth.saved")))):"invalid_api_key"===d.error?l.fail(r.red(i.t("wizard.api_key_invalid"))):l.fail(r.red(i.t("wizard.api_key_network_error")))}()}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAErE,KAAK,UAAU,YAAY,CAAC,IAAY;IACpC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC;IAE3D,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO;IACX,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;IAEnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;QAC5E,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACtC;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;YACtC,OAAO,EAAE,KAAK;SACjB;KACJ,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACV,aAAa,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe;IAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACpC;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACpC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,gBAAgB,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO;IACX,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC7D,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAa;IACnC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,gBAAgB,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO;IACX,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,YAAY,EAAE,CAAC;QACrB,OAAO;IACX,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO;IACX,CAAC;IAED,qCAAqC;IACrC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1,130 +1 @@
1
- import inquirer from 'inquirer';
2
- import chalk from 'chalk';
3
- import { wizard } from '../lib/wizard.js';
4
- import { toolManager, SUPPORTED_TOOLS } from '../lib/tool-manager.js';
5
- import { i18n } from '../lib/i18n.js';
6
- export async function configCommand(args) {
7
- const subCommand = args[0];
8
- const toolName = args[1];
9
- // If no arguments, enter interactive selection
10
- if (!subCommand) {
11
- const { selectedTool } = await inquirer.prompt([
12
- {
13
- type: 'list',
14
- name: 'selectedTool',
15
- message: i18n.t('wizard.select_tool'),
16
- choices: Object.values(SUPPORTED_TOOLS).map(tool => ({
17
- name: `${tool.displayName} (${tool.name})`,
18
- value: tool.name
19
- }))
20
- }
21
- ]);
22
- if (!toolManager.isToolInstalled(selectedTool)) {
23
- console.log(chalk.yellow(`\n${i18n.t('wizard.tool_not_installed', { tool: SUPPORTED_TOOLS[selectedTool].displayName })}`));
24
- const { shouldInstall } = await inquirer.prompt([
25
- {
26
- type: 'confirm',
27
- name: 'shouldInstall',
28
- message: i18n.t('wizard.install_tool_confirm'),
29
- default: true
30
- }
31
- ]);
32
- if (shouldInstall) {
33
- try {
34
- await toolManager.installTool(selectedTool);
35
- await new Promise(resolve => setTimeout(resolve, 600));
36
- }
37
- catch (error) {
38
- console.error(chalk.red(i18n.t('install.install_failed_detail')));
39
- if (error.message) {
40
- console.error(chalk.gray(error.message));
41
- }
42
- await new Promise(resolve => setTimeout(resolve, 600));
43
- const { skipInstall } = await inquirer.prompt([
44
- {
45
- type: 'list',
46
- name: 'skipInstall',
47
- message: i18n.t('install.skip_install_confirm'),
48
- choices: [
49
- { name: i18n.t('install.skip_install_yes'), value: true },
50
- { name: i18n.t('install.skip_install_no'), value: false }
51
- ]
52
- }
53
- ]);
54
- if (!skipInstall) {
55
- return;
56
- }
57
- }
58
- }
59
- else {
60
- console.log(chalk.yellow(i18n.t('wizard.install_skipped')));
61
- return;
62
- }
63
- }
64
- await wizard.showToolMenu(selectedTool);
65
- return;
66
- }
67
- // Handle claude-code subcommand
68
- if (subCommand === 'claude-code' || toolName === 'claude-code') {
69
- if (!toolManager.isToolInstalled('claude-code')) {
70
- console.log(chalk.yellow(i18n.t('wizard.tool_not_installed', { tool: 'Claude Code' })));
71
- const { shouldInstall } = await inquirer.prompt([
72
- {
73
- type: 'confirm',
74
- name: 'shouldInstall',
75
- message: i18n.t('wizard.install_tool_confirm'),
76
- default: true
77
- }
78
- ]);
79
- if (shouldInstall) {
80
- try {
81
- await toolManager.installTool('claude-code');
82
- await new Promise(resolve => setTimeout(resolve, 600));
83
- }
84
- catch (error) {
85
- console.error(chalk.red(i18n.t('install.install_failed_detail')));
86
- if (error.message) {
87
- console.error(chalk.gray(error.message));
88
- }
89
- await new Promise(resolve => setTimeout(resolve, 600));
90
- const { skipInstall } = await inquirer.prompt([
91
- {
92
- type: 'list',
93
- name: 'skipInstall',
94
- message: i18n.t('install.skip_install_confirm'),
95
- choices: [
96
- { name: i18n.t('install.skip_install_yes'), value: true },
97
- { name: i18n.t('install.skip_install_no'), value: false }
98
- ]
99
- }
100
- ]);
101
- if (!skipInstall) {
102
- return;
103
- }
104
- }
105
- }
106
- else {
107
- console.log(chalk.yellow(i18n.t('wizard.install_skipped')));
108
- return;
109
- }
110
- }
111
- await wizard.showToolMenu('claude-code');
112
- return;
113
- }
114
- // Other tools support
115
- if (SUPPORTED_TOOLS[subCommand]) {
116
- if (!toolManager.isToolInstalled(subCommand)) {
117
- console.log(chalk.yellow(i18n.t('wizard.tool_not_installed', { tool: SUPPORTED_TOOLS[subCommand].displayName })));
118
- return;
119
- }
120
- await wizard.showToolMenu(subCommand);
121
- return;
122
- }
123
- console.error(chalk.red(`Unknown command: ${subCommand}`));
124
- console.log(chalk.gray('Usage: chelper config [tool-name]'));
125
- console.log(chalk.gray('Available tools:'));
126
- Object.values(SUPPORTED_TOOLS).forEach(tool => {
127
- console.log(chalk.gray(` - ${tool.name}: ${tool.displayName}`));
128
- });
129
- }
130
- //# sourceMappingURL=config.js.map
1
+ import l from"inquirer";import o from"chalk";import{wizard as e}from"../lib/wizard.js";import{toolManager as a,SUPPORTED_TOOLS as t}from"../lib/tool-manager.js";import{i18n as s}from"../lib/i18n.js";export async function configCommand(i){const n=i[0],r=i[1];if(!n){const{selectedTool:i}=await l.prompt([{type:"list",name:"selectedTool",message:s.t("wizard.select_tool"),choices:Object.values(t).map(l=>({name:`${l.displayName} (${l.name})`,value:l.name}))}]);if(!a.isToolInstalled(i)){console.log(o.yellow(`\n${s.t("wizard.tool_not_installed",{tool:t[i].displayName})}`));const{shouldInstall:e}=await l.prompt([{type:"confirm",name:"shouldInstall",message:s.t("wizard.install_tool_confirm"),default:!0}]);if(!e)return void console.log(o.yellow(s.t("wizard.install_skipped")));try{await a.installTool(i),await new Promise(l=>setTimeout(l,600))}catch(e){console.error(o.red(s.t("install.install_failed_detail"))),e.message&&console.error(o.gray(e.message)),await new Promise(l=>setTimeout(l,600));const{skipInstall:a}=await l.prompt([{type:"list",name:"skipInstall",message:s.t("install.skip_install_confirm"),choices:[{name:s.t("install.skip_install_yes"),value:!0},{name:s.t("install.skip_install_no"),value:!1}]}]);if(!a)return}}return void await e.showToolMenu(i)}if("claude-code"!==n&&"claude-code"!==r){if(t[n])return a.isToolInstalled(n)?void await e.showToolMenu(n):void console.log(o.yellow(s.t("wizard.tool_not_installed",{tool:t[n].displayName})));console.error(o.red(`Unknown command: ${n}`)),console.log(o.gray("Usage: chelper config [tool-name]")),console.log(o.gray("Available tools:")),Object.values(t).forEach(l=>{console.log(o.gray(` - ${l.name}: ${l.displayName}`))})}else{if(!a.isToolInstalled("claude-code")){console.log(o.yellow(s.t("wizard.tool_not_installed",{tool:"Claude Code"})));const{shouldInstall:e}=await l.prompt([{type:"confirm",name:"shouldInstall",message:s.t("wizard.install_tool_confirm"),default:!0}]);if(!e)return void console.log(o.yellow(s.t("wizard.install_skipped")));try{await a.installTool("claude-code"),await new Promise(l=>setTimeout(l,600))}catch(e){console.error(o.red(s.t("install.install_failed_detail"))),e.message&&console.error(o.gray(e.message)),await new Promise(l=>setTimeout(l,600));const{skipInstall:a}=await l.prompt([{type:"list",name:"skipInstall",message:s.t("install.skip_install_confirm"),choices:[{name:s.t("install.skip_install_yes"),value:!0},{name:s.t("install.skip_install_no"),value:!1}]}]);if(!a)return}}await e.showToolMenu("claude-code")}}
@@ -1,105 +1 @@
1
- import chalk from 'chalk';
2
- import ora from 'ora';
3
- import { configManager } from '../lib/config.js';
4
- import { toolManager } from '../lib/tool-manager.js';
5
- import { i18n } from '../lib/i18n.js';
6
- import { validateApiKey } from '../lib/api-validator.js';
7
- export async function doctorCommand() {
8
- const spinner = ora(i18n.t('doctor.checking')).start();
9
- const results = [];
10
- // Check 1: PATH environment variable
11
- spinner.text = i18n.t('doctor.check_path');
12
- try {
13
- const path = process.env.PATH || '';
14
- results.push({
15
- name: 'PATH',
16
- passed: path.length > 0,
17
- message: path.length > 0 ? undefined : 'PATH is empty'
18
- });
19
- }
20
- catch (error) {
21
- results.push({
22
- name: 'PATH',
23
- passed: false,
24
- message: String(error)
25
- });
26
- }
27
- await new Promise(resolve => setTimeout(resolve, 800));
28
- // Check 2: API Key & Network (combined check)
29
- spinner.text = i18n.t('doctor.check_api_key_network');
30
- const apiKey = configManager.getApiKey();
31
- if (!apiKey) {
32
- results.push({
33
- name: 'API Key & Network',
34
- passed: false,
35
- message: chalk.yellow(i18n.t('doctor.api_key_missing'))
36
- });
37
- }
38
- else {
39
- const validationResult = await validateApiKey(apiKey);
40
- if (validationResult.valid) {
41
- results.push({
42
- name: 'API Key & Network',
43
- passed: true
44
- });
45
- }
46
- else if (validationResult.error === 'invalid_api_key') {
47
- results.push({
48
- name: 'API Key & Network',
49
- passed: false,
50
- message: chalk.yellow(i18n.t('doctor.api_key_invalid'))
51
- });
52
- }
53
- else {
54
- results.push({
55
- name: 'API Key & Network',
56
- passed: false,
57
- message: chalk.yellow(i18n.t('doctor.network_error'))
58
- });
59
- }
60
- }
61
- await new Promise(resolve => setTimeout(resolve, 800));
62
- // Check 3: Git Env when using the windows platform and claude-code tool
63
- if (process.platform === 'win32' && toolManager.isToolInstalled('claude-code')) {
64
- spinner.text = i18n.t('doctor.check_git_env');
65
- const gitInstalled = toolManager.isGitInstalled();
66
- results.push({
67
- name: 'Git Environment',
68
- passed: gitInstalled,
69
- message: gitInstalled ? undefined : chalk.yellow(i18n.t('doctor.git_not_installed'))
70
- });
71
- await new Promise(resolve => setTimeout(resolve, 800));
72
- }
73
- // Check 4: Installed tools
74
- spinner.text = i18n.t('doctor.check_tools');
75
- const installedTools = toolManager.getInstalledTools();
76
- results.push({
77
- name: 'Installed Tools',
78
- passed: installedTools.length > 0,
79
- message: installedTools.length > 0
80
- ? `${installedTools.map(t => toolManager.getSupportedTools().find(st => st.name === t)?.displayName || t).join(', ')}`
81
- : chalk.yellow('No tools installed')
82
- });
83
- await new Promise(resolve => setTimeout(resolve, 800));
84
- spinner.stop();
85
- // Display results
86
- console.log('\n' + chalk.bold('Health Check Results:') + '\n');
87
- for (const result of results) {
88
- const icon = result.passed ? chalk.green('✓') : chalk.red('✗');
89
- const status = result.passed ? chalk.green('PASS') : chalk.red('FAIL');
90
- console.log(`${icon} ${result.name}: ${status}`);
91
- if (result.message) {
92
- console.log(` ${result.message}`);
93
- }
94
- }
95
- const allPassed = results.every(r => r.passed);
96
- if (allPassed) {
97
- console.log('\n' + chalk.green.bold(i18n.t('doctor.all_good')));
98
- }
99
- else {
100
- console.log('\n' + chalk.yellow.bold(i18n.t('doctor.suggestions')));
101
- console.log(chalk.gray(' - Run "chelper auth" to configure API Key'));
102
- console.log(chalk.gray(' - Run "chelper" to enter interactive setup'));
103
- }
104
- }
105
- //# sourceMappingURL=doctor.js.map
1
+ import e from"chalk";import o from"ora";import{configManager as s}from"../lib/config.js";import{toolManager as t}from"../lib/tool-manager.js";import{i18n as l}from"../lib/i18n.js";import{validateApiKey as n}from"../lib/api-validator.js";export async function doctorCommand(){const a=o(l.t("doctor.checking")).start(),r=[];a.text=l.t("doctor.check_path");try{const e=process.env.PATH||"";r.push({name:"PATH",passed:e.length>0,message:e.length>0?void 0:"PATH is empty"})}catch(e){r.push({name:"PATH",passed:!1,message:String(e)})}a.text=l.t("doctor.check_api_key_network");const c=s.getApiKey();if(c){const o=await n(c);o.valid?r.push({name:"API Key & Network",passed:!0}):"invalid_api_key"===o.error?r.push({name:"API Key & Network",passed:!1,message:e.yellow(l.t("doctor.api_key_invalid"))}):r.push({name:"API Key & Network",passed:!1,message:e.yellow(l.t("doctor.network_error"))})}else r.push({name:"API Key & Network",passed:!1,message:e.yellow(l.t("doctor.api_key_missing"))});if("win32"===process.platform&&t.isToolInstalled("claude-code")){a.text=l.t("doctor.check_git_env");const o=t.isGitInstalled();r.push({name:"Git Environment",passed:o,message:o?void 0:e.yellow(l.t("doctor.git_not_installed"))})}a.text=l.t("doctor.check_tools");const i=t.getInstalledTools();r.push({name:"Installed Tools",passed:i.length>0,message:i.length>0?`${i.map(e=>t.getSupportedTools().find(o=>o.name===e)?.displayName||e).join(", ")}`:e.yellow("No tools installed")}),a.stop(),console.log("\n"+e.bold("Health Check Results:")+"\n");for(const o of r){const s=o.passed?e.green("✓"):e.red("✗"),t=o.passed?e.green("PASS"):e.red("FAIL");console.log(`${s} ${o.name}: ${t}`),o.message&&console.log(` ${o.message}`)}r.every(e=>e.passed)?console.log("\n"+e.green.bold(l.t("doctor.all_good"))):(console.log("\n"+e.yellow.bold(l.t("doctor.suggestions"))),console.log(e.gray(' - Run "chelper auth" to configure API Key')),console.log(e.gray(' - Run "chelper" to enter interactive setup')))}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1 @@
1
- export { langCommand } from './lang.js';
2
- export { authCommand } from './auth.js';
3
- export { doctorCommand } from './doctor.js';
4
- export { configCommand } from './config.js';
5
- //# sourceMappingURL=index.js.map
1
+ export{langCommand}from"./lang.js";export{authCommand}from"./auth.js";export{doctorCommand}from"./doctor.js";export{configCommand}from"./config.js";
@@ -1,28 +1 @@
1
- import { configManager } from '../lib/config.js';
2
- import { i18n } from '../lib/i18n.js';
3
- import chalk from 'chalk';
4
- export async function langCommand(args) {
5
- if (args.length === 0 || args[0] === 'show') {
6
- const currentLang = configManager.getLang();
7
- console.log(`${i18n.t('lang.current')}: ${chalk.cyan(currentLang)}`);
8
- console.log(`${i18n.t('lang.available')}: ${i18n.getAvailableLocales().join(', ')}`);
9
- return;
10
- }
11
- if (args[0] === 'set' && args.length >= 2) {
12
- const newLang = args[1];
13
- const availableLocales = i18n.getAvailableLocales();
14
- if (!availableLocales.includes(newLang)) {
15
- console.error(chalk.red(i18n.t('lang.invalid', { lang: newLang })));
16
- console.log(`${i18n.t('lang.available')}: ${availableLocales.join(', ')}`);
17
- return;
18
- }
19
- const oldLang = configManager.getLang();
20
- configManager.setLang(newLang);
21
- i18n.loadFromConfig(newLang);
22
- console.log(chalk.green(i18n.t('lang.changed', { from: oldLang, to: newLang })));
23
- return;
24
- }
25
- console.log(i18n.t('lang.show_usage'));
26
- console.log(i18n.t('lang.set_usage'));
27
- }
28
- //# sourceMappingURL=lang.js.map
1
+ import{configManager as o}from"../lib/config.js";import{i18n as n}from"../lib/i18n.js";import l from"chalk";export async function langCommand(e){if(0===e.length||"show"===e[0]){const e=o.getLang();return console.log(`${n.t("lang.current")}: ${l.cyan(e)}`),void console.log(`${n.t("lang.available")}: ${n.getAvailableLocales().join(", ")}`)}if("set"===e[0]&&e.length>=2){const a=e[1],g=n.getAvailableLocales();if(!g.includes(a))return console.error(l.red(n.t("lang.invalid",{lang:a}))),void console.log(`${n.t("lang.available")}: ${g.join(", ")}`);const t=o.getLang();return o.setLang(a),n.loadFromConfig(a),void console.log(l.green(n.t("lang.changed",{from:t,to:a})))}console.log(n.t("lang.show_usage")),console.log(n.t("lang.set_usage"))}
package/dist/index.js CHANGED
@@ -1,10 +1 @@
1
- export { Command } from './lib/command.js';
2
- export { Wizard, wizard } from './lib/wizard.js';
3
- export { ConfigManager, configManager, DEFAULT_BASE_URL, DEFAULT_MODELS } from './lib/config.js';
4
- export { ToolManager, toolManager, SUPPORTED_TOOLS } from './lib/tool-manager.js';
5
- export { ClaudeCodeManager, claudeCodeManager } from './lib/claude-code-manager.js';
6
- export { OpenCodeManager, openCodeManager } from './lib/opencode-manager.js';
7
- export { i18n, I18n } from './lib/i18n.js';
8
- export { Logger, logger, LogLevel } from './utils/logger.js';
9
- export { validateApiKey } from './lib/api-validator.js';
10
- //# sourceMappingURL=index.js.map
1
+ export{Command}from"./lib/command.js";export{Wizard,wizard}from"./lib/wizard.js";export{ConfigManager,configManager,DEFAULT_BASE_URL,DEFAULT_MODELS}from"./lib/config.js";export{ToolManager,toolManager,SUPPORTED_TOOLS}from"./lib/tool-manager.js";export{ClaudeCodeManager,claudeCodeManager}from"./lib/claude-code-manager.js";export{OpenCodeManager,openCodeManager}from"./lib/opencode-manager.js";export{i18n,I18n}from"./lib/i18n.js";export{Logger,logger,LogLevel}from"./utils/logger.js";export{validateApiKey}from"./lib/api-validator.js";
@@ -1,79 +1 @@
1
- /**
2
- * API Key 和网络验证模块
3
- * 通过调用模型列表 API 来验证 API Key 的有效性和网络连通性
4
- */
5
- import { logger } from '../utils/logger.js';
6
- import { DEFAULT_BASE_URL } from './config.js';
7
- /**
8
- * 验证 API Key 的有效性和网络连通性
9
- *
10
- * @param apiKey - API Key
11
- * @returns 验证结果,包含 valid 状态和可选的错误信息
12
- */
13
- export async function validateApiKey(apiKey) {
14
- const url = `${DEFAULT_BASE_URL}/v1/models`;
15
- try {
16
- const controller = new AbortController();
17
- const timeoutId = setTimeout(() => controller.abort(), 30000); // 30 秒超时
18
- const response = await fetch(url, {
19
- method: 'GET',
20
- headers: {
21
- 'Authorization': `Bearer ${apiKey}`,
22
- 'Content-Type': 'application/json'
23
- },
24
- signal: controller.signal
25
- });
26
- clearTimeout(timeoutId);
27
- if (response.status === 401) {
28
- return {
29
- valid: false,
30
- error: 'invalid_api_key',
31
- message: 'API Key is invalid or expired'
32
- };
33
- }
34
- if (response.ok) {
35
- // 尝试解析响应以确保是有效的 JSON
36
- try {
37
- const data = await response.json();
38
- if (data && data.object === 'list') {
39
- return { valid: true };
40
- }
41
- }
42
- catch {
43
- // JSON 解析失败但响应成功,仍然视为有效
44
- return { valid: true };
45
- }
46
- return { valid: true };
47
- }
48
- // 其他 HTTP 错误
49
- return {
50
- valid: false,
51
- error: 'unknown_error',
52
- message: `HTTP ${response.status}: ${response.statusText}`
53
- };
54
- }
55
- catch (error) {
56
- // 网络错误或超时
57
- logger.logError('validateApiKey', error);
58
- if (error instanceof Error) {
59
- if (error.name === 'AbortError') {
60
- return {
61
- valid: false,
62
- error: 'network_error',
63
- message: 'Request timeout'
64
- };
65
- }
66
- return {
67
- valid: false,
68
- error: 'network_error',
69
- message: error.message
70
- };
71
- }
72
- return {
73
- valid: false,
74
- error: 'network_error',
75
- message: 'Network connection failed'
76
- };
77
- }
78
- }
79
- //# sourceMappingURL=api-validator.js.map
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 +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,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IAC/C,MAAM,GAAG,GAAG,GAAG,gBAAgB,YAAY,CAAC;IAE5C,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":"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"}