@alfe.ai/openclaw-chat 0.0.9 → 0.0.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/dist/plugin2.js +24 -19
- package/package.json +1 -1
package/dist/plugin2.js
CHANGED
|
@@ -335,28 +335,33 @@ async function handleAgentRequest(request, log) {
|
|
|
335
335
|
chatClient?.sendResponse(request.id, false, { message: "OpenClaw SDK not available — cannot dispatch" });
|
|
336
336
|
return;
|
|
337
337
|
}
|
|
338
|
-
const { message, sessionKey: legacySessionKey, userId, conversationId, tenantId, clientType } = request.params;
|
|
338
|
+
const { message, sessionKey: legacySessionKey, userId, conversationId, tenantId, clientType, displayName } = request.params;
|
|
339
339
|
if (!message) {
|
|
340
340
|
chatClient?.sendResponse(request.id, false, { message: "Missing message" });
|
|
341
341
|
return;
|
|
342
342
|
}
|
|
343
|
-
const senderId = userId ?? `anon-${legacySessionKey.slice(0, 12)}`;
|
|
343
|
+
const senderId = displayName ?? userId ?? `anon-${legacySessionKey.slice(0, 12)}`;
|
|
344
344
|
const cfg = runtime.config.loadConfig();
|
|
345
|
-
|
|
345
|
+
const sessionId = conversationId ?? legacySessionKey;
|
|
346
|
+
if (!await getSession(sessionId)) await createSession(sessionId, "", "alfe", tenantId, userId);
|
|
347
|
+
await addMessage(sessionId, "user", message);
|
|
348
|
+
let resolvedOpenClawKey = null;
|
|
346
349
|
const unsubscribe = runtime.events.onAgentEvent((evt) => {
|
|
347
350
|
if (!evt.sessionKey) return;
|
|
348
|
-
if (
|
|
349
|
-
|
|
351
|
+
if (evt.stream !== "assistant") return;
|
|
352
|
+
resolvedOpenClawKey ??= evt.sessionKey;
|
|
353
|
+
if (evt.sessionKey !== resolvedOpenClawKey) return;
|
|
354
|
+
chatClient?.sendEvent("chat", {
|
|
350
355
|
runId: evt.runId,
|
|
351
|
-
sessionKey:
|
|
356
|
+
sessionKey: legacySessionKey,
|
|
352
357
|
seq: evt.seq,
|
|
353
358
|
state: "delta",
|
|
354
359
|
message: evt.data
|
|
355
360
|
});
|
|
356
361
|
});
|
|
357
362
|
try {
|
|
358
|
-
const conversationLabel = userId ? `Chat with ${userId}` : `Alfe chat`;
|
|
359
|
-
|
|
363
|
+
const conversationLabel = displayName ? `Chat with ${displayName}` : userId ? `Chat with ${userId}` : `Alfe chat`;
|
|
364
|
+
resolvedOpenClawKey = (await dispatchInbound({
|
|
360
365
|
cfg,
|
|
361
366
|
runtime: { channel: runtime.channel },
|
|
362
367
|
channel: "alfe",
|
|
@@ -376,14 +381,16 @@ async function handleAgentRequest(request, log) {
|
|
|
376
381
|
extraContext: {
|
|
377
382
|
...tenantId ? { TenantId: tenantId } : {},
|
|
378
383
|
...clientType ? { ClientType: clientType } : {},
|
|
379
|
-
...conversationId ? { ConversationId: conversationId } : {}
|
|
384
|
+
...conversationId ? { ConversationId: conversationId } : {},
|
|
385
|
+
...displayName ? { SenderName: displayName } : {}
|
|
380
386
|
},
|
|
381
|
-
deliver: (payload) => {
|
|
387
|
+
deliver: async (payload) => {
|
|
388
|
+
const responseText = payload.text ?? "";
|
|
389
|
+
await addMessage(sessionId, "assistant", responseText);
|
|
382
390
|
chatClient?.sendResponse(request.id, true, {
|
|
383
|
-
text:
|
|
384
|
-
sessionKey:
|
|
391
|
+
text: responseText,
|
|
392
|
+
sessionKey: resolvedOpenClawKey ?? legacySessionKey
|
|
385
393
|
});
|
|
386
|
-
return Promise.resolve();
|
|
387
394
|
},
|
|
388
395
|
onRecordError: (err) => {
|
|
389
396
|
log.error(`Session record error: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -392,7 +399,7 @@ async function handleAgentRequest(request, log) {
|
|
|
392
399
|
log.error(`Dispatch error (${info.kind}): ${err instanceof Error ? err.message : String(err)}`);
|
|
393
400
|
}
|
|
394
401
|
})).route.sessionKey;
|
|
395
|
-
log.info(`Agent dispatch complete: sessionKey=${
|
|
402
|
+
log.info(`Agent dispatch complete: sessionKey=${resolvedOpenClawKey}`);
|
|
396
403
|
} catch (err) {
|
|
397
404
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
398
405
|
log.error(`Agent dispatch failed: ${errMsg}`);
|
|
@@ -405,7 +412,6 @@ async function handleSessionsList(request, log) {
|
|
|
405
412
|
try {
|
|
406
413
|
const params = request.params;
|
|
407
414
|
const sessions = await listSessions({
|
|
408
|
-
agentId: params.agentId,
|
|
409
415
|
channel: params.channel,
|
|
410
416
|
tenantId: params.tenantId
|
|
411
417
|
});
|
|
@@ -497,7 +503,6 @@ const plugin = {
|
|
|
497
503
|
api.registerGatewayMethod("sessions.list", async (...args) => {
|
|
498
504
|
const params = args[0];
|
|
499
505
|
return { sessions: await listSessions({
|
|
500
|
-
agentId: params.agentId,
|
|
501
506
|
channel: params.channel,
|
|
502
507
|
tenantId: params.tenantId
|
|
503
508
|
}) };
|
|
@@ -526,14 +531,14 @@ const plugin = {
|
|
|
526
531
|
}
|
|
527
532
|
api.on("session_start", async (...eventArgs) => {
|
|
528
533
|
const key = eventArgs[0].sessionKey;
|
|
529
|
-
if (!key ||
|
|
530
|
-
log.info(`
|
|
534
|
+
if (!key || isAlfeSessionKey(key)) return;
|
|
535
|
+
log.info(`Chat session starting: ${key}`);
|
|
531
536
|
await createSession(key, "", "alfe");
|
|
532
537
|
}, { priority: 50 });
|
|
533
538
|
api.on("message", async (...eventArgs) => {
|
|
534
539
|
const event = eventArgs[0];
|
|
535
540
|
const key = event.sessionKey;
|
|
536
|
-
if (!key ||
|
|
541
|
+
if (!key || isAlfeSessionKey(key)) return;
|
|
537
542
|
await addMessage(key, event.role, event.content);
|
|
538
543
|
});
|
|
539
544
|
api.on("session_end", (...eventArgs) => {
|