picoclaw/pkg/channels
Hoshina 3fb4469e47 feat(identity): add unified user identity with canonical platform:id format
Introduce SenderInfo struct and pkg/identity package to standardize user
identification across all channels. Each channel now constructs structured
sender info (platform, platformID, canonicalID, username, displayName)
instead of ad-hoc string IDs. Allow-list matching supports all legacy
formats (numeric ID, @username, id|username) plus the new canonical
"platform:id" format. Session key resolution also handles canonical
peerIDs for backward-compatible identity link matching.
2026-02-24 12:10:45 +08:00
..
dingtalk feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
discord feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
feishu feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
line feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
maixcam feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
onebot feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
pico feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
qq feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
slack feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
telegram feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
wecom feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
whatsapp feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
base.go feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
base_test.go feat(identity): add unified user identity with canonical platform:id format 2026-02-24 12:10:45 +08:00
errors.go refactor(channels): add per-channel rate limiting and send retry with error classification 2026-02-24 12:10:45 +08:00
errors_test.go refactor(channels): add per-channel rate limiting and send retry with error classification 2026-02-24 12:10:45 +08:00
errutil.go refactor(channels): standardize Send error classification with sentinel types 2026-02-24 12:10:45 +08:00
errutil_test.go refactor(channels): standardize Send error classification with sentinel types 2026-02-24 12:10:45 +08:00
interfaces.go feat(channels): add typing/placeholder automation and Pico Protocol channel (Phase 10 + 7) 2026-02-24 12:10:45 +08:00
manager.go refactor(channels): move SplitMessage from pkg/utils to pkg/channels 2026-02-24 12:10:45 +08:00
manager_test.go feat(channels): add typing/placeholder automation and Pico Protocol channel (Phase 10 + 7) 2026-02-24 12:10:45 +08:00
media.go feat(channels): add MediaSender optional interface for outbound media 2026-02-24 12:10:45 +08:00
registry.go refactor(channels): add factory registry and export SetRunning on BaseChannel 2026-02-24 12:10:02 +08:00
split.go fix: address PR review feedback across channel system 2026-02-24 12:10:45 +08:00
split_test.go refactor(channels): move SplitMessage from pkg/utils to pkg/channels 2026-02-24 12:10:45 +08:00
webhook.go refactor(channels): consolidate HTTP servers into shared server managed by Manager 2026-02-24 12:10:45 +08:00