@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":"types.js","sourceRoot":"","sources":["../../../src/services/chatgpt/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,8CAA+B,CAAA;AACjC,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,8BAAc,CAAA;IACd,kDAAkC,CAAA;IAClC,6CAA6B,CAAA;IAC7B,qDAAqC,CAAA;AACvC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Configuration utilities for FreeAPI
3
+ */
4
+ export interface GlobalConfig {
5
+ version: string;
6
+ initialized: boolean;
7
+ services: string[];
8
+ last_updated: number;
9
+ }
10
+ export declare class ConfigManager {
11
+ private configDir;
12
+ private configFile;
13
+ private servicesDir;
14
+ constructor();
15
+ /**
16
+ * Initialize FreeAPI configuration
17
+ */
18
+ initialize(): Promise<void>;
19
+ /**
20
+ * Get global configuration
21
+ */
22
+ getConfig(): Promise<GlobalConfig>;
23
+ /**
24
+ * Update global configuration
25
+ */
26
+ updateConfig(updates: Partial<GlobalConfig>): Promise<void>;
27
+ /**
28
+ * Get service configuration
29
+ */
30
+ getServiceConfig(serviceName: string): Promise<any>;
31
+ /**
32
+ * Save service configuration
33
+ */
34
+ saveServiceConfig(serviceName: string, config: any): Promise<void>;
35
+ /**
36
+ * List all configured services
37
+ */
38
+ listServices(): Promise<string[]>;
39
+ /**
40
+ * Delete service configuration
41
+ */
42
+ deleteServiceConfig(serviceName: string): Promise<void>;
43
+ /**
44
+ * Get configuration directory path
45
+ */
46
+ getConfigDir(): string;
47
+ /**
48
+ * Get services directory path
49
+ */
50
+ getServicesDir(): string;
51
+ /**
52
+ * Backup configuration
53
+ */
54
+ backup(backupDir?: string): Promise<string>;
55
+ /**
56
+ * Restore configuration from backup
57
+ */
58
+ restore(backupPath: string): Promise<void>;
59
+ }
60
+ export declare const configManager: ConfigManager;
61
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;;IAQ5B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CjC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAYxC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAejE;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAczD;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAevC;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7D;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACG,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAajD;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBjD;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ /**
3
+ * Configuration utilities for FreeAPI
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.configManager = exports.ConfigManager = void 0;
10
+ const fs_extra_1 = __importDefault(require("fs-extra"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const os_1 = __importDefault(require("os"));
13
+ class ConfigManager {
14
+ configDir;
15
+ configFile;
16
+ servicesDir;
17
+ constructor() {
18
+ this.configDir = path_1.default.join(os_1.default.homedir(), '.freeapi');
19
+ this.configFile = path_1.default.join(this.configDir, 'config.json');
20
+ this.servicesDir = path_1.default.join(this.configDir, 'services');
21
+ }
22
+ /**
23
+ * Initialize FreeAPI configuration
24
+ */
25
+ async initialize() {
26
+ try {
27
+ // Create directories
28
+ await fs_extra_1.default.ensureDir(this.configDir);
29
+ await fs_extra_1.default.ensureDir(this.servicesDir);
30
+ // Create default config if it doesn't exist
31
+ if (!(await fs_extra_1.default.pathExists(this.configFile))) {
32
+ const defaultConfig = {
33
+ version: '1.0.0',
34
+ initialized: true,
35
+ services: [],
36
+ last_updated: Date.now()
37
+ };
38
+ await fs_extra_1.default.writeJson(this.configFile, defaultConfig, { spaces: 2 });
39
+ }
40
+ // Create README file
41
+ const readmePath = path_1.default.join(this.configDir, 'README.md');
42
+ if (!(await fs_extra_1.default.pathExists(readmePath))) {
43
+ const readmeContent = `# FreeAPI Configuration Directory
44
+
45
+ This directory contains FreeAPI configuration files.
46
+
47
+ ## Files
48
+ - \`config.json\` - Global configuration
49
+ - \`services/\` - Service-specific configurations
50
+ - \`logs/\` - Application logs (if enabled)
51
+
52
+ ## Service Configuration
53
+ Each service has its own configuration file in the \`services/\` directory.
54
+ Example: \`services/chatgpt.json\`
55
+
56
+ ## Backup
57
+ You can backup this directory to preserve your configurations.
58
+ `;
59
+ await fs_extra_1.default.writeFile(readmePath, readmeContent);
60
+ }
61
+ }
62
+ catch (error) {
63
+ throw new Error(`Failed to initialize configuration: ${error instanceof Error ? error.message : String(error)}`);
64
+ }
65
+ }
66
+ /**
67
+ * Get global configuration
68
+ */
69
+ async getConfig() {
70
+ try {
71
+ if (!(await fs_extra_1.default.pathExists(this.configFile))) {
72
+ await this.initialize();
73
+ }
74
+ return await fs_extra_1.default.readJson(this.configFile);
75
+ }
76
+ catch (error) {
77
+ throw new Error(`Failed to read configuration: ${error instanceof Error ? error.message : String(error)}`);
78
+ }
79
+ }
80
+ /**
81
+ * Update global configuration
82
+ */
83
+ async updateConfig(updates) {
84
+ try {
85
+ const config = await this.getConfig();
86
+ const updatedConfig = {
87
+ ...config,
88
+ ...updates,
89
+ last_updated: Date.now()
90
+ };
91
+ await fs_extra_1.default.writeJson(this.configFile, updatedConfig, { spaces: 2 });
92
+ }
93
+ catch (error) {
94
+ throw new Error(`Failed to update configuration: ${error instanceof Error ? error.message : String(error)}`);
95
+ }
96
+ }
97
+ /**
98
+ * Get service configuration
99
+ */
100
+ async getServiceConfig(serviceName) {
101
+ try {
102
+ const serviceFile = path_1.default.join(this.servicesDir, `${serviceName}.json`);
103
+ if (!(await fs_extra_1.default.pathExists(serviceFile))) {
104
+ return null;
105
+ }
106
+ return await fs_extra_1.default.readJson(serviceFile);
107
+ }
108
+ catch (error) {
109
+ throw new Error(`Failed to read service configuration: ${error instanceof Error ? error.message : String(error)}`);
110
+ }
111
+ }
112
+ /**
113
+ * Save service configuration
114
+ */
115
+ async saveServiceConfig(serviceName, config) {
116
+ try {
117
+ const serviceFile = path_1.default.join(this.servicesDir, `${serviceName}.json`);
118
+ // Update global config to include this service
119
+ const globalConfig = await this.getConfig();
120
+ if (!globalConfig.services.includes(serviceName)) {
121
+ globalConfig.services.push(serviceName);
122
+ await this.updateConfig({ services: globalConfig.services });
123
+ }
124
+ await fs_extra_1.default.writeJson(serviceFile, config, { spaces: 2 });
125
+ }
126
+ catch (error) {
127
+ throw new Error(`Failed to save service configuration: ${error instanceof Error ? error.message : String(error)}`);
128
+ }
129
+ }
130
+ /**
131
+ * List all configured services
132
+ */
133
+ async listServices() {
134
+ try {
135
+ if (!(await fs_extra_1.default.pathExists(this.servicesDir))) {
136
+ return [];
137
+ }
138
+ const files = await fs_extra_1.default.readdir(this.servicesDir);
139
+ return files
140
+ .filter(file => file.endsWith('.json'))
141
+ .map(file => path_1.default.basename(file, '.json'));
142
+ }
143
+ catch (error) {
144
+ throw new Error(`Failed to list services: ${error instanceof Error ? error.message : String(error)}`);
145
+ }
146
+ }
147
+ /**
148
+ * Delete service configuration
149
+ */
150
+ async deleteServiceConfig(serviceName) {
151
+ try {
152
+ const serviceFile = path_1.default.join(this.servicesDir, `${serviceName}.json`);
153
+ if (await fs_extra_1.default.pathExists(serviceFile)) {
154
+ await fs_extra_1.default.remove(serviceFile);
155
+ // Update global config
156
+ const globalConfig = await this.getConfig();
157
+ const updatedServices = globalConfig.services.filter(name => name !== serviceName);
158
+ await this.updateConfig({ services: updatedServices });
159
+ }
160
+ }
161
+ catch (error) {
162
+ throw new Error(`Failed to delete service configuration: ${error instanceof Error ? error.message : String(error)}`);
163
+ }
164
+ }
165
+ /**
166
+ * Get configuration directory path
167
+ */
168
+ getConfigDir() {
169
+ return this.configDir;
170
+ }
171
+ /**
172
+ * Get services directory path
173
+ */
174
+ getServicesDir() {
175
+ return this.servicesDir;
176
+ }
177
+ /**
178
+ * Backup configuration
179
+ */
180
+ async backup(backupDir) {
181
+ try {
182
+ const backupPath = backupDir || path_1.default.join(os_1.default.homedir(), 'freeapi-backup', new Date().toISOString().split('T')[0]);
183
+ await fs_extra_1.default.ensureDir(backupPath);
184
+ await fs_extra_1.default.copy(this.configDir, path_1.default.join(backupPath, 'config'));
185
+ return backupPath;
186
+ }
187
+ catch (error) {
188
+ throw new Error(`Failed to backup configuration: ${error instanceof Error ? error.message : String(error)}`);
189
+ }
190
+ }
191
+ /**
192
+ * Restore configuration from backup
193
+ */
194
+ async restore(backupPath) {
195
+ try {
196
+ const backupConfigDir = path_1.default.join(backupPath, 'config');
197
+ if (!(await fs_extra_1.default.pathExists(backupConfigDir))) {
198
+ throw new Error('Backup directory does not contain configuration files');
199
+ }
200
+ // Remove existing config
201
+ if (await fs_extra_1.default.pathExists(this.configDir)) {
202
+ await fs_extra_1.default.remove(this.configDir);
203
+ }
204
+ // Restore from backup
205
+ await fs_extra_1.default.copy(backupConfigDir, this.configDir);
206
+ }
207
+ catch (error) {
208
+ throw new Error(`Failed to restore configuration: ${error instanceof Error ? error.message : String(error)}`);
209
+ }
210
+ }
211
+ }
212
+ exports.ConfigManager = ConfigManager;
213
+ // Export singleton instance
214
+ exports.configManager = new ConfigManager();
215
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "@cuijy/free-api",
3
+ "version": "0.1.0",
4
+ "description": "A tool that runs multiple AI web-based free chat services in the background",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "free-api": "bin/freeapi"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "bin",
13
+ "LICENSE",
14
+ "README.md"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "dev": "tsc --watch",
19
+ "start": "node dist/index.js",
20
+ "test": "jest",
21
+ "test:watch": "jest --watch",
22
+ "test:coverage": "jest --coverage",
23
+ "lint": "eslint src/**/*.ts",
24
+ "lint:fix": "eslint src/**/*.ts --fix",
25
+ "format": "prettier --write \"src/**/*.ts\"",
26
+ "typecheck": "tsc --noEmit",
27
+ "prepare": "npm run build"
28
+ },
29
+ "keywords": [
30
+ "ai",
31
+ "chat",
32
+ "free",
33
+ "api",
34
+ "cli",
35
+ "chatgpt",
36
+ "openai",
37
+ "deepseek",
38
+ "wenxin",
39
+ "qwen",
40
+ "llm",
41
+ "chatbot",
42
+ "assistant"
43
+ ],
44
+ "author": "NatureCode <naturecode@example.com>",
45
+ "license": "MIT",
46
+ "dependencies": {
47
+ "commander": "^11.0.0",
48
+ "inquirer": "^9.2.10",
49
+ "chalk": "^5.3.0",
50
+ "ora": "^7.0.1",
51
+ "puppeteer": "^21.0.0",
52
+ "playwright": "^1.40.0",
53
+ "axios": "^1.6.2",
54
+ "yaml": "^2.3.4",
55
+ "winston": "^3.11.0",
56
+ "conf": "^11.0.1",
57
+ "fs-extra": "^11.2.0",
58
+ "dotenv": "^16.3.1"
59
+ },
60
+ "devDependencies": {
61
+ "@types/node": "^20.10.0",
62
+ "@types/inquirer": "^9.0.3",
63
+ "@types/fs-extra": "^11.0.1",
64
+ "@types/jest": "^29.5.8",
65
+ "@typescript-eslint/eslint-plugin": "^6.15.0",
66
+ "@typescript-eslint/parser": "^6.15.0",
67
+ "eslint": "^8.56.0",
68
+ "jest": "^29.7.0",
69
+ "prettier": "^3.1.1",
70
+ "ts-jest": "^29.1.1",
71
+ "ts-node": "^10.9.1",
72
+ "typescript": "^5.3.3"
73
+ },
74
+ "engines": {
75
+ "node": ">=18.0.0"
76
+ },
77
+ "repository": {
78
+ "type": "git",
79
+ "url": "git+https://github.com/cuijy/free-api.git"
80
+ },
81
+ "bugs": {
82
+ "url": "https://github.com/cuijy/free-api/issues"
83
+ },
84
+ "homepage": "https://github.com/cuijy/free-api#readme",
85
+ "directories": {
86
+ "doc": "docs",
87
+ "example": "examples",
88
+ "test": "tests"
89
+ },
90
+ "type": "commonjs"
91
+ }