LoreKeeper
API Referenz

Branching, State Replay & Studio API

REST-Endpunkte für multidimensionale Handlungsverzweigungen, DAG-Zustandsakkumulation und kreative Generierung.

Branching & Studio API

Die Branching- und Studio-Endpunkte ermöglichen das Erschaffen und Durchlaufen von nicht-linearen Geschichten mit interaktiven Entscheidungen und dynamisch akkumulierten Entitätszuständen (z. B. sichtbare Verletzungen, Requisiten und Stimmungswechsel entlang spezifischer Pfade).


1. Pfad-Zustandsauflösung (State Replay)

POST /api/books/:id/traversals/resolve-state

Akkumuliert alle Lore-State-Patches entlang des übergebenen Pfades von der Wurzel bis zur Ziel-Szene.

Request Body:

{
  "traversalPath": ["scene_intro", "scene_thorns_fight"],
  "targetSceneId": "scene_thorns_fight",
  "perspectiveEntityId": "entity-uuid-1"
}

Response (200 OK):

{
  "success": true,
  "bookId": "book-uuid",
  "targetSceneId": "scene_thorns_fight",
  "resolvedCount": 1,
  "profiles": {
    "entity-uuid-1": {
      "entityId": "entity-uuid-1",
      "canonicalName": "Protagonist",
      "appliedPatchesCount": 1,
      "physicalCondition": "injured",
      "activeInjuries": [
        {
          "location": "left_arm",
          "severity": "moderate",
          "bandage_visible": true,
          "limping_or_favoring": true
        }
      ],
      "activeProps": ["Holzstab als Stütze"],
      "mood": "exhausted",
      "resolvedPromptDescriptor": "white linen bandage wrapped around left arm, limping or favoring posture, holding Holzstab als Stütze"
    }
  }
}

2. Pfad-Simulation & Delta-Inspektion

POST /api/books/:id/traversals/simulate

Simuliert die Ausführung eines vollständigen Pfades und liefert für jeden Zwischenschritt den akkumulierten Zustand.


3. Entitäts-Zustandspatches

POST /api/entities/:id/states

Registriert einen neuen Delta-Patch für eine Figur an einem bestimmten Szenen- oder Abzweigungsknoten.

Request Body:

{
  "originNodeId": "scene_thorns_fight",
  "branchId": "branch_danger",
  "layerType": "physical",
  "patch": {
    "physical_condition": "injured",
    "injury": {
      "location": "left_arm",
      "severity": "moderate",
      "bandage_visible": true,
      "limping_or_favoring": true
    },
    "visual_patch": {
      "temporary_props": ["Holzstab als Stütze"],
      "mood": "exhausted"
    }
  }
}

4. Kreativ-Architekt Generierungs-Endpunkte

POST /api/architect/generate-book

Generiert ein ganzes Buchkonzept mit Kapiteln, Verzweigungen und Figuren-Roster.

Request Body:

{
  "premise": "Ein mutiger kleiner Drache, der das Fliegen erst lernen muss",
  "genre": "Kinderbuch / Fantasy",
  "targetAudience": "Kinder & Familie",
  "language": "Deutsch",
  "chapterCount": 4,
  "persistToDirectus": true
}

POST /api/architect/generate-character

Erschafft eine konsistente Figur mit Farbankern, Negativ-Regeln und 4-Kachel Turnaround Model-Sheet Prompt.

POST /api/architect/generate-branch-scene

Generiert eine dynamische Fortsetzungsszene basierend auf einer Entscheidung und liefert Pfad-spezifische Bildprompts und Zustandsdeltas.


5. DAG-Graph & Branch-Visualisierung

Ermöglicht das visuelle Nachvollziehen, wie sich ein Charakter über die einzelnen Verzweigungsknoten, Szenen und Handlungsstränge hinweg physisch und emotional verändert.

GET /api/lore-entities/:entityId/graph

Liefert das vollständige Graph-Visualisierungsobjekt mit ASCII-Tree, Mermaid-Diagramm, Knoten und Kanten.

Query-Parameter

  • bookId (optional): Buch-UUID zur Eingrenzung von Kapiteln und Szenen.
  • path (optional): Komma-separierte Szenen-IDs zur selektiven Pfad-Visualisierung.

CLI-Befehle

# Terminal ASCII-Baum ausgeben
npm run cli -- branch graph -e "Oma Ingrid"
npm run cli -- lore graph "Oma Ingrid"

# Mermaid-Syntax für Markdown generieren
npm run cli -- branch graph -e "Oma Ingrid" --mermaid

# Rohes Graph-JSON
npm run cli -- branch graph -e "Oma Ingrid" --json

MCP-Tool

  • visualize_entity_graph: Erzeugt für LLM-Agenten direkt visualisierte Mermaid-Diagramme und Terminal-Bäume für jede Entität.

On this page