Peter Steinberger
538605ff44
[codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives
* refactor: use fs-safe for file access helpers
* refactor: reuse fs-safe for media reads
* refactor: use fs-safe for image reads
* refactor: reuse fs-safe in qqbot media opener
* refactor: reuse fs-safe for local media checks
* refactor: consume cleaner fs-safe api
* refactor: align fs-safe json option names
* fix: preserve fs-safe migration contracts
* refactor: use fs-safe primitive subpaths
* refactor: use grouped fs-safe subpaths
* refactor: align fs-safe api usage
* refactor: adapt private state store api
* chore: refresh proof gate
* refactor: follow fs-safe json api split
* refactor: follow reduced fs-safe surface
* build: default fs-safe python helper off
* fix: preserve fs-safe plugin sdk aliases
* refactor: consolidate fs-safe usage
* refactor: unify fs-safe store usage
* refactor: trim fs-safe temp workspace usage
* refactor: hide low-level fs-safe primitives
* build: use published fs-safe package
* fix: preserve outbound recovery durability after rebase
* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
..
2026-05-03 14:38:13 +01:00
2026-04-27 14:22:32 +01:00
2026-05-03 12:20:52 +01:00
2026-04-29 22:43:09 -07:00
2026-05-05 14:18:26 -07:00
2026-05-06 08:10:17 +09:00
2026-05-06 01:46:42 +01:00
2026-05-05 09:02:04 +01:00
2026-04-28 16:48:58 -04:00
2026-05-02 19:11:04 -05:00
2026-05-05 20:07:49 +01:00
2026-05-02 17:46:10 +01:00
2026-05-03 16:43:07 +01:00
2026-04-29 10:08:34 +01:00
2026-05-02 07:34:10 +01:00
2026-04-28 07:56:08 +01:00
2026-04-28 07:56:08 +01:00
2026-04-28 07:56:08 +01:00
2026-05-01 20:30:34 +01:00
2026-05-05 19:55:36 +01:00
2026-05-02 07:22:26 +01:00
2026-05-05 07:23:41 +09:00
2026-04-27 14:29:41 +01:00
2026-04-28 02:58:06 +01:00
2026-05-05 20:47:38 +01:00
2026-05-03 14:42:56 +01:00
2026-04-27 12:52:20 +01:00
2026-04-29 00:04:17 -07:00
2026-05-04 01:10:50 -07:00
2026-04-29 14:38:56 -07:00
2026-05-03 14:42:56 +01:00
2026-04-27 11:47:09 +01:00
2026-04-27 21:02:53 +01:00
2026-04-28 16:44:10 -07:00
2026-05-01 21:55:50 +01:00
2026-04-23 18:09:20 +01:00
2026-04-27 11:34:15 +01:00
2026-04-23 18:09:20 +01:00
2026-05-01 23:43:31 +01:00
2026-04-27 20:50:35 +01:00
2026-05-03 01:30:36 +00:00
2026-05-04 11:04:17 +00:00
2026-04-27 14:20:27 +01:00
2026-04-29 15:56:08 +01:00
2026-04-29 00:36:49 +01:00
2026-05-03 01:18:31 -07:00
2026-05-02 23:47:25 -07:00
2026-04-27 00:26:02 +01:00
2026-04-27 14:52:21 +01:00
2026-05-05 19:55:36 +01:00
2026-04-28 06:18:30 +01:00
2026-05-02 07:34:10 +01:00
2026-05-02 07:34:10 +01:00
2026-05-03 12:56:52 +01:00
2026-04-25 10:02:02 +01:00
2026-04-26 23:56:14 +01:00
2026-04-29 23:24:57 +01:00
2026-04-24 01:50:42 +01:00
2026-05-03 14:38:13 +01:00
2026-04-29 11:33:24 +01:00
2026-04-28 04:24:15 +01:00
2026-04-28 04:34:21 +01:00
2026-04-29 12:33:52 +01:00
2026-04-25 23:47:00 +01:00
2026-04-23 18:41:32 +01:00
2026-04-23 16:49:53 +01:00
2026-04-23 07:25:06 +01:00
2026-05-04 03:18:34 -05:00
2026-05-03 13:51:21 +01:00
2026-05-02 05:39:21 +01:00
2026-05-03 13:20:26 +01:00
2026-05-03 18:21:11 +01:00
2026-05-02 13:27:03 +01:00
2026-04-26 23:56:14 +01:00
2026-04-27 06:29:09 +01:00
2026-04-29 17:00:48 -07:00
2026-05-01 12:24:13 +08:00
2026-04-28 08:06:03 +01:00
2026-05-02 05:22:36 +01:00
2026-04-29 09:42:48 +01:00
2026-05-04 23:41:14 +01:00
2026-05-05 19:55:36 +01:00
2026-05-05 20:47:38 +01:00
2026-05-05 05:14:09 +01:00
2026-05-03 07:34:59 +09:00
2026-05-02 05:49:45 +01:00
2026-04-30 04:49:03 +01:00
2026-05-02 16:48:33 +01:00
2026-04-27 12:35:58 +01:00
2026-05-04 06:56:35 +01:00
2026-05-02 18:29:13 +01:00
2026-05-05 02:28:22 +01:00
2026-05-03 15:15:56 +01:00
2026-05-02 18:29:13 +01:00
2026-05-06 02:15:17 +01:00
2026-05-02 17:49:54 +01:00
2026-04-23 16:49:53 +01:00
2026-04-29 15:12:09 +01:00
2026-05-04 21:15:12 -07:00
2026-04-28 19:00:22 +01:00
2026-05-04 10:09:55 +01:00
2026-05-04 10:09:55 +01:00
2026-05-02 02:59:04 +01:00
2026-05-02 23:47:25 -07:00
2026-05-02 00:23:42 +01:00
2026-04-28 14:52:03 -07:00
2026-04-26 08:14:28 +01:00
2026-05-05 21:25:02 +05:30
2026-04-24 04:24:08 +01:00
2026-04-28 23:03:57 +01:00
2026-05-05 12:09:28 -07:00
2026-05-03 14:51:56 +01:00
2026-05-03 12:56:52 +01:00
2026-04-28 08:10:35 +01:00
2026-05-04 15:11:14 -07:00
2026-05-04 15:11:14 -07:00
2026-05-05 07:23:41 +09:00
2026-05-03 19:02:58 -07:00
2026-04-29 19:55:37 +01:00
2026-05-03 23:35:04 -07:00
2026-05-02 19:41:16 -07:00
2026-05-02 18:29:13 +01:00
2026-05-04 21:15:12 -07:00
2026-05-02 17:33:15 +01:00
2026-05-01 21:06:40 +05:30
2026-05-04 11:04:17 +00:00
2026-05-04 08:36:50 +01:00
2026-05-04 23:41:14 +01:00
2026-05-03 14:38:13 +01:00
2026-05-02 19:10:44 -05:00
2026-05-05 16:05:35 -07:00
2026-05-05 07:23:41 +09:00
2026-04-25 03:32:01 -07:00
2026-04-25 03:07:27 -07:00
2026-04-28 07:56:08 +01:00
2026-05-04 21:55:08 +01:00
2026-05-03 12:20:52 +01:00
2026-05-03 12:20:52 +01:00
2026-05-03 12:20:52 +01:00
2026-04-24 19:15:12 -07:00
2026-05-01 21:32:22 +01:00
2026-05-05 20:47:38 +01:00
2026-05-03 06:40:20 +09:00
2026-05-03 17:56:07 +01:00
2026-05-03 15:15:56 +01:00
2026-04-29 03:52:22 +01:00
2026-04-27 15:43:38 -07:00
2026-04-26 22:14:36 +01:00
2026-05-02 13:27:03 +01:00
2026-04-23 14:31:18 +01:00
2026-04-29 00:36:49 +01:00
2026-04-29 20:40:42 +01:00
2026-04-27 20:52:37 -07:00
2026-05-01 21:39:03 +01:00
2026-05-02 19:37:51 +01:00
2026-05-05 07:23:41 +09:00
2026-04-27 20:52:37 -07:00
2026-04-28 01:12:54 +01:00
2026-04-27 20:52:37 -07:00
2026-05-04 11:04:17 +00:00
2026-04-28 02:58:24 +01:00
2026-04-26 23:58:13 +01:00
2026-05-05 21:47:12 +01:00
2026-05-02 07:53:12 +01:00
2026-04-29 00:51:17 -07:00
2026-05-01 08:00:03 -07:00
2026-05-01 21:32:22 +01:00
2026-04-26 08:31:00 +01:00
2026-05-05 10:30:48 +01:00
2026-05-04 02:18:11 -07:00
2026-04-26 01:38:21 -07:00
2026-05-04 23:26:25 +01:00
2026-05-02 07:53:12 +01:00
2026-04-29 03:52:22 +01:00
2026-05-03 03:00:36 -07:00
2026-05-03 02:59:49 -07:00