openclaw-quiubo 2.6.13 → 2.6.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsGH,eAAO,MAAM,YAAY,EAAE,GAm1B1B,CAAC"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsGH,eAAO,MAAM,YAAY,EAAE,GA+1B1B,CAAC"}
@@ -34,6 +34,8 @@ export interface BotConfig {
34
34
  export interface RealtimeGatewayOptions {
35
35
  client: QuiuboApiClient;
36
36
  botIdentityId: string;
37
+ /** Account ID — used for per-account cursor file isolation */
38
+ accountId: string;
37
39
  /** Pusher config returned from SDK auth endpoint */
38
40
  pusher?: {
39
41
  key: string;
@@ -88,23 +90,44 @@ export declare class RealtimeGateway {
88
90
  private pollTimer;
89
91
  private polling;
90
92
  private cursors;
91
- /** Message IDs already dispatched (Pusher + poll dedup). Capped to prevent unbounded growth. */
93
+ /** Message IDs already dispatched (Pusher + poll dedup). FIFO-capped to prevent unbounded growth. */
92
94
  private dispatched;
95
+ private dispatchedOrder;
96
+ private readonly DISPATCHED_MAX;
97
+ private readonly DISPATCHED_EVICT;
98
+ private consecutivePollErrors;
99
+ private readonly POLL_CONCURRENCY;
100
+ private readonly MAX_BACKOFF_MS;
93
101
  private agentGroupsCache;
94
102
  private readonly AGENT_GROUPS_TTL;
95
103
  private botConfigCache;
96
104
  private suppressionMap;
97
105
  private agentId;
98
106
  private heartbeatTimer;
107
+ private cursorSaveTimer;
108
+ private readonly cursorsFile;
109
+ private pusherConnectTimeout;
99
110
  private keyManager;
100
111
  private e2eeGrantedGroups;
101
112
  private agentName;
102
113
  private agentDisplayName;
103
114
  private stopped;
104
115
  constructor(opts: RealtimeGatewayOptions);
116
+ /**
117
+ * Load persisted cursors from disk. Called once before start().
118
+ * Non-fatal: if file doesn't exist or is corrupt, starts fresh.
119
+ */
120
+ loadCursors(): Promise<void>;
121
+ /**
122
+ * Save cursors to disk. Called after each poll cycle and on cursor updates.
123
+ * Non-fatal: logs warning on failure.
124
+ */
125
+ private saveCursors;
126
+ /** Debounced cursor save — batches rapid Pusher updates into one write per 2s */
127
+ private debouncedSaveCursors;
105
128
  /** Set bot config for a group */
106
129
  setBotConfig(groupId: string, config: BotConfig): void;
107
- /** Track a dispatched message ID (capped at 500 to prevent unbounded growth) */
130
+ /** Track a dispatched message ID (FIFO-capped to prevent unbounded growth) */
108
131
  private markDispatched;
109
132
  /** Get bot config for a group (for outbound scope checks) */
110
133
  getBotConfig(groupId: string): BotConfig | undefined;
@@ -142,6 +165,10 @@ export declare class RealtimeGateway {
142
165
  private fetchAndRouteMessage;
143
166
  private stopPusher;
144
167
  private startPolling;
168
+ /** Schedule the next poll with backoff-aware delay */
169
+ private schedulePoll;
170
+ /** Get poll delay: base interval * 2^errors, capped at MAX_BACKOFF_MS */
171
+ private getBackoffDelay;
145
172
  private stopPolling;
146
173
  /**
147
174
  * Get directory group IDs, refreshing from API every AGENT_GROUPS_TTL ms.
@@ -150,6 +177,12 @@ export declare class RealtimeGateway {
150
177
  */
151
178
  private getDirectoryGroupIds;
152
179
  private poll;
180
+ /**
181
+ * Seek cursor to the latest message without processing anything.
182
+ * Called on cold start (no cursor for a group) to avoid replaying history.
183
+ * Paginates forward until there are no more messages.
184
+ */
185
+ private seekToLatest;
153
186
  private pollGroup;
154
187
  }
155
188
  //# sourceMappingURL=realtime-gateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-gateway.d.ts","sourceRoot":"","sources":["../../src/realtime-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime-gateway.d.ts","sourceRoot":"","sources":["../../src/realtime-gateway.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "openclaw-quiubo",
3
3
  "name": "Quiubo",
4
- "version": "2.6.13",
4
+ "version": "2.6.16",
5
5
  "description": "Chat with AI assistants through Quiubo",
6
6
  "channels": [
7
7
  "quiubo"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-quiubo",
3
- "version": "2.6.13",
3
+ "version": "2.6.16",
4
4
  "description": "OpenClaw Quiubo channel plugin — chat with AI assistants through Quiubo",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",