@openclawcity/openclawcity 1.0.4 → 1.0.6

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 +34 -22
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4022,7 +4022,7 @@ var OpenClawCityAdapter = class {
4022
4022
  this.clearPing();
4023
4023
  this.pingInterval = setInterval(() => {
4024
4024
  if (this.ws?.readyState === wrapper_default.OPEN) {
4025
- this.ws.ping();
4025
+ this.send({ type: "ping" });
4026
4026
  }
4027
4027
  }, this.pingIntervalMs);
4028
4028
  }
@@ -4121,7 +4121,9 @@ var occPlugin = {
4121
4121
  startAccount: async (ctx) => {
4122
4122
  const rt = getRuntime();
4123
4123
  const { cfg, accountId, account, abortSignal, log } = ctx;
4124
+ log?.info?.(`[OCC] startAccount called for ${accountId}, abortSignal.aborted=${abortSignal.aborted}`);
4124
4125
  ctx.setStatus({ accountId, running: true, connected: false, lastStartAt: Date.now() });
4126
+ log?.info?.(`[OCC] setStatus: running=true, connected=false`);
4125
4127
  const adapter = new OpenClawCityAdapter({
4126
4128
  config: account,
4127
4129
  logger: log,
@@ -4225,7 +4227,7 @@ var occPlugin = {
4225
4227
  },
4226
4228
  onWelcome: (welcome) => {
4227
4229
  const nearby = welcome.nearby_bots ?? welcome.nearby ?? [];
4228
- log?.info?.(`Connected to OpenClawCity. Location: ${welcome.location?.zoneName ?? "unknown"}, Nearby: ${nearby.length} bots`);
4230
+ log?.info?.(`[OCC] Connected to OpenClawCity. Location: ${welcome.location?.zoneName ?? welcome.location?.zone_name ?? "unknown"}, Nearby: ${nearby.length} bots`);
4229
4231
  ctx.setStatus({
4230
4232
  accountId,
4231
4233
  running: true,
@@ -4233,28 +4235,24 @@ var occPlugin = {
4233
4235
  lastConnectedAt: Date.now(),
4234
4236
  lastError: null
4235
4237
  });
4238
+ log?.info?.(`[OCC] setStatus: running=true, connected=true`);
4236
4239
  },
4237
4240
  onError: (error) => {
4238
- log?.error?.(`Server error: ${error.reason}`);
4241
+ log?.error?.(`[OCC] Server error: ${error.reason} \u2014 ${error.message ?? ""}`);
4239
4242
  ctx.setStatus({
4240
4243
  ...ctx.getStatus(),
4241
4244
  lastError: `${error.reason}: ${error.message ?? ""}`
4242
4245
  });
4243
4246
  },
4244
4247
  onStateChange: (state) => {
4245
- log?.debug?.(`Connection state: ${state}`);
4246
- if (state === "DISCONNECTED") {
4247
- ctx.setStatus({
4248
- ...ctx.getStatus(),
4249
- connected: false,
4250
- lastDisconnect: { at: Date.now() }
4251
- });
4252
- } else if (state === "CONNECTED") {
4248
+ log?.info?.(`[OCC] Connection state changed: ${state}`);
4249
+ if (state === "CONNECTED") {
4253
4250
  ctx.setStatus({
4254
4251
  ...ctx.getStatus(),
4255
4252
  connected: true,
4256
4253
  lastConnectedAt: Date.now()
4257
4254
  });
4255
+ log?.info?.(`[OCC] setStatus: connected=true`);
4258
4256
  }
4259
4257
  }
4260
4258
  });
@@ -4263,18 +4261,32 @@ var occPlugin = {
4263
4261
  existing.stop();
4264
4262
  }
4265
4263
  adapters.set(accountId, adapter);
4266
- abortSignal.addEventListener("abort", () => {
4267
- adapter.stop();
4268
- adapters.delete(accountId);
4269
- ctx.setStatus({
4270
- accountId,
4271
- running: false,
4272
- connected: false,
4273
- lastStopAt: Date.now()
4274
- });
4275
- }, { once: true });
4264
+ log?.info?.(`[OCC] adapter.connect() starting...`);
4276
4265
  await adapter.connect();
4277
- return adapter.done;
4266
+ log?.info?.(`[OCC] adapter.connect() resolved \u2014 connection established`);
4267
+ log?.info?.(`[OCC] Entering keep-alive promise (abortSignal.aborted=${abortSignal.aborted})`);
4268
+ return new Promise((resolve) => {
4269
+ const onAbort = () => {
4270
+ log?.info?.(`[OCC] Abort signal received \u2014 shutting down account ${accountId}`);
4271
+ adapter.stop();
4272
+ adapters.delete(accountId);
4273
+ ctx.setStatus({
4274
+ accountId,
4275
+ running: false,
4276
+ connected: false,
4277
+ lastStopAt: Date.now()
4278
+ });
4279
+ log?.info?.(`[OCC] setStatus: running=false, connected=false \u2014 resolving keep-alive promise`);
4280
+ resolve();
4281
+ };
4282
+ if (abortSignal.aborted) {
4283
+ log?.warn?.(`[OCC] Abort signal was ALREADY aborted before keep-alive \u2014 resolving immediately`);
4284
+ onAbort();
4285
+ } else {
4286
+ log?.info?.(`[OCC] Keep-alive promise active \u2014 waiting for abort signal`);
4287
+ abortSignal.addEventListener("abort", onAbort, { once: true });
4288
+ }
4289
+ });
4278
4290
  }
4279
4291
  }
4280
4292
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclawcity/openclawcity",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "OpenClawCity channel plugin for OpenClaw — live city events for AI agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",