@akredit/acik-mcp 0.5.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -37
- package/dist/apps/acik-mcp/src/araclar.js +12 -7
- package/dist/apps/acik-mcp/src/bologna.d.ts +12 -0
- package/dist/apps/acik-mcp/src/bologna.js +498 -254
- package/dist/apps/acik-mcp/src/genel-ayristir.js +2 -2
- package/dist/apps/acik-mcp/src/http.js +2 -1
- package/dist/apps/acik-mcp/src/kaynak-dogrula.js +1 -1
- package/dist/apps/acik-mcp/src/kisisel-veri.d.ts +4 -3
- package/dist/apps/acik-mcp/src/kisisel-veri.js +5 -0
- package/dist/apps/acik-mcp/src/not-tablosu.d.ts +4 -1
- package/dist/apps/acik-mcp/src/not-tablosu.js +13 -7
- package/dist/apps/acik-mcp/src/promptlar.d.ts +28 -4
- package/dist/apps/acik-mcp/src/promptlar.js +145 -79
- package/dist/apps/acik-mcp/src/sunucu.d.ts +4 -1
- package/dist/apps/acik-mcp/src/sunucu.js +21 -9
- package/dist/apps/acik-mcp/src/temel.d.ts +8 -0
- package/dist/apps/acik-mcp/src/temel.js +32 -0
- package/dist/apps/acik-mcp/src/yardim.js +46 -12
- package/dist/packages/baglayicilar/src/bologna-proliz/ayristir.js +4 -2
- package/dist/packages/cekirdek/src/bologna/taslak.js +8 -2
- package/dist/packages/cekirdek/src/karar/katman.d.ts +2 -2
- package/dist/packages/cekirdek/src/karar/katman.js +2 -2
- package/dist/packages/cekirdek/src/turkce.d.ts +0 -2
- package/dist/packages/cekirdek/src/turkce.js +0 -4
- package/dist/packages/olcme/src/girdi.d.ts +3 -0
- package/dist/packages/olcme/src/girdi.js +55 -0
- package/dist/packages/olcme/src/index.d.ts +1 -0
- package/dist/packages/olcme/src/index.js +1 -0
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
# @akredit/acik-mcp
|
|
2
2
|
|
|
3
|
-
Yükseköğretimde kalite güvencesi ve akreditasyon işleri için herkese açık, ücretsiz MCP sunucusu. Kendi yapay zekâ aracınıza (Claude, ChatGPT, Claude Code, Cursor, VS Code) bağlanır; hazır başlangıçlar (istemler) ve
|
|
3
|
+
Yükseköğretimde kalite güvencesi ve akreditasyon işleri için herkese açık, ücretsiz MCP sunucusu. Kendi yapay zekâ aracınıza (Claude, ChatGPT, Claude Code, Cursor, VS Code) bağlanır; hazır başlangıçlar (istemler) ve yirmi iki araç verir.
|
|
4
4
|
|
|
5
|
-
İlke: süreci
|
|
5
|
+
İlke: süreci en az kullanıcı müdahalesiyle, hızlıca ama denetimli ve teyitli tamamlamak. Akredit özgür yazılımdır; halüsinasyona yer yoktur.
|
|
6
6
|
|
|
7
7
|
## İlk 2 dakika
|
|
8
8
|
|
|
9
9
|
1. Asistanınıza `https://akredit.org/mcp` adresini ekleyin (aşağıda "Bağlantı") ya da yerelde `npx -y @akredit/acik-mcp` çalıştırın.
|
|
10
10
|
2. Yeni sohbette `akredit` yazın ya da hazır başlangıçlardan `akredit` komutunu seçin. Claude'da "+" altında Akredit, Cursor ve Claude Code'da eğik çizgi (/) ile görünür. Görünmüyorsa "Akredit ile başlayalım" yazın.
|
|
11
|
-
3. Odağınızı seçin
|
|
11
|
+
3. Odağınızı numarasıyla seçin ya da ne istediğinizi doğrudan yazın (ör. "akredit ders paketimi doldur"). Asistan ara adımda soru sormaz: her alanı kendisi doldurur, denetler, geçmeyeni düzeltir ve sonunda tek özet gösterir. Değiştirmek istediğiniz alanın numarasını yazarsınız.
|
|
12
12
|
|
|
13
13
|
## Hiç bilmeyenler için
|
|
14
14
|
|
|
15
15
|
Yapay zekâyı ilk kez kullanıyorsanız bu adımları sırayla izleyin. Her adım tek iştir. Menü adları sürüme göre biraz farklı olabilir.
|
|
16
16
|
|
|
17
|
-
1. Claude'a Akredit'i ekleyin.
|
|
17
|
+
1. Claude'a Akredit'i ekleyin. Ayarlar'da Bağdaştırıcılar (Connectors) bölümünü açın. + Ekle, ardından Özel bağdaştırıcı ekle (Add custom connector) deyin. Ad: Akredit. Adres: `https://akredit.org/mcp`. Devam et, sonra Oturum açma olmadan (No sign in) ile Ekle deyin. Listede Akredit görünür.
|
|
18
18
|
2. Yeni sohbet açın ve `akredit` yazın. Ekranda hangi aracı kullanmak istediğinizi soran bir menü görürsünüz. Bologna için 1 yazın.
|
|
19
19
|
3. OBS'nize kendiniz girin. Asistan OBS adresinizi sorar ve tarayıcı aracı varsa sayfayı kenarda açar. Kullanıcı adınızı ve parolanızı yalnız OBS'nin kendi giriş ekranına, kendiniz yazın. Asistana, sohbete ya da Akredit'e asla yazmayın. Doğrulama kodu ve "Ben robot değilim" kutusu da sizindir. Girince asistana yalnız "girdim" yazın.
|
|
20
|
-
4. Kenardaki tarayıcı. Claude in Chrome eklentisi, Claude masaüstü uygulamasının tarayıcı paneli ya da ChatGPT'nin ajan modu sayfayı okuyabilir. Asistan ders
|
|
21
|
-
5.
|
|
22
|
-
6. OBS'ye yazma.
|
|
20
|
+
4. Kenardaki tarayıcı. Claude in Chrome eklentisi, Claude masaüstü uygulamasının tarayıcı paneli ya da ChatGPT'nin ajan modu sayfayı okuyabilir. Asistan "hangi ders?" diye sormaz: bütün derslerinizin Bologna sayfasını tarar, eksikleri sayar ve tek listede gösterir.
|
|
21
|
+
5. Yalnız sizin bilebileceğinizi yazın. Sayfada değerlendirme yüzdeleri ya da kullandığınız kaynaklar yoksa asistan bunları tek mesajda sorar; tahmin etmez. Kaynak önerisi isterseniz eserleri kendi web aramasıyla bulur, Akredit'in kaynak doğrulayıcısından geçirir ve yalnız katalogda bulunanı bağlantısıyla gösterir. Kalan alanları kendisi doldurur ve denetler.
|
|
22
|
+
6. OBS'ye yazma. Asistan alan alan önceki ve yeni değer özetini gösterir ve sorar: 1) OBS'ye yaz ve kaydet 2) formu doldur, Kaydet'e ben basayım 3) alan alan kopya metni ver. Tarayıcı aracı yoksa 3. yol kullanılır. Kayıttan sonra sayfa geri okunur ve yazılanla karşılaştırılır. Onaya Gönder düğmesine yalnız siz basarsınız.
|
|
23
23
|
7. Engel olursa. Tarayıcı aracı yoksa, site açılmıyorsa, CAPTCHA ya da oturum düşmesi olursa asistana ne olduğunu yazın; adım adım çözüm verir. Hiçbiri olmazsa yedek yol hep var: OBS'de ders sayfasında Ctrl+A, Ctrl+C, sohbete Ctrl+V.
|
|
24
24
|
|
|
25
|
+
Peşin onay: baştan "akredit ders paketlerimi hepsini yap ve kaydet" yazarsanız asistan ara durak yapmaz; tarar, doldurur, OBS'ye kaydeder, geri okuyup doğrular ve sonda tek rapor verir. Sayfada olmayan değerlendirme yüzdesini ve kaynağı sormaz da uydurmaz da: boş bırakıp raporda listeler. "Kaydetme" gibi olumsuz bir söz onay sayılmaz. Onaya Gönder yine sizdedir.
|
|
26
|
+
|
|
25
27
|
## Hazır başlangıçlar (istemler)
|
|
26
28
|
|
|
27
29
|
| İstem | Ne yapar |
|
|
@@ -37,20 +39,24 @@ Yapay zekâyı ilk kez kullanıyorsanız bu adımları sırayla izleyin. Her ad
|
|
|
37
39
|
|
|
38
40
|
| Araç | Ne yapar |
|
|
39
41
|
|---|---|
|
|
42
|
+
| `akredit_basla` | İlk araç: odak menüsünü, kısa kuralları ve seçilen işin adım adım akışını verir; niyetinizi yazdıysanız menüyü atlar. |
|
|
40
43
|
| `olcut_ara` | YÖKAK ya da program akreditasyonu (MÜDEK, FEDEK, SABAK, EPDAD) ölçütlerinde arar. |
|
|
41
44
|
| `olcut_getir` | Bir ölçütün resmî metnini kaynak sayfasıyla getirir. |
|
|
42
45
|
| `olgunluk_duzeyleri` | Alt ölçütün olgunluk düzeylerini ve örnek kanıtlarını getirir. |
|
|
43
46
|
| `oz_degerlendirme_iskeleti` | Öz değerlendirme raporu iskeletini çıkarır; her bölüm EKSİK işaretli gelir. |
|
|
44
|
-
| `
|
|
47
|
+
| `obs_ders_listesi` | OBS'de ders listesi açılınca tarama planını (15'erli dilimler) ve sonuç raporunun biçimini verir; "hangi ders?" diye sordurmaz. |
|
|
48
|
+
| `bologna_ayristir` | Yapıştırılan ya da tarayıcıyla okunan Bologna sayfasını çözer ve aynı yanıtta denetler. Önce Proliz, olmazsa her OBS için genel ayrıştırıcı (HTML ya da düz metin, Türkçe ya da İngilizce). Bulunan ve bulunamayan alanları ve güven düzeyini söyler. Adres çekmez. |
|
|
45
49
|
| `bologna_denetle` | Bologna ders paketini denetler; boş, zayıf ve tamam alanları numaralı verir. |
|
|
46
50
|
| `bologna_alan_rehberi` | Bir alanın doldurma kurallarını, sınırlarını, kalıplarını ve Bloom fiillerini verir. |
|
|
47
|
-
| `bologna_taslak_denetle` | Asistanın yazdığı 1-3
|
|
48
|
-
| `is_yuku_oner` | AKTS
|
|
49
|
-
| `bologna_durum` |
|
|
50
|
-
| `bologna_kopya_metni` |
|
|
51
|
+
| `bologna_taslak_denetle` | Asistanın yazdığı 1-3 taslağı biçim kurallarıyla denetler: geçti ya da eksik nedenleri. Toplamları kendisi hesaplar; içerik teyidi hocadadır. |
|
|
52
|
+
| `is_yuku_oner` | AKTS, T+U+L ve sayfadaki değerlendirme kalemlerinden iş yükü dağılımı önerir; yalnız derste olan etkinliğe satır açar. |
|
|
53
|
+
| `bologna_durum` | Hazırlanan alanların bütününe bakar: hangi zorunlu alan eksik ya da kurala uymuyor, kaç alan kaldı. |
|
|
54
|
+
| `bologna_kopya_metni` | Hazırlanan alanları OBS'ye alan alan yazılacak paket ve önceki/yeni değer özeti olarak verir. Doğrulanmamış kaynağı ve teyitsiz değerlendirme yüzdesini pakete almaz. |
|
|
55
|
+
| `bologna_toplu_ozet` | Birden çok dersin (en çok 15) yazma paketini tek özet tablosunda, tek onayla verir. |
|
|
56
|
+
| `obs_karsilastir` | Kayıttan sonra geri okunan sayfayı yazılanla karşılaştırır; ders kodu ya da dönem değişmişse dur der. |
|
|
51
57
|
| `kaynak_bicimle` | Kitap ya da makale bilgisini APA 7'ye benzer künyeye çevirir; eksik bilgiyi [EKSİK] yazar, uydurmaz. |
|
|
52
|
-
| `kaynak_dogrula` | DOI, ISBN ya da başlık ile yazarı açık kataloglarda (Crossref, Open Library, Google Books) arar. Bulursa
|
|
53
|
-
| `not_tablosu_ayristir` | Excel ya da CSV not tablosunu ÇK/PÇ hesabına hazırlar; ad
|
|
58
|
+
| `kaynak_dogrula` | DOI, ISBN ya da başlık ile yazarı açık kataloglarda (Crossref, Open Library, Google Books) arar. Bulursa katalog künyesi ve bağlantısı, bulamazsa "bulunamadı" döner; katalogda bulunmayan kaynak önerilmez, yalnız hoca beyanıyla yazılır. |
|
|
59
|
+
| `not_tablosu_ayristir` | Excel ya da CSV not tablosunu ÇK/PÇ hesabına hazırlar; yalnız not sütunlarını kabul eder (ad ya da numara sütunu görürse işlemez), öğrencilere takma ad verir, başlıklardan soru ve çıktı eşlemesini sezer. |
|
|
54
60
|
| `ck_pc_hesapla` | Ders öğrenme çıktısı ve program çıktısı sağlanma düzeyini hesaplar. |
|
|
55
61
|
| `rapor_dil_denetle` | Rapor metninde kanıtsız üstünlük, belirsiz özne gibi dil sorunlarını işaretler. |
|
|
56
62
|
| `kurulum_yardimi` | Bağlayıcı ekleme ve OBS'ye tarayıcıyla giriş için istemciye göre adım adım rehber. |
|
|
@@ -62,34 +68,32 @@ Sunucu model çağırmaz ve metin üretmez. Bologna seçeneklerini sizin asistan
|
|
|
62
68
|
|
|
63
69
|
```
|
|
64
70
|
Hoca: akredit
|
|
65
|
-
Asistan: Neye odaklanalım?
|
|
71
|
+
Asistan: Merhaba. Neye odaklanalım? Yalnız numarasını yazın.
|
|
72
|
+
1) Bologna paketi 2) Öğrenme çıktısı 3) ÇK/PÇ 4) Ölçüt rehberi 5) Dil denetimi 6) Başka bir şey
|
|
66
73
|
Hoca: 1
|
|
67
74
|
Asistan: Önce bir kural: kullanıcı adınızı ve parolanızı yalnız OBS'nin kendi ekranına, kendiniz yazın.
|
|
68
|
-
Bana asla yazmayın. OBS
|
|
75
|
+
Bana asla yazmayın. OBS'nizin adresini yazın.
|
|
69
76
|
Hoca: obs.kurgu.edu.tr
|
|
70
77
|
Asistan: OBS giriş ekranını kenarda açtım. Bilgilerinizi oraya yazın, bitince bana yalnız "girdim" yazın.
|
|
71
78
|
Hoca: girdim
|
|
72
|
-
Asistan:
|
|
79
|
+
Asistan: 2 dersiniz var. Hepsini tarıyorum; eksikleri ve önerilerimi birazdan tek listede göstereceğim.
|
|
80
|
+
Asistan: Şu eksiklikleri tespit ettim, önerilerim şunlar.
|
|
81
|
+
KRG204 Kurgu Ölçme Yöntemleri: 6 alan eksik ya da zayıf (amaç boş, 3 hafta var)
|
|
82
|
+
KRG305 Kurgu Veri Çözümlemesi: eksik görünmüyor
|
|
83
|
+
İki bilgiyi yalnız siz bilebilirsiniz (KRG204):
|
|
84
|
+
1) Değerlendirme yöntemleri ve yüzdeleri: yazın (ör. Vize 40, Final 60)
|
|
85
|
+
2) Kaynaklar: a) katalogdan doğrulayıp önereyim b) şunları kullanıyorum: yazın
|
|
86
|
+
Sonra: 1) Eksikleri en çok olandan başlayarak kapatalım (önerilen) 2) Yalnız en eksik dersi ...
|
|
87
|
+
Hoca: vize 40 final 60, kaynak a, 1
|
|
88
|
+
Asistan: KRG204 için değişiklik özeti (öneri yazanlar benim önerimdir, içeriği siz teyit edersiniz):
|
|
89
|
+
1) Amaç: (boş) -> "Bu ders, kurgu ölçme kavramlarını ..." (öneri)
|
|
90
|
+
2) Değerlendirme: Ara Sınav %40, Yarıyıl Sonu Sınavı %60 (hoca)
|
|
91
|
+
3) Kaynaklar: Deneme, C. (2019). Kurgu istatistiği. Kurgu Akademi. (katalogda bulundu) ...
|
|
92
|
+
1) OBS'ye yaz ve kaydet 2) Formu doldur, Kaydet'e ben basayım 3) Kopya metni ver
|
|
93
|
+
Değiştirmek istediğiniz alan varsa numarasını yazın.
|
|
73
94
|
Hoca: 1
|
|
74
|
-
Asistan:
|
|
75
|
-
|
|
76
|
-
1) Alan alan seçenek göstereyim 2) Yalnız boşlar 3) Kendim seçeyim 4) Hepsini akıllıca doldur (önerilen)
|
|
77
|
-
Hoca: 4
|
|
78
|
-
Asistan: Şu alanları şöyle doldurdum, hepsi denetimden geçti:
|
|
79
|
-
1) Amaç: "Bu ders, kurgu ölçme kavramlarını ..." (66 kelime)
|
|
80
|
-
2) İçerik: ... 3) Çıktılar: 8 çıktı ... 9) Kaynaklar: 2 eser, ikisi de katalogda doğrulandı:
|
|
81
|
-
Deneme, C. (2019). Kurgu istatistiği. Kurgu Akademi. https://books.google.com/books?id=...
|
|
82
|
-
Değiştirmek istediğiniz alanın numarasını yazın; yoksa devam diyebilirsiniz.
|
|
83
|
-
Bunları daha sonra da kolayca güncelleyebilirsiniz.
|
|
84
|
-
Hoca: devam
|
|
85
|
-
Asistan: OBS'ye nasıl yazalım? 1) Formu ben doldurayım, Kaydet'e siz basın
|
|
86
|
-
2) Formu ben doldurup kaydedeyim (her sekmeden önce evet isterim) 3) Alan alan kopyalayın
|
|
87
|
-
4) Hepsini akıllıca doldur ve kaydet (önerilen)
|
|
88
|
-
Hoca: 4
|
|
89
|
-
Asistan: Bütün sekmeleri doldurup kaydetmem için izin veriyor musunuz? hepsini kaydet / hayır
|
|
90
|
-
Hoca: hepsini kaydet
|
|
91
|
-
Asistan: Üç sekmeyi doldurdum ve kaydettim. Dersi Verenler satırına dokunmadım.
|
|
92
|
-
Asistan: Sayfayı yeniden okudum ve denetledim: Tamamlandı.
|
|
95
|
+
Asistan: Kaydedildi ve geri okunarak doğrulandı; içerik teyidi sizde. Dersi Verenler satırına dokunmadım.
|
|
96
|
+
Onaya Gönder düğmesine siz basarsınız.
|
|
93
97
|
```
|
|
94
98
|
|
|
95
99
|
## Salt okuma ve güvenlik
|
|
@@ -118,7 +122,7 @@ https://akredit.org/mcp
|
|
|
118
122
|
|
|
119
123
|
### Claude (claude.ai)
|
|
120
124
|
|
|
121
|
-
|
|
125
|
+
Ayarlar > Bağdaştırıcılar (Connectors) > + Ekle > Özel bağdaştırıcı ekle (Add custom connector). Adres olarak `https://akredit.org/mcp` yazın ve Oturum açma olmadan (No sign in) seçeneğiyle ekleyin.
|
|
122
126
|
|
|
123
127
|
### Claude Code
|
|
124
128
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// Öz değerlendirme iskeleti metin yazmaz: her bölüm EKSİK işaretiyle ve gereken kanıt türleriyle döner (ilke 1).
|
|
5
5
|
import { dilDenetle } from "../../../packages/cekirdek/src/index.js";
|
|
6
6
|
import { belgeAdi, DOGRULANMADI, EPDAD_DERECELENDIRME_ANAHTARI, olcutEkleri, ozguBagi, ozguBolumListesi, PROGRAM_BELGELERI, PROGRAM_CERCEVELERI, tumOlcutler, YOKAK_KIDR_3_2_1, YOKAK_KURUMSAL_3_3, } from "../../../packages/cerceveler/src/index.js";
|
|
7
|
-
import { dersiOlc, HESAP_SURUMU } from "../../../packages/olcme/src/index.js";
|
|
7
|
+
import { dersiOlc, HESAP_SURUMU, olcmeGirdiSorunlari } from "../../../packages/olcme/src/index.js";
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
import { BOLOGNA_ARACLARI, bolognaDenetleAraci } from "./bologna.js";
|
|
10
10
|
import { kaynakBicimleAraci } from "./kaynak.js";
|
|
@@ -92,7 +92,7 @@ const olcutAra = arac({
|
|
|
92
92
|
ad: "olcut_ara",
|
|
93
93
|
baslik: "Ölçüt ara (YÖKAK ve program akreditasyonu)",
|
|
94
94
|
aciklama: "YÖKAK ya da program akreditasyonu (MÜDEK, FEDEK, SABAK, EPDAD) ölçütlerinde sözcük ya da kodla arar. Metinler resmî belgeden alınır; alınamayan metin DOĞRULANMADI döner.",
|
|
95
|
-
sonrakiAdim: "Hocaya en uygun 2
|
|
95
|
+
sonrakiAdim: "Hocaya hangi ölçütü getireceğinizi sormayın: en uygun 1-2 sonuç için hemen olcut_getir'i (YÖKAK alt ölçütüyse olgunluk_duzeyleri'ni de) çağırıp yanıtı tek seferde hazırlayın. Diğer adayları sonda tek satırda anın.",
|
|
96
96
|
girdi: z.object({
|
|
97
97
|
sorgu: z.string().trim().min(1).max(200).describe("Aranacak ifade ya da kod, ör. 'paydaş katılımı' ya da 'B.3'"),
|
|
98
98
|
cerceve: cerceveGirdisi,
|
|
@@ -173,7 +173,7 @@ const olcutGetir = arac({
|
|
|
173
173
|
ad: "olcut_getir",
|
|
174
174
|
baslik: "Ölçütü getir (YÖKAK ve program akreditasyonu)",
|
|
175
175
|
aciklama: "Bir ölçütün resmî metnini kaynak belge, sayfa ve dosya özetiyle getirir; üst ve alt ölçütler, EPDAD göstergeleri, MÜDEK ve FEDEK programa özgü bölümleri de gelir. Metin tahminle doldurulmaz.",
|
|
176
|
-
sonrakiAdim: "Alt ölçütse olgunluk_duzeyleri
|
|
176
|
+
sonrakiAdim: "Alt ölçütse sormadan olgunluk_duzeyleri'ni çağırın. Resmî metni, düzeyleri ve kanıt kontrol listesini tek mesajda gösterin; sonda kısa bir satırla başka ölçüt ya da öz değerlendirme iskeleti önerin.",
|
|
177
177
|
girdi: z.object({
|
|
178
178
|
kod: z
|
|
179
179
|
.string()
|
|
@@ -238,7 +238,7 @@ const olgunlukDuzeyleri = arac({
|
|
|
238
238
|
ad: "olgunluk_duzeyleri",
|
|
239
239
|
baslik: "Alt ölçüt olgunluk düzeyleri ve örnek kanıtlar",
|
|
240
240
|
aciklama: "Bir YÖKAK alt ölçütünün (ör. B.1.2) 1-5 olgunluk düzeyi metinlerini ve örnek kanıtlarını getirir. Düzey önermez; düzeye kurum kanıtla karar verir.",
|
|
241
|
-
sonrakiAdim: "
|
|
241
|
+
sonrakiAdim: "Kanıtları hocaya tek tek sormayın. Resmî metni, 1-5 düzeylerini ve '[ ] kanıt (durum: hocaya sorulacak)' biçiminde kopyalanabilir kontrol listesini tek mesajda gösterin. Kurumda olup olmadığını tahmin etmeyin.",
|
|
242
242
|
girdi: z.object({ kod: z.string().trim().min(1).max(20).describe("Alt ölçüt kodu, ör. 'B.1.2'") }),
|
|
243
243
|
calistir: ({ kod }) => {
|
|
244
244
|
const CERCEVE = YOKAK_KURUMSAL_3_3;
|
|
@@ -320,7 +320,7 @@ const ckPcHesapla = arac({
|
|
|
320
320
|
kisiselVeriKapsami: "tam",
|
|
321
321
|
baslik: "ÇK ve PÇ sağlanma düzeyi hesabı",
|
|
322
322
|
aciklama: "Takma adlı puan tablosundan ders öğrenme çıktısı (ÇK) başarısını ve program çıktısı (PÇ) sağlanma düzeyini hesaplar. Öğrenci adı ve numarası kabul edilmez; yalnız toplu sonuç döner.",
|
|
323
|
-
sonrakiAdim: "Sonucu tablo olarak gösterin, sayıları yalnız bu yanıttan alın. Eşiğin altında kalan çıktılar için
|
|
323
|
+
sonrakiAdim: "Sonucu tablo olarak gösterin, sayıları yalnız bu yanıttan alın. Eşiğin altında kalan çıktılar için aynı mesajda kısa iyileştirme notu taslağı verin (sayı uydurmadan); ayrıca soru sormayın.",
|
|
324
324
|
girdi: z.object({
|
|
325
325
|
dersKodu: kimlik,
|
|
326
326
|
donem: z.string().trim().min(1).max(40).describe("ör. '2025-2026 Güz'"),
|
|
@@ -384,9 +384,14 @@ const ckPcHesapla = arac({
|
|
|
384
384
|
])),
|
|
385
385
|
]))
|
|
386
386
|
: undefined;
|
|
387
|
+
const veri = { dersKodu: g.dersKodu, donem: g.donem, ciktilar: g.ciktilar, araclar: g.araclar, puanlar: g.puanlar };
|
|
388
|
+
// Bozuk girdi sessizce hesaplanmaz (tam puanı aşan puan, yinelenen satır, tanımsız araç/soru, yinelenen ÇK).
|
|
389
|
+
const sorunlar = olcmeGirdiSorunlari(veri);
|
|
390
|
+
if (sorunlar.length)
|
|
391
|
+
throw new AracHatasi(`Not tablosu tutarsız, hesap yapılmadı. Düzeltip yeniden deneyin: ${sorunlar.join(" ")}`);
|
|
387
392
|
let s;
|
|
388
393
|
try {
|
|
389
|
-
s = dersiOlc(
|
|
394
|
+
s = dersiOlc(veri, { esik: g.esik, ...(matris ? { matris } : {}) });
|
|
390
395
|
}
|
|
391
396
|
catch (e) {
|
|
392
397
|
throw new AracHatasi(e instanceof Error ? e.message : "Hesap yapılamadı. Girdiyi denetleyin.");
|
|
@@ -419,7 +424,7 @@ const raporDilDenetle = arac({
|
|
|
419
424
|
ad: "rapor_dil_denetle",
|
|
420
425
|
baslik: "Rapor dil denetimi",
|
|
421
426
|
aciklama: "Rapor metnindeki dil sorunlarını işaretler: kanıtsız üstünlük, ölçüsüz nicelik, öznesiz eylem, dönem ve tarih tutarsızlığı. Metni değiştirmez.",
|
|
422
|
-
sonrakiAdim: "
|
|
427
|
+
sonrakiAdim: "Bulguları hocaya tek tek sormayın. Hepsini kendiniz düzeltin (kanıt ya da sayı gereken yere uydurmadan [EKSİK: ...] yazın), düzeltilmiş metni yeniden rapor_dil_denetle ile denetleyin ve tek mesajda numaralı eski → yeni tablosunu ve düzeltilmiş tam metni verin.",
|
|
423
428
|
girdi: z.object({
|
|
424
429
|
metin: z.string().min(1).max(60_000),
|
|
425
430
|
donem: z
|
|
@@ -94,6 +94,7 @@ declare const TaslakAlanlari: z.ZodObject<{
|
|
|
94
94
|
oneri: "oneri";
|
|
95
95
|
hoca: "hoca";
|
|
96
96
|
}>>;
|
|
97
|
+
degerlendirmeKaniti: z.ZodOptional<z.ZodString>;
|
|
97
98
|
kaynaklar: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
98
99
|
kunye: z.ZodString;
|
|
99
100
|
dogrulama: z.ZodUnion<readonly [z.ZodLiteral<"hoca_beyani">, z.ZodObject<{
|
|
@@ -287,5 +288,16 @@ export declare function obsKarsilastir(g: {
|
|
|
287
288
|
eksikParcaSayisi: number;
|
|
288
289
|
}[];
|
|
289
290
|
};
|
|
291
|
+
/**
|
|
292
|
+
* Değerlendirme yüzdesi kod kapısı (ilke 2-3): dayanak 'sayfa' ya da 'hoca' olsa da her katkı yüzdesi verilen
|
|
293
|
+
* kanıt metninde (sayfa tablosu ya da hocanın yanıtı) ayrı bir sayı olarak geçmelidir. Model beyanına güvenilmez.
|
|
294
|
+
*/
|
|
295
|
+
export declare function degerlendirmeTeyitli(a: {
|
|
296
|
+
degerlendirme?: {
|
|
297
|
+
katki: number;
|
|
298
|
+
}[] | undefined;
|
|
299
|
+
degerlendirmeDayanagi?: string | undefined;
|
|
300
|
+
degerlendirmeKaniti?: string | undefined;
|
|
301
|
+
}): boolean;
|
|
290
302
|
export declare const BOLOGNA_ARACLARI: readonly AcikArac[];
|
|
291
303
|
export {};
|