div0-space commited on
Commit
dac2ec5
路
verified 路
1 Parent(s): e5ab311

Report failed chain steps in the export

Browse files
Files changed (1) hide show
  1. api-tester.html +7 -3
api-tester.html CHANGED
@@ -747,6 +747,7 @@
747
  prompts: [],
748
  responses: [],
749
  steps: laneRuns.get(laneId)?.steps || [],
 
750
  stats: aggregateLaneStats(laneRuns.get(laneId)?.steps || [])
751
  };
752
 
@@ -790,9 +791,10 @@
790
 
791
  lane.prompts.forEach((prompt, i) => {
792
  text += `[Prompt ${i+1}]: ${prompt.slice(0, 100)}${prompt.length > 100 ? '...' : ''}\n`;
793
- const step = lane.steps[i];
794
  if (!step) {
795
- text += `[Response ${i+1}]: (not run)\n\n`;
 
796
  return;
797
  }
798
  text += `[Response ${i+1}]: ${describeStep(step)}\n`;
@@ -1418,7 +1420,7 @@
1418
  statsSection.style.display = 'grid';
1419
 
1420
  let previousResponseId = null;
1421
- const laneRun = { steps: [] };
1422
  laneRuns.set(laneId, laneRun);
1423
 
1424
  for (let step = 1; step <= chainCount; step++) {
@@ -1458,6 +1460,7 @@
1458
  });
1459
 
1460
  previousResponseId = result.responseId;
 
1461
  laneRun.steps.push(result.summary);
1462
  const stats = aggregateLaneStats(laneRun.steps);
1463
  for (const key of ['ttft', 'tps', 'out', 'tools', 'total', 'cost']) {
@@ -1472,6 +1475,7 @@
1472
  } catch (error) {
1473
  document.getElementById(`${laneId}-output-${step}`).textContent = `Error: ${error.message}`;
1474
  document.getElementById(`${laneId}-dot-${step}`).className = 'status-dot error';
 
1475
  break; // Stop chain on error
1476
  }
1477
  }
 
747
  prompts: [],
748
  responses: [],
749
  steps: laneRuns.get(laneId)?.steps || [],
750
+ failures: Object.fromEntries(laneRuns.get(laneId)?.failures || []),
751
  stats: aggregateLaneStats(laneRuns.get(laneId)?.steps || [])
752
  };
753
 
 
791
 
792
  lane.prompts.forEach((prompt, i) => {
793
  text += `[Prompt ${i+1}]: ${prompt.slice(0, 100)}${prompt.length > 100 ? '...' : ''}\n`;
794
+ const step = lane.steps.find(s => s.step === i + 1);
795
  if (!step) {
796
+ const failure = lane.failures[i + 1];
797
+ text += `[Response ${i+1}]: ${failure ? `failed 路 ${failure}` : '(not run)'}\n\n`;
798
  return;
799
  }
800
  text += `[Response ${i+1}]: ${describeStep(step)}\n`;
 
1420
  statsSection.style.display = 'grid';
1421
 
1422
  let previousResponseId = null;
1423
+ const laneRun = { steps: [], failures: new Map() };
1424
  laneRuns.set(laneId, laneRun);
1425
 
1426
  for (let step = 1; step <= chainCount; step++) {
 
1460
  });
1461
 
1462
  previousResponseId = result.responseId;
1463
+ result.summary.step = step;
1464
  laneRun.steps.push(result.summary);
1465
  const stats = aggregateLaneStats(laneRun.steps);
1466
  for (const key of ['ttft', 'tps', 'out', 'tools', 'total', 'cost']) {
 
1475
  } catch (error) {
1476
  document.getElementById(`${laneId}-output-${step}`).textContent = `Error: ${error.message}`;
1477
  document.getElementById(`${laneId}-dot-${step}`).className = 'status-dot error';
1478
+ laneRun.failures.set(step, error.message);
1479
  break; // Stop chain on error
1480
  }
1481
  }