mirror of
https://github.com/hansjone/dsh-im-ops.git
synced 2026-10-09 07:53:20 +08:00
Render Harness approval and single-choice question interactions as interactive Feishu cards with approve/reject and answer buttons, matching the already-available interactionCards behaviour. Cards are now the default; set DSH_IM_INTERACTION_CARDS=0 (or interactionCards=false) to keep the plain-text reply flow. - bridge.mjs: approve:/reject:/answer: card actions, interactionCards option, gated approval render hook, interactive question presentation, and operationArguments/printableText helpers; refactor the inline question answer into #submitQuestionAnswer so both text replies and card buttons share one path. - feishu-cards.mjs: approvalCard (approve/reject) and questionCard (option buttons) templates. - feishu-runtime.mjs: default interactionCards from env (on). - harness-approval.mjs: optional channel render hook + submitByApprovalId. - i18n-en: add the new card t() keys. - Tests: pin the plain-text reply flow in state-machine suites that drive it, and add dedicated card tests for the default approve/reject, answer buttons, and the text fallback. Full suite shows no new failures versus upstream. |
||
|---|---|---|
| .. | ||
| command-permission.test.mjs | ||
| context-enhancement-bridges.test.mjs | ||
| context-enhancement-production.test.mjs | ||
| delivery-message-ids.test.mjs | ||
| harness-apiproxy.test.mjs | ||
| harness-approval.test.mjs | ||
| harness-control.test.mjs | ||
| harness-mux.test.mjs | ||
| i18n.test.mjs | ||
| production.test.mjs | ||
| status-reaction.test.mjs | ||
| text-harness-bridge.test.mjs | ||