openclaw/docs/automation
Eric Lytle e0b8b80067 feat(hooks): add message:transcribed and message:preprocessed internal hooks
Adds two new internal hook events that fire after media/link processing:

- message:transcribed: fires when audio has been transcribed, providing
  the transcript text alongside the original body and media metadata.
  Useful for logging, analytics, or routing based on spoken content.

- message:preprocessed: fires for every message after all media + link
  understanding completes. Gives hooks access to the fully enriched body
  (transcripts, image descriptions, link summaries) before the agent sees it.

Both hooks are added in get-reply.ts, after applyMediaUnderstanding and
applyLinkUnderstanding. message:received and message:sent are already
in upstream (f07bb8e8) and are not duplicated here.

Typed contexts (MessageTranscribedHookContext, MessagePreprocessedHookContext)
and type guards (isMessageTranscribedEvent, isMessagePreprocessedEvent) added
to internal-hooks.ts alongside the existing received/sent types.

Test coverage in src/hooks/message-hooks.test.ts.
2026-03-02 22:34:43 +00:00
..
auth-monitoring.md Docs: add nav titles across docs (#5689) 2026-01-31 15:04:03 -06:00
cron-jobs.md fix(cron): add retry policy for one-shot jobs on transient errors (#24355) (openclaw#24435) thanks @hugenshen 2026-03-01 06:58:03 -06:00
cron-vs-heartbeat.md fix(heartbeat): default target none and internalize relay prompts 2026-02-25 01:28:47 +00:00
gmail-pubsub.md fix(security): restrict hook transform module loading 2026-02-14 13:46:09 +01:00
hooks.md feat(hooks): add message:transcribed and message:preprocessed internal hooks 2026-03-02 22:34:43 +00:00
poll.md Docs: add nav titles across docs (#5689) 2026-01-31 15:04:03 -06:00
troubleshooting.md fix(heartbeat): run when HEARTBEAT.md is missing 2026-02-19 19:32:18 -05:00
webhook.md fix(security): harden hooks module loading 2026-02-14 15:03:27 +01:00