mcp-chat-connect 1.2.1 → 1.2.2
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/index.js +29 -4
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -249,6 +249,7 @@ let sessionState = {
|
|
|
249
249
|
userName: null,
|
|
250
250
|
userId: null,
|
|
251
251
|
sessionToken: null,
|
|
252
|
+
sessionLabel: null,
|
|
252
253
|
connected: false,
|
|
253
254
|
};
|
|
254
255
|
|
|
@@ -391,16 +392,28 @@ async function handleToolCall(name, args) {
|
|
|
391
392
|
userName: result.userName,
|
|
392
393
|
userId,
|
|
393
394
|
sessionToken,
|
|
395
|
+
sessionLabel: null,
|
|
394
396
|
connected: true,
|
|
395
397
|
};
|
|
396
398
|
saveConfig({ token: result.token, userName: result.userName, userId });
|
|
397
399
|
|
|
400
|
+
// Register session to get sequential label
|
|
401
|
+
let sessionLabel = 'Session';
|
|
402
|
+
try {
|
|
403
|
+
const regResult = await apiCall('register_session', {
|
|
404
|
+
channel_id: result.channelId,
|
|
405
|
+
session_token: sessionToken,
|
|
406
|
+
}, result.token);
|
|
407
|
+
sessionLabel = regResult.label || 'Session';
|
|
408
|
+
sessionState.sessionLabel = sessionLabel;
|
|
409
|
+
} catch {}
|
|
410
|
+
|
|
398
411
|
// Start WebSocket listener for real-time push
|
|
399
412
|
connectWebSocket();
|
|
400
413
|
|
|
401
414
|
// Check for package updates
|
|
402
415
|
const updateNotice = await checkForUpdate();
|
|
403
|
-
let responseText = `Connected to #${result.channelName} as ${result.userName}. Live messages will now be pushed into this session. You can also use mcp_chat_send to send messages and mcp_chat_read to fetch history.`;
|
|
416
|
+
let responseText = `Connected to #${result.channelName} as ${result.userName} (${sessionLabel}). Live messages will now be pushed into this session. You can also use mcp_chat_send to send messages and mcp_chat_read to fetch history.`;
|
|
404
417
|
if (updateNotice) {
|
|
405
418
|
responseText += `\n\n${updateNotice}`;
|
|
406
419
|
}
|
|
@@ -435,11 +448,23 @@ async function handleToolCall(name, args) {
|
|
|
435
448
|
channelId,
|
|
436
449
|
channelName: channel.name,
|
|
437
450
|
sessionToken,
|
|
451
|
+
sessionLabel: null,
|
|
438
452
|
connected: true,
|
|
439
453
|
};
|
|
440
454
|
|
|
455
|
+
// Register session to get sequential label
|
|
456
|
+
let sessionLabel = 'Session';
|
|
457
|
+
try {
|
|
458
|
+
const regResult = await apiCall('register_session', {
|
|
459
|
+
channel_id: channelId,
|
|
460
|
+
session_token: sessionToken,
|
|
461
|
+
}, sessionState.token);
|
|
462
|
+
sessionLabel = regResult.label || 'Session';
|
|
463
|
+
sessionState.sessionLabel = sessionLabel;
|
|
464
|
+
} catch {}
|
|
465
|
+
|
|
441
466
|
connectWebSocket();
|
|
442
|
-
return { content: [{ type: 'text', text: `Joined #${channel.name} (ID: ${channelId}) as ${sessionState.userName}. Live messages are now being pushed.` }] };
|
|
467
|
+
return { content: [{ type: 'text', text: `Joined #${channel.name} (ID: ${channelId}) as ${sessionState.userName} (${sessionLabel}). Live messages are now being pushed.` }] };
|
|
443
468
|
} catch (err) {
|
|
444
469
|
return { content: [{ type: 'text', text: `Failed to join channel: ${err.message}` }], isError: true };
|
|
445
470
|
}
|
|
@@ -511,10 +536,10 @@ async function handleToolCall(name, args) {
|
|
|
511
536
|
|
|
512
537
|
case 'mcp_chat_status': {
|
|
513
538
|
if (!sessionState.connected) {
|
|
514
|
-
return { content: [{ type: 'text', text: sessionState.token ? 'Authenticated but not connected to a channel. Run mcp_chat_connect to pick a channel.' : 'Not connected. Run mcp_chat_connect to authenticate and select a channel.' }] };
|
|
539
|
+
return { content: [{ type: 'text', text: sessionState.token ? 'Authenticated but not connected to a channel. Run mcp_chat_connect or mcp_chat_join to pick a channel.' : 'Not connected. Run mcp_chat_connect to authenticate and select a channel.' }] };
|
|
515
540
|
}
|
|
516
541
|
const wsStatus = wsConnection?.readyState === 1 ? 'live (receiving messages)' : 'reconnecting...';
|
|
517
|
-
return { content: [{ type: 'text', text: `Connected to #${sessionState.channelName} as ${sessionState.userName}\nWebSocket: ${wsStatus}` }] };
|
|
542
|
+
return { content: [{ type: 'text', text: `Connected to #${sessionState.channelName} as ${sessionState.userName} (${sessionState.sessionLabel || 'Session'})\nWebSocket: ${wsStatus}` }] };
|
|
518
543
|
}
|
|
519
544
|
|
|
520
545
|
case 'mcp_chat_create_channel': {
|
package/package.json
CHANGED