openclaw-lark-multi-agent 1.0.21 → 1.0.23

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.
@@ -40,6 +40,8 @@ export declare class FeishuBot {
40
40
  private locale;
41
41
  private configPath?;
42
42
  private static allBots;
43
+ /** Chats where this bot app has actually received an event in this process. */
44
+ private static seenBotChats;
43
45
  constructor(config: BotConfig, openclawClient: OpenClawClient, store: MessageStore, adminOpenId?: string, configPath?: string);
44
46
  private handleMessageRecalled;
45
47
  register(): void;
@@ -73,8 +75,24 @@ export declare class FeishuBot {
73
75
  static getByName(name: string): FeishuBot | undefined;
74
76
  static findByOpenId(openId: string): FeishuBot | undefined;
75
77
  private handleMessage;
78
+ private shouldUseLiveStatus;
76
79
  private getUnhealthySessionStatus;
77
- private recoverFromUnhealthySession;
80
+ /**
81
+ * Distinguish SESSION death from RUN failure. `sessions.describe` reports the
82
+ * status of the most recent run, not whether the session is usable. A run can
83
+ * end as `aborted`/`error`/`failed`/`timeout` (e.g. an LLM idle timeout) while
84
+ * the session itself stays perfectly usable for the next message — confirmed in
85
+ * the wild: LMA reported "killed" but `/status` immediately showed running.
86
+ *
87
+ * Only treat the session as dead for statuses that mean the session itself is
88
+ * gone and a new run cannot start without /reset. Use word-boundary matching so
89
+ * a run-level "error" substring never trips this. Run-level failures are NOT
90
+ * surfaced here: the work promise will either return the (possibly empty) reply
91
+ * or throw, and that is handled by the normal delivery/error path.
92
+ */
93
+ private isSessionDeadStatus;
94
+ private warnUnhealthySessionAndContinue;
95
+ private stopForUnhealthySession;
78
96
  private withSessionHealthMonitor;
79
97
  /**
80
98
  * Process queued messages for a chat: batch all unsynced messages and send to OpenClaw.
@@ -105,6 +123,7 @@ export declare class FeishuBot {
105
123
  private deliverySessionKey;
106
124
  private stableHash;
107
125
  private deliverySourceId;
126
+ private sendSystemDelivery;
108
127
  private enqueueAndDispatchDelivery;
109
128
  private dispatchPendingDeliveries;
110
129
  private hasFreeModeBot;
@@ -121,10 +140,17 @@ export declare class FeishuBot {
121
140
  */
122
141
  private resolveChairmanTargets;
123
142
  private isDiscussionCoordinator;
143
+ private static markBotSeenInChat;
144
+ private markCurrentBotSeenInChat;
145
+ private isBotAvailableInChat;
124
146
  private getDiscussionParticipants;
125
147
  private getChairmanParticipant;
126
148
  private asDiscussionParticipant;
127
149
  private runDiscussionTurn;
150
+ private sendTextMessage;
151
+ private replyTextMessage;
152
+ private editTextMessage;
153
+ private deleteMessageById;
128
154
  private replyMessage;
129
155
  private extractBridgeAttachments;
130
156
  private pushBridgeAttachment;
@@ -132,6 +158,8 @@ export declare class FeishuBot {
132
158
  private inferFeishuFileType;
133
159
  private isImagePath;
134
160
  private errorSummary;
161
+ private isOutOfChatError;
162
+ private markCurrentBotUnavailable;
135
163
  private stripReadOnlyDocxFields;
136
164
  private createFeishuDocFromMarkdown;
137
165
  private sendBridgeAttachment;