Zum Inhalt springen

Runtime

Runtime DESKTOP & SERVER

Der Edge Connector ist ein lang laufender Node.js‑Prozess, der:

  • Konfiguration aus config.json und optional provisioning.json liest,
  • deine kompilierten Implementierungen lädt (meist custom-implementations/dist/index.js),
  • eine WebSocket‑Verbindung zum Tool‑RPC‑Server öffnet,
  • Tools ausführt, wenn die Plattform Aufrufe an dieses Deployment routet.

Die gleiche Runtime betreibt sowohl Desktop‑ als auch Server‑Connectoren; der Unterschied liegt nur darin, wie Token und Deployment‑Credentials beschafft werden.

  1. Desktop‑Modus
    • connectorType ist DESKTOP (Standard).
    • Die Runtime startet einen Browser‑Flow, um ein kurzlebiges JWT der nara‑Plattform zu erhalten.
    • Sie registriert automatisch ein Deployment und speichert dessen Credentials.
  2. Server‑Modus
    • connectorType ist SERVER.
    • Du lieferst ein langlebiges Admin‑Token und Deployment‑Credentials über Config oder Environment.
    • Ideal für Headless‑Server, Container und produktive Workloads.

Die Runtime kombiniert Defaults, provisioning.json, config.json und Environment‑Overrides.

Wichtige Felder:

  • toolRpcUrl – WebSocket‑URL des Tool‑RPC‑Servers (z. B. wss://tool-rpc.example.com)
  • authTokenPath – Pfad zur gespeicherten Auth‑Token‑Datei
  • deploymentCredentialsPath – Pfad zur Datei mit Deployment‑Credentials
  • customImplementationsPath – Pfad zum Entry‑Point der kompilierten Implementierungen
  • connectorTypeDESKTOP oder SERVER
  • platformApiUrl / desktopAuthBaseUrl – HTTP‑Basis‑URL für Desktop‑Auth und Bundle‑Updates

Environment‑Overrides (für Skripte oder Tests):

  • TOOL_RPC_URL / NEXT_PUBLIC_TOOL_RPC_URL
  • AUTH_TOKEN_PATH
  • DEPLOYMENT_CREDENTIALS_PATH
  • CUSTOM_IMPLEMENTATIONS_PATH
  • DEPLOYMENT_ID, DEPLOYMENT_SECRET
  • PLATFORM_API_URL, NEXT_PUBLIC_PLATFORM_API_URL, DESKTOP_AUTH_BASE_URL

Aktiviere EC_E2E_ENV_OVERRIDES=1, um diese Overrides strikt zu erzwingen.

  • In Nicht‑Test‑Runs aktiviert der Connector OS‑seitige Autostarts, sodass er nach einem Reboot wieder hochkommt.
  • Wenn desktopAuthBaseUrl oder platformApiUrl gesetzt ist und ein Bundle eingebettet wurde, prüft die Runtime regelmäßig:
    • ob es eine neuere Bundle‑Version für dieses Deployment gibt,
    • lädt und extrahiert diese,
    • lädt Implementierungen neu, ohne die Deployment‑Identität zu ändern.