@cuijy/free-api 0.1.0

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 (96) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +299 -0
  3. package/bin/freeapi +8 -0
  4. package/dist/cli/commands/chat.d.ts +3 -0
  5. package/dist/cli/commands/chat.d.ts.map +1 -0
  6. package/dist/cli/commands/chat.js +39 -0
  7. package/dist/cli/commands/chat.js.map +1 -0
  8. package/dist/cli/commands/config.d.ts +3 -0
  9. package/dist/cli/commands/config.d.ts.map +1 -0
  10. package/dist/cli/commands/config.js +289 -0
  11. package/dist/cli/commands/config.js.map +1 -0
  12. package/dist/cli/commands/init.d.ts +3 -0
  13. package/dist/cli/commands/init.d.ts.map +1 -0
  14. package/dist/cli/commands/init.js +114 -0
  15. package/dist/cli/commands/init.js.map +1 -0
  16. package/dist/cli/commands/list.d.ts +3 -0
  17. package/dist/cli/commands/list.d.ts.map +1 -0
  18. package/dist/cli/commands/list.js +109 -0
  19. package/dist/cli/commands/list.js.map +1 -0
  20. package/dist/cli/commands/logs.d.ts +3 -0
  21. package/dist/cli/commands/logs.d.ts.map +1 -0
  22. package/dist/cli/commands/logs.js +51 -0
  23. package/dist/cli/commands/logs.js.map +1 -0
  24. package/dist/cli/commands/start.d.ts +3 -0
  25. package/dist/cli/commands/start.d.ts.map +1 -0
  26. package/dist/cli/commands/start.js +34 -0
  27. package/dist/cli/commands/start.js.map +1 -0
  28. package/dist/cli/commands/status.d.ts +3 -0
  29. package/dist/cli/commands/status.d.ts.map +1 -0
  30. package/dist/cli/commands/status.js +45 -0
  31. package/dist/cli/commands/status.js.map +1 -0
  32. package/dist/cli/commands/stop.d.ts +3 -0
  33. package/dist/cli/commands/stop.d.ts.map +1 -0
  34. package/dist/cli/commands/stop.js +54 -0
  35. package/dist/cli/commands/stop.js.map +1 -0
  36. package/dist/cli/index.d.ts +3 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/index.js +79 -0
  39. package/dist/cli/index.js.map +1 -0
  40. package/dist/index.d.ts +7 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +17 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/services/base/index.d.ts +112 -0
  45. package/dist/services/base/index.d.ts.map +1 -0
  46. package/dist/services/base/index.js +51 -0
  47. package/dist/services/base/index.js.map +1 -0
  48. package/dist/services/base/types.d.ts +114 -0
  49. package/dist/services/base/types.d.ts.map +1 -0
  50. package/dist/services/base/types.js +7 -0
  51. package/dist/services/base/types.js.map +1 -0
  52. package/dist/services/chatgpt/api-client.d.ts +81 -0
  53. package/dist/services/chatgpt/api-client.d.ts.map +1 -0
  54. package/dist/services/chatgpt/api-client.js +325 -0
  55. package/dist/services/chatgpt/api-client.js.map +1 -0
  56. package/dist/services/chatgpt/cli-adapter.d.ts +108 -0
  57. package/dist/services/chatgpt/cli-adapter.d.ts.map +1 -0
  58. package/dist/services/chatgpt/cli-adapter.js +315 -0
  59. package/dist/services/chatgpt/cli-adapter.js.map +1 -0
  60. package/dist/services/chatgpt/config-manager.d.ts +87 -0
  61. package/dist/services/chatgpt/config-manager.d.ts.map +1 -0
  62. package/dist/services/chatgpt/config-manager.js +344 -0
  63. package/dist/services/chatgpt/config-manager.js.map +1 -0
  64. package/dist/services/chatgpt/config-wizard.d.ts +35 -0
  65. package/dist/services/chatgpt/config-wizard.d.ts.map +1 -0
  66. package/dist/services/chatgpt/config-wizard.js +524 -0
  67. package/dist/services/chatgpt/config-wizard.js.map +1 -0
  68. package/dist/services/chatgpt/error-handler.d.ts +94 -0
  69. package/dist/services/chatgpt/error-handler.d.ts.map +1 -0
  70. package/dist/services/chatgpt/error-handler.js +409 -0
  71. package/dist/services/chatgpt/error-handler.js.map +1 -0
  72. package/dist/services/chatgpt/exports.d.ts +71 -0
  73. package/dist/services/chatgpt/exports.d.ts.map +1 -0
  74. package/dist/services/chatgpt/exports.js +81 -0
  75. package/dist/services/chatgpt/exports.js.map +1 -0
  76. package/dist/services/chatgpt/index.d.ts +125 -0
  77. package/dist/services/chatgpt/index.d.ts.map +1 -0
  78. package/dist/services/chatgpt/index.js +394 -0
  79. package/dist/services/chatgpt/index.js.map +1 -0
  80. package/dist/services/chatgpt/service-adapter.d.ts +152 -0
  81. package/dist/services/chatgpt/service-adapter.d.ts.map +1 -0
  82. package/dist/services/chatgpt/service-adapter.js +430 -0
  83. package/dist/services/chatgpt/service-adapter.js.map +1 -0
  84. package/dist/services/chatgpt/session-manager.d.ts +113 -0
  85. package/dist/services/chatgpt/session-manager.d.ts.map +1 -0
  86. package/dist/services/chatgpt/session-manager.js +396 -0
  87. package/dist/services/chatgpt/session-manager.js.map +1 -0
  88. package/dist/services/chatgpt/types.d.ts +130 -0
  89. package/dist/services/chatgpt/types.d.ts.map +1 -0
  90. package/dist/services/chatgpt/types.js +19 -0
  91. package/dist/services/chatgpt/types.js.map +1 -0
  92. package/dist/utils/config.d.ts +61 -0
  93. package/dist/utils/config.d.ts.map +1 -0
  94. package/dist/utils/config.js +215 -0
  95. package/dist/utils/config.js.map +1 -0
  96. package/package.json +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function initCommand(): Command;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,WAAW,IAAI,OAAO,CA+ErC"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.initCommand = initCommand;
