@larksuite/openclaw-lark 2026.7.9 → 2026.7.10-beta.0
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.
package/package.json
CHANGED
|
@@ -23,7 +23,7 @@ const log = (0, lark_logger_1.larkLogger)('channel/interactive-dispatch');
|
|
|
23
23
|
function extractBasics(data) {
|
|
24
24
|
try {
|
|
25
25
|
const ev = data;
|
|
26
|
-
const action = ev.action?.value?.action ?? ev.action?.name;
|
|
26
|
+
const action = ev.action?.value?.action ?? ev.action?.name ?? formSubmitActionName(ev);
|
|
27
27
|
if (!action || typeof action !== 'string')
|
|
28
28
|
return null;
|
|
29
29
|
const openChatId = ev.open_chat_id ?? ev.context?.open_chat_id;
|
|
@@ -39,6 +39,12 @@ function extractBasics(data) {
|
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
+
function formSubmitActionName(ev) {
|
|
43
|
+
const tag = ev.action?.tag;
|
|
44
|
+
if (tag !== 'form_submit')
|
|
45
|
+
return undefined;
|
|
46
|
+
return ev.action?.form_name;
|
|
47
|
+
}
|
|
42
48
|
function buildMarkdownCard(text) {
|
|
43
49
|
return {
|
|
44
50
|
schema: '2.0',
|
|
@@ -173,13 +173,15 @@ function handleAskUserAction(data, _cfg, accountId) {
|
|
|
173
173
|
openChatId = event.open_chat_id ?? event.context?.open_chat_id;
|
|
174
174
|
const actionTag = event.action?.tag;
|
|
175
175
|
const actionName = event.action?.name;
|
|
176
|
+
const formName = event.action?.form_name;
|
|
176
177
|
formValue = event.action?.form_value;
|
|
177
178
|
log.info(`card action received: tag=${actionTag}, name=${actionName}, chat=${openChatId}, ` +
|
|
178
179
|
`sender=${senderOpenId}, hasFormValue=${!!formValue}, hasValue=${!!event.action?.value}`);
|
|
179
180
|
// Extract action/operationId from button value (may not propagate for form submit)
|
|
180
181
|
const val = event.action?.value;
|
|
181
182
|
if (val && typeof val === 'object') {
|
|
182
|
-
|
|
183
|
+
const valueAction = val.action;
|
|
184
|
+
action = valueAction === ACTION_SUBMIT ? ACTION_SUBMIT : undefined;
|
|
183
185
|
operationId = val.operation_id;
|
|
184
186
|
}
|
|
185
187
|
// Detect form submit by button name
|
|
@@ -196,7 +198,13 @@ function handleAskUserAction(data, _cfg, accountId) {
|
|
|
196
198
|
action = ACTION_SUBMIT;
|
|
197
199
|
}
|
|
198
200
|
// Some SDK versions emit tag='form_submit' without button value/name.
|
|
199
|
-
|
|
201
|
+
// Business plugins also use form_submit; a form_name means it belongs to
|
|
202
|
+
// the named business form, while absent form_name keeps the old AskUser
|
|
203
|
+
// chat-scoped fallback for legacy callbacks.
|
|
204
|
+
if (!action &&
|
|
205
|
+
actionTag === 'form_submit' &&
|
|
206
|
+
!formName &&
|
|
207
|
+
(!actionName || actionName.startsWith(SUBMIT_BUTTON_PREFIX))) {
|
|
200
208
|
action = ACTION_SUBMIT;
|
|
201
209
|
if (!formValue && event.action) {
|
|
202
210
|
formValue = event.action;
|