@wingman-ai/gateway 0.4.0 → 0.4.1
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 +29 -111
- package/dist/agent/config/agentConfig.cjs +2 -0
- package/dist/agent/config/agentConfig.d.ts +6 -0
- package/dist/agent/config/agentConfig.js +2 -0
- package/dist/agent/config/agentLoader.cjs +21 -18
- package/dist/agent/config/agentLoader.js +22 -19
- package/dist/agent/config/toolRegistry.cjs +19 -0
- package/dist/agent/config/toolRegistry.d.ts +4 -0
- package/dist/agent/config/toolRegistry.js +17 -1
- package/dist/agent/middleware/additional-messages.cjs +115 -11
- package/dist/agent/middleware/additional-messages.d.ts +9 -0
- package/dist/agent/middleware/additional-messages.js +115 -11
- package/dist/agent/tests/agentLoader.test.cjs +45 -0
- package/dist/agent/tests/agentLoader.test.js +45 -0
- package/dist/agent/tests/toolRegistry.test.cjs +2 -0
- package/dist/agent/tests/toolRegistry.test.js +2 -0
- package/dist/agent/tools/node_invoke.cjs +146 -0
- package/dist/agent/tools/node_invoke.d.ts +86 -0
- package/dist/agent/tools/node_invoke.js +109 -0
- package/dist/cli/commands/gateway.cjs +1 -1
- package/dist/cli/commands/gateway.js +1 -1
- package/dist/cli/core/agentInvoker.cjs +21 -3
- package/dist/cli/core/agentInvoker.d.ts +10 -0
- package/dist/cli/core/agentInvoker.js +21 -3
- package/dist/gateway/http/nodes.cjs +247 -0
- package/dist/gateway/http/nodes.d.ts +20 -0
- package/dist/gateway/http/nodes.js +210 -0
- package/dist/gateway/node.cjs +10 -1
- package/dist/gateway/node.d.ts +10 -1
- package/dist/gateway/node.js +10 -1
- package/dist/gateway/server.cjs +414 -27
- package/dist/gateway/server.d.ts +34 -0
- package/dist/gateway/server.js +408 -27
- package/dist/gateway/types.d.ts +6 -1
- package/dist/gateway/validation.cjs +2 -0
- package/dist/gateway/validation.d.ts +4 -0
- package/dist/gateway/validation.js +2 -0
- package/dist/tests/additionalMessageMiddleware.test.cjs +92 -0
- package/dist/tests/additionalMessageMiddleware.test.js +92 -0
- package/dist/tests/gateway-http-security.test.cjs +277 -0
- package/dist/tests/gateway-http-security.test.d.ts +1 -0
- package/dist/tests/gateway-http-security.test.js +271 -0
- package/dist/tests/gateway-node-mode.test.cjs +174 -0
- package/dist/tests/gateway-node-mode.test.d.ts +1 -0
- package/dist/tests/gateway-node-mode.test.js +168 -0
- package/dist/tests/gateway-origin-policy.test.cjs +60 -0
- package/dist/tests/gateway-origin-policy.test.d.ts +1 -0
- package/dist/tests/gateway-origin-policy.test.js +54 -0
- package/dist/tests/gateway.test.cjs +1 -0
- package/dist/tests/gateway.test.js +1 -0
- package/dist/tests/node-tools.test.cjs +77 -0
- package/dist/tests/node-tools.test.d.ts +1 -0
- package/dist/tests/node-tools.test.js +71 -0
- package/dist/tests/nodes-api.test.cjs +86 -0
- package/dist/tests/nodes-api.test.d.ts +1 -0
- package/dist/tests/nodes-api.test.js +80 -0
- package/dist/webui/assets/{index-DHbfLOUR.js → index-BMekSELC.js} +106 -106
- package/dist/webui/index.html +1 -1
- package/package.json +1 -1
package/dist/gateway/node.d.ts
CHANGED
|
@@ -14,7 +14,11 @@ export declare class NodeManager {
|
|
|
14
14
|
*/
|
|
15
15
|
registerNode(ws: ServerWebSocket<{
|
|
16
16
|
nodeId: string;
|
|
17
|
-
|
|
17
|
+
clientId?: string;
|
|
18
|
+
clientType?: string;
|
|
19
|
+
authenticated?: boolean;
|
|
20
|
+
tailscaleUser?: string;
|
|
21
|
+
}>, name: string, capabilities?: string[], sessionId?: string, agentName?: string, clientId?: string): Node | null;
|
|
18
22
|
/**
|
|
19
23
|
* Unregister a node
|
|
20
24
|
*/
|
|
@@ -27,6 +31,10 @@ export declare class NodeManager {
|
|
|
27
31
|
* Get all nodes
|
|
28
32
|
*/
|
|
29
33
|
getAllNodes(): Node[];
|
|
34
|
+
/**
|
|
35
|
+
* Get all nodes for a stable client ID
|
|
36
|
+
*/
|
|
37
|
+
getNodesByClientId(clientId: string): Node[];
|
|
30
38
|
/**
|
|
31
39
|
* Get node metadata (without WebSocket)
|
|
32
40
|
*/
|
|
@@ -102,6 +110,7 @@ export declare class NodeManager {
|
|
|
102
110
|
nodes: {
|
|
103
111
|
id: string;
|
|
104
112
|
name: string;
|
|
113
|
+
clientId: string | undefined;
|
|
105
114
|
groupCount: number;
|
|
106
115
|
connectedAt: number;
|
|
107
116
|
lastPing: number | undefined;
|
package/dist/gateway/node.js
CHANGED
|
@@ -12,12 +12,13 @@ function _define_property(obj, key, value) {
|
|
|
12
12
|
}
|
|
13
13
|
const logger = createLogger();
|
|
14
14
|
class NodeManager {
|
|
15
|
-
registerNode(ws, name, capabilities, sessionId, agentName) {
|
|
15
|
+
registerNode(ws, name, capabilities, sessionId, agentName, clientId) {
|
|
16
16
|
if (this.nodes.size >= this.maxNodes) return null;
|
|
17
17
|
const id = this.generateNodeId();
|
|
18
18
|
const node = {
|
|
19
19
|
id,
|
|
20
20
|
name,
|
|
21
|
+
clientId,
|
|
21
22
|
capabilities,
|
|
22
23
|
groups: new Set(),
|
|
23
24
|
connectedAt: Date.now(),
|
|
@@ -26,6 +27,7 @@ class NodeManager {
|
|
|
26
27
|
agentName
|
|
27
28
|
};
|
|
28
29
|
ws.data = {
|
|
30
|
+
...ws.data,
|
|
29
31
|
nodeId: id
|
|
30
32
|
};
|
|
31
33
|
this.nodes.set(id, node);
|
|
@@ -45,12 +47,18 @@ class NodeManager {
|
|
|
45
47
|
getAllNodes() {
|
|
46
48
|
return Array.from(this.nodes.values());
|
|
47
49
|
}
|
|
50
|
+
getNodesByClientId(clientId) {
|
|
51
|
+
const trimmed = clientId.trim();
|
|
52
|
+
if (!trimmed) return [];
|
|
53
|
+
return Array.from(this.nodes.values()).filter((node)=>node.clientId === trimmed);
|
|
54
|
+
}
|
|
48
55
|
getNodeMetadata(nodeId) {
|
|
49
56
|
const node = this.nodes.get(nodeId);
|
|
50
57
|
if (!node) return;
|
|
51
58
|
return {
|
|
52
59
|
id: node.id,
|
|
53
60
|
name: node.name,
|
|
61
|
+
clientId: node.clientId,
|
|
54
62
|
capabilities: node.capabilities,
|
|
55
63
|
groups: node.groups,
|
|
56
64
|
connectedAt: node.connectedAt,
|
|
@@ -162,6 +170,7 @@ class NodeManager {
|
|
|
162
170
|
nodes: Array.from(this.nodes.values()).map((n)=>({
|
|
163
171
|
id: n.id,
|
|
164
172
|
name: n.name,
|
|
173
|
+
clientId: n.clientId,
|
|
165
174
|
groupCount: n.groups.size,
|
|
166
175
|
connectedAt: n.connectedAt,
|
|
167
176
|
lastPing: n.lastPing,
|