Peter Steinberger
9f703a44dc
chore(release): 2026.2.6-3
2026-02-07 00:44:32 -08:00
Peter Steinberger
ad4dd0422e
chore(release): 2026.2.6-2
2026-02-07 00:30:43 -08:00
Peter Steinberger
dca8cf958b
chore(deps): update deps
2026-02-06 16:37:56 -08:00
Peter Steinberger
677450cd9b
chore(release): bump version to 2026.2.6
2026-02-06 15:37:31 -08:00
Yifeng Wang
5f6e1c19bd
feat(feishu): sync with clawdbot-feishu #137 (multi-account support)
...
- Sync latest changes from clawdbot-feishu including multi-account support
- Add eslint-disable comments for SDK-related any types
- Remove unused imports
- Fix no-floating-promises in monitor.ts
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 09:32:10 +09:00
Yifeng Wang
8ba1387ba2
fix(feishu): fix webhook mode silent exit and receive_id_type default
...
- monitor.ts: throw error for webhook mode instead of silently returning,
so gateway properly marks channel as failed
- targets.ts: default receive_id_type to "user_id" instead of "open_id"
for non-prefixed IDs, fixing message delivery for enterprise user IDs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 09:32:10 +09:00
Yifeng Wang
7e32f1ce20
fix(feishu): add targeted eslint-disable comments for SDK integration
...
Add line-specific eslint-disable-next-line comments for SDK type casts
and union type issues, rather than file-level disables.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 09:32:10 +09:00
Yifeng Wang
2267d58afc
feat(feishu): replace built-in SDK with community plugin
...
Replace the built-in Feishu SDK with the community-maintained
clawdbot-feishu plugin by @m1heng.
Changes:
- Remove src/feishu/ directory (19 files)
- Remove src/channels/plugins/outbound/feishu.ts
- Remove src/channels/plugins/normalize/feishu.ts
- Remove src/config/types.feishu.ts
- Remove feishu exports from plugin-sdk/index.ts
- Remove FeishuConfig from types.channels.ts
New features in community plugin:
- Document tools (read/create/edit Feishu docs)
- Wiki tools (navigate/manage knowledge base)
- Drive tools (folder/file management)
- Bitable tools (read/write table records)
- Permission tools (collaborator management)
- Emoji reactions support
- Typing indicators
- Rich media support (bidirectional image/file transfer)
- @mention handling
- Skills for feishu-doc, feishu-wiki, feishu-drive, feishu-perm
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-06 09:32:10 +09:00
Josh Palmer
4fc4c5256a
🤖 Feishu: expand channel support
...
What:
- add post parsing, doc link extraction, routing, replies, reactions, typing, and user lookup
- fix media download/send flows and make doc fetches domain-aware
- update Feishu docs and clawtributor credits
Why:
- raise Feishu parity with other channels and avoid dropped group messages
- keep replies threaded while supporting Lark domains
- document new configuration and credit the contributor
Tests:
- pnpm build
- pnpm check
- pnpm test (gateway suite timed out; reran pnpm vitest run --config vitest.gateway.config.ts)
Co-authored-by: 九灵云 <server@jiulingyun.cn >
2026-02-05 12:29:04 -08:00
Peter Steinberger
5031b283a5
chore: bump version to 2026.2.4
2026-02-05 00:38:50 -08:00
Peter Steinberger
f895c9fba1
chore: sync plugin versions to 2026.2.3
2026-02-04 17:55:13 -08:00
mudrii
5d82c82313
feat: per-channel responsePrefix override ( #9001 )
...
* feat: per-channel responsePrefix override
Add responsePrefix field to all channel config types and Zod schemas,
enabling per-channel and per-account outbound response prefix overrides.
Resolution cascade (most specific wins):
L1: channels.<ch>.accounts.<id>.responsePrefix
L2: channels.<ch>.responsePrefix
L3: (reserved for channels.defaults)
L4: messages.responsePrefix (existing global)
Semantics:
- undefined -> inherit from parent level
- empty string -> explicitly no prefix (stops cascade)
- "auto" -> derive [identity.name] from routed agent
Changes:
- Core logic: resolveResponsePrefix() in identity.ts accepts
optional channel/accountId and walks the cascade
- resolveEffectiveMessagesConfig() passes channel context through
- Types: responsePrefix added to WhatsApp, Telegram, Discord, Slack,
Signal, iMessage, Google Chat, MS Teams, Feishu, BlueBubbles configs
- Zod schemas: responsePrefix added for config validation
- All channel handlers wired: telegram, discord, slack, signal,
imessage, line, heartbeat runner, route-reply, native commands
- 23 new tests covering backward compat, channel/account levels,
full cascade, auto keyword, empty string stops, unknown fallthrough
Fully backward compatible - no existing config is affected.
Fixes #8857
* fix: address CI lint + review feedback
- Replace Record<string, any> with proper typed helpers (no-explicit-any)
- Add curly braces to single-line if returns (eslint curly)
- Fix JSDoc: 'Per-channel' → 'channel/account' on shared config types
- Extract getChannelConfig() helper for type-safe dynamic key access
* fix: finish responsePrefix overrides (#9001 ) (thanks @mudrii)
* fix: normalize prefix wiring and types (#9001 ) (thanks @mudrii)
---------
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com >
2026-02-04 16:16:34 -05:00
Peter Steinberger
5292367324
docs: update Feishu plugin docs
2026-02-03 23:24:41 -08:00
Josh Palmer
0223416c61
Channels: finish Feishu/Lark integration
2026-02-03 14:27:39 -08:00
Josh Palmer
2483f26c23
Channels: add Feishu/Lark support
2026-02-03 14:27:13 -08:00