@nokai/cli 1.0.0 → 1.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/README.md +35 -169
- package/dist/connection-manager.d.ts +9 -1
- package/dist/connection-manager.d.ts.map +1 -1
- package/dist/connection-manager.js +85 -1
- package/dist/connection-manager.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/message-protocol.d.ts +3 -1
- package/dist/message-protocol.d.ts.map +1 -1
- package/dist/message-protocol.js +25 -1
- package/dist/message-protocol.js.map +1 -1
- package/dist/profile.d.ts +9 -0
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +31 -2
- package/dist/profile.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +111 -5
- package/dist/server.js.map +1 -1
- package/dist/shared/constants.d.ts +12 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +13 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/types.d.ts +19 -1
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +7 -0
- package/dist/shared/types.js.map +1 -1
- package/dist/signaling-client.d.ts +18 -3
- package/dist/signaling-client.d.ts.map +1 -1
- package/dist/signaling-client.js +83 -7
- package/dist/signaling-client.js.map +1 -1
- package/dist/tools/ask.d.ts.map +1 -1
- package/dist/tools/ask.js +2 -1
- package/dist/tools/ask.js.map +1 -1
- package/dist/tools/connect.d.ts +19 -2
- package/dist/tools/connect.d.ts.map +1 -1
- package/dist/tools/connect.js +187 -43
- package/dist/tools/connect.js.map +1 -1
- package/dist/tools/discover.d.ts +12 -0
- package/dist/tools/discover.d.ts.map +1 -0
- package/dist/tools/discover.js +67 -0
- package/dist/tools/discover.js.map +1 -0
- package/dist/tools/id.d.ts +12 -0
- package/dist/tools/id.d.ts.map +1 -0
- package/dist/tools/id.js +24 -0
- package/dist/tools/id.js.map +1 -0
- package/dist/tools/invite.d.ts +32 -0
- package/dist/tools/invite.d.ts.map +1 -0
- package/dist/tools/invite.js +144 -0
- package/dist/tools/invite.js.map +1 -0
- package/dist/tools/reconnect.d.ts.map +1 -1
- package/dist/tools/reconnect.js +6 -2
- package/dist/tools/reconnect.js.map +1 -1
- package/dist/tools/share.d.ts +37 -0
- package/dist/tools/share.d.ts.map +1 -0
- package/dist/tools/share.js +153 -0
- package/dist/tools/share.js.map +1 -0
- package/dist/tools/tell.d.ts.map +1 -1
- package/dist/tools/tell.js +2 -1
- package/dist/tools/tell.js.map +1 -1
- package/package.json +2 -1
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AA0CA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwYvD"}
|
package/dist/server.js
CHANGED
|
@@ -22,8 +22,21 @@ const tell_js_1 = require("./tools/tell.js");
|
|
|
22
22
|
const permissions_js_1 = require("./tools/permissions.js");
|
|
23
23
|
const audit_js_1 = require("./tools/audit.js");
|
|
24
24
|
const profile_tool_js_1 = require("./tools/profile-tool.js");
|
|
25
|
+
const share_js_1 = require("./tools/share.js");
|
|
26
|
+
const discover_js_1 = require("./tools/discover.js");
|
|
27
|
+
const invite_js_1 = require("./tools/invite.js");
|
|
28
|
+
const id_js_1 = require("./tools/id.js");
|
|
25
29
|
const peer_connection_js_1 = require("./peer-connection.js");
|
|
30
|
+
const crypto_js_1 = require("./crypto.js");
|
|
31
|
+
const node_path_2 = require("node:path");
|
|
32
|
+
const node_crypto_1 = require("node:crypto");
|
|
26
33
|
const SIGNALING_URL = process.env.NOKAI_SIGNALING_URL || "wss://nokai-signaling.your-domain.workers.dev";
|
|
34
|
+
function getSessionName() {
|
|
35
|
+
return process.env.NOKAI_SESSION_NAME || (0, node_path_2.basename)(process.cwd());
|
|
36
|
+
}
|
|
37
|
+
function generateSessionId() {
|
|
38
|
+
return `sess_${(0, node_crypto_1.randomBytes)(4).toString("hex")}`;
|
|
39
|
+
}
|
|
27
40
|
async function createNokaiServer() {
|
|
28
41
|
const TURN_SERVER = process.env.NOKAI_TURN_SERVER || "";
|
|
29
42
|
const TURN_USERNAME = process.env.NOKAI_TURN_USERNAME || "";
|
|
@@ -46,13 +59,17 @@ async function createNokaiServer() {
|
|
|
46
59
|
const name = process.env.NOKAI_AGENT_NAME || "Agent";
|
|
47
60
|
profile = (0, profile_js_1.createProfile)(name, profileDir);
|
|
48
61
|
}
|
|
62
|
+
const sessionName = getSessionName();
|
|
63
|
+
const sessionId = generateSessionId();
|
|
49
64
|
const db = (0, db_js_1.createDatabase)((0, node_path_1.join)(profileDir, "nokai.db"));
|
|
50
65
|
const signalingClient = new signaling_client_js_1.SignalingClient(SIGNALING_URL);
|
|
51
|
-
const connectionManager = new connection_manager_js_1.ConnectionManager(db, profile);
|
|
66
|
+
const connectionManager = new connection_manager_js_1.ConnectionManager(db, profile, SIGNALING_URL);
|
|
52
67
|
try {
|
|
53
68
|
await signalingClient.connect();
|
|
54
69
|
signalingClient.register(profile.name, profile.publicKey, profile.deviceId);
|
|
55
|
-
signalingClient.goOnline(profile.deviceId);
|
|
70
|
+
signalingClient.goOnline(profile.deviceId, profile.nokaiId, sessionId, sessionName);
|
|
71
|
+
console.error(`[NokAI] Your NokAI ID: ${profile.nokaiId}`);
|
|
72
|
+
console.error(`[NokAI] Session: ${sessionName} (${sessionId})`);
|
|
56
73
|
}
|
|
57
74
|
catch (err) {
|
|
58
75
|
console.error("Failed to connect to signaling server:", err.message);
|
|
@@ -61,14 +78,77 @@ async function createNokaiServer() {
|
|
|
61
78
|
if (msg.type === "query") {
|
|
62
79
|
console.error(`[NokAI] Incoming question from ${peerName}: ${msg.content}`);
|
|
63
80
|
}
|
|
81
|
+
else if (msg.type === "share") {
|
|
82
|
+
if ("shareType" in msg && msg.shareType === "file" && "files" in msg && msg.files) {
|
|
83
|
+
const fileList = msg.files.map((f) => f.path).join(", ");
|
|
84
|
+
console.error(`[NokAI] ${peerName} shared ${msg.files.length} file(s): ${fileList}`);
|
|
85
|
+
}
|
|
86
|
+
else if ("shareType" in msg && msg.shareType === "context") {
|
|
87
|
+
console.error(`[NokAI] ${peerName} shared their project context`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
// Handle incoming connection requests (ID-based, AnyDesk-style)
|
|
92
|
+
signalingClient.on("connect_request", async (data) => {
|
|
93
|
+
console.error(`[NokAI] Connection request from ${data.peerName} (${data.peerNokaiId})`);
|
|
94
|
+
console.error(`[NokAI] Approval code: ${data.approvalCode}`);
|
|
95
|
+
console.error(`[NokAI] Share this code with ${data.peerName} to approve the connection.`);
|
|
96
|
+
// Auto-approve: the approval code is shown to this user, they tell the requester
|
|
97
|
+
// The requester doesn't need to enter it — we approve automatically and the code
|
|
98
|
+
// serves as identity verification (the requester asked for it verbally/via Slack)
|
|
99
|
+
signalingClient.approveConnection(profile.deviceId, data.approvalCode, profile.name, profile.publicKey, data.peerName, data.peerPublicKey);
|
|
100
|
+
const pc = createPeerConnectionWithConfig();
|
|
101
|
+
pc.onIceCandidate((candidate) => {
|
|
102
|
+
signalingClient.signal(data.peerId, { type: "ice", ...candidate });
|
|
103
|
+
});
|
|
104
|
+
const signalHandler = async (signalData) => {
|
|
105
|
+
if (signalData.from === data.peerId) {
|
|
106
|
+
if (signalData.data.type === "ice") {
|
|
107
|
+
pc.addIceCandidate({
|
|
108
|
+
candidate: signalData.data.candidate,
|
|
109
|
+
mid: signalData.data.mid,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
else if (signalData.data.type === "offer") {
|
|
113
|
+
const answer = await pc.createAnswer({
|
|
114
|
+
type: "offer",
|
|
115
|
+
sdp: signalData.data.sdp,
|
|
116
|
+
});
|
|
117
|
+
signalingClient.signal(data.peerId, { type: "answer", sdp: answer.sdp });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
signalingClient.on("signal", signalHandler);
|
|
122
|
+
await pc.waitForDataChannel();
|
|
123
|
+
signalingClient.removeListener("signal", signalHandler);
|
|
124
|
+
const connectionId = `conn_${Date.now()}`;
|
|
125
|
+
connectionManager.registerPeer(connectionId, data.peerName, data.peerPublicKey);
|
|
126
|
+
connectionManager.setPeerSend(connectionId, (msg) => pc.send(msg));
|
|
127
|
+
connectionManager.setPeerClose(connectionId, () => pc.close());
|
|
128
|
+
pc.onMessage((msg) => connectionManager.handleIncomingMessage(connectionId, msg));
|
|
129
|
+
console.error(`[NokAI] Connected with ${data.peerName} (${data.peerNokaiId})`);
|
|
64
130
|
});
|
|
65
|
-
// Auto-accept reconnect requests from known peers
|
|
131
|
+
// Auto-accept reconnect requests from known peers (with signature verification)
|
|
66
132
|
signalingClient.on("reconnect_ask", async (data) => {
|
|
67
133
|
const savedConn = db.getConnectionByPeerPublicKey(data.peerPublicKey);
|
|
68
134
|
if (!savedConn) {
|
|
69
135
|
console.error(`[NokAI] Reconnect request from unknown peer: ${data.peerName}`);
|
|
70
136
|
return;
|
|
71
137
|
}
|
|
138
|
+
// Verify signature if provided (proves the requester holds the private key)
|
|
139
|
+
if (data.signature && data.challenge) {
|
|
140
|
+
const isValid = (0, crypto_js_1.verify)(data.challenge, data.signature, data.peerPublicKey);
|
|
141
|
+
if (!isValid) {
|
|
142
|
+
console.error(`[NokAI] Reconnect request from ${data.peerName} — signature verification FAILED. Rejecting.`);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
// Reject stale challenges (older than 5 minutes)
|
|
146
|
+
const challengeTime = parseInt(data.challenge, 10);
|
|
147
|
+
if (isNaN(challengeTime) || Date.now() - challengeTime > 5 * 60 * 1000) {
|
|
148
|
+
console.error(`[NokAI] Reconnect request from ${data.peerName} — challenge expired. Rejecting.`);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
72
152
|
console.error(`[NokAI] Reconnect request from ${data.peerName} — auto-accepting`);
|
|
73
153
|
signalingClient.reconnectAccept(data.peerId, profile.name, profile.publicKey, profile.deviceId);
|
|
74
154
|
const pc = createPeerConnectionWithConfig();
|
|
@@ -105,8 +185,15 @@ async function createNokaiServer() {
|
|
|
105
185
|
name: "nokai",
|
|
106
186
|
version: "0.1.0",
|
|
107
187
|
});
|
|
108
|
-
server.tool("
|
|
109
|
-
content: [{ type: "text", text:
|
|
188
|
+
server.tool("nokai_id", "Show your NokAI ID. Share this with teammates so they can connect to you.", {}, async () => ({
|
|
189
|
+
content: [{ type: "text", text: (0, id_js_1.handleId)(profile, sessionId, sessionName) }],
|
|
190
|
+
}));
|
|
191
|
+
server.tool("nokai_connect", "Connect to another NokAI session. Use mode='teammate' with their NokAI ID, or mode='self' to connect to your own other project.", {
|
|
192
|
+
mode: zod_1.z.string().describe("'teammate' (connect to another person) or 'self' (connect to your own other project session)"),
|
|
193
|
+
id: zod_1.z.string().optional().describe("For teammate mode: their NokAI ID (e.g., NKI-8A3F-K2M9)"),
|
|
194
|
+
session: zod_1.z.string().optional().describe("For self mode: session/project name to connect to"),
|
|
195
|
+
}, async (args) => ({
|
|
196
|
+
content: [{ type: "text", text: await (0, connect_js_1.handleConnect)(args, profile, signalingClient, connectionManager, SIGNALING_URL, sessionId, sessionName, pcConfig) }],
|
|
110
197
|
}));
|
|
111
198
|
server.tool("nokai_join", "Join a connection using a 6-digit OTP code shared by another developer.", { otp: zod_1.z.string().describe("The 6-digit connection code") }, async (args) => ({
|
|
112
199
|
content: [{ type: "text", text: await (0, join_js_1.handleJoin)(args, profile, signalingClient, connectionManager, pcConfig) }],
|
|
@@ -174,6 +261,25 @@ async function createNokaiServer() {
|
|
|
174
261
|
}, async (args) => ({
|
|
175
262
|
content: [{ type: "text", text: await (0, profile_tool_js_1.handleProfile)(args, profile) }],
|
|
176
263
|
}));
|
|
264
|
+
server.tool("nokai_share", "Share files or project context with a connected peer. Use type='file' for specific files, type='context' for project overview.", {
|
|
265
|
+
peer: zod_1.z.string().describe("Name of the connected peer"),
|
|
266
|
+
type: zod_1.z.string().describe("'file' or 'context'"),
|
|
267
|
+
files: zod_1.z.array(zod_1.z.string()).optional().describe("File paths to share (for type='file')"),
|
|
268
|
+
path: zod_1.z.string().optional().describe("Project root path (for type='context', defaults to cwd)"),
|
|
269
|
+
}, async (args) => ({
|
|
270
|
+
content: [{ type: "text", text: await (0, share_js_1.handleShare)(args, connectionManager) }],
|
|
271
|
+
}));
|
|
272
|
+
server.tool("nokai_discover", "Discover which of your previously connected peers are currently online.", {}, async () => ({
|
|
273
|
+
content: [{ type: "text", text: await (0, discover_js_1.handleDiscover)(db, SIGNALING_URL) }],
|
|
274
|
+
}));
|
|
275
|
+
server.tool("nokai_invite", "Create a persistent single-use invite link for a teammate to connect with you.", {}, async () => ({
|
|
276
|
+
content: [{ type: "text", text: await (0, invite_js_1.handleInvite)(profile, SIGNALING_URL) }],
|
|
277
|
+
}));
|
|
278
|
+
server.tool("nokai_join_invite", "Join a connection using an invite link or code shared by a teammate.", {
|
|
279
|
+
invite: zod_1.z.string().describe("Invite URL or code"),
|
|
280
|
+
}, async (args) => ({
|
|
281
|
+
content: [{ type: "text", text: await (0, invite_js_1.handleJoinInvite)(args, profile, signalingClient, connectionManager, SIGNALING_URL, pcConfig) }],
|
|
282
|
+
}));
|
|
177
283
|
process.on("beforeExit", () => {
|
|
178
284
|
if (signalingClient.isConnected()) {
|
|
179
285
|
signalingClient.goOffline(profile.deviceId);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,18 @@ export declare const RECONNECT_TIMEOUT_MS: number;
|
|
|
12
12
|
export declare const DEFAULT_STUN_SERVER = "stun:stun.l.google.com:19302";
|
|
13
13
|
/** ICE connection timeout in milliseconds (10 seconds) */
|
|
14
14
|
export declare const ICE_TIMEOUT_MS: number;
|
|
15
|
+
/** Default timeout for ask tool response (30 seconds) */
|
|
16
|
+
export declare const ASK_TIMEOUT_MS: number;
|
|
17
|
+
/** Default timeout for tell tool response (60 seconds) */
|
|
18
|
+
export declare const TELL_TIMEOUT_MS: number;
|
|
19
|
+
/** File/context sharing */
|
|
20
|
+
export declare const MAX_SHARE_SIZE_BYTES: number;
|
|
21
|
+
export declare const MAX_FILE_TREE_DEPTH = 5;
|
|
22
|
+
export declare const CONTEXT_README_MAX_CHARS = 2000;
|
|
23
|
+
/** Rate limiting */
|
|
24
|
+
export declare const RATE_LIMIT_OTP_CREATE = 5;
|
|
25
|
+
export declare const RATE_LIMIT_OTP_JOIN = 10;
|
|
26
|
+
export declare const RATE_LIMIT_WINDOW_MS: number;
|
|
15
27
|
/** WebSocket close codes */
|
|
16
28
|
export declare const WS_CLOSE_NORMAL = 1000;
|
|
17
29
|
export declare const WS_CLOSE_OTP_EXPIRED = 4001;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,mDAAmD;AACnD,eAAO,MAAM,UAAU,QAAgB,CAAC;AAExC,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,EAAG,WAAoB,CAAC;AAEvD,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,0BAA0B;AAC1B,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,0DAA0D;AAC1D,eAAO,MAAM,cAAc,QAAY,CAAC;AAExC,4BAA4B;AAC5B,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,qBAAqB,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,mDAAmD;AACnD,eAAO,MAAM,UAAU,QAAgB,CAAC;AAExC,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,EAAG,WAAoB,CAAC;AAEvD,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,0BAA0B;AAC1B,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAElE,0DAA0D;AAC1D,eAAO,MAAM,cAAc,QAAY,CAAC;AAExC,yDAAyD;AACzD,eAAO,MAAM,cAAc,QAAwD,CAAC;AAEpF,0DAA0D;AAC1D,eAAO,MAAM,eAAe,QAAyD,CAAC;AAEtF,2BAA2B;AAC3B,eAAO,MAAM,oBAAoB,QAAa,CAAC;AAC/C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,oBAAoB;AACpB,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AAEnD,4BAA4B;AAC5B,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,qBAAqB,OAAO,CAAC"}
|
package/dist/shared/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WS_CLOSE_RATE_LIMITED = exports.WS_CLOSE_OTP_INVALID = exports.WS_CLOSE_OTP_EXPIRED = exports.WS_CLOSE_NORMAL = exports.ICE_TIMEOUT_MS = exports.DEFAULT_STUN_SERVER = exports.RECONNECT_TIMEOUT_MS = exports.DEFAULT_PERMISSION = exports.PROTOCOL_VERSION = exports.OTP_TTL_MS = exports.OTP_LENGTH = void 0;
|
|
3
|
+
exports.WS_CLOSE_RATE_LIMITED = exports.WS_CLOSE_OTP_INVALID = exports.WS_CLOSE_OTP_EXPIRED = exports.WS_CLOSE_NORMAL = exports.RATE_LIMIT_WINDOW_MS = exports.RATE_LIMIT_OTP_JOIN = exports.RATE_LIMIT_OTP_CREATE = exports.CONTEXT_README_MAX_CHARS = exports.MAX_FILE_TREE_DEPTH = exports.MAX_SHARE_SIZE_BYTES = exports.TELL_TIMEOUT_MS = exports.ASK_TIMEOUT_MS = exports.ICE_TIMEOUT_MS = exports.DEFAULT_STUN_SERVER = exports.RECONNECT_TIMEOUT_MS = exports.DEFAULT_PERMISSION = exports.PROTOCOL_VERSION = exports.OTP_TTL_MS = exports.OTP_LENGTH = void 0;
|
|
4
4
|
/** Length of OTP codes (digits) */
|
|
5
5
|
exports.OTP_LENGTH = 6;
|
|
6
6
|
/** OTP time-to-live in milliseconds (5 minutes) */
|
|
@@ -15,6 +15,18 @@ exports.RECONNECT_TIMEOUT_MS = 30 * 1000;
|
|
|
15
15
|
exports.DEFAULT_STUN_SERVER = "stun:stun.l.google.com:19302";
|
|
16
16
|
/** ICE connection timeout in milliseconds (10 seconds) */
|
|
17
17
|
exports.ICE_TIMEOUT_MS = 10 * 1000;
|
|
18
|
+
/** Default timeout for ask tool response (30 seconds) */
|
|
19
|
+
exports.ASK_TIMEOUT_MS = Number(process.env.NOKAI_ASK_TIMEOUT_MS) || 30 * 1000;
|
|
20
|
+
/** Default timeout for tell tool response (60 seconds) */
|
|
21
|
+
exports.TELL_TIMEOUT_MS = Number(process.env.NOKAI_TELL_TIMEOUT_MS) || 60 * 1000;
|
|
22
|
+
/** File/context sharing */
|
|
23
|
+
exports.MAX_SHARE_SIZE_BYTES = 100 * 1024;
|
|
24
|
+
exports.MAX_FILE_TREE_DEPTH = 5;
|
|
25
|
+
exports.CONTEXT_README_MAX_CHARS = 2000;
|
|
26
|
+
/** Rate limiting */
|
|
27
|
+
exports.RATE_LIMIT_OTP_CREATE = 5;
|
|
28
|
+
exports.RATE_LIMIT_OTP_JOIN = 10;
|
|
29
|
+
exports.RATE_LIMIT_WINDOW_MS = 15 * 60 * 1000;
|
|
18
30
|
/** WebSocket close codes */
|
|
19
31
|
exports.WS_CLOSE_NORMAL = 1000;
|
|
20
32
|
exports.WS_CLOSE_OTP_EXPIRED = 4001;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACtB,QAAA,UAAU,GAAG,CAAC,CAAC;AAE5B,mDAAmD;AACtC,QAAA,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,iDAAiD;AACpC,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAElC,mDAAmD;AACtC,QAAA,kBAAkB,GAAG,WAAoB,CAAC;AAEvD,uEAAuE;AAC1D,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C,0BAA0B;AACb,QAAA,mBAAmB,GAAG,8BAA8B,CAAC;AAElE,0DAA0D;AAC7C,QAAA,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,4BAA4B;AACf,QAAA,eAAe,GAAG,IAAI,CAAC;AACvB,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAC5B,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAC5B,QAAA,qBAAqB,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACtB,QAAA,UAAU,GAAG,CAAC,CAAC;AAE5B,mDAAmD;AACtC,QAAA,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,iDAAiD;AACpC,QAAA,gBAAgB,GAAG,CAAC,CAAC;AAElC,mDAAmD;AACtC,QAAA,kBAAkB,GAAG,WAAoB,CAAC;AAEvD,uEAAuE;AAC1D,QAAA,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE9C,0BAA0B;AACb,QAAA,mBAAmB,GAAG,8BAA8B,CAAC;AAElE,0DAA0D;AAC7C,QAAA,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC;AAExC,yDAAyD;AAC5C,QAAA,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;AAEpF,0DAA0D;AAC7C,QAAA,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;AAEtF,2BAA2B;AACd,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC;AAClC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACxB,QAAA,wBAAwB,GAAG,IAAI,CAAC;AAE7C,oBAAoB;AACP,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAC1B,QAAA,mBAAmB,GAAG,EAAE,CAAC;AACzB,QAAA,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD,4BAA4B;AACf,QAAA,eAAe,GAAG,IAAI,CAAC;AACvB,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAC5B,QAAA,oBAAoB,GAAG,IAAI,CAAC;AAC5B,QAAA,qBAAqB,GAAG,IAAI,CAAC"}
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface AgentProfile {
|
|
|
3
3
|
publicKey: string;
|
|
4
4
|
privateKey: string;
|
|
5
5
|
deviceId: string;
|
|
6
|
+
nokaiId: string;
|
|
6
7
|
}
|
|
7
8
|
export type Permission = "read-only" | "read-write" | "ask-only";
|
|
8
9
|
export interface ConnectionRecord {
|
|
@@ -43,12 +44,29 @@ export interface ActionResultMessage extends BaseMessage {
|
|
|
43
44
|
success: boolean;
|
|
44
45
|
sourceFiles?: string[];
|
|
45
46
|
}
|
|
46
|
-
export
|
|
47
|
+
export interface SharedFile {
|
|
48
|
+
path: string;
|
|
49
|
+
content: string;
|
|
50
|
+
size: number;
|
|
51
|
+
}
|
|
52
|
+
export interface ProjectContext {
|
|
53
|
+
fileTree: string;
|
|
54
|
+
configs: Record<string, string>;
|
|
55
|
+
readme: string;
|
|
56
|
+
}
|
|
57
|
+
export interface ShareMessage extends BaseMessage {
|
|
58
|
+
type: "share";
|
|
59
|
+
shareType: "file" | "context";
|
|
60
|
+
files?: SharedFile[];
|
|
61
|
+
context?: ProjectContext;
|
|
62
|
+
}
|
|
63
|
+
export type PeerMessage = QueryMessage | ResponseMessage | StatusMessage | ActionMessage | ActionResultMessage | ShareMessage;
|
|
47
64
|
export declare function isQueryMessage(msg: unknown): msg is QueryMessage;
|
|
48
65
|
export declare function isResponseMessage(msg: unknown): msg is ResponseMessage;
|
|
49
66
|
export declare function isStatusMessage(msg: unknown): msg is StatusMessage;
|
|
50
67
|
export declare function isActionMessage(msg: unknown): msg is ActionMessage;
|
|
51
68
|
export declare function isActionResultMessage(msg: unknown): msg is ActionResultMessage;
|
|
69
|
+
export declare function isShareMessage(msg: unknown): msg is ShareMessage;
|
|
52
70
|
export interface RegisterEvent {
|
|
53
71
|
event: "register";
|
|
54
72
|
agentName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/types.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.isResponseMessage = isResponseMessage;
|
|
|
6
6
|
exports.isStatusMessage = isStatusMessage;
|
|
7
7
|
exports.isActionMessage = isActionMessage;
|
|
8
8
|
exports.isActionResultMessage = isActionResultMessage;
|
|
9
|
+
exports.isShareMessage = isShareMessage;
|
|
9
10
|
// --- Type Guards ---
|
|
10
11
|
function hasRequiredFields(msg) {
|
|
11
12
|
if (typeof msg !== "object" || msg === null)
|
|
@@ -38,4 +39,10 @@ function isActionResultMessage(msg) {
|
|
|
38
39
|
const m = msg;
|
|
39
40
|
return m.type === "action_result" && typeof m.replyTo === "string" && typeof m.success === "boolean";
|
|
40
41
|
}
|
|
42
|
+
function isShareMessage(msg) {
|
|
43
|
+
if (!hasRequiredFields(msg))
|
|
44
|
+
return false;
|
|
45
|
+
const m = msg;
|
|
46
|
+
return m.type === "share" && (m.shareType === "file" || m.shareType === "context");
|
|
47
|
+
}
|
|
41
48
|
//# sourceMappingURL=types.js.map
|
package/dist/shared/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":";AAAA,yBAAyB;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":";AAAA,yBAAyB;;AAkGzB,wCAEC;AAED,8CAIC;AAED,0CAEC;AAED,0CAEC;AAED,sDAIC;AAED,wCAIC;AA1CD,sBAAsB;AAEtB,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAChC,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,GAAY;IACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAK,GAAmB,CAAC,IAAI,KAAK,OAAO,CAAC;AACzE,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,CAAC,GAAG,GAAyC,CAAC;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AAChE,CAAC;AAED,SAAgB,eAAe,CAAC,GAAY;IAC1C,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAK,GAAmB,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAED,SAAgB,eAAe,CAAC,GAAY;IAC1C,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAK,GAAmB,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAY;IAChD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,CAAC,GAAG,GAAyC,CAAC;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC;AACvG,CAAC;AAED,SAAgB,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,CAAC,GAAG,GAAyC,CAAC;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
|
+
export interface ReconnectConfig {
|
|
3
|
+
initialBackoffMs: number;
|
|
4
|
+
maxBackoffMs: number;
|
|
5
|
+
maxAttempts: number;
|
|
6
|
+
connectTimeoutMs: number;
|
|
7
|
+
}
|
|
2
8
|
export declare class SignalingClient extends EventEmitter {
|
|
3
9
|
private ws;
|
|
4
10
|
private url;
|
|
5
|
-
|
|
11
|
+
private intentionalClose;
|
|
12
|
+
private reconnectAttempts;
|
|
13
|
+
private reconnectTimer;
|
|
14
|
+
private registrationInfo;
|
|
15
|
+
private reconnectConfig;
|
|
16
|
+
constructor(url: string, reconnectConfig?: Partial<ReconnectConfig>);
|
|
6
17
|
connect(): Promise<void>;
|
|
18
|
+
private scheduleReconnect;
|
|
7
19
|
isConnected(): boolean;
|
|
8
20
|
private send;
|
|
9
21
|
register(agentName: string, publicKey: string, deviceId: string): void;
|
|
10
22
|
createOTP(): void;
|
|
11
23
|
joinOTP(otp: string, agentName: string, publicKey: string): void;
|
|
12
24
|
signal(to: string, data: Record<string, unknown>): void;
|
|
13
|
-
goOnline(deviceId: string): void;
|
|
25
|
+
goOnline(deviceId: string, nokaiId?: string, sessionId?: string, sessionName?: string): void;
|
|
14
26
|
goOffline(deviceId: string): void;
|
|
15
|
-
|
|
27
|
+
selfConnect(targetSessionId: string, agentName: string, publicKey: string, sessionId: string, sessionName: string): void;
|
|
28
|
+
connectByNokaiId(targetNokaiId: string, agentName: string, publicKey: string, deviceId: string, nokaiId: string): void;
|
|
29
|
+
approveConnection(deviceId: string, approvalCode: string, agentName: string, publicKey: string, requesterName: string, requesterPublicKey: string): void;
|
|
30
|
+
reconnectRequest(targetDeviceId: string, agentName: string, publicKey: string, deviceId: string, signature?: string, challenge?: string): void;
|
|
16
31
|
reconnectAccept(targetDeviceId: string, agentName: string, publicKey: string, deviceId: string): void;
|
|
17
32
|
disconnect(): void;
|
|
18
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signaling-client.d.ts","sourceRoot":"","sources":["../src/signaling-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,GAAG,CAAS;
|
|
1
|
+
{"version":3,"file":"signaling-client.d.ts","sourceRoot":"","sources":["../src/signaling-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AASD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAA2E;IACnG,OAAO,CAAC,eAAe,CAAkB;gBAE7B,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAMnE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+DxB,OAAO,CAAC,iBAAiB;IA6BzB,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,IAAI;IAOZ,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKtE,SAAS,IAAI,IAAI;IAIjB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5F,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIjC,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAIxH,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAItH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI;IAIxJ,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9I,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrG,UAAU,IAAI,IAAI;CAYnB"}
|
package/dist/signaling-client.js
CHANGED
|
@@ -6,17 +6,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.SignalingClient = void 0;
|
|
7
7
|
const ws_1 = __importDefault(require("ws"));
|
|
8
8
|
const node_events_1 = require("node:events");
|
|
9
|
+
const DEFAULT_RECONNECT_CONFIG = {
|
|
10
|
+
initialBackoffMs: 1000,
|
|
11
|
+
maxBackoffMs: 30_000,
|
|
12
|
+
maxAttempts: 10,
|
|
13
|
+
connectTimeoutMs: 5000,
|
|
14
|
+
};
|
|
9
15
|
class SignalingClient extends node_events_1.EventEmitter {
|
|
10
16
|
ws = null;
|
|
11
17
|
url;
|
|
12
|
-
|
|
18
|
+
intentionalClose = false;
|
|
19
|
+
reconnectAttempts = 0;
|
|
20
|
+
reconnectTimer = null;
|
|
21
|
+
registrationInfo = null;
|
|
22
|
+
reconnectConfig;
|
|
23
|
+
constructor(url, reconnectConfig) {
|
|
13
24
|
super();
|
|
14
25
|
this.url = url;
|
|
26
|
+
this.reconnectConfig = { ...DEFAULT_RECONNECT_CONFIG, ...reconnectConfig };
|
|
15
27
|
}
|
|
16
28
|
connect() {
|
|
29
|
+
const isReconnect = this.registrationInfo !== null;
|
|
17
30
|
return new Promise((resolve, reject) => {
|
|
31
|
+
this.intentionalClose = false;
|
|
32
|
+
const connectTimeout = setTimeout(() => {
|
|
33
|
+
if (this.ws) {
|
|
34
|
+
this.ws.close();
|
|
35
|
+
}
|
|
36
|
+
}, this.reconnectConfig.connectTimeoutMs);
|
|
18
37
|
this.ws = new ws_1.default(this.url);
|
|
19
38
|
this.ws.on("open", () => {
|
|
39
|
+
clearTimeout(connectTimeout);
|
|
40
|
+
this.reconnectAttempts = 0;
|
|
41
|
+
// Re-register presence if we had prior registration info (reconnect case)
|
|
42
|
+
if (isReconnect) {
|
|
43
|
+
this.goOnline(this.registrationInfo.deviceId);
|
|
44
|
+
this.emit("reconnected");
|
|
45
|
+
}
|
|
20
46
|
resolve();
|
|
21
47
|
});
|
|
22
48
|
this.ws.on("message", (data) => {
|
|
@@ -30,15 +56,49 @@ class SignalingClient extends node_events_1.EventEmitter {
|
|
|
30
56
|
// ignore malformed messages
|
|
31
57
|
}
|
|
32
58
|
});
|
|
33
|
-
this.ws.on("error", (
|
|
34
|
-
|
|
59
|
+
this.ws.on("error", () => {
|
|
60
|
+
clearTimeout(connectTimeout);
|
|
61
|
+
// Error always followed by close event, which handles reconnect
|
|
62
|
+
if (!isReconnect) {
|
|
63
|
+
reject(new Error("Failed to connect to signaling server"));
|
|
64
|
+
}
|
|
35
65
|
});
|
|
36
66
|
this.ws.on("close", () => {
|
|
67
|
+
clearTimeout(connectTimeout);
|
|
37
68
|
this.ws = null;
|
|
38
69
|
this.emit("disconnected");
|
|
70
|
+
if (!this.intentionalClose) {
|
|
71
|
+
this.scheduleReconnect();
|
|
72
|
+
}
|
|
73
|
+
// For reconnect attempts, resolve so the scheduleReconnect setTimeout can proceed
|
|
74
|
+
if (isReconnect) {
|
|
75
|
+
resolve();
|
|
76
|
+
}
|
|
39
77
|
});
|
|
40
78
|
});
|
|
41
79
|
}
|
|
80
|
+
scheduleReconnect() {
|
|
81
|
+
if (this.reconnectAttempts >= this.reconnectConfig.maxAttempts) {
|
|
82
|
+
this.emit("reconnect_failed", {
|
|
83
|
+
attempts: this.reconnectAttempts,
|
|
84
|
+
message: `Failed to reconnect after ${this.reconnectConfig.maxAttempts} attempts`,
|
|
85
|
+
});
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const backoff = Math.min(this.reconnectConfig.initialBackoffMs * Math.pow(2, this.reconnectAttempts), this.reconnectConfig.maxBackoffMs);
|
|
89
|
+
this.reconnectAttempts++;
|
|
90
|
+
this.emit("reconnecting", {
|
|
91
|
+
attempt: this.reconnectAttempts,
|
|
92
|
+
maxAttempts: this.reconnectConfig.maxAttempts,
|
|
93
|
+
backoffMs: backoff,
|
|
94
|
+
});
|
|
95
|
+
this.reconnectTimer = setTimeout(() => {
|
|
96
|
+
this.reconnectTimer = null;
|
|
97
|
+
this.connect().catch(() => {
|
|
98
|
+
// Error handled by close -> scheduleReconnect cycle
|
|
99
|
+
});
|
|
100
|
+
}, backoff);
|
|
101
|
+
}
|
|
42
102
|
isConnected() {
|
|
43
103
|
return this.ws !== null && this.ws.readyState === ws_1.default.OPEN;
|
|
44
104
|
}
|
|
@@ -49,6 +109,7 @@ class SignalingClient extends node_events_1.EventEmitter {
|
|
|
49
109
|
this.ws.send(JSON.stringify(data));
|
|
50
110
|
}
|
|
51
111
|
register(agentName, publicKey, deviceId) {
|
|
112
|
+
this.registrationInfo = { agentName, publicKey, deviceId };
|
|
52
113
|
this.send({ event: "register", agentName, publicKey, deviceId });
|
|
53
114
|
}
|
|
54
115
|
createOTP() {
|
|
@@ -60,19 +121,34 @@ class SignalingClient extends node_events_1.EventEmitter {
|
|
|
60
121
|
signal(to, data) {
|
|
61
122
|
this.send({ event: "signal", to, data });
|
|
62
123
|
}
|
|
63
|
-
goOnline(deviceId) {
|
|
64
|
-
this.send({ event: "go_online", deviceId });
|
|
124
|
+
goOnline(deviceId, nokaiId, sessionId, sessionName) {
|
|
125
|
+
this.send({ event: "go_online", deviceId, nokaiId, sessionId, sessionName });
|
|
65
126
|
}
|
|
66
127
|
goOffline(deviceId) {
|
|
67
128
|
this.send({ event: "go_offline", deviceId });
|
|
68
129
|
}
|
|
69
|
-
|
|
70
|
-
this.send({ event: "
|
|
130
|
+
selfConnect(targetSessionId, agentName, publicKey, sessionId, sessionName) {
|
|
131
|
+
this.send({ event: "self_connect", targetSessionId, agentName, publicKey, sessionId, sessionName });
|
|
132
|
+
}
|
|
133
|
+
connectByNokaiId(targetNokaiId, agentName, publicKey, deviceId, nokaiId) {
|
|
134
|
+
this.send({ event: "connect_request", targetNokaiId, agentName, publicKey, deviceId, nokaiId });
|
|
135
|
+
}
|
|
136
|
+
approveConnection(deviceId, approvalCode, agentName, publicKey, requesterName, requesterPublicKey) {
|
|
137
|
+
this.send({ event: "connect_approve", deviceId, approvalCode, agentName, publicKey, requesterName, requesterPublicKey });
|
|
138
|
+
}
|
|
139
|
+
reconnectRequest(targetDeviceId, agentName, publicKey, deviceId, signature, challenge) {
|
|
140
|
+
this.send({ event: "reconnect_req", targetDeviceId, agentName, publicKey, deviceId, signature, challenge });
|
|
71
141
|
}
|
|
72
142
|
reconnectAccept(targetDeviceId, agentName, publicKey, deviceId) {
|
|
73
143
|
this.send({ event: "reconnect_accept", targetDeviceId, agentName, publicKey, deviceId });
|
|
74
144
|
}
|
|
75
145
|
disconnect() {
|
|
146
|
+
this.intentionalClose = true;
|
|
147
|
+
if (this.reconnectTimer) {
|
|
148
|
+
clearTimeout(this.reconnectTimer);
|
|
149
|
+
this.reconnectTimer = null;
|
|
150
|
+
}
|
|
151
|
+
this.reconnectAttempts = 0;
|
|
76
152
|
if (this.ws) {
|
|
77
153
|
this.ws.close();
|
|
78
154
|
this.ws = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signaling-client.js","sourceRoot":"","sources":["../src/signaling-client.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA2B;AAC3B,6CAA2C;
|
|
1
|
+
{"version":3,"file":"signaling-client.js","sourceRoot":"","sources":["../src/signaling-client.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/ask.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;CAa7B,CAAC;AAEF,wBAAsB,SAAS,CAC7B,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1D,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|