@kadi.build/core 0.0.1-alpha.1 → 0.0.1-alpha.11
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/README.md +361 -230
- package/dist/abilities/AbilityCache.d.ts +242 -0
- package/dist/abilities/AbilityCache.d.ts.map +1 -0
- package/dist/abilities/AbilityCache.js +285 -0
- package/dist/abilities/AbilityCache.js.map +1 -0
- package/dist/abilities/AbilityContext.d.ts +215 -0
- package/dist/abilities/AbilityContext.d.ts.map +1 -0
- package/dist/abilities/AbilityContext.js +36 -0
- package/dist/abilities/AbilityContext.js.map +1 -0
- package/dist/abilities/AbilityLoader.d.ts +203 -0
- package/dist/abilities/AbilityLoader.d.ts.map +1 -0
- package/dist/abilities/AbilityLoader.js +343 -0
- package/dist/abilities/AbilityLoader.js.map +1 -0
- package/dist/abilities/AbilityProxy.d.ts +496 -0
- package/dist/abilities/AbilityProxy.d.ts.map +1 -0
- package/dist/abilities/AbilityProxy.js +551 -0
- package/dist/abilities/AbilityProxy.js.map +1 -0
- package/dist/abilities/AbilityValidator.d.ts +172 -0
- package/dist/abilities/AbilityValidator.d.ts.map +1 -0
- package/dist/abilities/AbilityValidator.js +253 -0
- package/dist/abilities/AbilityValidator.js.map +1 -0
- package/dist/abilities/index.d.ts +26 -0
- package/dist/abilities/index.d.ts.map +1 -0
- package/dist/abilities/index.js +23 -0
- package/dist/abilities/index.js.map +1 -0
- package/dist/abilities/types.d.ts +223 -0
- package/dist/abilities/types.d.ts.map +1 -0
- package/dist/abilities/types.js +10 -0
- package/dist/abilities/types.js.map +1 -0
- package/dist/api/index.d.ts +92 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +124 -0
- package/dist/api/index.js.map +1 -0
- package/dist/broker/BrokerConnection.d.ts +253 -0
- package/dist/broker/BrokerConnection.d.ts.map +1 -0
- package/dist/broker/BrokerConnection.js +434 -0
- package/dist/broker/BrokerConnection.js.map +1 -0
- package/dist/broker/BrokerConnectionManager.d.ts +216 -0
- package/dist/broker/BrokerConnectionManager.d.ts.map +1 -0
- package/dist/broker/BrokerConnectionManager.js +305 -0
- package/dist/broker/BrokerConnectionManager.js.map +1 -0
- package/dist/broker/BrokerProtocol.d.ts +280 -0
- package/dist/broker/BrokerProtocol.d.ts.map +1 -0
- package/dist/broker/BrokerProtocol.js +466 -0
- package/dist/broker/BrokerProtocol.js.map +1 -0
- package/dist/broker/index.d.ts +9 -0
- package/dist/broker/index.d.ts.map +1 -0
- package/dist/broker/index.js +9 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/client/KadiClient.d.ts +459 -0
- package/dist/client/KadiClient.d.ts.map +1 -0
- package/dist/client/KadiClient.js +902 -0
- package/dist/client/KadiClient.js.map +1 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +7 -0
- package/dist/client/index.js.map +1 -0
- package/dist/config/ConfigLoader.d.ts +138 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +226 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/config/ConfigResolver.d.ts +135 -0
- package/dist/config/ConfigResolver.d.ts.map +1 -0
- package/dist/config/ConfigResolver.js +282 -0
- package/dist/config/ConfigResolver.js.map +1 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +8 -0
- package/dist/config/index.js.map +1 -0
- package/dist/errors/index.d.ts +9 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +8 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/events/EventHub.d.ts +172 -0
- package/dist/events/EventHub.d.ts.map +1 -0
- package/dist/events/EventHub.js +333 -0
- package/dist/events/EventHub.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +7 -0
- package/dist/events/index.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -0
- package/dist/messages/index.d.ts +33 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/index.js +33 -0
- package/dist/messages/index.js.map +1 -0
- package/dist/schemas/index.d.ts +22 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +27 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/kadi-extensions.d.ts +231 -0
- package/dist/schemas/kadi-extensions.d.ts.map +1 -0
- package/dist/schemas/kadi-extensions.js +14 -0
- package/dist/schemas/kadi-extensions.js.map +1 -0
- package/dist/schemas/mcp/schema.d.ts +1399 -0
- package/dist/schemas/mcp/schema.d.ts.map +1 -0
- package/dist/schemas/mcp/schema.js +53 -0
- package/dist/schemas/mcp/schema.js.map +1 -0
- package/dist/schemas/mcp/version.d.ts +37 -0
- package/dist/schemas/mcp/version.d.ts.map +1 -0
- package/dist/schemas/mcp/version.js +39 -0
- package/dist/schemas/mcp/version.js.map +1 -0
- package/dist/schemas/schema-builders.d.ts +178 -0
- package/dist/schemas/schema-builders.d.ts.map +1 -0
- package/dist/schemas/schema-builders.js +258 -0
- package/dist/schemas/schema-builders.js.map +1 -0
- package/dist/schemas/zod-helpers.d.ts +129 -0
- package/dist/schemas/zod-helpers.d.ts.map +1 -0
- package/dist/schemas/zod-helpers.js +225 -0
- package/dist/schemas/zod-helpers.js.map +1 -0
- package/dist/schemas/zod-to-json-schema.d.ts +159 -0
- package/dist/schemas/zod-to-json-schema.d.ts.map +1 -0
- package/dist/schemas/zod-to-json-schema.js +154 -0
- package/dist/schemas/zod-to-json-schema.js.map +1 -0
- package/dist/tools/ToolRegistry.d.ts +256 -0
- package/dist/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/tools/ToolRegistry.js +340 -0
- package/dist/tools/ToolRegistry.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/transports/BrokerTransport.d.ts +151 -0
- package/dist/transports/BrokerTransport.d.ts.map +1 -0
- package/dist/transports/BrokerTransport.js +261 -0
- package/dist/transports/BrokerTransport.js.map +1 -0
- package/dist/transports/NativeTransport.d.ts +178 -0
- package/dist/transports/NativeTransport.d.ts.map +1 -0
- package/dist/transports/NativeTransport.js +397 -0
- package/dist/transports/NativeTransport.js.map +1 -0
- package/dist/transports/StdioTransport.d.ts +250 -0
- package/dist/transports/StdioTransport.d.ts.map +1 -0
- package/dist/transports/StdioTransport.js +487 -0
- package/dist/transports/StdioTransport.js.map +1 -0
- package/dist/transports/index.d.ts +10 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports/index.js +9 -0
- package/dist/transports/index.js.map +1 -0
- package/dist/types/broker.d.ts +279 -0
- package/dist/types/broker.d.ts.map +1 -0
- package/dist/types/broker.js +19 -0
- package/dist/types/broker.js.map +1 -0
- package/dist/types/config.d.ts +325 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +17 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/errors.d.ts +178 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +165 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/events.d.ts +210 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +8 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +34 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/protocol.d.ts +48 -0
- package/dist/types/protocol.d.ts.map +1 -0
- package/dist/types/protocol.js +11 -0
- package/dist/types/protocol.js.map +1 -0
- package/dist/types/tools.d.ts +67 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +16 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/transport.d.ts +250 -0
- package/dist/types/transport.d.ts.map +1 -0
- package/dist/types/transport.js +18 -0
- package/dist/types/transport.js.map +1 -0
- package/dist/types/zod-tools.d.ts +198 -0
- package/dist/types/zod-tools.d.ts.map +1 -0
- package/dist/types/zod-tools.js +14 -0
- package/dist/types/zod-tools.js.map +1 -0
- package/dist/utils/StdioMessageReader.d.ts +122 -0
- package/dist/utils/StdioMessageReader.d.ts.map +1 -0
- package/dist/utils/StdioMessageReader.js +209 -0
- package/dist/utils/StdioMessageReader.js.map +1 -0
- package/dist/utils/StdioMessageWriter.d.ts +104 -0
- package/dist/utils/StdioMessageWriter.d.ts.map +1 -0
- package/dist/utils/StdioMessageWriter.js +162 -0
- package/dist/utils/StdioMessageWriter.js.map +1 -0
- package/dist/validation/SchemaValidator.d.ts +208 -0
- package/dist/validation/SchemaValidator.d.ts.map +1 -0
- package/dist/validation/SchemaValidator.js +411 -0
- package/dist/validation/SchemaValidator.js.map +1 -0
- package/dist/validation/index.d.ts +11 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +10 -0
- package/dist/validation/index.js.map +1 -0
- package/package.json +70 -5
- package/agent.json +0 -18
- package/broker.js +0 -214
- package/index.js +0 -370
- package/ipc.js +0 -220
- package/ipcInterfaces/pythonAbilityIPC.py +0 -177
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrokerConnection.js","sourceRoot":"","sources":["../../src/broker/BrokerConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broker Connection Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages multiple broker connections.
|
|
5
|
+
* Handles connection lifecycle, failover, and routing.
|
|
6
|
+
*
|
|
7
|
+
* @module broker/BrokerConnectionManager
|
|
8
|
+
*/
|
|
9
|
+
import { EventEmitter } from 'events';
|
|
10
|
+
import type { BrokerConfig } from '../types/index.js';
|
|
11
|
+
import { BrokerConnection } from './BrokerConnection.js';
|
|
12
|
+
/**
|
|
13
|
+
* Broker Connection Manager
|
|
14
|
+
*
|
|
15
|
+
* Single responsibility: Manage multiple broker connections.
|
|
16
|
+
* Does NOT handle:
|
|
17
|
+
* - Protocol logic (that's BrokerProtocol's job)
|
|
18
|
+
* - Tool registration/invocation (that's ToolRegistry/Client's job)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const manager = new BrokerConnectionManager();
|
|
23
|
+
*
|
|
24
|
+
* // Add brokers
|
|
25
|
+
* await manager.connect({
|
|
26
|
+
* url: 'ws://localhost:8080',
|
|
27
|
+
* name: 'local'
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* await manager.connect({
|
|
31
|
+
* url: 'wss://prod.example.com',
|
|
32
|
+
* name: 'production'
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Get a connection
|
|
36
|
+
* const connection = manager.getConnection('local');
|
|
37
|
+
*
|
|
38
|
+
* // Get default connection
|
|
39
|
+
* const defaultConn = manager.getDefaultConnection();
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare class BrokerConnectionManager extends EventEmitter {
|
|
43
|
+
/**
|
|
44
|
+
* Active broker connections (name -> connection)
|
|
45
|
+
*/
|
|
46
|
+
private connections;
|
|
47
|
+
/**
|
|
48
|
+
* Default broker name
|
|
49
|
+
*/
|
|
50
|
+
private defaultBrokerName;
|
|
51
|
+
/**
|
|
52
|
+
* Connect to a broker
|
|
53
|
+
*
|
|
54
|
+
* @param config - Broker configuration
|
|
55
|
+
* @param setAsDefault - Set this as the default broker
|
|
56
|
+
* @returns The established connection
|
|
57
|
+
*
|
|
58
|
+
* @throws {KadiError} If connection fails
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const connection = await manager.connect({
|
|
63
|
+
* url: 'ws://localhost:8080',
|
|
64
|
+
* name: 'local'
|
|
65
|
+
* }, true);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
connect(config: BrokerConfig, setAsDefault?: boolean): Promise<BrokerConnection>;
|
|
69
|
+
/**
|
|
70
|
+
* Connect to multiple brokers
|
|
71
|
+
*
|
|
72
|
+
* @param configs - Array of broker configurations
|
|
73
|
+
* @param defaultBrokerName - Name of the default broker
|
|
74
|
+
* @returns Array of established connections
|
|
75
|
+
*
|
|
76
|
+
* @throws {KadiError} If any connection fails
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* await manager.connectMultiple([
|
|
81
|
+
* { url: 'ws://localhost:8080', name: 'local' },
|
|
82
|
+
* { url: 'wss://prod.example.com', name: 'prod' }
|
|
83
|
+
* ], 'local');
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
connectMultiple(configs: BrokerConfig[], defaultBrokerName?: string): Promise<BrokerConnection[]>;
|
|
87
|
+
/**
|
|
88
|
+
* Disconnect from a broker
|
|
89
|
+
*
|
|
90
|
+
* @param brokerName - Name of broker to disconnect from
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* await manager.disconnect('local');
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
disconnect(brokerName: string): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Disconnect from all brokers
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* await manager.disconnectAll();
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
disconnectAll(): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Get a broker connection by name
|
|
109
|
+
*
|
|
110
|
+
* @param brokerName - Name of the broker
|
|
111
|
+
* @returns The connection or undefined if not found
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const conn = manager.getConnection('local');
|
|
116
|
+
* if (conn) {
|
|
117
|
+
* await conn.sendRequest(...);
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
getConnection(brokerName: string): BrokerConnection | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Get the default broker connection
|
|
124
|
+
*
|
|
125
|
+
* @returns The default connection
|
|
126
|
+
* @throws {KadiError} If no default broker is set
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const conn = manager.getDefaultConnection();
|
|
131
|
+
* await conn.sendRequest(...);
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
getDefaultConnection(): BrokerConnection;
|
|
135
|
+
/**
|
|
136
|
+
* Get all broker connections
|
|
137
|
+
*
|
|
138
|
+
* @returns Array of all connections
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* const connections = manager.getAllConnections();
|
|
143
|
+
* console.log(`Connected to ${connections.length} brokers`);
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
getAllConnections(): BrokerConnection[];
|
|
147
|
+
/**
|
|
148
|
+
* Get all connected broker connections
|
|
149
|
+
*
|
|
150
|
+
* @returns Array of connected connections
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* const connected = manager.getConnectedBrokers();
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
getConnectedBrokers(): BrokerConnection[];
|
|
158
|
+
/**
|
|
159
|
+
* Check if connected to a specific broker
|
|
160
|
+
*
|
|
161
|
+
* @param brokerName - Broker name
|
|
162
|
+
* @returns true if connected
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* if (manager.isConnected('local')) {
|
|
167
|
+
* // Use local broker
|
|
168
|
+
* }
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
isConnected(brokerName: string): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Check if connected to any broker
|
|
174
|
+
*
|
|
175
|
+
* @returns true if connected to at least one broker
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```typescript
|
|
179
|
+
* if (!manager.hasConnections()) {
|
|
180
|
+
* throw new Error('Not connected to any broker');
|
|
181
|
+
* }
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
hasConnections(): boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Set the default broker
|
|
187
|
+
*
|
|
188
|
+
* @param brokerName - Name of broker to set as default
|
|
189
|
+
* @throws {KadiError} If broker doesn't exist
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* manager.setDefaultBroker('production');
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
setDefaultBroker(brokerName: string): void;
|
|
197
|
+
/**
|
|
198
|
+
* Get default broker name
|
|
199
|
+
*
|
|
200
|
+
* @returns Default broker name or null if not set
|
|
201
|
+
*/
|
|
202
|
+
getDefaultBrokerName(): string | null;
|
|
203
|
+
/**
|
|
204
|
+
* Get number of active connections
|
|
205
|
+
*
|
|
206
|
+
* @returns Connection count
|
|
207
|
+
*/
|
|
208
|
+
get connectionCount(): number;
|
|
209
|
+
/**
|
|
210
|
+
* Get broker names
|
|
211
|
+
*
|
|
212
|
+
* @returns Array of broker names
|
|
213
|
+
*/
|
|
214
|
+
getBrokerNames(): string[];
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=BrokerConnectionManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrokerConnectionManager.d.ts","sourceRoot":"","sources":["../../src/broker/BrokerConnectionManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD;;OAEG;IACH,OAAO,CAAC,WAAW,CAAuC;IAE1D;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAuB;IAEhD;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6CpF;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EAAE,EACvB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAY9B;;;;;;;;;OASG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnD;;;;;;;OAOG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/D;;;;;;;;;;;OAWG;IACH,oBAAoB,IAAI,gBAAgB;IAsBxC;;;;;;;;;;OAUG;IACH,iBAAiB,IAAI,gBAAgB,EAAE;IAIvC;;;;;;;;;OASG;IACH,mBAAmB,IAAI,gBAAgB,EAAE;IAIzC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAKxC;;;;;;;;;;;OAWG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAa1C;;;;OAIG;IACH,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAIrC;;;;OAIG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;OAIG;IACH,cAAc,IAAI,MAAM,EAAE;CAG3B"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broker Connection Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages multiple broker connections.
|
|
5
|
+
* Handles connection lifecycle, failover, and routing.
|
|
6
|
+
*
|
|
7
|
+
* @module broker/BrokerConnectionManager
|
|
8
|
+
*/
|
|
9
|
+
import { EventEmitter } from 'events';
|
|
10
|
+
import { KadiError, ErrorCode } from '../types/index.js';
|
|
11
|
+
import { BrokerConnection } from './BrokerConnection.js';
|
|
12
|
+
/**
|
|
13
|
+
* Broker Connection Manager
|
|
14
|
+
*
|
|
15
|
+
* Single responsibility: Manage multiple broker connections.
|
|
16
|
+
* Does NOT handle:
|
|
17
|
+
* - Protocol logic (that's BrokerProtocol's job)
|
|
18
|
+
* - Tool registration/invocation (that's ToolRegistry/Client's job)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const manager = new BrokerConnectionManager();
|
|
23
|
+
*
|
|
24
|
+
* // Add brokers
|
|
25
|
+
* await manager.connect({
|
|
26
|
+
* url: 'ws://localhost:8080',
|
|
27
|
+
* name: 'local'
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* await manager.connect({
|
|
31
|
+
* url: 'wss://prod.example.com',
|
|
32
|
+
* name: 'production'
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Get a connection
|
|
36
|
+
* const connection = manager.getConnection('local');
|
|
37
|
+
*
|
|
38
|
+
* // Get default connection
|
|
39
|
+
* const defaultConn = manager.getDefaultConnection();
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export class BrokerConnectionManager extends EventEmitter {
|
|
43
|
+
/**
|
|
44
|
+
* Active broker connections (name -> connection)
|
|
45
|
+
*/
|
|
46
|
+
connections = new Map();
|
|
47
|
+
/**
|
|
48
|
+
* Default broker name
|
|
49
|
+
*/
|
|
50
|
+
defaultBrokerName = null;
|
|
51
|
+
/**
|
|
52
|
+
* Connect to a broker
|
|
53
|
+
*
|
|
54
|
+
* @param config - Broker configuration
|
|
55
|
+
* @param setAsDefault - Set this as the default broker
|
|
56
|
+
* @returns The established connection
|
|
57
|
+
*
|
|
58
|
+
* @throws {KadiError} If connection fails
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const connection = await manager.connect({
|
|
63
|
+
* url: 'ws://localhost:8080',
|
|
64
|
+
* name: 'local'
|
|
65
|
+
* }, true);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
async connect(config, setAsDefault = false) {
|
|
69
|
+
// Check if already connected
|
|
70
|
+
if (this.connections.has(config.name)) {
|
|
71
|
+
const existing = this.connections.get(config.name);
|
|
72
|
+
if (existing.isConnected) {
|
|
73
|
+
return existing;
|
|
74
|
+
}
|
|
75
|
+
// Remove stale connection
|
|
76
|
+
this.connections.delete(config.name);
|
|
77
|
+
}
|
|
78
|
+
// Create new connection
|
|
79
|
+
const connection = new BrokerConnection(config);
|
|
80
|
+
// Set up event forwarding
|
|
81
|
+
connection.on('connected', () => {
|
|
82
|
+
this.emit('brokerConnected', config.name);
|
|
83
|
+
});
|
|
84
|
+
connection.on('disconnected', (code, reason) => {
|
|
85
|
+
this.emit('brokerDisconnected', config.name, code, reason);
|
|
86
|
+
});
|
|
87
|
+
connection.on('error', (error) => {
|
|
88
|
+
this.emit('brokerError', config.name, error);
|
|
89
|
+
});
|
|
90
|
+
connection.on('message', (message) => {
|
|
91
|
+
this.emit('brokerMessage', config.name, message);
|
|
92
|
+
});
|
|
93
|
+
// Connect
|
|
94
|
+
await connection.connect();
|
|
95
|
+
// Store connection
|
|
96
|
+
this.connections.set(config.name, connection);
|
|
97
|
+
// Set as default if requested or if it's the first connection
|
|
98
|
+
if (setAsDefault || this.connections.size === 1) {
|
|
99
|
+
this.defaultBrokerName = config.name;
|
|
100
|
+
}
|
|
101
|
+
return connection;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Connect to multiple brokers
|
|
105
|
+
*
|
|
106
|
+
* @param configs - Array of broker configurations
|
|
107
|
+
* @param defaultBrokerName - Name of the default broker
|
|
108
|
+
* @returns Array of established connections
|
|
109
|
+
*
|
|
110
|
+
* @throws {KadiError} If any connection fails
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* await manager.connectMultiple([
|
|
115
|
+
* { url: 'ws://localhost:8080', name: 'local' },
|
|
116
|
+
* { url: 'wss://prod.example.com', name: 'prod' }
|
|
117
|
+
* ], 'local');
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
async connectMultiple(configs, defaultBrokerName) {
|
|
121
|
+
const connections = [];
|
|
122
|
+
for (const config of configs) {
|
|
123
|
+
const isDefault = config.name === defaultBrokerName;
|
|
124
|
+
const connection = await this.connect(config, isDefault);
|
|
125
|
+
connections.push(connection);
|
|
126
|
+
}
|
|
127
|
+
return connections;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Disconnect from a broker
|
|
131
|
+
*
|
|
132
|
+
* @param brokerName - Name of broker to disconnect from
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* await manager.disconnect('local');
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
async disconnect(brokerName) {
|
|
140
|
+
const connection = this.connections.get(brokerName);
|
|
141
|
+
if (!connection) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
await connection.disconnect();
|
|
145
|
+
this.connections.delete(brokerName);
|
|
146
|
+
// Clear default if this was it
|
|
147
|
+
if (this.defaultBrokerName === brokerName) {
|
|
148
|
+
this.defaultBrokerName = this.connections.size > 0
|
|
149
|
+
? Array.from(this.connections.keys())[0] ?? null
|
|
150
|
+
: null;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Disconnect from all brokers
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* await manager.disconnectAll();
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
async disconnectAll() {
|
|
162
|
+
const disconnectPromises = Array.from(this.connections.keys()).map(name => this.disconnect(name));
|
|
163
|
+
await Promise.all(disconnectPromises);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get a broker connection by name
|
|
167
|
+
*
|
|
168
|
+
* @param brokerName - Name of the broker
|
|
169
|
+
* @returns The connection or undefined if not found
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* const conn = manager.getConnection('local');
|
|
174
|
+
* if (conn) {
|
|
175
|
+
* await conn.sendRequest(...);
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
getConnection(brokerName) {
|
|
180
|
+
return this.connections.get(brokerName);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get the default broker connection
|
|
184
|
+
*
|
|
185
|
+
* @returns The default connection
|
|
186
|
+
* @throws {KadiError} If no default broker is set
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typescript
|
|
190
|
+
* const conn = manager.getDefaultConnection();
|
|
191
|
+
* await conn.sendRequest(...);
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
getDefaultConnection() {
|
|
195
|
+
if (!this.defaultBrokerName) {
|
|
196
|
+
throw new KadiError('No default broker set', ErrorCode.BROKER_NOT_CONNECTED, 503);
|
|
197
|
+
}
|
|
198
|
+
const connection = this.connections.get(this.defaultBrokerName);
|
|
199
|
+
if (!connection) {
|
|
200
|
+
throw new KadiError(`Default broker '${this.defaultBrokerName}' not found`, ErrorCode.BROKER_NOT_CONNECTED, 503, { defaultBroker: this.defaultBrokerName });
|
|
201
|
+
}
|
|
202
|
+
return connection;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get all broker connections
|
|
206
|
+
*
|
|
207
|
+
* @returns Array of all connections
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* ```typescript
|
|
211
|
+
* const connections = manager.getAllConnections();
|
|
212
|
+
* console.log(`Connected to ${connections.length} brokers`);
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
getAllConnections() {
|
|
216
|
+
return Array.from(this.connections.values());
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Get all connected broker connections
|
|
220
|
+
*
|
|
221
|
+
* @returns Array of connected connections
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```typescript
|
|
225
|
+
* const connected = manager.getConnectedBrokers();
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
getConnectedBrokers() {
|
|
229
|
+
return this.getAllConnections().filter(conn => conn.isConnected);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Check if connected to a specific broker
|
|
233
|
+
*
|
|
234
|
+
* @param brokerName - Broker name
|
|
235
|
+
* @returns true if connected
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* if (manager.isConnected('local')) {
|
|
240
|
+
* // Use local broker
|
|
241
|
+
* }
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
isConnected(brokerName) {
|
|
245
|
+
const connection = this.connections.get(brokerName);
|
|
246
|
+
return connection?.isConnected ?? false;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Check if connected to any broker
|
|
250
|
+
*
|
|
251
|
+
* @returns true if connected to at least one broker
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* if (!manager.hasConnections()) {
|
|
256
|
+
* throw new Error('Not connected to any broker');
|
|
257
|
+
* }
|
|
258
|
+
* ```
|
|
259
|
+
*/
|
|
260
|
+
hasConnections() {
|
|
261
|
+
return this.getConnectedBrokers().length > 0;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Set the default broker
|
|
265
|
+
*
|
|
266
|
+
* @param brokerName - Name of broker to set as default
|
|
267
|
+
* @throws {KadiError} If broker doesn't exist
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* manager.setDefaultBroker('production');
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
setDefaultBroker(brokerName) {
|
|
275
|
+
if (!this.connections.has(brokerName)) {
|
|
276
|
+
throw new KadiError(`Broker '${brokerName}' not found`, ErrorCode.BROKER_NOT_CONNECTED, 404, { brokerName, available: Array.from(this.connections.keys()) });
|
|
277
|
+
}
|
|
278
|
+
this.defaultBrokerName = brokerName;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Get default broker name
|
|
282
|
+
*
|
|
283
|
+
* @returns Default broker name or null if not set
|
|
284
|
+
*/
|
|
285
|
+
getDefaultBrokerName() {
|
|
286
|
+
return this.defaultBrokerName;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Get number of active connections
|
|
290
|
+
*
|
|
291
|
+
* @returns Connection count
|
|
292
|
+
*/
|
|
293
|
+
get connectionCount() {
|
|
294
|
+
return this.connections.size;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Get broker names
|
|
298
|
+
*
|
|
299
|
+
* @returns Array of broker names
|
|
300
|
+
*/
|
|
301
|
+
getBrokerNames() {
|
|
302
|
+
return Array.from(this.connections.keys());
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=BrokerConnectionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrokerConnectionManager.js","sourceRoot":"","sources":["../../src/broker/BrokerConnectionManager.ts"],"names":[],"mappings":"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"}
|