Peter Steinberger
77d9ac30bb
refactor: reuse shared coercion helpers (#86419)
* refactor: share talk event metric extraction
* refactor: reuse shared coercion helpers
* refactor: reuse shared primitive guards
* refactor: reuse shared record guard
* refactor: reuse shared primitive helpers
* refactor: reuse shared string guards
* refactor: reuse shared non-empty string guard
* refactor: share plugin primitive coercion helpers
* refactor: reuse plugin coercion helpers
* refactor: reuse plugin coercion helpers in more plugins
* refactor: reuse channel coercion helpers
* refactor: reuse monitor coercion helpers
* refactor: reuse provider coercion helpers
* refactor: reuse core coercion helpers
* refactor: reuse runtime coercion helpers
* refactor: reuse helper coercion in codex paths
* refactor: reuse helper coercion in runtime paths
* refactor: reuse codex app-server coercion helpers
* refactor: reuse codex record helpers
* refactor: reuse migration and qa record helpers
* refactor: reuse feishu and core helper guards
* refactor: reuse browser and policy coercion helpers
* refactor: reuse memory wiki record helper
* refactor: share boolean coercion helpers
* refactor: reuse finite number coercion
* refactor: reuse trimmed string list helpers
* refactor: reuse string list normalization
* refactor: reuse remaining string list helpers
* refactor: reuse string entry normalizer
* refactor: share sorted string helpers
* refactor: share string list normalization
* test: preserve command registry browser imports
* refactor: reuse trimmed list helpers
* refactor: reuse string dedupe helpers
* refactor: reuse local dedupe helpers
* refactor: reuse more string dedupe helpers
* refactor: reuse command string dedupe helpers
* refactor: dedupe memory path lists with helper
* refactor: expose string dedupe helpers to plugins
* refactor: reuse core string dedupe helpers
* refactor: reuse shared unique value helpers
* refactor: reuse unique helpers in agent utilities
* refactor: reuse unique helpers in config plumbing
* refactor: reuse unique helpers in extensions
* refactor: reuse unique helpers in core utilities
* refactor: reuse unique helpers in qa plugins
* refactor: reuse unique helpers in memory plugins
* refactor: reuse unique helpers in channel plugins
* refactor: reuse unique helpers in core tails
* refactor: reuse unique helper in comfy workflow
* refactor: reuse unique helpers in test utilities
* refactor: expose unique value helper to plugins
* refactor: reuse unique helpers for numeric lists
* refactor: replace index dedupe filters
* refactor: reuse string entry normalization
* refactor: reuse string normalization in plugin helpers
* refactor: reuse string normalization in extension helpers
* refactor: reuse string normalization in channel parsers
* refactor: reuse string normalization in memory search
* refactor: reuse string normalization in provider parsers
* refactor: reuse string normalization in qa helpers
* refactor: reuse string normalization in infra parsers
* refactor: reuse string normalization in messaging parsers
* refactor: reuse string normalization in core parsers
* refactor: reuse string normalization in extension parsers
* refactor: reuse string normalization in remaining parsers
* refactor: reuse string normalization in final parser spots
* refactor: reuse string normalization in qa media helpers
* refactor: reuse normalization in provider and media lists
* refactor: reuse normalization for remaining set filters
* refactor: reuse normalization in policy allowlists
* refactor: reuse normalization in session and owner lists
* refactor: centralize primitive string lists
* refactor: reuse lowercase entry helpers
* refactor: reuse sorted string helpers
* refactor: reuse unique trimmed helpers
* refactor: reuse string normalization helpers
* refactor: reuse catalog string helpers
* refactor: reuse remaining string helpers
* refactor: simplify remaining list normalization
* refactor: reuse codex auth order normalization
* chore: refresh plugin sdk api baseline
* fix: make shared string sorting deterministic
* chore: refresh plugin sdk api baseline
* fix: align host env security ordering
2026-05-25 21:20:41 +01:00
..
2026-05-23 21:26:55 +01:00
2026-05-25 15:04:44 +01:00
2026-05-25 21:20:41 +01:00
2026-05-17 01:35:39 +08:00
2026-05-07 06:10:05 +01:00
2026-05-24 13:44:03 -07:00
2026-05-18 03:18:55 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 15:42:18 +01:00
2026-05-25 21:20:41 +01:00
2026-05-11 03:24:08 +01:00
2026-05-18 14:56:06 +01:00
2026-05-13 13:33:38 +01:00
2026-05-18 03:18:55 +01:00
2026-05-18 03:18:55 +01:00
2026-05-24 00:31:01 +01:00
2026-05-23 10:38:09 +01:00
2026-05-11 03:24:08 +01:00
2026-05-11 03:24:08 +01:00
2026-05-11 06:41:17 +01:00
2026-05-11 06:35:41 +01:00
2026-05-06 07:40:10 +01:00
2026-05-06 07:40:10 +01:00
2026-05-06 07:40:10 +01:00
2026-05-11 06:27:17 +01:00
2026-05-25 21:20:41 +01:00
2026-05-01 13:47:09 +01:00
2026-05-11 05:18:40 +01:00
2026-05-13 13:33:38 +01:00
2026-05-23 10:38:09 +01:00
2026-05-23 10:38:09 +01:00
2026-05-02 16:15:45 +01:00
2026-05-09 05:40:02 +01:00
2026-05-02 02:59:38 +01:00
2026-05-25 21:20:41 +01:00
2026-05-11 17:18:19 +01:00
2026-05-25 21:20:41 +01:00
2026-05-23 20:39:42 -07:00
2026-05-03 19:07:27 +01:00
2026-05-07 08:43:29 +01:00
2026-05-02 01:58:45 +01:00
2026-05-24 07:42:56 +01:00
2026-05-25 21:20:41 +01:00
2026-05-17 02:29:55 +08:00
2026-05-25 21:20:41 +01:00
2026-05-22 03:36:51 +00:00
2026-05-25 21:20:41 +01:00
2026-05-11 03:24:08 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 02:54:28 +01:00
2026-05-25 21:20:41 +01:00
2026-05-23 18:27:04 +01:00
2026-05-02 06:36:03 +01:00
2026-05-25 21:20:41 +01:00
2026-05-02 05:30:41 +01:00
2026-05-11 05:51:29 +01:00
2026-05-02 10:17:19 -07:00
2026-05-18 13:00:05 +01:00
2026-05-20 22:38:43 +01:00
2026-05-22 10:28:08 -04:00
2026-05-25 21:20:41 +01:00
2026-05-18 03:18:55 +01:00
2026-05-18 03:18:55 +01:00
2026-05-13 13:33:38 +01:00
2026-05-18 13:00:53 +01:00
2026-05-18 13:00:53 +01:00
2026-05-04 03:01:56 -07:00
2026-05-23 10:38:09 +01:00
2026-05-18 14:56:06 +01:00
2026-05-09 05:40:02 +01:00
2026-05-01 06:55:26 +01:00
2026-05-18 03:18:55 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-01 06:55:26 +01:00
2026-05-11 06:35:04 +01:00
2026-05-02 16:15:45 +01:00
2026-05-11 21:55:27 +01:00
2026-05-02 03:34:17 +01:00
2026-05-18 14:56:06 +01:00
2026-05-18 14:56:06 +01:00
2026-05-13 11:21:17 +01:00
2026-05-25 17:20:39 +01:00
2026-05-25 17:20:39 +01:00
2026-05-06 17:33:46 +01:00
2026-05-03 19:07:27 +01:00
2026-05-11 00:48:14 +01:00
2026-05-25 21:20:41 +01:00
2026-05-19 16:22:30 -07:00
2026-05-25 03:36:06 +02:00
2026-05-25 03:36:06 +02:00
2026-05-13 13:33:38 +01:00
2026-05-20 23:00:03 -07:00
2026-05-25 21:20:41 +01:00
2026-05-05 01:51:23 +01:00
2026-05-11 05:19:04 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 07:56:34 +01:00
2026-05-25 21:20:41 +01:00
2026-05-09 05:40:02 +01:00
2026-05-25 21:20:41 +01:00
2026-05-22 03:36:51 +00:00
2026-05-22 03:36:51 +00:00
2026-05-22 03:36:51 +00:00
2026-05-22 03:36:51 +00:00
2026-05-01 09:01:13 -07:00
2026-05-01 18:13:03 -07:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-20 21:12:03 -07:00
2026-05-20 21:12:03 -07:00
2026-05-08 16:59:53 +02:00
2026-05-08 16:59:53 +02:00
2026-05-17 12:02:17 +01:00
2026-05-17 12:02:17 +01:00
2026-05-06 11:41:04 +00:00
2026-05-06 11:41:04 +00:00
2026-05-21 15:14:48 +01:00
2026-05-09 07:04:04 +01:00
2026-05-09 04:11:54 +01:00
2026-05-06 11:41:04 +00:00
2026-05-22 09:46:27 +01:00
2026-05-13 13:33:38 +01:00
2026-05-11 17:18:19 +01:00
2026-05-18 14:56:06 +01:00
2026-05-11 06:33:41 +01:00
2026-05-19 15:14:15 -07:00
2026-05-22 04:12:22 +00:00
2026-05-18 14:56:06 +01:00
2026-05-11 04:45:03 +01:00
2026-05-13 06:51:28 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 21:20:41 +01:00
2026-05-22 04:12:22 +00:00
2026-05-18 00:26:44 +01:00
2026-05-13 05:52:55 +01:00
2026-05-04 07:04:22 -07:00
2026-05-11 05:50:43 +01:00
2026-05-13 13:33:38 +01:00
2026-05-11 03:24:08 +01:00
2026-05-17 00:10:29 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-11 03:24:08 +01:00
2026-05-09 03:31:42 -04:00
2026-05-09 03:31:42 -04:00
2026-05-18 15:59:28 +01:00
2026-05-18 15:59:28 +01:00
2026-05-02 07:29:15 +01:00
2026-05-23 10:38:09 +01:00
2026-05-04 21:33:46 -07:00
2026-05-09 06:06:08 -04:00
2026-05-09 06:06:08 -04:00
2026-05-01 21:32:22 +01:00
2026-05-25 21:20:41 +01:00
2026-05-13 10:26:24 +05:30
2026-05-02 05:16:10 +01:00
2026-05-02 07:27:20 -07:00
2026-05-14 21:25:22 +01:00
2026-05-22 11:12:17 +02:00
2026-05-13 07:54:50 +01:00
2026-05-06 02:15:17 +01:00
2026-05-25 03:36:06 +02:00
2026-05-25 18:30:49 +01:00
2026-05-02 16:11:05 +01:00
2026-05-02 10:17:19 -07:00
2026-05-02 17:33:15 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 02:54:28 +01:00
2026-05-24 02:54:28 +01:00
2026-05-24 13:44:03 -07:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 10:39:42 +01:00
2026-05-19 16:22:30 -07:00
2026-05-18 03:18:55 +01:00
2026-05-24 13:44:03 -07:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-02 07:29:15 +01:00
2026-05-11 05:09:40 +01:00
2026-05-15 13:18:55 +01:00
2026-05-17 08:56:56 +08:00
2026-05-25 21:20:41 +01:00
2026-05-02 13:19:24 +00:00
2026-05-02 13:19:24 +00:00
2026-05-07 09:07:18 +01:00
2026-05-25 21:20:41 +01:00
2026-05-22 03:36:51 +00:00
2026-05-23 10:38:09 +01:00
2026-05-10 12:37:10 +01:00
2026-05-11 06:38:26 +01:00
2026-05-11 16:58:06 +01:00
2026-05-17 02:51:20 +08:00
2026-05-09 05:40:02 +01:00
2026-05-02 06:21:08 +01:00
2026-05-23 10:38:09 +01:00
2026-05-01 21:32:22 +01:00
2026-05-24 06:03:21 +01:00
2026-05-23 10:38:09 +01:00
2026-05-10 03:21:11 -04:00
2026-05-11 06:11:59 +01:00
2026-05-10 14:23:15 +08:00
2026-05-24 07:42:56 +01:00
2026-05-25 21:20:41 +01:00
2026-05-02 07:51:17 +01:00
2026-05-25 21:20:41 +01:00
2026-05-02 10:15:25 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 21:20:41 +01:00
2026-05-23 15:08:58 +01:00
2026-05-24 07:42:56 +01:00
2026-05-23 23:34:19 +01:00
2026-05-24 07:42:56 +01:00
2026-05-18 03:18:55 +01:00
2026-05-03 19:07:27 +01:00
2026-05-16 12:09:22 +08:00
2026-05-25 21:20:41 +01:00
2026-05-24 02:26:47 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 02:26:47 +01:00
2026-05-13 07:42:52 +01:00
2026-05-06 05:03:11 +01:00
2026-05-11 06:49:57 +01:00
2026-05-25 11:03:04 +00:00
2026-05-19 09:19:09 +00:00
2026-05-19 09:19:09 +00:00
2026-05-23 10:32:59 +01:00
2026-05-23 10:32:59 +01:00
2026-05-11 03:47:40 +01:00
2026-05-02 13:44:49 +01:00
2026-05-02 03:38:48 +01:00
2026-05-02 03:38:48 +01:00
2026-05-25 21:20:41 +01:00
2026-05-06 01:46:42 +01:00
2026-05-18 14:56:06 +01:00
2026-05-22 14:15:46 +01:00
2026-05-15 23:04:15 -05:00
2026-05-25 21:20:41 +01:00
2026-05-13 11:21:17 +01:00
2026-05-07 12:49:17 -07:00
2026-05-25 03:36:06 +02:00
2026-05-25 21:20:41 +01:00
2026-05-06 02:15:17 +01:00
2026-05-13 13:33:38 +01:00
2026-05-02 09:54:54 +01:00
2026-05-02 09:54:54 +01:00
2026-05-12 08:17:14 +09:00
2026-05-02 07:04:54 +01:00
2026-05-08 13:39:18 +01:00
2026-05-13 07:48:52 +01:00
2026-05-22 19:10:10 +02:00
2026-05-23 23:34:19 +01:00
2026-05-25 10:39:42 +01:00
2026-05-25 17:20:39 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 13:44:03 -07:00
2026-05-12 06:52:40 +01:00
2026-05-07 08:43:29 +01:00
2026-05-18 03:18:55 +01:00
2026-05-22 18:29:14 +01:00
2026-05-17 04:51:59 -05:00
2026-05-25 21:20:41 +01:00
2026-05-02 08:19:40 +01:00
2026-05-17 04:51:59 -05:00
2026-05-24 13:44:03 -07:00
2026-05-22 11:21:57 +00:00
2026-05-11 20:56:22 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 06:03:21 +01:00
2026-05-23 23:53:27 +01:00
2026-05-23 21:17:55 +01:00
2026-05-25 21:20:41 +01:00
2026-05-13 07:35:56 +01:00
2026-05-25 21:20:41 +01:00
2026-05-18 14:56:06 +01:00
2026-05-18 14:56:06 +01:00
2026-05-24 07:23:32 +01:00
2026-05-17 02:05:22 +01:00
2026-05-11 06:19:24 +01:00
2026-05-25 21:20:41 +01:00
2026-05-11 17:16:25 +01:00
2026-05-09 11:26:43 +01:00
2026-05-02 10:15:25 +01:00
2026-05-10 12:37:10 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 07:23:32 +01:00
2026-05-25 21:20:41 +01:00
2026-05-11 06:08:59 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 00:55:30 +02:00
2026-05-21 18:47:09 +08:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 21:20:41 +01:00
2026-05-08 22:29:02 +01:00
2026-05-08 22:29:02 +01:00
2026-05-18 12:49:20 -07:00
2026-05-13 16:13:35 +01:00
2026-05-13 16:13:35 +01:00
2026-05-08 05:28:12 +01:00
2026-05-06 16:17:58 +01:00
2026-05-11 15:31:35 -07:00
2026-05-13 13:33:38 +01:00
2026-05-23 21:45:55 +01:00
2026-05-02 10:15:25 +01:00
2026-05-18 14:56:06 +01:00
2026-05-24 07:23:32 +01:00
2026-05-25 19:12:36 +01:00
2026-05-25 21:20:41 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 21:20:41 +01:00
2026-05-01 13:48:01 +01:00
2026-05-22 11:21:57 +00:00
2026-05-16 01:02:33 +01:00
2026-05-25 21:20:41 +01:00
2026-05-17 02:05:22 +01:00
2026-05-25 21:20:41 +01:00
2026-05-21 17:39:48 -07:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-22 01:08:48 +08:00
2026-05-17 09:52:19 +08:00
2026-05-17 09:52:19 +08:00
2026-05-03 15:15:56 +01:00
2026-05-03 15:15:56 +01:00
2026-05-07 09:07:18 +01:00
2026-05-23 10:38:09 +01:00
2026-05-11 03:24:08 +01:00
2026-05-23 10:38:09 +01:00
2026-05-18 14:56:06 +01:00
2026-05-11 05:04:44 +01:00
2026-05-15 07:28:28 +01:00
2026-05-25 21:20:41 +01:00
2026-05-25 21:20:41 +01:00
2026-05-11 13:58:14 +01:00
2026-05-11 04:56:11 +01:00
2026-05-17 02:32:57 +08:00
2026-05-06 05:03:11 +01:00
2026-05-02 23:47:25 -07:00
2026-05-11 03:24:08 +01:00
2026-05-18 20:30:51 +00:00
2026-05-11 03:24:08 +01:00
2026-05-11 13:58:14 +01:00
2026-05-11 17:18:19 +01:00
2026-05-11 03:24:08 +01:00
2026-05-23 23:53:27 +01:00
2026-05-23 23:53:27 +01:00
2026-05-18 15:59:28 +01:00
2026-05-18 15:59:28 +01:00
2026-05-23 14:17:44 -07:00
2026-05-01 06:55:26 +01:00
2026-05-07 09:07:18 +01:00
2026-05-23 23:34:19 +01:00
2026-05-25 00:55:30 +02:00
2026-05-17 08:56:56 +08:00
2026-05-25 21:20:41 +01:00
2026-05-11 05:52:40 +01:00
2026-05-01 06:55:26 +01:00
2026-05-11 04:43:53 +01:00
2026-05-08 05:56:38 +01:00
2026-05-06 02:15:17 +01:00
2026-05-02 05:01:39 +01:00
2026-05-23 21:17:55 +01:00
2026-05-21 00:49:19 -07:00
2026-05-21 00:49:19 -07:00
2026-05-14 16:50:08 +08:00
2026-05-14 16:50:08 +08:00
2026-05-02 19:58:19 +01:00
2026-05-09 05:40:02 +01:00
2026-05-11 20:35:33 +01:00
2026-05-23 10:38:09 +01:00
2026-05-24 07:23:32 +01:00
2026-05-23 10:38:09 +01:00
2026-05-22 15:14:04 -07:00
2026-05-22 15:14:04 -07:00
2026-05-02 06:21:08 +01:00
2026-05-10 15:21:43 +01:00
2026-05-21 15:14:48 +01:00
2026-05-21 15:14:48 +01:00
2026-05-25 14:18:36 +01:00
2026-05-25 21:20:41 +01:00
2026-05-22 09:46:27 +01:00
2026-05-25 09:16:37 +01:00
2026-05-19 01:31:25 +08:00
2026-05-19 00:31:02 +02:00
2026-05-18 13:00:05 +01:00
2026-05-18 13:00:05 +01:00
2026-05-25 21:20:41 +01:00
2026-05-09 04:53:25 +01:00
2026-05-02 09:29:51 +01:00
2026-05-18 14:56:06 +01:00
2026-05-08 17:21:54 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 07:23:32 +01:00
2026-05-25 21:20:41 +01:00
2026-05-24 06:47:42 +01:00
2026-05-02 09:54:54 +01:00
2026-05-11 20:35:33 +01:00
2026-05-04 07:44:34 +01:00
2026-05-22 08:49:53 +01:00
2026-05-02 09:54:54 +01:00
2026-05-25 21:20:41 +01:00
2026-05-18 14:56:06 +01:00
2026-05-11 06:58:28 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 05:26:13 +01:00
2026-05-13 07:41:24 +01:00
2026-05-13 11:38:32 +01:00
2026-05-11 04:57:21 +01:00
2026-05-12 22:55:08 +01:00
2026-05-13 13:33:38 +01:00