KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Błędy kontraktu i strumienie (EXPERIMENTAL)
Nieznany typ parametru jest błędem kompilacji kontraktu. Metoda `stream` kompiluje się z ostrzeżeniem `KCS-LNK-0121`: transport strumieni jest eksperymentalny (D-KCS-13) i nie należy do kontraktu 1.0.
Witryna nie wykonuje kodu ani nie prowadzi walidacji SDK. Wyniki poniżej pochodzą z eksportu określonej wersji i przestają opisywać kod po jego zmianie.
Kanoniczne pliki projektu
klink "1.0"
service demo.bad {
version "1.0.0"
method add {
param a NoSuchType
returns Int64
}
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
klink "1.0"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.service demo.bad {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.version "1.0.0"Pole tożsamości lub wersji w otaczającym bloku; zachowaj jego kontekst.method add {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.param a NoSuchTypeOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.returns Int64Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.Pusta linia oddziela fragmenty źródła.
Wynik i typowy błąd
Pierwszy krok: kod 1; drugi: kod 0 z ostrzeżeniem `KCS-LNK-0121`.
Traktowanie skompilowanego kontraktu jako zgody na eksport usługi pluginu — eksport usług pluginów i produkcyjne uprawnienia `kretlink.*` są zablokowane (A17, FB-06).
Wymagania wersji i procedura lokalna
- sdk
- 1.0.0-rc.3+kret.local.3
- sdkInfoReports
- 1.0.0-rc.3
- core
- 1.0.0-test.6.11-draft.1
- os
- Windows 11 x64
- dotnet
- .NET 10 runtime
Polecenia poniżej są instrukcją do samodzielnego wykonania z właściwym lokalnym SDK. DATA/OUT muszą wskazywać nowe katalogi testowe. Nie ma przycisku uruchamiania na serwerze.
- bad-type
kret link compile bad-type.klinkKatalog: project · Oczekiwany kod wyjścia: 1 - stream-warning
kret link compile stream.klinkKatalog: project · Oczekiwany kod wyjścia: 0
Wyniki zapisane w pakiecie źródłowym
To dowód z eksportu, nie wynik bieżącego wykonania w przeglądarce.
# EXPECTED_OUTPUT — KRETLINK-I01-ContractErrorsAndStreams
# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:34Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.
# Actual output of the run. Paths replaced by placeholders.
### 1. bad-type (exit 1, PASS)
> kret link compile bad-type.klink
[stderr]
bad-type.klink(2,1): error KCS-LNK-0116: methods/add: parametr a: typ NoSuchType nie jest dozwolony w kontrakcie
### 2. stream-warning (exit 0, PASS)
> kret link compile stream.klink
{"format":"kretlink-contract/1","service":"demo.feed","version":"1.0.0","methods":[{"name":"ticks","description":"Kolejne liczby.","params":[{"name":"limit","type":"Int64"}],"returns":"Int64","stream":true,"permissions":[],"timeoutMs":5000}]}
[stderr]
stream.klink(4,5): warning KCS-LNK-0121: stream ticks: metody strumieniowe są eksperymentalne — transport strumieni nie jest zatwierdzony (D-KCS-13) i nie należy do Stable 1.0
OK: demo.feed 1.0.0, metod: 1, sha256: aac5c595e08686d24f9db470e0f2fb02c37fb1c0b5f7a0ddb3e75cee323747ad
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
# EXPECTED_OUTPUT — KRETLINK-I01-ContractErrorsAndStreamsOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:34Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.# Actual output of the run. Paths replaced by placeholders.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 1. bad-type (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret link compile bad-type.klinkOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.[stderr]Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.bad-type.klink(2,1): error KCS-LNK-0116: methods/add: parametr a: typ NoSuchType nie jest dozwolony w kontrakcieOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.### 2. stream-warning (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.> kret link compile stream.klinkOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.{"format":"kretlink-contract/1","service":"demo.feed","version":"1.0.0","methods":[{"name":"ticks","description":"Kolejne liczby.","params":[{"name":"limit","type":"Int64"}],"returns":"Int64","stream":true,"permissions":[],"timeoutMs":5000}]}Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.[stderr]Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.stream.klink(4,5): warning KCS-LNK-0121: stream ticks: metody strumieniowe są eksperymentalne — transport strumieni nie jest zatwierdzony (D-KCS-13) i nie należy do Stable 1.0Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.OK: demo.feed 1.0.0, metod: 1, sha256: aac5c595e08686d24f9db470e0f2fb02c37fb1c0b5f7a0ddb3e75cee323747adOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.Pusta linia oddziela fragmenty źródła.Pusta linia oddziela fragmenty źródła.
Diagnostyka i raporty testów
null
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
nullOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
Pochodzenie i integralność
KRET_LANGUAGE_KRETLINK.zip:KretLink/Examples/INTERMEDIATE_ContractErrorsAndStreams/example.json
02_PLAYGROUND/EXAMPLES/KRETLINK-I01-ContractErrorsAndStreams.json
SHA-256 F51E25CB66580CCFBB9D417E77172F2434585F90046337CB3370AEE872F5FC02Materiały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
KRETLINK-I01-ContractErrorsAndStreams — Błędy kontraktu i strumienie (EXPERIMENTAL)
KRETLINK-I01-ContractErrorsAndStreams — Błędy kontraktu i strumienie (EXPERIMENTAL)
🇬🇧 English version below.
| Pole | Wartość |
|---|---|
| Technologia | KretLink |
| Poziom | INTERMEDIATE |
| Klasyfikacja | VALIDATION_ONLY — Tylko walidacja (bez wykonania) |
| Playground | LOCAL_VALIDATE — lokalnie: walidacja (kret check, lokalny walidator Playground) |
| SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) |
| Wynik testu | TEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt |
Co pokazuje
Nieznany typ parametru jest błędem kompilacji kontraktu. Metoda stream kompiluje się z ostrzeżeniem KCS-LNK-0121: transport strumieni jest eksperymentalny (D-KCS-13) i nie należy do kontraktu 1.0.
Pliki
| Plik |
|---|
bad-type.klink |
stream.klink |
Jak uruchomić
Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.
kret link compile bad-type.klink— nieznany typ → błądKCS-LNK-…(oczekiwany błąd)kret link compile stream.klink— strumień → ostrzeżenieKCS-LNK-0121
Oczekiwany wynik
Pierwszy krok: kod 1; drugi: kod 0 z ostrzeżeniem KCS-LNK-0121.
Najczęstszy błąd
Traktowanie skompilowanego kontraktu jako zgody na eksport usługi pluginu — eksport usług pluginów i produkcyjne uprawnienia kretlink.* są zablokowane (A17, FB-06).
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →