Implementierungen
Implementierungen
Type-safe
custom-implementations (TypeScript) custom-implementations (Python)
Entwicklungsablauf
Abschnitt betitelt „Entwicklungsablauf“- Definiere ein Tool in der nara Webapp (Name, Parameter‑Schema, Result‑Schema, Execution‑Typ EDGE oder DESKTOP).
- Führe
edge-connector generateaus, um sprachspezifische Stubs zu erzeugen. - Implementiere die Business‑Logik in den generierten Dateien.
- Teste mit
edge-connector testlokal. - Packe und lade deine Implementierungen, sobald du zufrieden bist.
Generierte Struktur
Abschnitt betitelt „Generierte Struktur“Typische Struktur:
custom-implementations/├─ package.json├─ tsconfig.json├─ index.ts # exportiert alle Tools└─ tools/ └─ my_tool.ts # generierter Stub für 'my_tool'Der generierte Stub enthält:
- ein stark typisiertes Eingabeobjekt, validiert gegen das Tool‑Schema,
- eine typisierte Result‑Form,
- ein Kontext‑Objekt mit User‑, Organisations‑ und Deployment‑Metadaten.
Implementiere deine Logik in den generierten Funktionen und behalte die Signaturen bei, damit CLI und Runtime sie korrekt prüfen können.
Für Python‑Implementierungen erzeugt der Generator:
custom-implementations/├─ requirements.txt├─ main.py└─ tools/ └─ my_tool.pyDie Python‑Stubs folgen demselben Vertrag wie TypeScript:
- typisiertes
args‑Objekt, - Kontext‑Objekt,
- strukturiertes Ergebnis, das dem Result‑Schema des Tools entspricht.
Kontext-Objekt
Abschnitt betitelt „Kontext-Objekt“Tool‑Implementierungen erhalten ein Kontext‑Objekt, das typischerweise enthält:
- User‑Identität (z. B.
userId) - Organisations‑ID
- Deployment‑Metadaten (Hostname, Plattform)
Nutze dies, um:
- eigene Berechtigungsprüfungen umzusetzen,
- Requests an die richtigen Downstream‑Systeme zu routen,
- Audit‑Logs in deine Observability‑Stack einzuspeisen.