[codex] Add minimal Feishu/Lark support#90
Conversation
|
@huntharo Hi, pls check the new version. I asked my agent to rebuild it with target of Minimal PR only for adding Feishu/Lark and no other changes. Actually I have few experiences in Github. But I really want to contribute to the community because I benefit from it a lot. So pls help me to do it right. Thanks a lot! |
|
Thank you for your contribution! Unfortunately there are still changes needed to support such an ambitious plugin in OpenClaw. Some of this functionality is now being included directly in OpenClaw. Additionally, I have made a new project, https://github.com/pwrdrvr/PwrAgent, that gives you a Codex Desktop replacement app (uses Codex) but also integrates with messaging with openclaw-codex-app-server-like functionality, and Feishu/Lark is included! Please give it a try! |
Summary
This PR adds minimal Feishu/Lark support to the plugin.
It is intentionally scoped to the smallest repository diff needed to make Feishu work end to end:
Approve Onceworks when Feishu sends the full/cas_click <token>command bodyThis PR intentionally does not include the generic compaction lifecycle fix. That channel-agnostic fix is proposed separately in #89.
This PR supersedes #82.
Why this replaces #82
Compared with the branch behind #82, this PR is materially smaller:
20 -> 8(-60.0%)4206 -> 1372(-67.4%)1205 -> 36(-97.0%)The intent is to preserve only the code that is strictly required for Feishu/Lark support and leave unrelated cleanup or broader refactors out of scope.
Why each changed file is necessary
index.tsbefore_dispatchhook and the internal interactive callback command.index.test.tssrc/controller.ts/cas_clickworks whether Feishu passesargsor the fullcommandBody.src/controller.test.tssrc/openclaw-plugin-sdk.d.tsbefore_dispatchtypings used by the implementation.src/state.tssrc/state.test.tssrc/types.tsWhat is intentionally excluded
To keep this PR minimal, the following was intentionally split out:
compactThreadclient supportThose changes affect Telegram, Discord, and Feishu equally, so they are proposed separately in #89.
Validation
Local verification completed on a clean worktree:
pnpm typecheckpnpm test(237tests passed)lark-clias a user, including status cards, button callbacks, resume flows, DM binding, and approval-click parsing