@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.
Files changed (2) hide show
  1. package/dist/plugin2.js +24 -19
  2. 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
- 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
355
360
  });
356
361
  });
357
362
  try {
358
- const conversationLabel = userId ? `Chat with ${userId}` : `Alfe chat`;
359
- resolvedSessionKey = (await dispatchInbound({
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: payload.text ?? "",
384
- sessionKey: resolvedSessionKey
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=${resolvedSessionKey}`);
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 || !isAlfeSessionKey(key)) return;
530
- log.info(`Alfe chat session starting: ${key}`);
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 || !isAlfeSessionKey(key)) return;
541
+ if (!key || isAlfeSessionKey(key)) return;
537
542
  await addMessage(key, event.role, event.content);
538
543
  });
539
544
  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.11",
4
4
  "description": "OpenClaw chat plugin for Alfe — web widget and mobile app channels",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin.js",