@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
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FreeAPI Main Entry Point
|
|
4
|
+
* This is the main entry point for the FreeAPI CLI tool
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.main = void 0;
|
|
8
|
+
const index_1 = require("./cli/index");
|
|
9
|
+
Object.defineProperty(exports, "main", { enumerable: true, get: function () { return index_1.main; } });
|
|
10
|
+
// If this file is executed directly, run the CLI
|
|
11
|
+
if (require.main === module) {
|
|
12
|
+
(0, index_1.main)().catch((error) => {
|
|
13
|
+
console.error('Error:', error.message);
|
|
14
|
+
process.exit(1);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uCAAmC;AAG1B,qFAHA,YAAI,OAGA;AAEb,iDAAiD;AACjD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAA,YAAI,GAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Service Adapter Interface
|
|
3
|
+
* Defines the common interface for all AI service adapters
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
import { ServiceConfig, ServiceStatus, ChatRequest, ChatResponse } from './types';
|
|
7
|
+
export declare abstract class BaseServiceAdapter extends EventEmitter {
|
|
8
|
+
protected name: string;
|
|
9
|
+
protected config: ServiceConfig;
|
|
10
|
+
protected status: 'initializing' | 'ready' | 'error' | 'stopped';
|
|
11
|
+
constructor(name: string, config: ServiceConfig);
|
|
12
|
+
/**
|
|
13
|
+
* Initialize the service
|
|
14
|
+
*/
|
|
15
|
+
abstract initialize(): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Send a chat message
|
|
18
|
+
*/
|
|
19
|
+
abstract sendMessage(request: ChatRequest): Promise<ChatResponse>;
|
|
20
|
+
/**
|
|
21
|
+
* Get service status
|
|
22
|
+
*/
|
|
23
|
+
abstract getStatus(): Promise<ServiceStatus>;
|
|
24
|
+
/**
|
|
25
|
+
* Get service information
|
|
26
|
+
*/
|
|
27
|
+
abstract getInfo(): Promise<any>;
|
|
28
|
+
/**
|
|
29
|
+
* Update configuration
|
|
30
|
+
*/
|
|
31
|
+
abstract updateConfig(newConfig: Partial<ServiceConfig>): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Authenticate user (if applicable)
|
|
34
|
+
*/
|
|
35
|
+
abstract authenticate(credentials: {
|
|
36
|
+
username: string;
|
|
37
|
+
password: string;
|
|
38
|
+
}): Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* Test service connection
|
|
41
|
+
*/
|
|
42
|
+
abstract testConnection(): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Get conversations
|
|
45
|
+
*/
|
|
46
|
+
abstract getConversations(): Promise<any[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Get conversation by ID
|
|
49
|
+
*/
|
|
50
|
+
abstract getConversation(conversationId: string): Promise<any>;
|
|
51
|
+
/**
|
|
52
|
+
* Delete conversation
|
|
53
|
+
*/
|
|
54
|
+
abstract deleteConversation(conversationId: string): Promise<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* Get usage statistics
|
|
57
|
+
*/
|
|
58
|
+
abstract getUsage(): Promise<any>;
|
|
59
|
+
/**
|
|
60
|
+
* Get error information
|
|
61
|
+
*/
|
|
62
|
+
abstract getErrors(limit?: number): Promise<any[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Get recovery actions
|
|
65
|
+
*/
|
|
66
|
+
abstract getRecoveryActions(): Promise<any[]>;
|
|
67
|
+
/**
|
|
68
|
+
* Clear error history
|
|
69
|
+
*/
|
|
70
|
+
abstract clearErrorHistory(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Backup configuration
|
|
73
|
+
*/
|
|
74
|
+
abstract backupConfig(backupDir?: string): Promise<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Restore configuration from backup
|
|
77
|
+
*/
|
|
78
|
+
abstract restoreConfig(backupFile: string): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* List available backups
|
|
81
|
+
*/
|
|
82
|
+
abstract listBackups(backupDir?: string): Promise<string[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Reset configuration to defaults
|
|
85
|
+
*/
|
|
86
|
+
abstract resetConfig(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Clean up resources
|
|
89
|
+
*/
|
|
90
|
+
abstract destroy(): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Get service name
|
|
93
|
+
*/
|
|
94
|
+
getName(): string;
|
|
95
|
+
/**
|
|
96
|
+
* Get current status
|
|
97
|
+
*/
|
|
98
|
+
getCurrentStatus(): string;
|
|
99
|
+
/**
|
|
100
|
+
* Get configuration
|
|
101
|
+
*/
|
|
102
|
+
getConfig(): ServiceConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Check if service is enabled
|
|
105
|
+
*/
|
|
106
|
+
isEnabled(): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Enable/disable service
|
|
109
|
+
*/
|
|
110
|
+
setEnabled(enabled: boolean): void;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/base/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElF,8BAAsB,kBAAmB,SAAQ,YAAY;IAC3D,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAkB;gBAEtE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAM/C;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAEjE;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvE;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAE5F;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAErE;;OAEG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE1D;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzD;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,SAAS,IAAI,aAAa;IAI1B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAInC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Base Service Adapter Interface
|
|
4
|
+
* Defines the common interface for all AI service adapters
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.BaseServiceAdapter = void 0;
|
|
8
|
+
const events_1 = require("events");
|
|
9
|
+
class BaseServiceAdapter extends events_1.EventEmitter {
|
|
10
|
+
name;
|
|
11
|
+
config;
|
|
12
|
+
status = 'initializing';
|
|
13
|
+
constructor(name, config) {
|
|
14
|
+
super();
|
|
15
|
+
this.name = name;
|
|
16
|
+
this.config = config;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get service name
|
|
20
|
+
*/
|
|
21
|
+
getName() {
|
|
22
|
+
return this.name;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get current status
|
|
26
|
+
*/
|
|
27
|
+
getCurrentStatus() {
|
|
28
|
+
return this.status;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get configuration
|
|
32
|
+
*/
|
|
33
|
+
getConfig() {
|
|
34
|
+
return { ...this.config };
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if service is enabled
|
|
38
|
+
*/
|
|
39
|
+
isEnabled() {
|
|
40
|
+
return this.config.enabled;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Enable/disable service
|
|
44
|
+
*/
|
|
45
|
+
setEnabled(enabled) {
|
|
46
|
+
this.config.enabled = enabled;
|
|
47
|
+
this.emit('service:enabled', this.name, enabled);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.BaseServiceAdapter = BaseServiceAdapter;
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/base/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mCAAsC;AAGtC,MAAsB,kBAAmB,SAAQ,qBAAY;IACjD,IAAI,CAAS;IACb,MAAM,CAAgB;IACtB,MAAM,GAAmD,cAAc,CAAC;IAElF,YAAY,IAAY,EAAE,MAAqB;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAiGD;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AA7ID,gDA6IC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Service Types
|
|
3
|
+
* Common types used by all AI service adapters
|
|
4
|
+
*/
|
|
5
|
+
export interface ServiceConfig {
|
|
6
|
+
name: string;
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
type: 'chatgpt' | 'deepseek' | 'wenxin' | 'qwen' | 'custom';
|
|
9
|
+
version: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
settings: {
|
|
12
|
+
base_url: string;
|
|
13
|
+
timeout: number;
|
|
14
|
+
max_retries: number;
|
|
15
|
+
retry_delay: number;
|
|
16
|
+
model: string;
|
|
17
|
+
max_tokens: number;
|
|
18
|
+
temperature: number;
|
|
19
|
+
top_p: number;
|
|
20
|
+
frequency_penalty: number;
|
|
21
|
+
presence_penalty: number;
|
|
22
|
+
requests_per_minute: number;
|
|
23
|
+
tokens_per_minute: number;
|
|
24
|
+
};
|
|
25
|
+
credentials?: {
|
|
26
|
+
username: string;
|
|
27
|
+
password: string;
|
|
28
|
+
api_key?: string;
|
|
29
|
+
access_token?: string;
|
|
30
|
+
refresh_token?: string;
|
|
31
|
+
};
|
|
32
|
+
metadata?: {
|
|
33
|
+
created_at: number;
|
|
34
|
+
updated_at: number;
|
|
35
|
+
last_used: number;
|
|
36
|
+
tags: string[];
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface ChatRequest {
|
|
40
|
+
message: string;
|
|
41
|
+
conversationId?: string;
|
|
42
|
+
stream?: boolean;
|
|
43
|
+
temperature?: number;
|
|
44
|
+
maxTokens?: number;
|
|
45
|
+
systemPrompt?: string;
|
|
46
|
+
model?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface ChatResponse {
|
|
49
|
+
id: string;
|
|
50
|
+
message: string;
|
|
51
|
+
conversationId: string;
|
|
52
|
+
usage: {
|
|
53
|
+
prompt_tokens: number;
|
|
54
|
+
completion_tokens: number;
|
|
55
|
+
total_tokens: number;
|
|
56
|
+
};
|
|
57
|
+
finishReason: string;
|
|
58
|
+
timestamp: number;
|
|
59
|
+
}
|
|
60
|
+
export interface ServiceStatus {
|
|
61
|
+
name: string;
|
|
62
|
+
status: 'initializing' | 'ready' | 'error' | 'stopped';
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
mode: 'public' | 'authenticated';
|
|
65
|
+
authenticated: boolean;
|
|
66
|
+
hasActiveSession: boolean;
|
|
67
|
+
totalConversations: number;
|
|
68
|
+
totalTokens: number;
|
|
69
|
+
rateLimited: boolean;
|
|
70
|
+
errorCount: number;
|
|
71
|
+
lastError?: string;
|
|
72
|
+
usage: {
|
|
73
|
+
totalTokens: number;
|
|
74
|
+
promptTokens: number;
|
|
75
|
+
completionTokens: number;
|
|
76
|
+
requests: number;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export interface ErrorInfo {
|
|
80
|
+
code: string;
|
|
81
|
+
message: string;
|
|
82
|
+
timestamp: number;
|
|
83
|
+
retryable: boolean;
|
|
84
|
+
details?: any;
|
|
85
|
+
}
|
|
86
|
+
export interface RecoveryAction {
|
|
87
|
+
id: string;
|
|
88
|
+
name: string;
|
|
89
|
+
description: string;
|
|
90
|
+
action: () => Promise<boolean>;
|
|
91
|
+
priority: 'low' | 'medium' | 'high' | 'critical';
|
|
92
|
+
}
|
|
93
|
+
export interface BackupInfo {
|
|
94
|
+
filename: string;
|
|
95
|
+
size: number;
|
|
96
|
+
created_at: number;
|
|
97
|
+
service_name: string;
|
|
98
|
+
service_version: string;
|
|
99
|
+
}
|
|
100
|
+
export interface UsageStats {
|
|
101
|
+
tokens: {
|
|
102
|
+
total: number;
|
|
103
|
+
prompt: number;
|
|
104
|
+
completion: number;
|
|
105
|
+
};
|
|
106
|
+
requests: number;
|
|
107
|
+
rate_limited: boolean;
|
|
108
|
+
errors: {
|
|
109
|
+
total: number;
|
|
110
|
+
retryable: number;
|
|
111
|
+
last_error: number;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/base/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/base/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatGPT API Client
|
|
3
|
+
* Handles HTTP requests to ChatGPT API with authentication and rate limiting
|
|
4
|
+
*/
|
|
5
|
+
import { ChatGPTConfig, RequestOptions, RateLimitInfo, ChatCompletionRequest, ChatCompletionResponse } from './types';
|
|
6
|
+
import { EventEmitter } from 'events';
|
|
7
|
+
export declare class ChatGPTAPIClient extends EventEmitter {
|
|
8
|
+
private client;
|
|
9
|
+
private config;
|
|
10
|
+
private rateLimitInfo;
|
|
11
|
+
constructor(config: ChatGPTConfig);
|
|
12
|
+
/**
|
|
13
|
+
* Get default headers for API requests
|
|
14
|
+
*/
|
|
15
|
+
private getDefaultHeaders;
|
|
16
|
+
/**
|
|
17
|
+
* Add authentication headers to request
|
|
18
|
+
*/
|
|
19
|
+
private addAuthHeaders;
|
|
20
|
+
/**
|
|
21
|
+
* Update rate limit information from response headers
|
|
22
|
+
*/
|
|
23
|
+
private updateRateLimitInfo;
|
|
24
|
+
/**
|
|
25
|
+
* Handle API errors with retry logic
|
|
26
|
+
*/
|
|
27
|
+
private handleError;
|
|
28
|
+
/**
|
|
29
|
+
* Retry request with exponential backoff
|
|
30
|
+
*/
|
|
31
|
+
private retryWithBackoff;
|
|
32
|
+
/**
|
|
33
|
+
* Make an API request with rate limiting
|
|
34
|
+
*/
|
|
35
|
+
request(options: RequestOptions): Promise<any>;
|
|
36
|
+
/**
|
|
37
|
+
* Send a chat completion request
|
|
38
|
+
*/
|
|
39
|
+
chatCompletion(request: ChatCompletionRequest): Promise<ChatCompletionResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* List available models
|
|
42
|
+
*/
|
|
43
|
+
listModels(): Promise<any>;
|
|
44
|
+
/**
|
|
45
|
+
* Get model information
|
|
46
|
+
*/
|
|
47
|
+
getModel(modelId: string): Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* Check API status
|
|
50
|
+
*/
|
|
51
|
+
checkStatus(): Promise<{
|
|
52
|
+
status: string;
|
|
53
|
+
version?: string;
|
|
54
|
+
error?: string;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Check if error is retryable
|
|
58
|
+
*/
|
|
59
|
+
private isRetryableError;
|
|
60
|
+
/**
|
|
61
|
+
* Reset rate limit information
|
|
62
|
+
*/
|
|
63
|
+
private resetRateLimit;
|
|
64
|
+
/**
|
|
65
|
+
* Utility function for delays
|
|
66
|
+
*/
|
|
67
|
+
private delay;
|
|
68
|
+
/**
|
|
69
|
+
* Get current rate limit information
|
|
70
|
+
*/
|
|
71
|
+
getRateLimitInfo(): RateLimitInfo;
|
|
72
|
+
/**
|
|
73
|
+
* Update configuration
|
|
74
|
+
*/
|
|
75
|
+
updateConfig(newConfig: Partial<ChatGPTConfig>): void;
|
|
76
|
+
/**
|
|
77
|
+
* Get current configuration
|
|
78
|
+
*/
|
|
79
|
+
getConfig(): ChatGPTConfig;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=api-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/services/chatgpt/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,aAAa,EAEb,cAAc,EACd,aAAa,EAEb,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAgB;gBAIzB,MAAM,EAAE,aAAa;IAkDjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;YACW,WAAW;IAiDzB;;OAEG;YACW,gBAAgB;IAqB9B;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAkCpD;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAYrF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAQhC;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ7C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBlF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAWrD;;OAEG;IACH,SAAS,IAAI,aAAa;CAG3B"}
|