zeroclaw/src
Nim G f812dbcb85
feat(channels): add message redaction API to Channel trait (#4458)
* feat(channels): add message redaction API to Channel trait

Add redact_message() method to Channel trait with default no-op implementation.
Implement for MatrixChannel using existing room.redact() SDK method.
Add comprehensive test coverage for trait default and Matrix implementation.

Changes:
- src/channels/traits.rs: Add redact_message() default method and test
- src/channels/matrix.rs: Implement redact_message() for MatrixChannel
- tests/integration/channel_matrix.rs: Add RedactMessage event, test channel impl, and lifecycle test

Tests added:
- default_redact_message_returns_success (trait default)
- redact_message_lifecycle (MatrixTestChannel)
- Updated minimal_channel_all_defaults_succeed

All tests pass. No breaking changes.

* test(channels): clarify redact_message test coverage

* fix(channels): use OwnedRoomId for matrix redact_message room lookup

RoomId is unsized (wraps str), so inlining .parse() in
get_room(&target_room.parse()?) fails to compile with the
channel-matrix feature. Use an intermediate OwnedRoomId binding,
matching the pattern used in send() and listen().
2026-03-24 01:43:41 -04:00
..
agent feat(agent): add complexity-based eval and auto-classify routing (#3928) (#4486) 2026-03-24 00:51:18 -04:00
approval fix(approval): merge default auto_approve entries with user config (#4262) 2026-03-22 14:28:09 -04:00
auth feat(auth): add import functionality for existing OpenAI Codex auth p… (#3762) 2026-03-21 06:49:44 -04:00
channels feat(channels): add message redaction API to Channel trait (#4458) 2026-03-24 01:43:41 -04:00
commands fix(update): diagnose arch mismatch in validate_binary before execution (#4379) 2026-03-23 13:36:44 -04:00
config feat(memory): add pgvector support and Postgres knowledge graph (#4028) (#4488) 2026-03-24 01:04:01 -04:00
cost fix(channels): add cost tracking and enforcement to all channels (#4143) 2026-03-21 07:37:15 -04:00
cron fix(cron): treat empty allowed_tools as None and sanitize tool names (#4482) 2026-03-24 00:44:39 -04:00
daemon fix(heartbeat): prevent UTF-8 panic, add memory bounds and path validation in session context 2026-03-22 00:01:44 -04:00
doctor feat(tool): enrich delegate sub-agent system prompt and add skills_directory config key (#3344) 2026-03-21 07:53:02 -04:00
gateway feat(tools): add built-in ask_user tool for interactive prompts (#4474) 2026-03-23 23:58:50 -04:00
hands feat(hands): add autonomous knowledge-accumulating agent packages (#3603) 2026-03-15 16:06:14 -04:00
hardware fix(hardware): drain stdin in subprocess test to prevent broken pipe flake (#4161) 2026-03-21 12:19:53 -04:00
health refactor(sync): migrate remaining std mutex usage to parking_lot 2026-02-18 00:45:26 +08:00
heartbeat feat(heartbeat): add health metrics, adaptive intervals, and task history 2026-03-16 12:08:32 -04:00
hooks feat(hooks): add webhook-audit builtin hook (#3212) 2026-03-11 23:34:17 -04:00
integrations feat(matrix): add allowed_rooms config for room-level gating (#4230) (#4260) 2026-03-22 14:41:43 -04:00
memory feat(memory): add bulk memory deletion by namespace and session (#4459) 2026-03-24 01:43:39 -04:00
nodes feat(nodes): add secure HMAC-SHA256 node transport layer (#3654) 2026-03-16 01:53:47 -04:00
observability fix(observability): handle missing OtelObserver match arms and add all-features CI check (#3981) 2026-03-19 17:48:35 -04:00
onboard feat: make shell tool timeout configurable via config.toml (#4468) 2026-03-24 00:07:46 -04:00
peripherals feat(hardware): add RPi GPIO, Aardvark I2C/SPI/GPIO, and hardware plugin system (#4125) 2026-03-21 04:17:01 -04:00
plugins fix(plugins): integrate WASM tools into registry, add gateway routes and tests 2026-03-17 18:10:24 -04:00
providers fix(cron): treat empty allowed_tools as None and sanitize tool names (#4482) 2026-03-24 00:44:39 -04:00
rag chore(lint): extend low-risk clippy cleanup batch 2026-02-17 16:40:58 +08:00
runtime feat(tools): add Windows support for shell tool_call execution (#3442) 2026-03-13 17:12:16 -04:00
security fix(security): update blocked_commands_basic test after #4338 (#4399) 2026-03-23 14:16:42 -04:00
service fix: use POSIX-compatible sh -c instead of dash-specific -lc (#4209) (#4217) 2026-03-22 00:07:37 -04:00
skillforge chore: Remove blocking read strings 2026-02-19 14:52:29 +08:00
skills feat(skills): add TEST.sh validation/testing framework (#4476) 2026-03-23 23:58:52 -04:00
sop fix(sop): fix state file leak and add deterministic execution tests (#4404) 2026-03-23 16:40:26 -04:00
tools feat(memory): add bulk memory deletion by namespace and session (#4459) 2026-03-24 01:43:39 -04:00
tunnel Feat/add pinggy tunnel (#4060) 2026-03-20 15:11:50 -04:00
verifiable_intent feat(verifiable_intent): add native verifiable intent lifecycle module (#2938) 2026-03-20 17:52:55 -04:00
cli_input.rs fix(onboard): make tmux paste safe for text prompts (#4106) 2026-03-21 05:14:37 -04:00
i18n.rs feat(i18n): externalize tool descriptions for translation (#3912) 2026-03-18 17:01:39 -04:00
identity.rs test: cover deterministic HashMap ordering paths 2026-02-18 21:55:40 +08:00
lib.rs feat(skills): add TEST.sh validation/testing framework (#4476) 2026-03-23 23:58:52 -04:00
main.rs fix(sop): fix state file leak and add deterministic execution tests (#4404) 2026-03-23 16:40:26 -04:00
migration.rs readd tests, remove markdown files 2026-02-18 14:42:39 +08:00
multimodal.rs feat(multimodal): route image messages to dedicated vision provider (#4264) 2026-03-22 14:36:29 -04:00
util.rs feat(hardware): add RPi GPIO, Aardvark I2C/SPI/GPIO, and hardware plugin system (#4125) 2026-03-21 04:17:01 -04:00