Krish Chainani
03467026f2
Add an injectable attachment store to ThreadManager ( #42634 )
...
## What changed
- Add the `codex-attachment-store` crate with storage-neutral attachment metadata, references, errors, and an asynchronous persistence interface.
- Provide an inline implementation that preserves attachment bytes as media-typed base64 data URLs.
- Inject the store into `ThreadManager`, expose it to consumers, and retain inline storage as the default for existing entry points.
## Testing
- Verify inline storage round-trips binary, text, PNG, and JPEG data.
- Verify attachment debug output redacts URLs while retaining file IDs.
GitOrigin-RevId: 7688dcd3c89d7540ed2398f3e7c63881fbfcda97
2026-09-03 23:20:54 +00:00
..
2026-09-03 23:20:54 +00:00
2026-07-06 14:29:19 -07:00
2026-09-03 16:21:10 +00:00
2026-09-03 17:48:15 +00:00
2026-09-03 17:48:15 +00:00
2026-09-01 18:24:56 +00:00
2026-09-03 16:41:11 +00:00
2026-09-01 13:29:18 +00:00
2026-09-03 04:38:26 +00:00
2026-08-21 06:41:28 +00:00
2026-08-31 22:38:23 +00:00
2026-08-25 05:16:45 +00:00
2026-09-03 17:48:15 +00:00
2026-09-02 21:50:51 +00:00
2026-09-03 01:33:32 +00:00
2026-09-03 23:20:54 +00:00
2026-09-03 00:17:19 +00:00
2026-08-25 13:10:24 +00:00
2026-07-28 23:49:37 +00:00
2026-08-25 21:20:51 +00:00
2026-08-26 16:28:35 +00:00
2026-08-25 21:20:51 +00:00
2026-09-02 23:58:24 +00:00
2026-09-02 23:58:24 +00:00
2026-05-08 12:36:02 -07:00
2026-08-25 19:54:52 +00:00
2026-09-02 18:52:44 +00:00
2026-08-28 01:14:02 +00:00
2026-08-28 01:14:02 +00:00
2026-08-23 10:06:57 +00:00
2026-09-01 20:41:32 +00:00
2026-09-03 17:48:15 +00:00
2026-03-12 08:16:36 -07:00
2026-04-01 23:06:24 -07:00
2026-07-23 19:32:26 +00:00
2026-08-05 18:19:22 +00:00
2026-08-20 19:19:41 +00:00
2026-08-31 00:53:30 +00:00
2026-08-31 21:15:38 +00:00
2026-08-28 21:40:23 +00:00
2026-08-23 21:29:11 +00:00
2026-09-03 17:48:15 +00:00
2026-09-03 17:48:15 +00:00
2026-08-23 21:29:11 +00:00
2026-08-25 17:41:22 +00:00
2026-09-03 17:48:15 +00:00
2026-09-01 13:43:27 +00:00
2026-09-01 13:43:27 +00:00
2026-06-24 22:17:43 -07:00
2026-08-25 19:54:52 +00:00
2026-07-06 11:20:32 -07:00
2026-07-06 11:20:32 -07:00
2026-09-01 22:16:54 +00:00
2026-08-04 00:51:53 +00:00
2026-09-02 02:09:35 +00:00
2026-08-10 01:44:30 +00:00
2026-09-03 00:17:19 +00:00
2026-09-01 14:43:27 +00:00
2026-08-20 07:03:02 +00:00
2026-09-01 18:24:56 +00:00
2026-08-14 00:18:29 +00:00
2026-08-25 05:16:45 +00:00
2026-05-13 11:31:27 +02:00
2026-08-25 21:34:05 +00:00
2026-08-21 21:17:42 +00:00
2026-09-01 18:02:27 +00:00
2026-08-23 22:23:40 +00:00
2026-09-03 22:22:48 +00:00
2026-04-28 13:03:28 +02:00
2026-09-03 23:20:54 +00:00
2026-08-26 16:28:35 +00:00
2026-08-25 20:26:23 +00:00
2026-08-29 06:05:28 +00:00
2026-09-01 20:46:17 +00:00
2026-09-01 20:54:25 +00:00
2026-08-06 13:37:07 +00:00
2026-09-01 13:43:27 +00:00
2026-08-25 16:47:13 +00:00
2026-08-20 17:46:05 +00:00
2026-03-25 11:05:35 -07:00
2026-07-06 14:51:34 -07:00
2026-04-09 10:53:06 -07:00
2026-04-24 17:49:29 -07:00
2026-08-17 19:06:53 +00:00
2026-09-03 23:20:54 +00:00
2026-09-03 06:02:25 +00:00
2026-08-17 04:01:37 +00:00
2026-08-18 18:41:40 +00:00
2026-08-31 22:38:23 +00:00
2026-09-02 02:09:35 +00:00
2026-08-31 22:38:23 +00:00
2026-06-01 18:45:07 +00:00
2026-09-01 07:32:54 +00:00
2026-07-23 19:32:26 +00:00
2026-08-25 17:41:22 +00:00
2026-08-03 09:46:38 +00:00
2026-07-23 19:19:35 +00:00
2026-09-02 23:58:24 +00:00
2026-09-02 23:58:24 +00:00
2026-08-31 23:29:20 +00:00
2026-08-31 23:29:20 +00:00
2026-06-16 14:34:54 +02:00
2026-08-23 20:08:40 +00:00
2026-08-24 10:56:54 +00:00
2026-08-26 22:37:59 +00:00
2026-08-19 12:56:08 +00:00
2026-08-25 14:34:25 +00:00
2026-08-20 06:03:25 +00:00
2026-08-20 06:03:25 +00:00
2026-08-27 00:07:26 +00:00
2026-08-13 11:11:26 +00:00
2026-05-04 11:46:03 -07:00
2026-08-27 20:01:39 +00:00
2026-09-02 18:52:44 +00:00
2026-08-04 15:23:43 +00:00
2026-09-03 23:20:54 +00:00
2026-09-03 23:20:54 +00:00
2026-08-11 19:30:12 +00:00
2026-08-11 19:30:12 +00:00
2026-07-22 02:19:45 +00:00
2026-07-22 02:19:45 +00:00
2026-09-03 00:17:19 +00:00
2026-09-03 00:17:19 +00:00
2026-09-02 02:09:35 +00:00
2026-09-02 18:52:44 +00:00
2026-04-20 22:39:17 -07:00
2026-08-25 17:41:22 +00:00
2026-05-14 16:54:59 -07:00
2026-07-20 13:45:29 +00:00
2026-07-20 13:45:29 +00:00
2026-05-28 15:26:55 -07:00
2026-05-28 15:26:55 -07:00
2026-07-21 21:06:04 +00:00
2026-09-02 20:30:45 +00:00
2026-08-20 06:29:32 +00:00