Ayaan Zaidi
746a188c90
refactor(media): collapse attachment byte classification into media-core ( #122168 )
...
Attachment MIME gating and extraction dispatch used nine separate byte policies across five files; the allowlist could approve one MIME while dispatch observed another after a second sniff. @openclaw/media-core/attachment-classify now owns byte sniffing, text heuristics, extension mapping, and the seven attachment classes; the cache stores one classification that gates and dispatch share. Channel-declared MIME leads with the transport Content-Type as a byte-arbitrated hint, normalizeMimeType folds YAML/XML synonyms so existing configured allowlists keep matching, and input_file API callers keep declared-MIME precedence over cosmetic filenames. Net -135 production LOC.
Proof: 2,153 focused tests across media-core/media-understanding/media plus boundary-contract and deadcode-mirror suites; ClawSweeper local review clean (round 5, zero findings); live Telegram default-turn probe green.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-11 19:10:49 +00:00
..
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 07:39:51 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 11:01:05 -07:00
2026-08-07 18:44:12 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 00:02:18 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 00:02:18 -07:00
2026-08-07 18:44:12 -07:00
2026-08-12 00:38:29 +07:00
2026-08-07 18:44:12 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-09 08:48:48 -07:00
2026-08-11 00:02:18 -07:00
2026-08-10 21:37:48 +05:30
2026-08-08 21:14:16 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-09 08:48:48 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-10 20:31:07 -07:00
2026-08-09 18:48:49 -07:00
2026-08-11 00:02:18 -07:00
2026-08-11 00:02:18 -07:00
2026-08-07 18:44:12 -07:00
2026-08-09 06:00:06 -07:00
2026-08-11 10:22:01 -07:00
2026-08-09 06:00:06 -07:00
2026-08-11 10:22:01 -07:00
2026-08-09 07:21:35 -07:00
2026-08-11 11:01:05 -07:00
2026-08-07 18:44:12 -07:00
2026-08-10 15:44:54 -07:00
2026-08-11 00:02:18 -07:00
2026-08-10 15:44:54 -07:00
2026-08-10 16:42:34 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-10 15:44:54 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 00:02:18 -07:00
2026-08-09 04:50:18 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 00:02:18 -07:00
2026-08-10 16:42:34 -07:00
2026-08-09 08:48:48 -07:00
2026-08-07 18:44:12 -07:00
2026-08-10 16:42:34 -07:00
2026-08-11 00:02:18 -07:00
2026-08-11 13:18:22 +00:00
2026-08-07 18:44:12 -07:00
2026-08-07 18:44:12 -07:00
2026-08-10 22:30:10 -05:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 10:22:01 -07:00
2026-08-08 22:01:44 -07:00
2026-08-09 07:07:47 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 00:02:18 -07:00
2026-08-10 20:15:18 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 00:02:18 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 11:26:58 -07:00
2026-08-11 00:02:18 -07:00
2026-08-09 20:40:11 -07:00
2026-08-11 00:02:18 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 11:01:05 -07:00
2026-08-10 16:42:34 -07:00
2026-08-11 11:01:05 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 11:38:34 +08:00
2026-08-11 13:18:22 +00:00
2026-08-11 13:18:22 +00:00
2026-08-07 18:44:12 -07:00
2026-08-07 18:44:12 -07:00
2026-08-10 08:19:51 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 12:01:14 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 10:22:01 -07:00
2026-08-09 06:00:06 -07:00
2026-08-10 15:44:54 -07:00
2026-08-10 15:44:54 -07:00
2026-08-08 21:14:16 -07:00
2026-08-11 10:22:01 -07:00
2026-08-10 16:43:51 -07:00
2026-08-11 10:22:01 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 10:22:01 -07:00
2026-08-10 16:42:34 -07:00
2026-08-09 06:00:06 -07:00
2026-08-11 00:02:18 -07:00
2026-08-07 18:44:12 -07:00
2026-08-10 15:44:54 -07:00
2026-08-10 16:42:34 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 11:01:05 -07:00
2026-08-11 11:31:07 -07:00
2026-08-11 13:18:22 +00:00
2026-08-07 18:44:12 -07:00
2026-08-11 13:18:22 +00:00
2026-08-07 18:44:12 -07:00
2026-08-09 19:43:49 -07:00
2026-08-10 15:44:54 -07:00
2026-08-11 02:36:16 -07:00
2026-08-11 18:18:16 +00:00
2026-08-07 18:44:12 -07:00
2026-08-11 13:18:22 +00:00
2026-08-07 18:44:12 -07:00
2026-08-09 08:48:48 -07:00
2026-08-11 00:02:18 -07:00
2026-08-11 13:18:22 +00:00
2026-08-11 10:22:01 -07:00
2026-08-09 08:48:48 -07:00
2026-08-07 18:44:12 -07:00
2026-08-07 18:44:12 -07:00
2026-08-07 18:44:12 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 00:02:18 -07:00
2026-08-11 01:45:51 -07:00
2026-08-11 00:02:18 -07:00
2026-08-07 18:44:12 -07:00
2026-08-10 07:08:40 -07:00
2026-08-11 11:01:05 -07:00
2026-08-11 10:22:01 -07:00
2026-08-11 19:10:49 +00:00
2026-08-11 00:02:18 -07:00
2026-08-10 16:42:34 -07:00
2026-08-11 13:18:22 +00:00
2026-08-11 13:18:22 +00:00
2026-08-11 02:36:16 -07:00
2026-08-01 09:11:09 -07:00
2026-08-11 19:10:49 +00:00