INNER CODE UNIT · TypeScript

executeSwitch

Kong/volcano-agent-sdk · src/patterns.ts:45

export async function executeSwitch<T>(
  selector: (history: StepResult[]) => T,
  cases: Record<string, (agent: AgentBuilder) => AgentBuilder> & { default?: (agent: AgentBuilder) => AgentBuilder },
  history: StepResult[],
  createSubAgent: () => AgentBuilder
): Promise<StepResult[]> {
  const value = selector(history);
  const key = String(value);
  const caseBuilder = cases[key] || cases.default;
  
  if (!caseBuilder) {
    throw new Error(`No matching case for value: ${key} and no default case provided`);
  }
  
  const subAgent = caseBuilder(createSubAgent());
  return await subAgent.run();
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…