A GraphFrame is the model’s working state at one step.
export type GraphFrame = {
  frame: {
    objective: string;
    currentFocus: string;
    nextExpectedOutput: string;
    activeConstraints: string[];
    availableActions: string[];
  };
  graph: StateGraph;
};

Frame fields

  • objective: the current task or latest user input objective
  • currentFocus: what the model should attend to now
  • nextExpectedOutput: what kind of state mutation is expected
  • activeConstraints: durable constraints that should stay visible
  • availableActions: graph operations and tool affordances
  • graph: the state itself

Short-term memory

Interactive sessions keep the latest frame and append new user inputs to the same graph. That means facts from earlier turns remain visible as nodes.
Turn 1: "Hi my name is Radi."
  -> fact node: The user said their name is Radi.

Turn 2: "What's my name?"
  -> model receives the existing graph plus the new input