INNER CODE UNIT · TypeScript

executeRetryUntil

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

export async function executeRetryUntil(
  body: (agent: AgentBuilder) => AgentBuilder,
  successCondition: (result: StepResult) => boolean,
  createSubAgent: () => AgentBuilder,
  opts?: { maxAttempts?: number; backoff?: number }
): Promise<StepResult[]> {
  const maxAttempts = opts?.maxAttempts || 5;
  const backoff = opts?.backoff || 1.5;
  const allResults: StepResult[] = [];
  
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
    const subAgent = body(createSubAgent());
    const attemptResults = await subAgent.run();
    allResults.push(...attemptResults);
    
    const lastResult = attemptResults[attemptResults.length - 1];
    if (successCondition(lastResult)) {
      return allResults;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…