openclaw-remote 0.4.3 → 0.4.5

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/index.js +14 -8
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  setAccountEnabledInConfigSection,
11
11
  waitUntilAbort,
12
12
  optionalStringEnum
13
- } from "openclaw/dist/plugin-sdk/compat.js";
13
+ } from "openclaw/plugin-sdk/compat";
14
14
 
15
15
  // node_modules/@sinclair/typebox/build/esm/type/guard/value.mjs
16
16
  var value_exports = {};
@@ -2822,18 +2822,21 @@ async function resolveAgentIdentity(account, log) {
2822
2822
  break;
2823
2823
  }
2824
2824
  }
2825
- if (!agentName) {
2825
+ let agentId = "";
2826
+ try {
2826
2827
  const hbRes = await fetch(`${account.baseUrl}/api/v1/heartbeat`, {
2827
2828
  headers: { Authorization: `Bearer ${account.apiKey}`, Accept: "application/json" },
2828
2829
  signal: AbortSignal.timeout(1e4)
2829
2830
  });
2830
2831
  if (hbRes.ok) {
2831
2832
  const hb = await hbRes.json();
2832
- agentName = hb.agent_name || "";
2833
+ agentId = hb.agent_id || "";
2834
+ if (!agentName) agentName = hb.agent_name || "";
2833
2835
  }
2836
+ } catch {
2834
2837
  }
2835
- log?.info?.(`Agent identity resolved: "${agentName}", roles: [${myRoleIds.join(", ")}], leader: ${isLeader}`);
2836
- return { agentName, myRoleIds, isLeader };
2838
+ log?.info?.(`Agent identity resolved: "${agentName}" (${agentId}), roles: [${myRoleIds.join(", ")}], leader: ${isLeader}`);
2839
+ return { agentId, agentName, myRoleIds, isLeader };
2837
2840
  } catch (err) {
2838
2841
  log?.warn?.(`Failed to resolve agent identity: ${err}`);
2839
2842
  return null;
@@ -2886,9 +2889,12 @@ function connectRealtime(account, identity, onEvent, onError, log) {
2886
2889
  try {
2887
2890
  const row = payload.new;
2888
2891
  if (row.agent_author_id && !row.author_id) {
2889
- log?.info?.(`Skipping agent-authored comment on task ${row.task_id} (echo suppression)`);
2890
2892
  scheduleLeaderNotification(row.task_id, row.agent_author_id, supabase, log);
2891
- return;
2893
+ if (identity && row.agent_author_id === identity.agentId) {
2894
+ log?.info?.(`Skipping own comment on task ${row.task_id} (echo suppression)`);
2895
+ return;
2896
+ }
2897
+ log?.info?.(`Delivering agent comment from ${row.agent_author_id} on task ${row.task_id}`);
2892
2898
  }
2893
2899
  const body = row.body || row.content || "";
2894
2900
  if (!row.author_id && !row.agent_author_id && identity) {
@@ -3127,7 +3133,7 @@ function formatGenericEvent(event) {
3127
3133
  }
3128
3134
 
3129
3135
  // src/runtime.ts
3130
- import { createPluginRuntimeStore } from "openclaw/dist/plugin-sdk/compat.js";
3136
+ import { createPluginRuntimeStore } from "openclaw/plugin-sdk/compat";
3131
3137
  var { setRuntime: setRemoteRuntime, getRuntime: getRemoteRuntime } = createPluginRuntimeStore(
3132
3138
  "Remote runtime not initialized - plugin not registered"
3133
3139
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-remote",
3
- "version": "0.4.3",
3
+ "version": "0.4.5",
4
4
  "description": "Remote project board channel plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",