fix:
Added DisposedError Wrapped zeroMemory() in its own try/catch in finally Generic error message; fixed ArrayBufferLike TypeScript type issue Generic error message; password/salt/IV wrapped in SecureByteContext Password ≥8 chars enforced; zeroKeys(); rotateKeys(); debug-gated logs; TS type fix Zero source ArrayBuffer after req.write() Added timeout, debug, keyRotationInterval, keyRotationDir, keyRotationPassword dispose(), assertNotDisposed(), startKeyRotationTimer(), rotateKeys(); Promise-mutex on ensureKeys(); new URL() validation; CR/LF API key check; server error detail truncation; response schema validation; all console.log behind debugMode Propagates new config fields; dispose() Tests for dispose, timer, header injection, URL validation, error sanitization, debug flag Tests for generic error messages, password validation, zeroKeys()
This commit is contained in:
parent
76703e2e3e
commit
d9d2ec98db
11 changed files with 582 additions and 129 deletions
|
|
@ -17,6 +17,21 @@ export interface ClientConfig {
|
|||
|
||||
/** Optional API key for authentication */
|
||||
apiKey?: string;
|
||||
|
||||
/** Request timeout in milliseconds (default: 60000) */
|
||||
timeout?: number;
|
||||
|
||||
/** Enable debug logging (default: false) */
|
||||
debug?: boolean;
|
||||
|
||||
/** Key rotation interval in milliseconds. Set to 0 to disable. (default: 86400000 = 24h) */
|
||||
keyRotationInterval?: number;
|
||||
|
||||
/** Directory for rotated key files (Node.js only, default: 'client_keys') */
|
||||
keyRotationDir?: string;
|
||||
|
||||
/** Password to encrypt rotated private key files */
|
||||
keyRotationPassword?: string;
|
||||
}
|
||||
|
||||
export interface KeyGenOptions {
|
||||
|
|
@ -53,4 +68,19 @@ export interface ChatCompletionConfig {
|
|||
|
||||
/** Enable secure memory protection */
|
||||
secureMemory?: boolean;
|
||||
|
||||
/** Request timeout in milliseconds (default: 60000) */
|
||||
timeout?: number;
|
||||
|
||||
/** Enable debug logging (default: false) */
|
||||
debug?: boolean;
|
||||
|
||||
/** Key rotation interval in milliseconds. Set to 0 to disable. (default: 86400000 = 24h) */
|
||||
keyRotationInterval?: number;
|
||||
|
||||
/** Directory for rotated key files (Node.js only, default: 'client_keys') */
|
||||
keyRotationDir?: string;
|
||||
|
||||
/** Password to encrypt rotated private key files */
|
||||
keyRotationPassword?: string;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue