implement components

This commit is contained in:
bracesproul
2025-03-07 10:47:08 -08:00
parent 066b219107
commit 7ebcbb3a28
19 changed files with 472 additions and 37 deletions

View File

@@ -1,21 +1,14 @@
import { END, START, StateGraph } from "@langchain/langgraph";
import { OpenCodeAnnotation, OpenCodeState } from "./types";
import { OpenCodeAnnotation } from "./types";
import { planner } from "./nodes/planner";
import { interrupt } from "./nodes/interrupt";
import { executor } from "./nodes/executor";
function handleRoutingFromExecutor(state: OpenCodeState): "executor" | "interrupt" {
const lastAIMessage = state.messages.findLast((m) => m.getType() === "ai");
if (lastAIMessage)
}
function handleRoutingFromInterrupt(state: OpenCodeState): "executor" | typeof END {}
const workflow = new StateGraph(OpenCodeAnnotation)
.addNode("planner", planner)
.addNode("executor", executor)
.addNode("interrupt", interrupt)
.addEdge(START, "planner")
.addEdge("planner", "executor")
.addConditionalEdges("executor", handleRoutingFromExecutor, ["executor", "interrupt"])
.addConditionalEdges("interrupt", handleRoutingFromInterrupt, ["executor", END])
.addEdge("executor", END);
export const graph = workflow.compile();
graph.name = "Open Code Graph";