@ynhcj/xiaoyi 2.3.8 → 2.4.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/channel.js +2 -2
- package/dist/websocket.d.ts +1 -1
- package/dist/websocket.js +6 -5
- package/package.json +1 -1
package/dist/channel.js
CHANGED
|
@@ -214,8 +214,8 @@ exports.xiaoyiPlugin = {
|
|
|
214
214
|
const { getXiaoYiRuntime } = require("./runtime");
|
|
215
215
|
const runtime = getXiaoYiRuntime();
|
|
216
216
|
console.log(`XiaoYi: [Message Handler] Using runtime instance: ${runtime.getInstanceId()}`);
|
|
217
|
-
// For message/stream, sessionId
|
|
218
|
-
const sessionId = message.params.sessionId;
|
|
217
|
+
// For message/stream, prioritize params.sessionId, fallback to top-level sessionid
|
|
218
|
+
const sessionId = message.params.sessionId || message.sessionid;
|
|
219
219
|
// Store sessionId -> taskId mapping in runtime (use params.id as taskId)
|
|
220
220
|
runtime.setTaskIdForSession(sessionId, message.params.id);
|
|
221
221
|
// Get PluginRuntime from our runtime wrapper
|
package/dist/websocket.d.ts
CHANGED
|
@@ -136,7 +136,7 @@ export declare class XiaoYiWebSocketManager extends EventEmitter {
|
|
|
136
136
|
private clearStableConnectionCheck;
|
|
137
137
|
/**
|
|
138
138
|
* Type guard for A2A request messages
|
|
139
|
-
*
|
|
139
|
+
* sessionId can be in params OR at top level (fallback)
|
|
140
140
|
*/
|
|
141
141
|
private isA2ARequestMessage;
|
|
142
142
|
/**
|
package/dist/websocket.js
CHANGED
|
@@ -361,9 +361,10 @@ class XiaoYiWebSocketManager extends events_1.EventEmitter {
|
|
|
361
361
|
}
|
|
362
362
|
// Handle regular A2A request
|
|
363
363
|
if (this.isA2ARequestMessage(message)) {
|
|
364
|
-
// Store task for potential cancellation
|
|
364
|
+
// Store task for potential cancellation (support both params.sessionId and top-level sessionid)
|
|
365
|
+
const sessionId = message.params.sessionId || message.sessionid;
|
|
365
366
|
this.activeTasks.set(message.id, {
|
|
366
|
-
sessionId:
|
|
367
|
+
sessionId: sessionId,
|
|
367
368
|
timestamp: Date.now(),
|
|
368
369
|
});
|
|
369
370
|
// Emit with server info
|
|
@@ -798,7 +799,7 @@ class XiaoYiWebSocketManager extends events_1.EventEmitter {
|
|
|
798
799
|
}
|
|
799
800
|
/**
|
|
800
801
|
* Type guard for A2A request messages
|
|
801
|
-
*
|
|
802
|
+
* sessionId can be in params OR at top level (fallback)
|
|
802
803
|
*/
|
|
803
804
|
isA2ARequestMessage(data) {
|
|
804
805
|
return data &&
|
|
@@ -808,8 +809,8 @@ class XiaoYiWebSocketManager extends events_1.EventEmitter {
|
|
|
808
809
|
data.method === "message/stream" &&
|
|
809
810
|
data.params &&
|
|
810
811
|
typeof data.params.id === "string" &&
|
|
811
|
-
//
|
|
812
|
-
typeof data.params.sessionId === "string" &&
|
|
812
|
+
// sessionId can be in params OR at top level
|
|
813
|
+
(typeof data.params.sessionId === "string" || typeof data.sessionid === "string") &&
|
|
813
814
|
data.params.message &&
|
|
814
815
|
typeof data.params.message.role === "string" &&
|
|
815
816
|
Array.isArray(data.params.message.parts);
|