Adam Perry @ OpenAI and GitHub
ffec7c0933
Add typed file URIs ( #26840 )
...
## Why
Codex needs stable `file:` URI identifiers that can cross process and
operating-system boundaries without eagerly interpreting them as native
paths. Existing fields also need to keep accepting absolute path strings
during migration.
## What changed
- Add `codex-utils-path-uri` with a validated, immutable `PathUri`
wrapper that currently accepts only `file:` URLs.
- Expose URI-level `basename`, `parent`, and `join` operations that
preserve authorities and percent encoding without guessing the source
operating system.
- Keep native conversion explicit through `AbsolutePathBuf` and the
current host rules.
- Serialize as canonical URI text while accepting both URI text and
legacy absolute native paths during deserialization.
- Add adversarial coverage for Windows-looking and POSIX paths, UNC
authorities, encoded metadata characters, non-UTF-8 POSIX paths, URI
hierarchy operations, and legacy serde round trips.
2026-06-08 16:33:41 -07:00
..
2026-06-08 11:39:08 +02:00
2026-05-19 17:54:41 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-08 21:29:06 +00:00
2026-05-07 15:44:17 -07:00
2026-06-08 14:47:09 -07:00
2026-06-02 13:18:59 -07:00
2026-05-25 09:41:12 -07:00
2026-06-08 13:55:15 -07:00
2026-05-28 14:54:39 -07:00
2026-06-05 22:54:57 -07:00
2026-06-01 18:45:07 +00:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-05-08 04:07:59 +00:00
2026-06-05 14:43:44 +00:00
2026-05-05 22:22:01 -07:00
2026-06-05 17:36:18 -07:00
2026-06-08 15:43:08 -07:00
2026-06-02 16:41:48 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-06-04 09:39:20 -07:00
2026-06-07 23:18:23 -07:00
2026-06-01 21:25:42 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-02 17:04:11 +02:00
2026-05-07 15:44:17 -07:00
2026-06-08 18:59:50 +00:00
2026-05-28 22:08:05 -07:00
2026-06-03 13:32:55 +02:00
2026-06-08 13:55:15 -07:00
2026-06-04 12:43:07 -07:00
2026-06-08 14:47:09 -07:00
2026-06-08 14:33:57 -07:00
2026-06-05 15:41:13 -07:00
2026-06-05 11:36:53 -07:00
2026-06-04 22:36:25 -07:00
2026-06-07 17:35:33 -07:00
2026-06-07 17:35:33 -07:00
2026-06-08 14:23:55 -07:00
2026-06-04 14:16:03 -04:00
2026-06-08 14:16:32 -04:00
2026-06-05 17:23:45 -07:00
2026-05-26 15:59:25 -07:00
2026-05-07 15:44:17 -07:00
2026-06-01 11:53:31 -07:00
2026-05-28 23:09:55 -07:00
2026-05-18 10:53:49 -07:00
2026-06-02 13:18:59 -07:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:34:36 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 17:36:18 -07:00
2026-06-08 13:55:15 -07:00
2026-06-08 13:55:15 -07:00
2026-06-04 09:53:08 -04:00
2026-06-05 17:36:18 -07:00
2026-06-05 17:36:18 -07:00
2026-06-05 17:36:18 -07:00
2026-06-01 23:23:59 +00:00
2026-06-04 09:53:08 -04:00
2026-06-08 22:29:51 +00:00
2026-05-21 16:11:59 -07:00
2026-05-25 17:26:10 -03:00
2026-06-03 13:32:55 +02:00
2026-06-08 13:55:15 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 02:31:06 +00:00
2026-06-05 02:41:06 -07:00
2026-06-05 02:41:06 -07:00
2026-06-08 14:03:37 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:38:26 -07:00
2026-05-07 15:44:17 -07:00
2026-05-28 15:11:11 +00:00
2026-06-04 13:36:24 -07:00
2026-05-07 15:44:17 -07:00
2026-05-13 21:23:19 +00:00
2026-05-07 15:44:17 -07:00
2026-06-08 13:55:15 -07:00
2026-06-04 13:36:24 -07:00
2026-06-08 23:07:56 +00:00
2026-06-08 18:59:50 +00:00
2026-05-07 15:44:17 -07:00
2026-06-08 16:33:41 -07:00
2026-05-18 21:33:05 -07:00
2026-05-06 18:10:30 +00:00
2026-06-04 16:52:10 -07:00
2026-06-08 16:33:41 -07:00
2026-06-08 16:33:41 -07:00
2026-06-08 11:39:08 +02:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00