@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.
Files changed (2) hide show
  1. package/dist/plugin2.js +19 -15
  2. 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
- let resolvedSessionKey = legacySessionKey;
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 (resolvedSessionKey && evt.sessionKey !== resolvedSessionKey) return;
349
- if (evt.stream === "assistant") chatClient?.sendEvent("chat", {
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: evt.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
- resolvedSessionKey = (await dispatchInbound({
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: payload.text ?? "",
384
- sessionKey: resolvedSessionKey
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=${resolvedSessionKey}`);
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 || !isAlfeSessionKey(key)) return;
530
- log.info(`Alfe chat session starting: ${key}`);
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 || !isAlfeSessionKey(key)) return;
540
+ if (!key || isAlfeSessionKey(key)) return;
537
541
  await addMessage(key, event.role, event.content);
538
542
  });
539
543
  api.on("session_end", (...eventArgs) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfe.ai/openclaw-chat",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "OpenClaw chat plugin for Alfe — web widget and mobile app channels",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin.js",