| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | import { generateNewNode } from '../utils'import {  NODE_WIDTH_X_OFFSET,  START_INITIAL_POSITION,} from '../constants'import { useIsChatMode } from './use-workflow'import { useNodesInitialData } from './use-nodes-data'export const useWorkflowTemplate = () => {  const isChatMode = useIsChatMode()  const nodesInitialData = useNodesInitialData()  const startNode = generateNewNode({    data: nodesInitialData.start,    position: START_INITIAL_POSITION,  })  if (isChatMode) {    const llmNode = generateNewNode({      id: 'llm',      data: {        ...nodesInitialData.llm,        memory: {          window: { enabled: false, size: 10 },        },        selected: true,      },      position: {        x: START_INITIAL_POSITION.x + NODE_WIDTH_X_OFFSET,        y: START_INITIAL_POSITION.y,      },    } as any)    const answerNode = generateNewNode({      id: 'answer',      data: {        ...nodesInitialData.answer,        answer: `{{#${llmNode.id}.text#}}`,      },      position: {        x: START_INITIAL_POSITION.x + NODE_WIDTH_X_OFFSET * 2,        y: START_INITIAL_POSITION.y,      },    } as any)    const startToLlmEdge = {      id: `${startNode.id}-${llmNode.id}`,      source: startNode.id,      sourceHandle: 'source',      target: llmNode.id,      targetHandle: 'target',    }    const llmToAnswerEdge = {      id: `${llmNode.id}-${answerNode.id}`,      source: llmNode.id,      sourceHandle: 'source',      target: answerNode.id,      targetHandle: 'target',    }    return {      nodes: [startNode, llmNode, answerNode],      edges: [startToLlmEdge, llmToAnswerEdge],    }  }  else {    return {      nodes: [startNode],      edges: [],    }  }}
 |