40
+ const commander_1 = require("commander");
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const ora_1 = __importDefault(require("ora"));
43
+ const inquirer_1 = __importDefault(require("inquirer"));
44
+ const config_1 = require("../../utils/config");
45
+ function initCommand() {
46
+ const command = new commander_1.Command('init')
47
+ .description('Initialize FreeAPI configuration')
48
+ .option('-f, --force', 'Force reinitialization', false)
49
+ .action(async (options) => {
50
+ const spinner = (0, ora_1.default)('Initializing FreeAPI...').start();
51
+ try {
52
+ // Check if already initialized
53
+ const configDir = config_1.configManager.getConfigDir();
54
+ if (await Promise.resolve().then(() => __importStar(require('fs-extra'))).then(fs => fs.pathExists(configDir)) && !options.force) {
55
+ spinner.warn('FreeAPI is already initialized.');
56
+ const { confirm } = await inquirer_1.default.prompt([
57
+ {
58
+ type: 'confirm',
59
+ name: 'confirm',
60
+ message: 'Do you want to reinitialize? This will overwrite existing configuration.',
61
+ default: false,
62
+ },
63
+ ]);
64
+ if (!confirm) {
65
+ spinner.info('Initialization cancelled.');
66
+ return;
67
+ }
68
+ }
69
+ // Initialize configuration
70
+ spinner.text = 'Creating directories and configuration...';
71
+ await config_1.configManager.initialize();
72
+ // Create default ChatGPT configuration
73
+ spinner.text = 'Creating default service configurations...';
74
+ const defaultChatGPTConfig = {
75
+ name: 'chatgpt',
76
+ type: 'api',
77
+ enabled: true,
78
+ mode: 'public',
79
+ base_url: 'https://api.openai.com/v1/',
80
+ model: 'gpt-3.5-turbo',
81
+ max_tokens: 4096,
82
+ temperature: 0.7,
83
+ timeout: 30000,
84
+ max_retries: 3
85
+ };
86
+ await config_1.configManager.saveServiceConfig('chatgpt', defaultChatGPTConfig);
87
+ spinner.succeed(chalk_1.default.green('FreeAPI initialized successfully!'));
88
+ console.log();
89
+ console.log(chalk_1.default.blue.bold('🎉 FreeAPI is ready to use!'));
90
+ console.log();
91
+ console.log(chalk_1.default.yellow('📋 Available commands:'));
92
+ console.log(` ${chalk_1.default.cyan('freeapi list')} - List available services`);
93
+ console.log(` ${chalk_1.default.cyan('freeapi config chatgpt')} - Configure ChatGPT service`);
94
+ console.log(` ${chalk_1.default.cyan('freeapi start chatgpt')} - Start ChatGPT service`);
95
+ console.log(` ${chalk_1.default.cyan('freeapi chat chatgpt')} - Interactive chat with ChatGPT`);
96
+ console.log(` ${chalk_1.default.cyan('freeapi status')} - Check service status`);
97
+ console.log(` ${chalk_1.default.cyan('freeapi --help')} - Show all commands`);
98
+ console.log();
99
+ console.log(chalk_1.default.yellow('🚀 Quick start with ChatGPT:'));
100
+ console.log(` 1. ${chalk_1.default.cyan('freeapi config chatgpt')} - Configure with your API key`);
101
+ console.log(` 2. ${chalk_1.default.cyan('freeapi chat chatgpt')} - Start chatting!`);
102
+ console.log();
103
+ console.log(chalk_1.default.gray('Configuration directory: ') + chalk_1.default.cyan(configDir));
104
+ console.log(chalk_1.default.gray('Run ') + chalk_1.default.cyan('freeapi --help') + chalk_1.default.gray(' for more information.'));
105
+ }
106
+ catch (error) {
107
+ spinner.fail(chalk_1.default.red('Initialization failed:'));
108
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
109
+ process.exit(1);
110
+ }
111
+ });
112
+ return command;
113
+ }
114
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function listCommand(): Command;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,WAAW,IAAI,OAAO,CAkHrC"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.listCommand = listCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const ora_1 = __importDefault(require("ora"));
10
+ const config_1 = require("../../utils/config");
11
+ function listCommand() {
12
+ const command = new commander_1.Command('list')
13
+ .description('List available services')
14
+ .option('-a, --all', 'Show all services including disabled ones', false)
15
+ .action(async (options) => {
16
+ const spinner = (0, ora_1.default)('Loading services...').start();
17
+ try {
18
+ // Get configured services
19
+ const configuredServices = await config_1.configManager.listServices();
20
+ // Default available services
21
+ const defaultServices = [
22
+ { name: 'chatgpt', type: 'api', description: 'OpenAI ChatGPT API service' },
23
+ { name: 'deepseek', type: 'api', description: 'DeepSeek AI API service' },
24
+ { name: 'wenxin', type: 'api', description: 'Wenxin (文心) AI service' },
25
+ { name: 'qwen', type: 'api', description: 'Qwen (通义千问) AI service' }
26
+ ];
27
+ // Load service information
28
+ const services = [];
29
+ for (const defaultService of defaultServices) {
30
+ const isConfigured = configuredServices.includes(defaultService.name);
31
+ let serviceConfig = {};
32
+ let enabled = false;
33
+ if (isConfigured) {
34
+ try {
35
+ serviceConfig = await config_1.configManager.getServiceConfig(defaultService.name);
36
+ enabled = serviceConfig?.enabled || false;
37
+ }
38
+ catch (error) {
39
+ // Ignore errors
40
+ }
41
+ }
42
+ services.push({
43
+ name: defaultService.name,
44
+ type: defaultService.type,
45
+ enabled,
46
+ configured: isConfigured,
47
+ description: defaultService.description
48
+ });
49
+ }
50
+ spinner.stop();
51
+ // Display services
52
+ console.log(chalk_1.default.blue.bold('🤖 FreeAPI - Available AI Services'));
53
+ console.log(chalk_1.default.gray('='.repeat(60)));
54
+ console.log();
55
+ const filteredServices = options.all
56
+ ? services
57
+ : services.filter(s => s.enabled || !s.configured);
58
+ if (filteredServices.length === 0) {
59
+ console.log(chalk_1.default.yellow('No services available.'));
60
+ console.log(chalk_1.default.gray('Run "freeapi init" to initialize configuration.'));
61
+ return;
62
+ }
63
+ // Display services table
64
+ console.log(chalk_1.default.yellow('📋 Service List:'));
65
+ console.log(chalk_1.default.gray('-'.repeat(60)));
66
+ filteredServices.forEach(service => {
67
+ const statusIcon = service.enabled ? chalk_1.default.green('●') : chalk_1.default.red('○');
68
+ const configuredIcon = service.configured ? chalk_1.default.green('✓') : chalk_1.default.yellow('○');
69
+ const typeIcon = service.type === 'api' ? '🔌' : '🌐';
70
+ console.log(` ${statusIcon} ${chalk_1.default.cyan(service.name.padEnd(12))} ` +
71
+ `${typeIcon} ${service.description || ''}`);
72
+ console.log(` ${chalk_1.default.gray('Status:')} ${service.enabled ? chalk_1.default.green('Enabled') : chalk_1.default.red('Disabled')} ` +
73
+ `${chalk_1.default.gray('Configured:')} ${configuredIcon}`);
74
+ console.log();
75
+ });
76
+ // Show legend
77
+ console.log(chalk_1.default.gray('Legend:'));
78
+ console.log(` ${chalk_1.default.green('●')} Enabled ${chalk_1.default.red('○')} Disabled ${chalk_1.default.green('✓')} Configured ${chalk_1.default.yellow('○')} Not configured`);
79
+ console.log(` ${'🔌'} API Service ${'🌐'} Browser Service`);
80
+ console.log();
81
+ // Show commands
82
+ console.log(chalk_1.default.yellow('🚀 Quick Commands:'));
83
+ console.log(` ${chalk_1.default.cyan('freeapi config chatgpt')} - Configure ChatGPT service`);
84
+ console.log(` ${chalk_1.default.cyan('freeapi start chatgpt')} - Start ChatGPT service`);
85
+ console.log(` ${chalk_1.default.cyan('freeapi chat chatgpt')} - Interactive chat with ChatGPT`);
86
+ console.log(` ${chalk_1.default.cyan('freeapi status')} - Check service status`);
87
+ console.log();
88
+ // Show ChatGPT specific info
89
+ const chatGPTConfig = await config_1.configManager.getServiceConfig('chatgpt');
90
+ if (chatGPTConfig) {
91
+ console.log(chalk_1.default.yellow('💡 ChatGPT Status:'));
92
+ console.log(` Mode: ${chalk_1.default.cyan(chatGPTConfig.mode || 'public')}`);
93
+ console.log(` Model: ${chalk_1.default.cyan(chatGPTConfig.model || 'gpt-3.5-turbo')}`);
94
+ console.log(` API Key: ${chatGPTConfig.api_key ? chalk_1.default.green('Configured') : chalk_1.default.yellow('Not configured')}`);
95
+ console.log();
96
+ }
97
+ if (!options.all) {
98
+ console.log(chalk_1.default.gray('Use ') + chalk_1.default.cyan('--all') + chalk_1.default.gray(' flag to show all services.'));
99
+ }
100
+ }
101
+ catch (error) {
102
+ spinner.fail(chalk_1.default.red('Failed to list services:'));
103
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
104
+ process.exit(1);
105
+ }
106
+ });
107
+ return command;
108
+ }
109
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function logsCommand(): Command;
3
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,IAAI,OAAO,CAiDrC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logsCommand = logsCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const ora_1 = __importDefault(require("ora"));
10
+ function logsCommand() {
11
+ const command = new commander_1.Command('logs')
12
+ .description('View logs')
13
+ .option('-f, --follow', 'Follow log output', false)
14
+ .option('-n, --lines <number>', 'Number of lines to show', '50')
15
+ .action(async (options) => {
16
+ const spinner = (0, ora_1.default)('Loading logs...').start();
17
+ try {
18
+ // TODO: Implement log viewing logic
19
+ await new Promise(resolve => setTimeout(resolve, 500));
20
+ spinner.stop();
21
+ console.log(chalk_1.default.blue.bold('FreeAPI Logs'));
22
+ console.log(chalk_1.default.gray('='.repeat(50)));
23
+ console.log();
24
+ console.log(chalk_1.default.yellow('Log file location:'));
25
+ console.log(chalk_1.default.cyan(' ~/.freeapi/logs/freeapi.log'));
26
+ console.log();
27
+ console.log(chalk_1.default.yellow('Sample log output (not implemented yet):'));
28
+ console.log(chalk_1.default.gray(' [2025-02-24 12:00:00] INFO: FreeAPI initialized'));
29
+ console.log(chalk_1.default.gray(' [2025-02-24 12:00:01] INFO: Loading configuration...'));
30
+ console.log(chalk_1.default.gray(' [2025-02-24 12:00:02] INFO: Checking services...'));
31
+ console.log();
32
+ if (options.follow) {
33
+ console.log(chalk_1.default.yellow('Follow mode:'));
34
+ console.log(chalk_1.default.gray(' Log following will be implemented in Phase 2.'));
35
+ console.log();
36
+ }
37
+ console.log(chalk_1.default.gray(`Showing last ${options.lines} lines.`));
38
+ console.log();
39
+ console.log(chalk_1.default.yellow('To view actual logs:'));
40
+ console.log(` ${chalk_1.default.cyan('cat ~/.freeapi/logs/freeapi.log')}`);
41
+ console.log(` ${chalk_1.default.cyan('tail -f ~/.freeapi/logs/freeapi.log')}`);
42
+ }
43
+ catch (error) {
44
+ spinner.fail(chalk_1.default.red('Failed to load logs:'));
45
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
46
+ process.exit(1);
47
+ }
48
+ });
49
+ return command;
50
+ }
51
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function startCommand(): Command;
3
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,YAAY,IAAI,OAAO,CA2BtC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.startCommand = startCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const ora_1 = __importDefault(require("ora"));
10
+ function startCommand() {
11
+ const command = new commander_1.Command('start')
12
+ .description('Start a service')
13
+ .argument('<service>', 'Service name to start')
14
+ .action(async (serviceName) => {
15
+ const spinner = (0, ora_1.default)(`Starting ${serviceName}...`).start();
16
+ try {
17
+ // TODO: Implement service startup logic
18
+ await new Promise(resolve => setTimeout(resolve, 1000));
19
+ spinner.succeed(chalk_1.default.green(`${serviceName} started successfully!`));
20
+ console.log();
21
+ console.log(chalk_1.default.yellow('Service is now running.'));
22
+ console.log(`Use ${chalk_1.default.cyan(`freeapi chat ${serviceName}`)} to start interactive chat.`);
23
+ console.log(`Use ${chalk_1.default.cyan('freeapi status')} to check service status.`);
24
+ console.log(`Use ${chalk_1.default.cyan('freeapi stop')} to stop the service.`);
25
+ }
26
+ catch (error) {
27
+ spinner.fail(chalk_1.default.red(`Failed to start ${serviceName}:`));
28
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
29
+ process.exit(1);
30
+ }
31
+ });
32
+ return command;
33
+ }
34
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":";;;;;AAIA,oCA2BC;AA/BD,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AAEtB,SAAgB,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC;SACjC,WAAW,CAAC,iBAAiB,CAAC;SAC9B,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,YAAY,WAAW,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1D,IAAI,CAAC;YACH,wCAAwC;YACxC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAExD,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,WAAW,wBAAwB,CAAC,CAAC,CAAC;YAErE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,EAAE,CAAC,6BAA6B,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAExE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,WAAW,GAAG,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function statusCommand(): Command;
3
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,IAAI,OAAO,CA0CvC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.statusCommand = statusCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const ora_1 = __importDefault(require("ora"));
10
+ function statusCommand() {
11
+ const command = new commander_1.Command('status')
12
+ .description('Check service status')
13
+ .action(async () => {
14
+ const spinner = (0, ora_1.default)('Checking service status...').start();
15
+ try {
16
+ // TODO: Implement status checking logic
17
+ await new Promise(resolve => setTimeout(resolve, 800));
18
+ spinner.stop();
19
+ console.log(chalk_1.default.blue.bold('FreeAPI Service Status'));
20
+ console.log(chalk_1.default.gray('='.repeat(50)));
21
+ console.log();
22
+ console.log(chalk_1.default.yellow('Overall Status:'));
23
+ console.log(` ${chalk_1.default.red('●')} Not implemented yet`);
24
+ console.log();
25
+ console.log(chalk_1.default.yellow('Services:'));
26
+ console.log(` ${chalk_1.default.gray('○')} chatgpt_web ${chalk_1.default.gray('(not configured)')}`);
27
+ console.log(` ${chalk_1.default.gray('○')} deepseek ${chalk_1.default.gray('(not configured)')}`);
28
+ console.log(` ${chalk_1.default.gray('○')} wenxin ${chalk_1.default.gray('(not configured)')}`);
29
+ console.log();
30
+ console.log(chalk_1.default.yellow('Next Steps:'));
31
+ console.log(` 1. ${chalk_1.default.cyan('freeapi init')} - Initialize configuration`);
32
+ console.log(` 2. ${chalk_1.default.cyan('freeapi config <service>')} - Configure a service`);
33
+ console.log(` 3. ${chalk_1.default.cyan('freeapi start <service>')} - Start a service`);
34
+ console.log();
35
+ console.log(chalk_1.default.gray('Status monitoring will be implemented in Phase 2.'));
36
+ }
37
+ catch (error) {
38
+ spinner.fail(chalk_1.default.red('Failed to check status:'));
39
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
40
+ process.exit(1);
41
+ }
42
+ });
43
+ return command;
44
+ }
45
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":";;;;;AAIA,sCA0CC;AA9CD,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AAEtB,SAAgB,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;SAClC,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1D,IAAI,CAAC;YACH,wCAAwC;YACxC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAEvD,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,QAAQ,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,QAAQ,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAE/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function stopCommand(): Command;
3
+ //# sourceMappingURL=stop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,IAAI,OAAO,CAkDrC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.stopCommand = stopCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ // import inquirer from 'inquirer';
10
+ function stopCommand() {
11
+ const command = new commander_1.Command('stop')
12
+ .description('Stop services')
13
+ .option('-a, --all', 'Stop all services', false)
14
+ .argument('[service]', 'Service name to stop (optional)')
15
+ .action(async (serviceName, options) => {
16
+ // const spinner = ora('Stopping services...').start();
17
+ try {
18
+ // TODO: Implement service stopping logic
19
+ await new Promise(resolve => setTimeout(resolve, 800));
20
+ // spinner.stop();
21
+ if (serviceName) {
22
+ console.log(chalk_1.default.blue.bold(`Stopping ${serviceName}`));
23
+ }
24
+ else if (options.all) {
25
+ console.log(chalk_1.default.blue.bold('Stopping all services'));
26
+ }
27
+ else {
28
+ console.log(chalk_1.default.blue.bold('Stop Services'));
29
+ }
30
+ console.log(chalk_1.default.gray('='.repeat(50)));
31
+ console.log();
32
+ console.log(chalk_1.default.yellow('Service stopping will be implemented in Phase 2.'));
33
+ console.log();
34
+ console.log(chalk_1.default.yellow('Currently running services (simulated):'));
35
+ console.log(` ${chalk_1.default.gray('○')} chatgpt_web ${chalk_1.default.gray('(not running)')}`);
36
+ console.log(` ${chalk_1.default.gray('○')} deepseek ${chalk_1.default.gray('(not running)')}`);
37
+ console.log();
38
+ console.log(chalk_1.default.yellow('To implement service management:'));
39
+ console.log(` 1. ${chalk_1.default.cyan('freeapi start <service>')} - Start a service`);
40
+ console.log(` 2. ${chalk_1.default.cyan('freeapi status')} - Check service status`);
41
+ console.log(` 3. ${chalk_1.default.cyan('freeapi stop')} - Stop services`);
42
+ console.log();
43
+ console.log(chalk_1.default.gray('Service lifecycle management will be implemented in Phase 2.'));
44
+ }
45
+ catch (error) {
46
+ // spinner.fail(chalk.red('Failed to stop services:'));
47
+ console.error(chalk_1.default.red('Failed to stop services:'));
48
+ console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
49
+ process.exit(1);
50
+ }
51
+ });
52
+ return command;
53
+ }
54
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export declare function main(): Promise<void>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAcA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6D1C"}
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.main = main;
8
+ const commander_1 = require("commander");
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const package_json_1 = require("../../package.json");
11
+ const init_1 = require("./commands/init");
12
+ const list_1 = require("./commands/list");
13
+ const config_1 = require("./commands/config");
14
+ const start_1 = require("./commands/start");
15
+ const chat_1 = require("./commands/chat");
16
+ const status_1 = require("./commands/status");
17
+ const logs_1 = require("./commands/logs");
18
+ const stop_1 = require("./commands/stop");
19
+ async function main() {
20
+ const program = new commander_1.Command();
21
+ program
22
+ .name('freeapi')
23
+ .description('A tool that runs multiple AI web-based free chat services')
24
+ .version(package_json_1.version)
25
+ .addHelpText('after', `
26
+ Examples:
27
+ $ freeapi init Initialize configuration
28
+ $ freeapi list List available services
29
+ $ freeapi config chatgpt Configure ChatGPT service
30
+ $ freeapi start chatgpt Start ChatGPT service
31
+ $ freeapi chat chatgpt Interactive chat with ChatGPT
32
+ $ freeapi status Check service status
33
+ $ freeapi logs View logs
34
+ $ freeapi stop Stop all services
35
+
36
+ For more information, visit: https://github.com/yourusername/freeapi
37
+ `);
38
+ // Add commands
39
+ program.addCommand((0, init_1.initCommand)());
40
+ program.addCommand((0, list_1.listCommand)());
41
+ program.addCommand((0, config_1.configCommand)());
42
+ program.addCommand((0, start_1.startCommand)());
43
+ program.addCommand((0, chat_1.chatCommand)());
44
+ program.addCommand((0, status_1.statusCommand)());
45
+ program.addCommand((0, logs_1.logsCommand)());
46
+ program.addCommand((0, stop_1.stopCommand)());
47
+ // Default command: show available configurations
48
+ program
49
+ .action(async () => {
50
+ console.log(chalk_1.default.blue.bold('FreeAPI - AI Services Manager'));
51
+ console.log(chalk_1.default.gray('Version: ' + package_json_1.version));
52
+ console.log();
53
+ console.log(chalk_1.default.yellow('Available Commands:'));
54
+ console.log(' init Initialize configuration');
55
+ console.log(' list List available services');
56
+ console.log(' config Configure specific service');
57
+ console.log(' start Start service');
58
+ console.log(' chat Interactive chat');
59
+ console.log(' status Check service status');
60
+ console.log(' logs View logs');
61
+ console.log(' stop Stop services');
62
+ console.log();
63
+ console.log(chalk_1.default.yellow('Usage:'));
64
+ console.log(' freeapi <command> [options]');
65
+ console.log();
66
+ console.log(chalk_1.default.yellow('Current Status:'));
67
+ console.log(chalk_1.default.red(' No services configured. Run "freeapi init" to get started.'));
68
+ console.log();
69
+ console.log(chalk_1.default.gray('Run "freeapi --help" for more information.'));
70
+ });
71
+ await program.parseAsync(process.argv);
72
+ }
73
+ if (require.main === module) {
74
+ main().catch((error) => {
75
+ console.error(chalk_1.default.red('Error:'), error.message);
76
+ process.exit(1);
77
+ });
78
+ }
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}