@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.
- package/LICENSE +21 -0
- package/README.md +299 -0
- package/bin/freeapi +8 -0
- package/dist/cli/commands/chat.d.ts +3 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +39 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +289 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +114 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/list.d.ts +3 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +109 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/logs.d.ts +3 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js +51 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/start.d.ts +3 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +34 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +45 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/stop.d.ts +3 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +54 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +79 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/services/base/index.d.ts +112 -0
- package/dist/services/base/index.d.ts.map +1 -0
- package/dist/services/base/index.js +51 -0
- package/dist/services/base/index.js.map +1 -0
- package/dist/services/base/types.d.ts +114 -0
- package/dist/services/base/types.d.ts.map +1 -0
- package/dist/services/base/types.js +7 -0
- package/dist/services/base/types.js.map +1 -0
- package/dist/services/chatgpt/api-client.d.ts +81 -0
- package/dist/services/chatgpt/api-client.d.ts.map +1 -0
- package/dist/services/chatgpt/api-client.js +325 -0
- package/dist/services/chatgpt/api-client.js.map +1 -0
- package/dist/services/chatgpt/cli-adapter.d.ts +108 -0
- package/dist/services/chatgpt/cli-adapter.d.ts.map +1 -0
- package/dist/services/chatgpt/cli-adapter.js +315 -0
- package/dist/services/chatgpt/cli-adapter.js.map +1 -0
- package/dist/services/chatgpt/config-manager.d.ts +87 -0
- package/dist/services/chatgpt/config-manager.d.ts.map +1 -0
- package/dist/services/chatgpt/config-manager.js +344 -0
- package/dist/services/chatgpt/config-manager.js.map +1 -0
- package/dist/services/chatgpt/config-wizard.d.ts +35 -0
- package/dist/services/chatgpt/config-wizard.d.ts.map +1 -0
- package/dist/services/chatgpt/config-wizard.js +524 -0
- package/dist/services/chatgpt/config-wizard.js.map +1 -0
- package/dist/services/chatgpt/error-handler.d.ts +94 -0
- package/dist/services/chatgpt/error-handler.d.ts.map +1 -0
- package/dist/services/chatgpt/error-handler.js +409 -0
- package/dist/services/chatgpt/error-handler.js.map +1 -0
- package/dist/services/chatgpt/exports.d.ts +71 -0
- package/dist/services/chatgpt/exports.d.ts.map +1 -0
- package/dist/services/chatgpt/exports.js +81 -0
- package/dist/services/chatgpt/exports.js.map +1 -0
- package/dist/services/chatgpt/index.d.ts +125 -0
- package/dist/services/chatgpt/index.d.ts.map +1 -0
- package/dist/services/chatgpt/index.js +394 -0
- package/dist/services/chatgpt/index.js.map +1 -0
- package/dist/services/chatgpt/service-adapter.d.ts +152 -0
- package/dist/services/chatgpt/service-adapter.d.ts.map +1 -0
- package/dist/services/chatgpt/service-adapter.js +430 -0
- package/dist/services/chatgpt/service-adapter.js.map +1 -0
- package/dist/services/chatgpt/session-manager.d.ts +113 -0
- package/dist/services/chatgpt/session-manager.d.ts.map +1 -0
- package/dist/services/chatgpt/session-manager.js +396 -0
- package/dist/services/chatgpt/session-manager.js.map +1 -0
- package/dist/services/chatgpt/types.d.ts +130 -0
- package/dist/services/chatgpt/types.d.ts.map +1 -0
- package/dist/services/chatgpt/types.js +19 -0
- package/dist/services/chatgpt/types.js.map +1 -0
- package/dist/utils/config.d.ts +61 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +215 -0
- package/dist/utils/config.js.map +1 -0
- 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
|
+
}
|