mannnrachman
d433c0b295
feat(qoder): support PAT (Personal Access Token) connections end-to-end
...
Adds pt-... token auth as an alternative to OAuth device flow. A PAT can't
sign COSY requests directly, so it's exchanged for a short-lived job token
(jt-...) plus userId via openapi.qoder.sh, then used for signing.
Also fixes job-token traffic (jt-...) being rejected by api3.qoder.sh with
403 "Login expired" — the official qodercli serves jt- traffic from
api2.qoder.sh instead, so buildUrl/model-list routing now branches on it.
Quota usage and the dashboard add-key modal are updated to resolve PAT
credentials and label the field correctly, and bulk-add now validates
each key so it gets a real testStatus instead of a hardcoded "unknown".
2026-08-05 11:16:50 +07:00
..
2026-07-19 16:29:55 +07:00
2026-06-29 15:29:49 +07:00
2026-07-19 16:29:55 +07:00
2026-07-16 16:15:24 +07:00
2026-07-23 16:34:24 +07:00
2026-07-29 18:10:09 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-07-29 18:10:09 +07:00
2026-07-29 18:10:09 +07:00
2026-06-14 18:49:38 +07:00
2026-06-26 12:03:58 +07:00
2026-07-29 18:10:09 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-07-25 17:30:02 +07:00
2026-06-15 11:38:43 +07:00
2026-07-03 10:53:41 +07:00
2026-06-15 18:18:04 +07:00
2026-06-21 16:12:20 +07:00
2026-08-05 10:52:03 +07:00
2026-07-10 13:08:58 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-07-20 15:39:55 +07:00
2026-06-14 18:49:38 +07:00
2026-07-29 18:09:35 +07:00
2026-07-30 09:43:55 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-07-10 11:29:48 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-16 23:32:28 +07:00
2026-07-29 20:21:27 +07:00
2026-07-15 17:34:08 +07:00
2026-06-15 11:38:43 +07:00
2026-06-16 23:32:28 +07:00
2026-06-20 10:09:50 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-07-16 15:33:19 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 18:18:04 +07:00
2026-07-30 09:43:55 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-07-29 18:10:09 +07:00
2026-06-29 15:12:18 +07:00
2026-07-29 18:10:09 +07:00
2026-07-29 18:09:35 +07:00
2026-07-29 19:34:14 +07:00
2026-06-15 11:38:43 +07:00
2026-07-29 18:10:09 +07:00
2026-06-15 11:38:43 +07:00
2026-07-29 18:10:09 +07:00
2026-06-20 10:09:50 +07:00
2026-06-20 10:09:50 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-07-29 18:10:09 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-07-29 20:21:27 +07:00
2026-06-14 18:49:38 +07:00
2026-08-05 10:34:44 +07:00
2026-06-14 18:49:38 +07:00
2026-06-20 15:09:11 +07:00
2026-06-15 11:38:43 +07:00
2026-07-29 20:21:27 +07:00
2026-07-10 11:57:15 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-07-30 09:43:55 +07:00
2026-08-05 11:16:50 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-07-29 18:10:09 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-07-10 11:29:06 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 18:18:04 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-07-29 18:10:09 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-15 11:38:43 +07:00
2026-07-25 17:25:19 +07:00
2026-06-26 11:37:44 +07:00
2026-06-15 18:18:04 +07:00
2026-06-14 18:49:38 +07:00
2026-06-15 11:38:43 +07:00
2026-06-14 18:49:38 +07:00
2026-06-14 18:49:38 +07:00
2026-07-25 17:25:19 +07:00
2026-07-16 15:29:52 +07:00
2026-06-20 10:09:50 +07:00
2026-07-03 11:03:18 +07:00
2026-06-15 11:38:43 +07:00
2026-07-29 21:05:23 +07:00