hikmettan and Claude Fable 5.1
7fa71f1a4e
feat(ai): Z.ai GLM birincil sağlayıcı; OpenRouter yalnız yedek
...
Quality gates / test-build (push) Canceled after 0s
Quality gates / container (push) Canceled after 0s
OpenRouter anahtarı iptal olup bakiye eksiye düşünce şartname analizi,
TED çevirisi ve site taraması durmuştu. Artık ZAI_API_KEY ile GLM 5.3 ve
GLM 5.3 Flash doğrudan Z.ai Coding Plan üzerinden çağrılır; kalan modeller
OpenRouter anahtarı varsa yedek olarak denenir.
- server/zai.mjs: doğrudan istemci; glm-5.x için reasoning_effort:low,
glm-4.x için thinking kapalı; süreç genelinde en fazla 2 eşzamanlı istek
(kullanıcı istekleri arka plan çevirisinden öncelikli); geçici 429'da
aynı modelle yeniden deneme, 1113 bakiye hatasında hemen sıradaki model.
- ai.mjs: 'zai' (GLM 5.3) sağlayıcısı eklendi, Z.ai yolu yeni istemciyi
kullanıyor; varsayılan sıra zai → glmflash → gemini → …
- ted-ceviri.mjs: önce ZAI_TRANSLATE_MODELS (glm-5.3-flash, glm-5.3),
sonra OpenRouter; 2'li eşzamanlı parça işleme.
- Admin model kataloğuna GLM 5.3 eklendi, kayıtlı zincirler sürüm 4'e taşınır.
- tests/zai.test.mjs: düşünme ayarı, 429/1113 davranışı, eşzamanlılık,
analyzeSpec ve TED çevirisinin Z.ai'ye gittiği.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-10 23:11:41 +03:00
hikmettan
4eb90615e8
yenilemede ihale detay onbelleğini tazele
Quality gates / test-build (push) Canceled after 0s
Quality gates / container (push) Canceled after 0s
2026-09-06 21:23:45 +03:00
hikmettan
cdf6e988e4
refresh EKAP document counts from detail
2026-09-06 19:46:56 +03:00
hikmettan
9fd1db3c8a
prefer official EKAP detail deadline
2026-09-06 19:44:29 +03:00
hikmettan
74e784e2f7
use canonical province map for direct tenders
2026-09-06 19:36:00 +03:00
hikmettan
285dd6fb9f
support tender deadline label variants
2026-09-06 19:27:23 +03:00
hikmettan
bd5c122522
normalize tender result status in dedupe
2026-09-06 19:25:08 +03:00
hikmettan
171392585c
classify document source outages
2026-09-06 18:55:43 +03:00
hikmettan
11685867e2
add persistent readiness health check
2026-09-06 18:37:11 +03:00
hikmettan
404bfc4972
restrict browser permissions on API responses
2026-09-06 18:25:05 +03:00
hikmettan
bdde4534f6
vary CORS responses by origin
2026-09-06 18:18:19 +03:00
hikmettan
089f5c36f0
allow configuring CORS origins
2026-09-06 18:16:27 +03:00
hikmettan
6e78485228
skip malformed tender rows during deduplication
2026-09-06 18:09:06 +03:00
hikmettan
6b3b446e49
normalize health portfolio identifiers
2026-09-06 18:07:55 +03:00
hikmettan
231c372411
validate health portfolio profile writes
2026-09-06 18:07:10 +03:00
hikmettan
64919270d8
validate Telegram bot token in production
2026-09-06 18:03:39 +03:00
hikmettan
348e32377c
validate email delivery inputs
2026-09-06 18:01:13 +03:00
hikmettan
1d6bb71478
support CORS preflight requests
2026-09-06 17:59:28 +03:00
hikmettan
f1b283b3d9
verify Stripe cancellation was scheduled
2026-09-06 17:58:14 +03:00
hikmettan
a5cfc93424
default unknown Stripe plans to free
2026-09-06 17:56:48 +03:00
hikmettan
8f62f2f0cf
restrict Stripe webhook plan ids
2026-09-06 17:56:07 +03:00
hikmettan
182f6dc05c
harden Stripe checkout webhook fields
2026-09-06 17:55:24 +03:00
hikmettan
d6040379c2
add API response security headers
2026-09-06 17:53:33 +03:00
hikmettan
2cac68e6ba
require expiration on auth tokens
2026-09-06 17:52:34 +03:00
hikmettan
efe10a9fc4
require boolean Stripe cancellation state
2026-09-06 17:51:46 +03:00
hikmettan
4c9354362a
validate Stripe period end timestamps
2026-09-06 17:51:05 +03:00
hikmettan
4edbdc94e5
protect email configuration endpoint
2026-09-06 17:50:18 +03:00
hikmettan
5bffc66fc6
validate Stripe cancellation timestamp
2026-09-06 17:49:09 +03:00
hikmettan
fc45d8e934
validate Stripe cancellation responses
2026-09-06 17:48:13 +03:00
hikmettan
cd06cafddf
validate Stripe checkout responses
2026-09-06 17:47:26 +03:00
hikmettan
d7c1680f0a
enforce request limits in UTF8 bytes
2026-09-06 17:46:25 +03:00
hikmettan
fbe74b0919
fix subscription cancellation body parsing
2026-09-06 17:45:38 +03:00
hikmettan
84ce2b8155
validate Stripe webhook event shape
2026-09-06 17:44:43 +03:00
hikmettan
b737795eef
validate email test payloads
2026-09-06 17:43:49 +03:00
hikmettan
ac5fda9050
return validation errors for notification reads
2026-09-06 17:43:01 +03:00
hikmettan
9cd3476670
validate brief manifests before enqueue
2026-09-06 17:40:53 +03:00
hikmettan
846431ca17
surface malformed seen tender history
2026-09-06 17:40:12 +03:00
hikmettan
78d6cb7de2
validate completed AI results
2026-09-06 17:39:25 +03:00
hikmettan
c6dfd26387
validate weekly brief message fields
2026-09-06 17:38:43 +03:00
hikmettan
b9a71a83dc
validate weekly brief manifests
2026-09-06 17:38:04 +03:00
hikmettan
9e90d04ef5
validate persisted AI job JSON
2026-09-06 17:37:16 +03:00
hikmettan
d02b6f0f3c
validate Google identity claims
2026-09-06 17:36:19 +03:00
hikmettan
887cd5872f
separate public client id from auth secret
2026-09-06 17:35:40 +03:00
hikmettan
ed1f061019
validate legacy notification filters
2026-09-06 17:34:57 +03:00
hikmettan
d9b6e11582
fail closed on missing auth secret
2026-09-06 17:34:13 +03:00
hikmettan
410bd2de1f
require auth secret in production
2026-09-06 17:33:35 +03:00
hikmettan
7bda9cf3f6
surface malformed subscription filters
2026-09-06 17:32:37 +03:00
hikmettan
89b9a85227
validate notification payload JSON
2026-09-06 17:31:52 +03:00
hikmettan
7f9de80de9
validate notification history arrays
2026-09-06 17:31:07 +03:00
hikmettan
3e73849480
harden raw request body parsing
2026-09-06 17:29:29 +03:00