Zum Inhalt springen

Implementierungen

Implementierungen Type-safe
  1. Definiere ein Tool in der nara Webapp (Name, Parameter‑Schema, Result‑Schema, Execution‑Typ EDGE oder DESKTOP).
  2. Führe edge-connector generate aus, um sprachspezifische Stubs zu erzeugen.
  3. Implementiere die Business‑Logik in den generierten Dateien.
  4. Teste mit edge-connector test lokal.
  5. Packe und lade deine Implementierungen, sobald du zufrieden bist.

Typische Struktur:

custom-implementations (TypeScript)
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.

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.