@alfe.ai/openclaw-chat 0.0.9 → 0.0.10
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 +19 -15
- package/package.json +1 -1
package/dist/plugin2.js
CHANGED
|
@@ -342,13 +342,18 @@ async function handleAgentRequest(request, log) {
|
|
|
342
342
|
}
|
|
343
343
|
const senderId = 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
|
|
@@ -356,7 +361,7 @@ async function handleAgentRequest(request, log) {
|
|
|
356
361
|
});
|
|
357
362
|
try {
|
|
358
363
|
const conversationLabel = userId ? `Chat with ${userId}` : `Alfe chat`;
|
|
359
|
-
|
|
364
|
+
resolvedOpenClawKey = (await dispatchInbound({
|
|
360
365
|
cfg,
|
|
361
366
|
runtime: { channel: runtime.channel },
|
|
362
367
|
channel: "alfe",
|
|
@@ -378,12 +383,13 @@ async function handleAgentRequest(request, log) {
|
|
|
378
383
|
...clientType ? { ClientType: clientType } : {},
|
|
379
384
|
...conversationId ? { ConversationId: conversationId } : {}
|
|
380
385
|
},
|
|
381
|
-
deliver: (payload) => {
|
|
386
|
+
deliver: async (payload) => {
|
|
387
|
+
const responseText = payload.text ?? "";
|
|
388
|
+
await addMessage(sessionId, "assistant", responseText);
|
|
382
389
|
chatClient?.sendResponse(request.id, true, {
|
|
383
|
-
text:
|
|
384
|
-
sessionKey:
|
|
390
|
+
text: responseText,
|
|
391
|
+
sessionKey: resolvedOpenClawKey ?? legacySessionKey
|
|
385
392
|
});
|
|
386
|
-
return Promise.resolve();
|
|
387
393
|
},
|
|
388
394
|
onRecordError: (err) => {
|
|
389
395
|
log.error(`Session record error: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -392,7 +398,7 @@ async function handleAgentRequest(request, log) {
|
|
|
392
398
|
log.error(`Dispatch error (${info.kind}): ${err instanceof Error ? err.message : String(err)}`);
|
|
393
399
|
}
|
|
394
400
|
})).route.sessionKey;
|
|
395
|
-
log.info(`Agent dispatch complete: sessionKey=${
|
|
401
|
+
log.info(`Agent dispatch complete: sessionKey=${resolvedOpenClawKey}`);
|
|
396
402
|
} catch (err) {
|
|
397
403
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
398
404
|
log.error(`Agent dispatch failed: ${errMsg}`);
|
|
@@ -405,7 +411,6 @@ async function handleSessionsList(request, log) {
|
|
|
405
411
|
try {
|
|
406
412
|
const params = request.params;
|
|
407
413
|
const sessions = await listSessions({
|
|
408
|
-
agentId: params.agentId,
|
|
409
414
|
channel: params.channel,
|
|
410
415
|
tenantId: params.tenantId
|
|
411
416
|
});
|
|
@@ -497,7 +502,6 @@ const plugin = {
|
|
|
497
502
|
api.registerGatewayMethod("sessions.list", async (...args) => {
|
|
498
503
|
const params = args[0];
|
|
499
504
|
return { sessions: await listSessions({
|
|
500
|
-
agentId: params.agentId,
|
|
501
505
|
channel: params.channel,
|
|
502
506
|
tenantId: params.tenantId
|
|
503
507
|
}) };
|
|
@@ -526,14 +530,14 @@ const plugin = {
|
|
|
526
530
|
}
|
|
527
531
|
api.on("session_start", async (...eventArgs) => {
|
|
528
532
|
const key = eventArgs[0].sessionKey;
|
|
529
|
-
if (!key ||
|
|
530
|
-
log.info(`
|
|
533
|
+
if (!key || isAlfeSessionKey(key)) return;
|
|
534
|
+
log.info(`Chat session starting: ${key}`);
|
|
531
535
|
await createSession(key, "", "alfe");
|
|
532
536
|
}, { priority: 50 });
|
|
533
537
|
api.on("message", async (...eventArgs) => {
|
|
534
538
|
const event = eventArgs[0];
|
|
535
539
|
const key = event.sessionKey;
|
|
536
|
-
if (!key ||
|
|
540
|
+
if (!key || isAlfeSessionKey(key)) return;
|
|
537
541
|
await addMessage(key, event.role, event.content);
|
|
538
542
|
});
|
|
539
543
|
api.on("session_end", (...eventArgs) => {
|