Skip to content

v0.4.2

Choose a tag to compare

@ChesterRa ChesterRa released this 21 Feb 16:16
· 295 commits to main since this release

CCCC v0.4.2 Release Notes

v0.4.2 advances the IM integration and operator-facing control surfaces.
It ships key-based IM chat authorization, a reusable actor profiles system, and a remote access control plane — all with matching Web/MCP/CLI coverage.

Highlights

1) Key-based IM chat authorization

IM bridges now authenticate chats through a cryptographic bind-key flow instead of static trust.
Operators generate a one-time bind key in the Web UI, share it with the target IM chat, and the bridge verifies identity before granting access.

Key capabilities:

  • /bind <key> command in supported IM platforms (Telegram first)
  • automatic subscription on successful bind (no separate /subscribe step)
  • pending approval management: operators can review and approve/deny bind requests from the Web Settings → IM Bridge tab
  • revoke semantics: authorized chats can be revoked at any time, with immediate effect on message routing
  • cccc_im_bind MCP tool for programmatic binding from automation workflows

2) Actor profiles

A new actor profile abstraction lets operators attach reusable identity metadata (display name, avatar, prompt preamble, model preferences) to actors.

Profiles are linked at actor creation or update and propagate across:

  • daemon runtime (used for display in IM bridges and Web)
  • Web UI (dedicated Actor Profiles settings tab for CRUD operations)
  • MCP surface (profile query and assignment tools)

3) Remote access control plane

A new remote access layer allows authorized clients to interact with a CCCC daemon across network boundaries.
Combined with hardened IM revoke semantics, this enables secure multi-node orchestration without exposing the daemon socket directly.

4) Telegram UX improvements

  • Typing indicators: the bridge now sends typing actions with configurable throttling, giving collaborators visual feedback during agent processing.
  • Actor titles over IDs: IM-rendered messages now prefer human-readable actor titles instead of raw actor identifiers.

5) MCP and operational fixes

  • Recipient semantics fix: None (broadcast) vs [] (no recipients) distinction is now correctly preserved in MCP message send, preventing unintended broadcast or silent drops.
  • IM KeyManager reload: authorization state is reloaded from disk on each inbound poll, eliminating stale-cache authorization failures after daemon restarts.
  • Timestamp handling: authorized_at timestamps in the IM Web UI are now correctly parsed and displayed.