All checks were successful
Deploy / deploy (push) Successful in 9m30s
- Tüm AI akışı OpenRouter üzerinden (openai SDK, varsayılan model deepseek/deepseek-v4-flash, OPENROUTER_MODEL ile değiştirilebilir); Anthropic/Gemini/lokal sağlayıcı seçimi ve SDK'ları kaldırıldı. - Rapor: aday havuzu dilim başına 20 (60 program, ~8k token prompt); AI şeması sabit uzunluklu üç liste (hayal 5 / dengeli 13 / garanti 6 — dağılım şema düzeyinde zorlanır), sıra + dilim + riskNotu + trendOzeti gerçek sıra geçmişinden deterministik üretilir; 184 sn → ~12 sn. - Sohbet: akış ortası zaman aşımı artık sessizce yutulmaz (kesik cevap tam cevap gibi kaydedilmiyordu, kredi iadesi çalışmıyordu); istemci hata anında durumu sunucudan senkronlar, boş balon bırakmaz. - aiHataMesaji, openai SDK'nın .name'i "Error" kalan abort/timeout hatalarını da yakalar; meraklisina şeması yeni akışla senkronlandı. - CI: OPENROUTER_API_KEY / OPENROUTER_MODEL secret'ları; eski AI secret'ları kaldırıldı. next.config serverExternalPackages sadeleşti. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
42 lines
1.3 KiB
Bash
42 lines
1.3 KiB
Bash
#!/bin/sh
|
||
# Next standalone çıktısında eksik kök node_modules linklerini tamamlar.
|
||
#
|
||
# Neden: Turbopack, serverExternalPackages'taki ESM paketleri (openai,
|
||
# resend) çalışma anında bare import ile yükler ama nft
|
||
# trace'ine yalnızca .pnpm gerçek yollarını yazar — kök symlink standalone'a
|
||
# kopyalanmaz ve import MODULE_NOT_FOUND ile düşer. (CJS external'larda —
|
||
# better-sqlite3, iyzipay — symlink trace'e giriyor, sorun yalnızca ESM'de.)
|
||
# Bu script .pnpm altındaki her paket için eksik kök girdisini symlink'ler;
|
||
# mevcut girdilere dokunmaz. Yeni bir external eklendiğinde de kendiliğinden
|
||
# kapsar, paket adı/versiyon sabitlemez.
|
||
set -eu
|
||
|
||
KOK="${1:-.next/standalone}/node_modules"
|
||
[ -d "$KOK/.pnpm" ] || { echo "standalone .pnpm yok, atlandi: $KOK"; exit 0; }
|
||
cd "$KOK"
|
||
|
||
for d in .pnpm/*/node_modules/*; do
|
||
[ -e "$d" ] || continue
|
||
base=${d##*/}
|
||
case "$base" in
|
||
.*) continue ;;
|
||
@*)
|
||
for sub in "$d"/*; do
|
||
[ -d "$sub" ] || continue
|
||
hedef="$base/${sub##*/}"
|
||
if [ ! -e "$hedef" ]; then
|
||
mkdir -p "$base"
|
||
ln -s "../$sub" "$hedef"
|
||
echo "link: $hedef"
|
||
fi
|
||
done
|
||
;;
|
||
*)
|
||
if [ ! -e "$base" ]; then
|
||
ln -s "$d" "$base"
|
||
echo "link: $base"
|
||
fi
|
||
;;
|
||
esac
|
||
done
|