schema_version: 3 provider: chain name: llm-chat version: 0.2.0 # Capability provided by this module. provides: - capability: llm.chat version: 0.2.0 # Declared inputs in verbose v3 form. Studio renders the # description in the active locale as a tooltip on each # port; the editor falls back to the English description # when no peer is configured. inputs: prompt: type: text description: en: The user-facing prompt text the model should respond to. de: Der vom Modell zu beantwortende Prompt-Text. endpoint: type: text description: en: | Chat endpoint URL matching the selected api: ollama "http://localhost:11434/api/chat", openai "https://.../v1/chat/completions" (vLLM etc.), anthropic "https://api.anthropic.com/v1/messages". de: | Chat-Endpunkt-URL passend zur gewählten api: ollama "http://localhost:11434/api/chat", openai "https://.../v1/chat/completions" (vLLM u. a.), anthropic "https://api.anthropic.com/v1/messages". api: type: text description: en: | Optional wire format: "ollama" (default), "openai" (Chat Completions — OpenAI, vLLM, compatible servers), or "anthropic" (Messages API). Empty = ollama. de: | Optionales Wire-Format: "ollama" (Default), "openai" (Chat Completions — OpenAI, vLLM, kompatible Server) oder "anthropic" (Messages API). Leer = ollama. model: type: text description: en: Model identifier as registered with the endpoint, e.g. "qwen2.5:14b" or "llama3.1:8b". de: Modell-Identifier wie beim Endpunkt registriert, z. B. "qwen2.5:14b" oder "llama3.1:8b". api_key: type: text description: en: | Optional API key. Sent as "Authorization: Bearer" for ollama/openai and as "x-api-key" for anthropic. Empty string means no auth header is sent. Never appears in outputs, logs, or audit events. de: | Optionaler API-Key. Bei ollama/openai als "Authorization: Bearer", bei anthropic als "x-api-key" gesendet. Leer = kein Auth-Header. Erscheint nie in Ausgaben, Logs oder Audit-Events. system_prompt: type: text description: en: | Optional system prompt. Empty string omits the system message and lets the model use its built-in default. de: | Optionaler System-Prompt. Leer = das Modell verwendet seinen eingebauten Default. # Outputs produced. outputs: response: type: text description: en: The assistant's plain-text reply. de: Die Klartext-Antwort des Modells. model_endpoint: type: text description: en: The endpoint the response was generated against. Used for audit correlation. de: Der Endpunkt, gegen den die Antwort erzeugt wurde — für Audit-Korrelation. model_name: type: text description: en: The model identifier as supplied to the LLM API. de: Der an die LLM-API übergebene Modell-Identifier. model_digest: type: text description: en: | SHA-256 digest of the served Ollama model, when reachable. Empty for non-Ollama endpoints (OpenAI / Anthropic do not expose a digest API). Together with model_endpoint and model_name this answers the audit question "which exact model produced this response?" de: | SHA-256-Digest des bedienten Ollama-Modells, wenn erreichbar. Leer für Nicht-Ollama-Endpunkte (OpenAI / Anthropic stellen keine Digest-API bereit). Zusammen mit model_endpoint und model_name beantwortet das die Audit-Frage "welches genaue Modell hat diese Antwort erzeugt?" # Permissions required. # # The module makes outbound HTTP to the configured endpoint. # Default declarations cover loopback (Ollama) and the common # cloud providers. Operators with different endpoints fork # module.yaml in Phase 0.5; operator-config-driven permission # overrides arrive in Phase 1+. permissions: - "net: localhost" - "net: 127.0.0.1" - "net: api.openai.com" - "net: api.anthropic.com"