mirror of
https://github.com/hansjone/dsh-im-ops.git
synced 2026-10-11 13:10:49 +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. |
||
|---|---|---|
| .. | ||
| fixtures | ||
| bridge.test.mjs | ||
| client-api.test.mjs | ||
| config.test.mjs | ||
| connection-supervisor.test.mjs | ||
| connection-test-client.test.mjs | ||
| feishu-app.test.mjs | ||
| feishu-cards.test.mjs | ||
| feishu-channel.test.mjs | ||
| feishu-proxy.test.mjs | ||
| feishu-runtime.test.mjs | ||
| group-message-permission-manager.test.mjs | ||
| harness-client.test.mjs | ||
| lark-sdk-handshake-patch.test.mjs | ||
| message-utils.test.mjs | ||
| multi-bot-controller.test.mjs | ||
| plugin-config-store.test.mjs | ||
| plugin-controller.test.mjs | ||
| plugin-host.test.mjs | ||
| registration-manager.test.mjs | ||
| repair-manager.test.mjs | ||
| slash-command-registry.test.mjs | ||
| state-store.test.mjs | ||