from typing import TypedDict
import promptguard
promptguard.init() # reads PROMPTGUARD_API_KEY
from langchain_openai import ChatOpenAI
from langgraph.graph import END, START, StateGraph
llm = ChatOpenAI(model="gpt-5-nano")
class State(TypedDict):
question: str
answer: str
def answer(state: State) -> dict:
return {"answer": llm.invoke(state["question"]).content}
graph = StateGraph(State)
graph.add_node("answer", answer)
graph.add_edge(START, "answer")
graph.add_edge("answer", END)
app = graph.compile()
app.invoke({"question": "What is prompt injection?"})