KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Katalogi i pliki
Czego się nauczysz
- Prześledź źródła i wyjaśnij opisany kontrakt.
- Dopasuj każdy z trzech plików src do odpowiedzialności.
Wymagania wstępne
- Podstawy, podstawy KretL i KretS; lokalne SDK do kroków wykonywanych samodzielnie.
Wyjaśnienie krok po kroku
Manifest znajduje się bezpośrednio w src; Script/Main.krs ma logikę, Tests/HelloTests.krs testy. examples/host-policy.json jest polityką testowego hosta, nie uprawnieniem pakowanym do pluginu.
Materiał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.
BUILD_INSTRUCTIONS — KretHello
BUILD_INSTRUCTIONS — KretHello
Katalog roboczy / working directory: folder tego pluginu (zawiera src/). kret = <SDK>\Compiler\kret.exe z SDK 1.0.0-rc.3+kret.local.3 (lub pinned Vendor Core rc.3+kc-base-test610). Wszystkie polecenia poniżej zostały wykonane w tej rundzie — wyniki: TEST_RESULTS.json.
| # | Krok / Step | Polecenie / Command |
|---|---|---|
| 1 | Utworzenie projektu / create | Nowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic). Nowy projekt od zera / from scratch: kret new basic <katalog> --name KretHello |
| 2 | Kod / code | src/plugin.kretl, src/Script/**.krs |
| 3 | Sprawdzenie / check | kret check src --json |
| 4 | Build | kret build src → src/Build/plugin.kbc, manifest.json |
| 5 | Testy / tests | kret test src --json --policy examples/host-policy.json |
| 5a | Uruchomienie lokalne / local run | kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke 'hello.greet=["Kret"]' |
| 6 | Paczka / pack | kret publish pack src --channel dev --include-sources -o package → package/LOCAL-KPL-HELL2KRT-1.0.0-dev.kpkg |
| 7 | Weryfikacja / verify | kret publish verify package/LOCAL-KPL-HELL2KRT-1.0.0-dev.kpkg --report package/verify-report.json |
Uwagi / notes:
--include-sourcesjest wymagane dla KPM Core: Core kompiluje plugin ze źródeł i odrzuca paczkę z samym bytecode (source_package_required, STUDIO-R02). / Required for Core KPM.- Kanał
dev: paczka niepodpisana (signature: SKIPPED, nie PASS). Brak podpisu produkcyjnego — ceremonia C1 nie odbyła się. / Unsigned dev package; no production signature exists. host-policy.jsonnigdy nie trafia do.kpkg(lista dozwolonych KretPublish). / Never packed.
COMPATIBILITY — KretHello
COMPATIBILITY — KretHello
| Składnik / Component | Wersja / Version | Stan / State |
|---|---|---|
| KretL | kretl-1.0, manifestVersion "1.0" | FROZEN_1_0 |
| Języki / languages | KretL, KretS | zob. rejestr / see registry (KRET_AI_KNOWLEDGE_BASE → LANGUAGE_REGISTRY.json) |
| Kret SDK | 1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany) | testy tej rundy / tested this round |
| Kret SDK (Core pinned) | 1.0.0-rc.3+kc-base-test610 | zgodny (to samo źródło + SFI-B01/T01) |
| KretStudio | 0.3.0-beta.2 + patch SFI (kopia testowa) | Pack/test/run przez SDK; oryginał KretStudio (lokalna instalacja / local install) 0.2.0 ma SDK rc.2 |
| Kret Engine / KretCore | 1.0.0-test.6.11-draft.1 | ELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01) |
compatibility w manifeście | core min 0.5.0 (0.5.0), api min 1.6 | ABI pluginów SDK 1.6 |
| Bytecode | KBC format 2 | — |
| System | Windows 11 x64 | Linux/macOS: NOT_RUN |
01 — KretHello
01 — KretHello
| Pole | Wartość |
|---|---|
| Identyfikator | LOCAL-KPL-HELL2KRT (lokalny, rodzina KPL) |
| Wersja | 1.0.0 |
| Technologie | KretL, KretS |
| Stan przykładu | RUNNABLE_LOCAL |
| Stan w Kret Engine (Core) | ELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01) |
| Paczka | package/LOCAL-KPL-HELL2KRT-1.0.0-dev.kpkg (dev, niepodpisana, ze źródłami) |
| Pochodzenie | Nowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic). |
Cel
Najprostszy plugin: manifest KretL, logika KretS, cykl życia, komunikat startowy i komunikat zakończenia, jedna komenda hosta i testy. Nie deklaruje żadnych uprawnień — komunikaty są zwracane jako wartości handlerów (log wymagałby logs.own.write, które w Core blokuje otwarte D-KCS-01).
Struktura
| Ścieżka | Zawartość |
|---|---|
src/ | projekt SDK w oficjalnym układzie (plugin.kretl w katalogu głównym projektu, Script/, Tests/) — osobny folder manifest/ nie istnieje, bo SDK wymaga manifestu w katalogu projektu |
tests/ | opis testów i surowe logi kroków (tests/logs/) |
docs/ | architektura (Mermaid), pochodzenie źródeł |
examples/ | polityka hosta testowego SDK (tylko lokalnie) |
package/ | .kpkg + raport weryfikacji + SHA-256 |
BUILD_INSTRUCTIONS.md, INSTALL_INSTRUCTIONS.md | pełny cykl: projekt → kod → check → build → test → pack → verify → KPM → instalacja Developer → start → aktualizacja → usunięcie |
SECURITY_PERMISSIONS.md, COMPATIBILITY.md | uprawnienia i zgodność wersji |
TEST_RESULTS.json | wyniki tej rundy (SDK; KPM w Core — jeśli wykonano) |
Szybki start
kret check src --json
kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke 'hello.greet=["Kret"]'
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
kret check src --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.kret run src --policy examples/host-policy.json --data <nowy katalog> --invoke 'hello.greet=["Kret"]'Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
Status języka nie nadaje uprawnień KCS ani prawa do Production.
SECURITY_PERMISSIONS — KretHello
SECURITY_PERMISSIONS — KretHello
Zadeklarowane uprawnienia / declared permissions (src/plugin.kretl)
// brak bloku permissions — plugin nie deklaruje żadnych uprawnień / no permissions declared
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
// brak bloku permissions — plugin nie deklaruje żadnych uprawnień / no permissions declaredKomentarz autora; nie jest wykonywany.
Zasady / rules
- Deklaracja ≠ przyznanie (KCS-PERM-3). Dostęp daje polityka hosta i KCS przy każdym wywołaniu (Security Broker). / Declaration is not a grant.
examples/host-policy.jsonto polityka hosta testowego SDK (allowProvisionalRisktylko dla testów). Nigdy nie importuj jej do Core ani do danych użytkownika. / Test-host policy only; never import into Core.- Logika działa w osobnym procesie pluginu (Job Object, token ograniczony / AppContainer). Interfejs KretUI nie nadaje uprawnień i nie przechowuje sekretów. / Logic runs in a separate restricted process.
- Status w Core / Core status: ELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01). D-KCS-01 pozostaje OPEN; uprawnienia PROVISIONAL nie są aktywowane w Production. / Not activated in Production.
- Paczka: kanał dev, niepodpisana, z źródłami; nie zawiera kluczy, haseł ani polityki hosta (kontrola sekretów KretPublish). / Dev channel, unsigned, no keys or secrets.
KretHello — architektura / architecture
KretHello — architektura / architecture
Opis tekstowy i źródło
- Host: kret run / KretStudio / Kret Engine → Security Broker (KCS przy każdym wywołaniu)
- Security Broker (KCS przy każdym wywołaniu) → Proces pluginu (Job Object, AppContainer)
- Proces pluginu (Job Object, AppContainer) → Maszyna KBC 2 + weryfikator
- src/plugin.kretl → Security Broker (KCS przy każdym wywołaniu)
flowchart LR Host["Host: kret run / KretStudio / Kret Engine"] --> Broker["Security Broker (KCS przy każdym wywołaniu)"] Broker --> Proc["Proces pluginu (Job Object, AppContainer)"] Proc --> VM["Maszyna KBC 2 + weryfikator"] L0["KretL"] L1["KretS"] Manifest["src/plugin.kretl"] --> Broker
Pochodzenie / provenance: Nowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic).
Architecture diagram
Architecture diagram
Opis tekstowy i źródło
- Host: kret run / KretStudio / Kret Engine → Security Broker (KCS przy każdym wywołaniu)
- Security Broker (KCS przy każdym wywołaniu) → Proces pluginu (Job Object, AppContainer)
- Proces pluginu (Job Object, AppContainer) → Maszyna KBC 2 + weryfikator
- src/plugin.kretl → Security Broker (KCS przy każdym wywołaniu)
flowchart LR Host["Host: kret run / KretStudio / Kret Engine"] --> Broker["Security Broker (KCS przy każdym wywołaniu)"] Broker --> Proc["Proces pluginu (Job Object, AppContainer)"] Proc --> VM["Maszyna KBC 2 + weryfikator"] L0["KretL"] L1["KretS"] Manifest["src/plugin.kretl"] --> Broker
Pochodzenie / provenance
Pochodzenie / provenance
Nowy projekt eksportu (wzorzec: szablon SDK basic). / New export project (pattern: SDK template basic).
Dokumentacja wygenerowana przez eksport KretLanguageDocumentation (2026-11-01). Wszystkie polecenia z BUILD_INSTRUCTIONS.md zostały wykonane; wyniki w TEST_RESULTS.json.
KretHello — karta przykładowego pluginu
KretHello — karta przykładowego pluginu
StatusRUNNABLE_LOCALoznacza uruchomienie lokalne przez SDK — to nie jestPRODUCTION_READY. Paczka .kpkg nie jest dostępna do publicznego pobrania.
Najprostszy plugin: manifest KretL, logika KretS, cykl życia, komunikat startowy i komunikat zakończenia, jedna komenda hosta i testy. Nie deklaruje żadnych uprawnień — komunikaty są zwracane jako wartości handlerów (log wymagałby logs.own.write, które w Core blokuje otwarte D-KCS-01).
| Pole | Wartość |
|---|---|
| Nazwa | KretHello (KretHello) |
| ID | LOCAL-KPL-HELL2KRT |
| Wersja | 1.0.0 |
| Zastosowanie / uwagi | Działa lokalnie: pełny cykl KPM (import, plan, instalacja, start, aktualizacja, usunięcie) w izolowanym profilu Developer. Brak uprawnień — nie zależy od D-KCS-01. |
| Technologie Kret | KretL, KretS |
| Wymagania | SDK 1.0.0-rc.3+kret.local.3; Kret Engine 1.0.0-test.6.11-draft.1 (profil Developer); Windows 11 x64; .NET 10 |
| Uprawnienia wymagane | brak |
| Uprawnienia opcjonalne | brak |
| Status w SDK | RUNNABLE_LOCAL |
| Status w Core | ELIGIBLE_DEV (brak uprawnień — nie zależy od D-KCS-01) |
| Kod źródłowy | src/ |
| Budowanie | BUILD_INSTRUCTIONS.md |
| Instalacja | tylko profil Developer (instrukcja wewnętrzna) |
| Zrzuty | brak |
| Testy | eksport 6/6 PASS; ponownie 2026-11-01: PASS |
| Publiczne pobieranie | .kpkg: NIEDOSTĘPNE; źródła: kandydat po zgodzie właściciela |
Architektura SDK / SDK architecture
Architektura SDK / SDK architecture
Opis tekstowy i źródło
- kret (Kret.Cli) → Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig
- kret lsp (Kret.LanguageServer, LSP 3.17) → Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig
- Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig → Kret.Compiler: KretL · KretS · KretDB · KretM · (KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib)
- Kret.Compiler: KretL · KretS · KretDB · KretM · (KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib) → Kret.Bytecode: KBC 2
- Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig → Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS
- Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS → Kret.PluginHost: maszyna Kret.Runtime w izolowanym procesie
- Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS → Kret.Db (SQLite)
- Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig → Kret.Publish: .kpkg, podpis ECDSA P-256, trust
- kretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview) → Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS
- KretStudio → kret (Kret.Cli)
- KretStudio → kret lsp (Kret.LanguageServer, LSP 3.17)
- KretStudio → kretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview)
- Kret Engine / KretCore → Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig
flowchart TB CLI["kret (Kret.Cli)"] --> SDK["Kret.Sdk: CompilerService · RuntimeHost · DebugController · ProjectConfig"] LSP["kret lsp (Kret.LanguageServer, LSP 3.17)"] --> SDK SDK --> COMP["Kret.Compiler: KretL · KretS · KretDB · KretM · (KretUI/KretFlow/KretAi/KretConfig/KretLink/KretLib)"] COMP --> BC["Kret.Bytecode: KBC 2"] SDK --> BRK["Kret.Broker (+ Kret.Broker.Service): Security Broker, KCS"] BRK --> PH["Kret.PluginHost: maszyna Kret.Runtime w izolowanym procesie"] BRK --> DB["Kret.Db (SQLite)"] SDK --> PUB["Kret.Publish: .kpkg, podpis ECDSA P-256, trust"] UIH["kretui-host (Kret.Ui, Kret.Ui.Avalonia, Kret.Ui.Preview)"] --> BRK STUDIO["KretStudio"] --> CLI STUDIO --> LSP STUDIO --> UIH CORE["Kret Engine / KretCore"] --> SDK
Jedna biblioteka, jedno narzędzie: KretStudio, LSP i CLI korzystają z tych samych klas. Kod produktu nie używa pakietów NuGet (poza Avalonia w rendererze). / One library, one tool; the product uses no NuGet packages (except Avalonia in the renderer).
CLI `kret` — referencja / reference
CLI kret — referencja / reference
| Polecenie / command | Dostępne | Opis (z sdk-info) |
|---|---|---|
kret check | tak | analiza wszystkich języków projektu; --json zwraca kret-diagnostics/1 |
kret build | tak | paczka wykonywalna w katalogu Build |
kret run | tak | uruchomienie przez osobny proces brokera; wynik: dokument JSON |
kret profile | tak | raport profilera kret-profile/1 |
kret debug | tak | adapter kret-debug/1 (JSON w wierszach): punkty wstrzymania, kroki, stos, zmienne, wyrażenia bez skutków ubocznych; tryb deweloperski — broker w procesie narzędzia; bez KretBridge i KretConfig |
kret lsp | tak | serwer języka LSP 3.17 na stdin / stdout |
kret flow | tak | run, to-krets, from-krets, blocks (katalog bloków kretflow-blocks/1) |
kret config | tak | show |
kret lib | tak | resolve, install, restore, list, pack |
kret link | tak | compile, schema, call, stream |
kret bridge | tak | generate |
kret publish | tak | pack, sign, verify, test, push, list, keygen, trust, formats — tylko lokalnie |
kret ai | tak | ask — tylko model lokalny; z rzeczywistym modelem NOT_RUN |
kret import-legacy | tak | manifest generacji 1.0 → plugin.kretl |
kret new | tak | nowy projekt z szablonu SDK; --list --json zwraca kret-templates/1 |
kret test | tak | testy KretS z katalogu Tests/ w izolowanym procesie pluginu; --list, --filter, --events, raport JSON i JUnit (kret-test/1, eksperymentalne) |
Kody wyjścia / exit codes: 0 sukces, 1 błędy, 2 złe użycie; kret run: 3 paczka odrzucona, 4 wywołanie nieudane; kret test: 3 STOPPED, 6 NO_TESTS (nie sukces).
Szczegóły poleceń: ../Sources/SDK/10_SDK__README.md, 10_SDK__KRET_TEST.md, 09_Publishing__KretPublish__README.md.
Build, testy, pakowanie, weryfikacja / build, test, package, verify
Build, testy, pakowanie, weryfikacja / build, test, package, verify
- Build:
kret build→Build/plugin.kbc(deterministyczny),manifest.json,schema.kdb.json,package.index.json. - Testy:
kret test(kret-test/1, EXPERIMENTAL) — modułyTests/, statusy PASS/FAIL/SKIP/NOT_RUN/ERROR, NO_TESTS ≠ sukces,--events, raport JSON i JUnit. Bez--policytesty nie mają uprawnień. - Pakowanie:
kret publish pack(kret-package/1, ZIP bez kompresji, powtarzalne bajty); lista dozwolona; nigdy:host-policy.json, warstwy użytkownika/polityki, dane, sekrety (*.pem *.key *.pfx *.kretkey .env), dowiązania; wykrywanie sekretów w treści przerywa pakowanie.--include-sourceswymagane przez KPM Core. - Weryfikacja:
kret publish verify— kontrole PASS/FAIL/WARN/SKIPPED; podpis w kanale dev = SKIPPED (nie PASS);NEG-PACKAGE-TAMPER(zmieniony bajt) = FAIL. - Kanały: dev (podpis opcjonalny,
LOCAL-…), beta/stable (zaufany klucz, oficjalny id). Klucz produkcyjny nie istnieje (C1). - Walidatory:
kret check(wszystkie języki),KretCore.Test.exe check(reguły hosta),Run-LanguageConformance.ps1(KretL 23/23 + sumy),Run-LanguageE2E.ps1(46/46).
KretStudio, runtime, KretCore, KPM
KretStudio, runtime, KretCore, KPM
KretStudio (kopia testowa 0.3.0-beta.2 + SFI): wykrycie SDK (KRET_SDK_HOME → dołączone → użytkownika), 9 szablonów, LSP, Build (Ctrl+Shift+B), Run (zgoda, AppContainer), Debug, Run Tests (kret test, 11 scenariuszy PASS), Pack Plugin (dev, ze źródłami), podgląd KretUI. Publish… = planned, Sign Package… = niedostępne z powodem. Testy: 80/0, 125/0/7, 55/0, 61/0/1.
Runtime: Kret.PluginHost (KBC 2 + weryfikator), Security Broker (KCS przy każdym wywołaniu), Job Object / token ograniczony / AppContainer, profile zasobów.
KretCore 1.0.0-test.6.11-draft.1: kompiluje plugin ze źródeł paczki; reguły układu hosta; D-KCS-01 OPEN (PROVISIONAL: logs.own.write, kretdb.*, sensory, KretAI, KretLink zablokowane).
KPM — sprawdzone w tej rundzie (izolowany Core Developer, osobny katalog danych, hasło testowe):
| Krok | Polecenie | Wynik |
|---|---|---|
| import | kpm import <plik.kpkg> | 8/8 LOCAL_IMPORT |
| plan | kpm plan <ID> | 8/8; blockedByKcs dla kretdb.*/logs.own.write; sensory: UNAVAILABLE_ON_HOST/PROVIDER_UNSUPPORTED |
| doctor | kpm doctor <ID> | 8/8 STAGED_INTEGRITY_VALID |
| install | kpm install <ID> (potwierdzenie + Guard plugin.manage + hasło) | KretHello, KretNotes, Dashboard: COMPLETED/INSTALLED |
| start | plugin start <ID> | KretHello: Running, AppContainer, 0 odmów; Dashboard: UI host + AppContainer; KretNotes: permission_denied/forbidden (D-KCS-01) |
| update | plugin update <ID>@1.0.1 (2 potwierdzenia) | KretHello 1.0.0 → 1.0.1, poprzednia wersja zachowana |
| remove | plugin stop <ID> → plugin remove <ID> --yes (Guard plugin.remove) | UNINSTALLED, preservedSourceAndData: true |
Dowody: archiwum KRET_DOCUMENTATION_EVIDENCE.zip → kpm/.
Komendy Kret SDK (zweryfikowane z `kret --help`, 2026-11-01)
Komendy Kret SDK (zweryfikowane z kret --help, 2026-11-01)
Kandydat SDK1.0.0-rc.3+kret.local.3— lokalny, niepodpisany, nieopublikowany.kret version:kret 1.0.0-rc.3 (KBC2, kretlink-local/1, .NET 10.0.12, win-x64).
| Temat | Składnia z CLI | Uwagi |
|---|---|---|
| Struktura projektu | — | plugin.kretl; Script/*.krs; Tests/*.krs; Disk/Schema.kdb; *.kretui/.kstyle/.ktheme; *.kflow; project.kretm/module.kretm; *.klink; *.kconfig; library.klib, project.klibs(.lock) — pola files w rejestrze języków |
| Tworzenie projektu | kret new --list | kret new <szablon> <katalog> [--name Nazwa] | szablony: basic, kretscript, core-plugin, kretdb, kretai, kretflow, library, multi-language, csharp-bridge |
| check | kret check|build <projekt> [opcje] analiza i kompilacja (wszystkie języki projektu) | --json → kret-diagnostics/1 |
| build | kret check|build <projekt> [opcje] analiza i kompilacja (wszystkie języki projektu) | kompilacja do KBC 2 |
| test | kret test <projekt> [--list] [--filter tekst] [--id test]… [--category a,b] [--policy <plik>] [--isolation …] [--timeout ms] | kret-test/1 (experimental) |
| run | kret run <projekt> --policy <plik> --data <katalog> [--profile nazwa] [--bridge usługa=program] | wymaga --policy (polityka hosta) i --data |
| pack | kret publish pack|sign|verify|test|push|list|keygen|trust|formats … | kret publish pack <projekt> --channel … [--include-sources] -o <katalog> (użycie z przykładów) |
| verify | kret publish pack|sign|verify|test|push|list|keygen|trust|formats … | kret publish verify <plik.kpkg> [--report plik] (użycie z przykładów) |
| Diagnostyka | kret check|build <projekt> [opcje] analiza i kompilacja (wszystkie języki projektu) | kret check --json (kret-diagnostics/1) |
| LSP | kret lsp | kret sdk-info [--json] | kret version | LSP 3.17 |
| Renderer KretUI | — | kretui-host <projekt> --self-test <katalog> [--input ścieżka=tekst] [--click ścieżka] (UiHost/kretui-host.exe; nie występuje w kret --help) |
| KretFlow | kret flow run|to-krets|from-krets <plik> | kret config show <projekt> [--profile nazwa] | to-krets jest oficjalną ścieżką wykonania (T-04); samodzielne flow run = SDK-D01 |
| KretDB | — | brak osobnej komendy; schemat i zapytania sprawdza kret check/build, dane w katalogu --data (run/test) |
| Runtime | kret run <projekt> --policy <plik> --data <katalog> [--profile nazwa] [--bridge usługa=program]<br>kret profile <projekt> --policy <plik> --data <katalog> [--invoke nazwa[:arg,arg]]<br>kret debug <projekt> --policy <plik> --data <katalog> [--break plik:wiersz] [--invoke nazwa=[json]] [--stop-on-entry] | Kret.PluginHost + Kret.Broker.Service (sdk-info.tools) |
| Obsługiwane formaty | kret publish pack|sign|verify|test|push|list|keygen|trust|formats … | kret publish formats; sdk-info.contracts |
| Kompatybilność wersji | kret lsp | kret sdk-info [--json] | kret version | kret version, kret sdk-info --json |
Nie dodawaj parametrów, których nie ma w kret-help.txt albo w przykładach.
Ćwiczenie i sprawdzenie wiedzy
Dopasuj każdy z trzech plików src do odpowiedzialności.
Szkic nie jest wysyłany na serwer i znika po opuszczeniu lekcji. Przed wyjściem możesz go skopiować.Podpowiedzi
- Najpierw wskaż plik, potem deklarację i jej użycie; porównaj z referencją źródłową poniżej.
Omówienie rozwiązania
Odpowiedź oprzyj na pokazanym kodzie i rozdziale źródłowym. Manifest znajduje się bezpośrednio w src; Script/Main.krs ma logikę, Tests/HelloTests.krs testy. examples/host-policy.json jest polityką testowego hosta, nie uprawnieniem pakowanym do pluginu.
Podsumowanie i następny krok
Manifest znajduje się bezpośrednio w src; Script/Main.krs ma logikę, Tests/HelloTests.krs testy. examples/host-policy.json jest polityką testowego hosta, nie uprawnieniem pakowanym do pluginu.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →