Paweł Banaszewski
117e728b33
feat: restore AI Provider key checks ( #29677 )
...
Adds key validation to the AI Providers API that was present in env
variables path.
* Reject duplicate API keys on create and update, including duplicates
between new keys and retained keys.
* Enforce a maximum of five keys per provider, counting retained and new
keys on update.
* Require Bedrock access keys and secrets to be both set or both
absent/empty. Validate merged settings on update to allow partial
rotations but reject unpaired credentials and partial clears.
Extends and consolidates SDK/API tests covering these checks and
unchanged state after rejected updates.
> Generated with Coder Agents.
2026-09-23 09:24:46 +00:00
..
2026-09-19 00:32:51 +02:00
2026-09-18 21:04:59 +02:00
2026-09-22 19:02:06 +02:00
2026-09-18 15:22:02 +01:00
2026-09-18 16:47:16 +02:00
2026-09-11 01:48:56 +00:00
2026-09-22 23:20:24 +00:00
2026-08-25 17:12:51 -07:00
2026-09-02 11:29:35 +02:00
2026-09-11 01:48:56 +00:00
2026-08-21 23:46:27 -06:00
2026-09-11 01:48:56 +00:00
2026-06-26 07:24:21 -04:00
2026-06-25 15:41:09 -06:00
2026-09-17 18:14:08 +02:00
2026-09-18 12:58:06 +00:00
2026-09-22 14:00:44 -07:00
2026-09-17 14:33:37 -05:00
2026-08-21 23:46:27 -06:00
2026-09-16 14:52:21 -07:00
2026-09-22 10:49:19 -07:00
2026-09-22 21:02:42 +00:00
2026-08-26 11:57:56 -06:00
2026-08-21 23:46:27 -06:00
2026-09-14 13:47:48 -07:00
2026-09-10 14:07:03 +02:00
2026-09-17 20:28:06 +02:00
2026-09-22 23:20:24 +00:00
2026-07-30 08:37:45 +01:00
2026-09-18 15:26:47 +02:00
2026-08-10 14:43:16 -05:00
2026-09-18 15:22:02 +01:00
2026-08-11 11:04:51 -05:00
2026-09-18 11:58:49 -07:00
2026-08-25 08:12:00 -07:00
2026-09-17 18:14:08 +02:00
2026-06-23 17:32:47 -05:00
2026-09-18 12:57:21 -06:00
2026-09-17 18:14:08 +02:00
2026-09-17 19:26:18 +02:00
2026-05-21 09:19:29 -06:00
2026-09-21 17:42:31 +02:00
2026-08-25 16:40:41 +07:00
2026-06-10 02:18:44 -05:00
2026-08-26 11:57:56 -06:00
2026-06-17 00:22:41 +10:00
2026-09-07 15:24:33 +02:00
2026-08-03 15:56:56 -05:00
2026-09-19 00:32:51 +02:00
2026-09-18 10:27:26 -06:00
2026-07-07 09:18:30 -07:00
2026-07-07 09:18:30 -07:00
2026-09-22 23:25:58 +02:00
2026-09-09 10:16:24 +02:00
2026-07-06 23:00:09 +01:00
2026-09-11 16:03:44 +00:00
2026-09-11 16:03:44 +00:00
2026-07-01 20:44:15 +00:00
2026-05-27 11:58:43 +02:00
2026-09-23 09:24:46 +00:00
2026-09-23 09:24:46 +00:00
2026-05-25 18:04:12 +02:00
2026-09-14 13:47:48 -07:00
2026-08-25 17:12:51 -07:00
2026-08-25 17:12:51 -07:00
2026-05-05 02:54:03 +05:00
2026-05-28 18:37:57 +01:00
2026-08-19 19:46:23 +00:00
2026-09-11 01:48:56 +00:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-07-07 10:42:01 +00:00
2026-09-21 17:42:31 +02:00
2026-09-21 17:42:31 +02:00
2026-05-12 22:13:55 +10:00
2026-07-01 20:15:03 +01:00
2026-09-14 08:31:26 -07:00
2026-09-22 21:02:42 +00:00
2026-07-14 12:29:38 -07:00
2026-08-18 12:54:45 -07:00
2026-08-24 12:06:56 -07:00
2026-08-21 23:46:27 -06:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-08-26 11:57:56 -06:00
2026-08-26 16:17:06 +02:00
2026-09-21 17:42:31 +02:00
2026-09-21 17:42:31 +02:00
2026-09-21 15:58:18 +02:00
2026-09-21 17:42:31 +02:00
2026-08-27 10:49:13 +01:00
2026-08-24 11:20:26 +01:00
2026-08-26 13:33:13 +02:00
2026-09-21 15:58:18 +02:00
2026-09-21 20:05:43 +00:00
2026-09-21 20:05:43 +00:00
2026-05-05 02:54:03 +05:00
2026-06-22 19:26:34 -06:00
2026-07-15 12:16:25 -08:00
2026-08-19 13:00:31 -08:00
2026-06-02 10:11:49 -07:00
2026-08-18 12:54:45 -07:00
2026-06-02 08:36:01 -06:00
2026-07-06 13:15:58 +01:00
2026-07-06 13:15:58 +01:00
2026-05-05 02:54:03 +05:00
2026-09-18 15:26:47 +02:00
2026-09-18 15:26:47 +02:00
2026-08-26 19:49:43 +02:00
2026-08-26 19:49:43 +02:00
2026-08-13 18:32:47 +02:00
2026-08-26 12:27:17 -04:00
2026-09-22 11:11:08 +02:00
2026-09-22 11:11:08 +02:00
2026-08-26 15:29:26 +02:00
2026-08-26 15:29:26 +02:00
2026-05-05 02:54:03 +05:00
2026-09-16 11:36:45 -07:00
2026-08-31 09:29:27 -07:00
2026-08-26 11:57:56 -06:00
2026-09-14 18:31:48 -07:00
2026-09-14 18:31:48 -07:00
2026-08-12 13:36:52 -07:00
2026-09-22 23:20:24 +00:00
2026-09-22 23:20:24 +00:00
2026-05-05 02:54:03 +05:00
2026-09-08 17:20:53 +00:00
2026-09-17 14:33:37 -05:00
2026-08-21 10:31:01 -04:00
2026-08-21 10:31:01 -04:00
2026-05-05 02:54:03 +05:00
2026-08-31 11:36:43 -04:00
2026-06-03 10:46:07 +01:00
2026-08-31 11:36:43 -04:00
2026-08-26 13:33:13 +02:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-09-17 18:12:24 +02:00
2026-05-11 08:41:17 -06:00
2026-09-17 18:12:24 +02:00
2026-09-02 12:51:33 -04:00
2026-09-10 08:21:29 -04:00
2026-09-10 08:21:29 -04:00
2026-09-11 18:13:16 -05:00
2026-09-11 18:13:16 -05:00
2026-09-17 11:11:38 +10:00
2026-09-11 18:13:16 -05:00
2026-08-19 16:16:51 -06:00
2026-09-17 14:33:37 -05:00
2026-05-05 02:54:03 +05:00
2026-06-04 14:37:19 -04:00
2026-08-26 11:57:56 -06:00
2026-08-26 11:57:56 -06:00
2026-09-17 18:14:08 +02:00
2026-09-18 10:27:26 -06:00
2026-07-28 09:58:33 -06:00
2026-09-02 09:21:36 -07:00
2026-09-02 09:21:36 -07:00
2026-09-02 09:21:36 -07:00
2026-08-21 23:46:27 -06:00
2026-09-02 09:21:36 -07:00
2026-08-18 12:54:45 -07:00
2026-05-20 19:50:50 +02:00
2026-08-18 12:54:45 -07:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-07-01 15:59:55 +03:00
2026-07-14 13:50:25 +01:00
2026-09-02 19:31:01 +00:00
2026-08-21 23:46:27 -06:00
2026-08-26 11:57:56 -06:00
2026-09-03 13:29:17 -07:00
2026-09-02 14:06:46 -07:00
2026-07-28 13:20:59 -07:00
2026-05-05 02:54:03 +05:00
2026-09-21 11:04:12 +00:00
2026-08-21 23:46:27 -06:00
2026-08-19 16:16:51 -06:00
2026-09-21 11:53:11 +02:00
2026-05-05 02:54:03 +05:00
2026-05-18 08:33:29 -04:00
2026-05-13 14:14:07 +00:00
2026-09-19 00:32:51 +02:00
2026-08-26 11:57:56 -06:00
2026-09-21 10:50:01 +02:00
2026-09-21 21:06:06 +02:00
2026-09-21 21:06:06 +02:00