@chucky.cloud/sdk 0.2.7 → 0.3.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/dist/browser.cjs +1361 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +1 -0
- package/dist/browser.d.ts +1 -8
- package/dist/browser.js +1278 -11
- package/dist/browser.js.map +1 -1
- package/dist/index.cjs +1361 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1973 -0
- package/dist/index.d.ts +1953 -48
- package/dist/index.js +1278 -72
- package/dist/index.js.map +1 -1
- package/dist/node.cjs +1361 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.cts +1 -0
- package/dist/node.d.ts +1 -8
- package/dist/node.js +1278 -10
- package/dist/node.js.map +1 -1
- package/package.json +13 -7
- package/dist/browser.d.ts.map +0 -1
- package/dist/client/ChuckyClient.d.ts +0 -141
- package/dist/client/ChuckyClient.d.ts.map +0 -1
- package/dist/client/ChuckyClient.js +0 -209
- package/dist/client/ChuckyClient.js.map +0 -1
- package/dist/client/Session.d.ts +0 -167
- package/dist/client/Session.d.ts.map +0 -1
- package/dist/client/Session.js +0 -392
- package/dist/client/Session.js.map +0 -1
- package/dist/client/index.d.ts +0 -10
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -9
- package/dist/client/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/node.d.ts.map +0 -1
- package/dist/tools/McpServer.d.ts +0 -117
- package/dist/tools/McpServer.d.ts.map +0 -1
- package/dist/tools/McpServer.js +0 -142
- package/dist/tools/McpServer.js.map +0 -1
- package/dist/tools/index.d.ts +0 -9
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -8
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/tool.d.ts +0 -146
- package/dist/tools/tool.d.ts.map +0 -1
- package/dist/tools/tool.js +0 -232
- package/dist/tools/tool.js.map +0 -1
- package/dist/transport/Transport.d.ts +0 -82
- package/dist/transport/Transport.d.ts.map +0 -1
- package/dist/transport/Transport.js +0 -47
- package/dist/transport/Transport.js.map +0 -1
- package/dist/transport/WebSocketTransport.d.ts +0 -78
- package/dist/transport/WebSocketTransport.d.ts.map +0 -1
- package/dist/transport/WebSocketTransport.js +0 -258
- package/dist/transport/WebSocketTransport.js.map +0 -1
- package/dist/transport/index.d.ts +0 -10
- package/dist/transport/index.d.ts.map +0 -1
- package/dist/transport/index.js +0 -8
- package/dist/transport/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -12
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -8
- package/dist/types/index.js.map +0 -1
- package/dist/types/messages.d.ts +0 -327
- package/dist/types/messages.d.ts.map +0 -1
- package/dist/types/messages.js +0 -133
- package/dist/types/messages.js.map +0 -1
- package/dist/types/options.d.ts +0 -212
- package/dist/types/options.d.ts.map +0 -1
- package/dist/types/options.js +0 -8
- package/dist/types/options.js.map +0 -1
- package/dist/types/results.d.ts +0 -186
- package/dist/types/results.d.ts.map +0 -1
- package/dist/types/results.js +0 -7
- package/dist/types/results.js.map +0 -1
- package/dist/types/token.d.ts +0 -124
- package/dist/types/token.d.ts.map +0 -1
- package/dist/types/token.js +0 -7
- package/dist/types/token.js.map +0 -1
- package/dist/types/tools.d.ts +0 -234
- package/dist/types/tools.d.ts.map +0 -1
- package/dist/types/tools.js +0 -31
- package/dist/types/tools.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -80
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -158
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -8
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/token.d.ts +0 -104
- package/dist/utils/token.d.ts.map +0 -1
- package/dist/utils/token.js +0 -209
- package/dist/utils/token.js.map +0 -1
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transport Interface
|
|
3
|
-
*
|
|
4
|
-
* Abstract interface for communication between the SDK and Chucky server.
|
|
5
|
-
* Implementations can use WebSocket (browser/Node.js) or other protocols.
|
|
6
|
-
*/
|
|
7
|
-
import type { ConnectionStatus, ClientEventHandlers } from '../types/options.js';
|
|
8
|
-
import type { OutgoingMessage, IncomingMessage } from '../types/messages.js';
|
|
9
|
-
/**
|
|
10
|
-
* Transport event types
|
|
11
|
-
*/
|
|
12
|
-
export interface TransportEvents extends ClientEventHandlers {
|
|
13
|
-
/** Called when a message is received */
|
|
14
|
-
onMessage?: (message: IncomingMessage) => void;
|
|
15
|
-
/** Called when the transport is closed */
|
|
16
|
-
onClose?: (code?: number, reason?: string) => void;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Transport configuration
|
|
20
|
-
*/
|
|
21
|
-
export interface TransportConfig {
|
|
22
|
-
/** Server URL */
|
|
23
|
-
url: string;
|
|
24
|
-
/** Authentication token */
|
|
25
|
-
token: string;
|
|
26
|
-
/** Connection timeout in milliseconds */
|
|
27
|
-
timeout?: number;
|
|
28
|
-
/** Keep-alive interval in milliseconds */
|
|
29
|
-
keepAliveInterval?: number;
|
|
30
|
-
/** Auto-reconnect on disconnect */
|
|
31
|
-
autoReconnect?: boolean;
|
|
32
|
-
/** Maximum reconnect attempts */
|
|
33
|
-
maxReconnectAttempts?: number;
|
|
34
|
-
/** Debug mode */
|
|
35
|
-
debug?: boolean;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Abstract transport interface
|
|
39
|
-
*/
|
|
40
|
-
export interface Transport {
|
|
41
|
-
/** Current connection status */
|
|
42
|
-
readonly status: ConnectionStatus;
|
|
43
|
-
/**
|
|
44
|
-
* Connect to the server
|
|
45
|
-
*/
|
|
46
|
-
connect(): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Disconnect from the server
|
|
49
|
-
*/
|
|
50
|
-
disconnect(): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* Send a message to the server
|
|
53
|
-
*/
|
|
54
|
-
send(message: OutgoingMessage): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Set event handlers
|
|
57
|
-
*/
|
|
58
|
-
setEventHandlers(handlers: TransportEvents): void;
|
|
59
|
-
/**
|
|
60
|
-
* Wait for connection to be ready
|
|
61
|
-
*/
|
|
62
|
-
waitForReady(): Promise<void>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Base transport class with common functionality
|
|
66
|
-
*/
|
|
67
|
-
export declare abstract class BaseTransport implements Transport {
|
|
68
|
-
protected _status: ConnectionStatus;
|
|
69
|
-
protected handlers: TransportEvents;
|
|
70
|
-
protected config: TransportConfig;
|
|
71
|
-
constructor(config: TransportConfig);
|
|
72
|
-
get status(): ConnectionStatus;
|
|
73
|
-
protected setStatus(status: ConnectionStatus): void;
|
|
74
|
-
protected log(...args: unknown[]): void;
|
|
75
|
-
protected logError(...args: unknown[]): void;
|
|
76
|
-
setEventHandlers(handlers: TransportEvents): void;
|
|
77
|
-
abstract connect(): Promise<void>;
|
|
78
|
-
abstract disconnect(): Promise<void>;
|
|
79
|
-
abstract send(message: OutgoingMessage): Promise<void>;
|
|
80
|
-
abstract waitForReady(): Promise<void>;
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=Transport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../src/transport/Transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,wCAAwC;IACxC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,0CAA0C;IAC1C,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IAElD;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,8BAAsB,aAAc,YAAW,SAAS;IACtD,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAkB;IACrD,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAM;IACzC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;gBAEtB,MAAM,EAAE,eAAe;IAgBnC,IAAI,MAAM,IAAI,gBAAgB,CAE7B;IAED,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAOnD,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMvC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI5C,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIjD,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IACtD,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CACvC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transport Interface
|
|
3
|
-
*
|
|
4
|
-
* Abstract interface for communication between the SDK and Chucky server.
|
|
5
|
-
* Implementations can use WebSocket (browser/Node.js) or other protocols.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Base transport class with common functionality
|
|
9
|
-
*/
|
|
10
|
-
export class BaseTransport {
|
|
11
|
-
_status = 'disconnected';
|
|
12
|
-
handlers = {};
|
|
13
|
-
config;
|
|
14
|
-
constructor(config) {
|
|
15
|
-
// Filter out undefined values to prevent them from overwriting defaults
|
|
16
|
-
const cleanConfig = Object.fromEntries(Object.entries(config).filter(([_, v]) => v !== undefined));
|
|
17
|
-
this.config = {
|
|
18
|
-
timeout: 60000, // 60s - container startup can take time
|
|
19
|
-
keepAliveInterval: 300000, // 5 minutes
|
|
20
|
-
autoReconnect: false, // Disabled - server doesn't support reconnect
|
|
21
|
-
maxReconnectAttempts: 0,
|
|
22
|
-
debug: false,
|
|
23
|
-
...cleanConfig,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
get status() {
|
|
27
|
-
return this._status;
|
|
28
|
-
}
|
|
29
|
-
setStatus(status) {
|
|
30
|
-
if (this._status !== status) {
|
|
31
|
-
this._status = status;
|
|
32
|
-
this.handlers.onStatusChange?.(status);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
log(...args) {
|
|
36
|
-
if (this.config.debug) {
|
|
37
|
-
console.log('[ChuckySDK]', ...args);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
logError(...args) {
|
|
41
|
-
console.error('[ChuckySDK]', ...args);
|
|
42
|
-
}
|
|
43
|
-
setEventHandlers(handlers) {
|
|
44
|
-
this.handlers = { ...this.handlers, ...handlers };
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=Transport.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../src/transport/Transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoEH;;GAEG;AACH,MAAM,OAAgB,aAAa;IACvB,OAAO,GAAqB,cAAc,CAAC;IAC3C,QAAQ,GAAoB,EAAE,CAAC;IAC/B,MAAM,CAAkB;IAElC,YAAY,MAAuB;QACjC,wEAAwE;QACxE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CACxC,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG;YACZ,OAAO,EAAE,KAAK,EAAE,wCAAwC;YACxD,iBAAiB,EAAE,MAAM,EAAE,YAAY;YACvC,aAAa,EAAE,KAAK,EAAE,8CAA8C;YACpE,oBAAoB,EAAE,CAAC;YACvB,KAAK,EAAE,KAAK;YACZ,GAAG,WAAW;SACf,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAES,SAAS,CAAC,MAAwB;QAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAES,GAAG,CAAC,GAAG,IAAe;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAES,QAAQ,CAAC,GAAG,IAAe;QACnC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACxC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IACpD,CAAC;CAMF"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WebSocket Transport
|
|
3
|
-
*
|
|
4
|
-
* WebSocket-based transport that works in both browser and Node.js.
|
|
5
|
-
* Handles connection management, keep-alive, and reconnection.
|
|
6
|
-
*/
|
|
7
|
-
import type { OutgoingMessage } from '../types/messages.js';
|
|
8
|
-
import { BaseTransport, type TransportConfig } from './Transport.js';
|
|
9
|
-
/**
|
|
10
|
-
* WebSocket transport configuration
|
|
11
|
-
*/
|
|
12
|
-
export interface WebSocketTransportConfig extends TransportConfig {
|
|
13
|
-
/** Protocol to use (default: determined from URL) */
|
|
14
|
-
protocol?: 'ws' | 'wss';
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* WebSocket transport implementation
|
|
18
|
-
*/
|
|
19
|
-
export declare class WebSocketTransport extends BaseTransport {
|
|
20
|
-
private ws;
|
|
21
|
-
private keepAliveTimer;
|
|
22
|
-
private reconnectAttempts;
|
|
23
|
-
private reconnectTimer;
|
|
24
|
-
private readyPromise;
|
|
25
|
-
private readyResolve;
|
|
26
|
-
private readyReject;
|
|
27
|
-
private messageQueue;
|
|
28
|
-
constructor(config: WebSocketTransportConfig);
|
|
29
|
-
/**
|
|
30
|
-
* Build the WebSocket URL with token
|
|
31
|
-
*/
|
|
32
|
-
private buildUrl;
|
|
33
|
-
/**
|
|
34
|
-
* Connect to the WebSocket server
|
|
35
|
-
*/
|
|
36
|
-
connect(): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* Disconnect from the server
|
|
39
|
-
*/
|
|
40
|
-
disconnect(): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Send a message to the server
|
|
43
|
-
*/
|
|
44
|
-
send(message: OutgoingMessage): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* Send a message immediately
|
|
47
|
-
*/
|
|
48
|
-
private sendImmediate;
|
|
49
|
-
/**
|
|
50
|
-
* Wait for the connection to be ready
|
|
51
|
-
*/
|
|
52
|
-
waitForReady(): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Handle incoming message
|
|
55
|
-
*/
|
|
56
|
-
private handleMessage;
|
|
57
|
-
/**
|
|
58
|
-
* Start keep-alive ping
|
|
59
|
-
*/
|
|
60
|
-
private startKeepAlive;
|
|
61
|
-
/**
|
|
62
|
-
* Stop keep-alive ping
|
|
63
|
-
*/
|
|
64
|
-
private stopKeepAlive;
|
|
65
|
-
/**
|
|
66
|
-
* Schedule a reconnection attempt
|
|
67
|
-
*/
|
|
68
|
-
private scheduleReconnect;
|
|
69
|
-
/**
|
|
70
|
-
* Clear reconnect timer
|
|
71
|
-
*/
|
|
72
|
-
private clearReconnectTimer;
|
|
73
|
-
/**
|
|
74
|
-
* Flush queued messages
|
|
75
|
-
*/
|
|
76
|
-
private flushMessageQueue;
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=WebSocketTransport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.d.ts","sourceRoot":"","sources":["../../src/transport/WebSocketTransport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,qDAAqD;IACrD,QAAQ,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;CACzB;AAcD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,YAAY,CAAyB;gBAEjC,MAAM,EAAE,wBAAwB;IAI5C;;OAEG;IACH,OAAO,CAAC,QAAQ;IAMhB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqF9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAanC;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WebSocket Transport
|
|
3
|
-
*
|
|
4
|
-
* WebSocket-based transport that works in both browser and Node.js.
|
|
5
|
-
* Handles connection management, keep-alive, and reconnection.
|
|
6
|
-
*/
|
|
7
|
-
import { createPingMessage, isErrorMessage } from '../types/messages.js';
|
|
8
|
-
import { BaseTransport } from './Transport.js';
|
|
9
|
-
/**
|
|
10
|
-
* Get WebSocket implementation (browser or Node.js)
|
|
11
|
-
*/
|
|
12
|
-
async function getWebSocket() {
|
|
13
|
-
if (typeof WebSocket !== 'undefined') {
|
|
14
|
-
return WebSocket;
|
|
15
|
-
}
|
|
16
|
-
// Node.js: dynamically import ws
|
|
17
|
-
const ws = await import('ws');
|
|
18
|
-
return ws.default;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* WebSocket transport implementation
|
|
22
|
-
*/
|
|
23
|
-
export class WebSocketTransport extends BaseTransport {
|
|
24
|
-
ws = null;
|
|
25
|
-
keepAliveTimer = null;
|
|
26
|
-
reconnectAttempts = 0;
|
|
27
|
-
reconnectTimer = null;
|
|
28
|
-
readyPromise = null;
|
|
29
|
-
readyResolve = null;
|
|
30
|
-
readyReject = null;
|
|
31
|
-
messageQueue = [];
|
|
32
|
-
constructor(config) {
|
|
33
|
-
super(config);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Build the WebSocket URL with token
|
|
37
|
-
*/
|
|
38
|
-
buildUrl() {
|
|
39
|
-
const url = new URL(this.config.url);
|
|
40
|
-
url.searchParams.set('token', this.config.token);
|
|
41
|
-
return url.toString();
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Connect to the WebSocket server
|
|
45
|
-
*/
|
|
46
|
-
async connect() {
|
|
47
|
-
if (this._status === 'connected' || this._status === 'connecting') {
|
|
48
|
-
return this.waitForReady();
|
|
49
|
-
}
|
|
50
|
-
this.setStatus('connecting');
|
|
51
|
-
this.log('Connecting to', this.config.url);
|
|
52
|
-
// Create ready promise
|
|
53
|
-
this.readyPromise = new Promise((resolve, reject) => {
|
|
54
|
-
this.readyResolve = resolve;
|
|
55
|
-
this.readyReject = reject;
|
|
56
|
-
});
|
|
57
|
-
try {
|
|
58
|
-
const WS = await getWebSocket();
|
|
59
|
-
const wsUrl = this.buildUrl();
|
|
60
|
-
this.ws = new WS(wsUrl);
|
|
61
|
-
// Set up connection timeout
|
|
62
|
-
const timeoutId = setTimeout(() => {
|
|
63
|
-
if (this._status === 'connecting') {
|
|
64
|
-
this.ws?.close();
|
|
65
|
-
const error = new Error('Connection timeout');
|
|
66
|
-
this.readyReject?.(error);
|
|
67
|
-
this.handlers.onError?.(error);
|
|
68
|
-
this.setStatus('error');
|
|
69
|
-
}
|
|
70
|
-
}, this.config.timeout);
|
|
71
|
-
this.ws.onopen = () => {
|
|
72
|
-
clearTimeout(timeoutId);
|
|
73
|
-
this.log('Connected');
|
|
74
|
-
this.setStatus('connected');
|
|
75
|
-
this.reconnectAttempts = 0;
|
|
76
|
-
this.startKeepAlive();
|
|
77
|
-
this.readyResolve?.();
|
|
78
|
-
this.flushMessageQueue();
|
|
79
|
-
};
|
|
80
|
-
this.ws.onclose = (event) => {
|
|
81
|
-
clearTimeout(timeoutId);
|
|
82
|
-
this.log('Disconnected:', event.code, event.reason);
|
|
83
|
-
this.stopKeepAlive();
|
|
84
|
-
if (this._status === 'connecting') {
|
|
85
|
-
const error = new Error(`Connection failed: ${event.reason || 'Unknown'}`);
|
|
86
|
-
this.readyReject?.(error);
|
|
87
|
-
}
|
|
88
|
-
this.setStatus('disconnected');
|
|
89
|
-
this.handlers.onClose?.(event.code, event.reason);
|
|
90
|
-
// Auto-reconnect if enabled
|
|
91
|
-
if (this.config.autoReconnect && this.reconnectAttempts < (this.config.maxReconnectAttempts || 5)) {
|
|
92
|
-
this.scheduleReconnect();
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
this.ws.onerror = (event) => {
|
|
96
|
-
clearTimeout(timeoutId);
|
|
97
|
-
const error = new Error('WebSocket error');
|
|
98
|
-
this.logError('WebSocket error:', event);
|
|
99
|
-
this.handlers.onError?.(error);
|
|
100
|
-
if (this._status === 'connecting') {
|
|
101
|
-
this.readyReject?.(error);
|
|
102
|
-
}
|
|
103
|
-
this.setStatus('error');
|
|
104
|
-
};
|
|
105
|
-
this.ws.onmessage = (event) => {
|
|
106
|
-
this.handleMessage(event.data);
|
|
107
|
-
};
|
|
108
|
-
return this.readyPromise;
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
this.setStatus('error');
|
|
112
|
-
this.readyReject?.(error);
|
|
113
|
-
throw error;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Disconnect from the server
|
|
118
|
-
*/
|
|
119
|
-
async disconnect() {
|
|
120
|
-
this.log('Disconnecting');
|
|
121
|
-
this.stopKeepAlive();
|
|
122
|
-
this.clearReconnectTimer();
|
|
123
|
-
if (this.ws) {
|
|
124
|
-
this.ws.close(1000, 'Client disconnect');
|
|
125
|
-
this.ws = null;
|
|
126
|
-
}
|
|
127
|
-
this.setStatus('disconnected');
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Send a message to the server
|
|
131
|
-
*/
|
|
132
|
-
async send(message) {
|
|
133
|
-
// Don't queue or send if we're closing/closed
|
|
134
|
-
if (this._status === 'disconnected' && !this.config.autoReconnect) {
|
|
135
|
-
this.log('Message dropped (disconnected):', message.type);
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
if (this._status !== 'connected') {
|
|
139
|
-
// Queue message if not connected
|
|
140
|
-
this.messageQueue.push(message);
|
|
141
|
-
this.log('Message queued (not connected):', message.type);
|
|
142
|
-
// Try to connect if disconnected and autoReconnect is enabled
|
|
143
|
-
if (this._status === 'disconnected' && this.config.autoReconnect) {
|
|
144
|
-
await this.connect();
|
|
145
|
-
}
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
this.sendImmediate(message);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Send a message immediately
|
|
152
|
-
*/
|
|
153
|
-
sendImmediate(message) {
|
|
154
|
-
if (!this.ws || this.ws.readyState !== 1) {
|
|
155
|
-
this.logError('Cannot send: WebSocket not ready');
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
const data = JSON.stringify(message);
|
|
159
|
-
this.handlers.onRawMessage?.('out', message);
|
|
160
|
-
this.ws.send(data);
|
|
161
|
-
this.log('Sent:', message.type);
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Wait for the connection to be ready
|
|
165
|
-
*/
|
|
166
|
-
async waitForReady() {
|
|
167
|
-
if (this._status === 'connected') {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
if (this.readyPromise) {
|
|
171
|
-
return this.readyPromise;
|
|
172
|
-
}
|
|
173
|
-
// Start connection if not already connecting
|
|
174
|
-
return this.connect();
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Handle incoming message
|
|
178
|
-
*/
|
|
179
|
-
handleMessage(data) {
|
|
180
|
-
try {
|
|
181
|
-
const text = typeof data === 'string' ? data : new TextDecoder().decode(data);
|
|
182
|
-
const message = JSON.parse(text);
|
|
183
|
-
this.handlers.onRawMessage?.('in', message);
|
|
184
|
-
this.log('Received:', message.type);
|
|
185
|
-
// Handle pong (keep-alive response)
|
|
186
|
-
if (message.type === 'pong') {
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
// Handle errors
|
|
190
|
-
if (isErrorMessage(message)) {
|
|
191
|
-
const error = new Error(message.payload.message);
|
|
192
|
-
this.handlers.onError?.(error);
|
|
193
|
-
}
|
|
194
|
-
// Forward to message handler
|
|
195
|
-
this.handlers.onMessage?.(message);
|
|
196
|
-
}
|
|
197
|
-
catch (error) {
|
|
198
|
-
this.logError('Failed to parse message:', error);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Start keep-alive ping
|
|
203
|
-
*/
|
|
204
|
-
startKeepAlive() {
|
|
205
|
-
this.stopKeepAlive();
|
|
206
|
-
if (this.config.keepAliveInterval && this.config.keepAliveInterval > 0) {
|
|
207
|
-
this.keepAliveTimer = setInterval(() => {
|
|
208
|
-
if (this._status === 'connected' && this.ws?.readyState === 1) {
|
|
209
|
-
this.sendImmediate(createPingMessage());
|
|
210
|
-
}
|
|
211
|
-
}, this.config.keepAliveInterval);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Stop keep-alive ping
|
|
216
|
-
*/
|
|
217
|
-
stopKeepAlive() {
|
|
218
|
-
if (this.keepAliveTimer) {
|
|
219
|
-
clearInterval(this.keepAliveTimer);
|
|
220
|
-
this.keepAliveTimer = null;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Schedule a reconnection attempt
|
|
225
|
-
*/
|
|
226
|
-
scheduleReconnect() {
|
|
227
|
-
this.clearReconnectTimer();
|
|
228
|
-
this.reconnectAttempts++;
|
|
229
|
-
// Exponential backoff: 1s, 2s, 4s, 8s, 16s
|
|
230
|
-
const delay = Math.min(1000 * Math.pow(2, this.reconnectAttempts - 1), 16000);
|
|
231
|
-
this.log(`Scheduling reconnect in ${delay}ms (attempt ${this.reconnectAttempts})`);
|
|
232
|
-
this.setStatus('reconnecting');
|
|
233
|
-
this.reconnectTimer = setTimeout(() => {
|
|
234
|
-
this.connect().catch((error) => {
|
|
235
|
-
this.logError('Reconnect failed:', error);
|
|
236
|
-
});
|
|
237
|
-
}, delay);
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Clear reconnect timer
|
|
241
|
-
*/
|
|
242
|
-
clearReconnectTimer() {
|
|
243
|
-
if (this.reconnectTimer) {
|
|
244
|
-
clearTimeout(this.reconnectTimer);
|
|
245
|
-
this.reconnectTimer = null;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Flush queued messages
|
|
250
|
-
*/
|
|
251
|
-
flushMessageQueue() {
|
|
252
|
-
while (this.messageQueue.length > 0) {
|
|
253
|
-
const message = this.messageQueue.shift();
|
|
254
|
-
this.sendImmediate(message);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
//# sourceMappingURL=WebSocketTransport.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.js","sourceRoot":"","sources":["../../src/transport/WebSocketTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transport Index
|
|
3
|
-
*
|
|
4
|
-
* Re-exports all transport implementations.
|
|
5
|
-
*/
|
|
6
|
-
export type { Transport, TransportConfig, TransportEvents } from './Transport.js';
|
|
7
|
-
export { BaseTransport } from './Transport.js';
|
|
8
|
-
export type { WebSocketTransportConfig } from './WebSocketTransport.js';
|
|
9
|
-
export { WebSocketTransport } from './WebSocketTransport.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/transport/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types Index
|
|
3
|
-
*
|
|
4
|
-
* Re-exports all types for convenient importing.
|
|
5
|
-
*/
|
|
6
|
-
export type { Model, SystemPrompt, OutputFormat, AgentDefinition, BaseOptions, SessionOptions, PromptOptions, ClientOptions, ConnectionStatus, ClientEventHandlers, } from './options.js';
|
|
7
|
-
export type { JsonSchemaType, JsonSchemaProperty, ToolInputSchema, ToolContentType, ToolTextContent, ToolImageContent, ResourceContent, ToolContent, ToolResult, ToolExecutionLocation, ToolHandler, ToolDefinition, McpServerDefinition, ToolCall, ToolCallResponse, } from './tools.js';
|
|
8
|
-
export type { UUID, TextContent as SDKTextContent, ImageContent as SDKImageContent, ToolUseContent, ToolResultContent, ContentBlock as SDKContentBlock, APIUserMessage, APIAssistantMessage, SDKUserMessage, SDKAssistantMessage, SDKResultMessage, SDKResultMessageSuccess, SDKResultMessageError, ResultSubtype, SDKSystemMessage, SDKSystemMessageInit, SDKSystemMessageCompact, SystemSubtype, SDKPartialAssistantMessage, SDKMessage, WsEnvelopeType, InitPayload, ControlAction, ControlPayload, ErrorPayload, PingPongPayload, ToolCallPayload, ToolResultPayload, InitEnvelope, ControlEnvelope, ErrorEnvelope, PingEnvelope, PongEnvelope, ToolCallEnvelope, ToolResultEnvelope, OutgoingMessage, IncomingMessage, AnyMessage, } from './messages.js';
|
|
9
|
-
export { createInitMessage, createUserMessage, createControlMessage, createPingMessage, createToolResultMessage, isUserMessage, isAssistantMessage, isResultMessage, isSuccessResult, isErrorResult, isSystemMessage, isStreamEvent, isToolCallMessage, isControlMessage, isErrorMessage, getResultText, getAssistantText, } from './messages.js';
|
|
10
|
-
export type { BudgetWindow, TokenBudget, TokenPermissions, TokenSdkConfig, BudgetTokenPayload, CreateTokenOptions, DecodedToken, } from './token.js';
|
|
11
|
-
export type { MessageRole, ContentBlockType, TextBlock, ToolUseBlock, ToolResultBlock, ThinkingBlock, ImageBlock, ContentBlock, Message, Usage, CostBreakdown, SessionResult, PromptResult, StreamEvent, PartialMessage, SessionState, SessionInfo, } from './results.js';
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,IAAI,EACJ,WAAW,IAAI,cAAc,EAC7B,YAAY,IAAI,eAAe,EAC/B,cAAc,EACd,iBAAiB,EACjB,YAAY,IAAI,eAAe,EAC/B,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,UAAU,EAEV,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,UAAU,GACX,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,YAAY,EACZ,OAAO,EACP,KAAK,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,GACZ,MAAM,cAAc,CAAC"}
|
package/dist/types/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types Index
|
|
3
|
-
*
|
|
4
|
-
* Re-exports all types for convenient importing.
|
|
5
|
-
*/
|
|
6
|
-
// Message helpers
|
|
7
|
-
export { createInitMessage, createUserMessage, createControlMessage, createPingMessage, createToolResultMessage, isUserMessage, isAssistantMessage, isResultMessage, isSuccessResult, isErrorResult, isSystemMessage, isStreamEvent, isToolCallMessage, isControlMessage, isErrorMessage, getResultText, getAssistantText, } from './messages.js';
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8EH,kBAAkB;AAClB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
|