types.ts (2525B)
1 /** Shared types for the dashboard. Client-safe -- no Node.js imports. */ 2 3 export interface RunMeta { 4 run_id: string; 5 cell_id: string; 6 task: string; 7 model: string; 8 effort: string; 9 prompt_style: string; 10 language: string; 11 human_language: string; 12 tool_read: string; 13 tool_write: string; 14 tool_edit: string; 15 tool_glob: string; 16 tool_grep: string; 17 linter: string; 18 playwright: string; 19 context_file: string; 20 sub_agents?: string; 21 web_search: string; 22 tests_provided: string; 23 strategy: string; 24 design_guidance: string; 25 architecture: string; 26 error_checking: string; 27 context_noise: string; 28 renderer: string; 29 provider: string; 30 actual_model: string; 31 short_id?: string; 32 short_cell_id?: string; 33 max_budget: string; 34 max_budget_usd: number; 35 run_number: number; 36 wall_time_seconds?: number; 37 exit_code?: number; 38 started_at?: string; 39 completed_at?: string; 40 claude_version?: string; 41 } 42 43 export interface EvalResults { 44 structural?: { 45 pass: boolean; 46 score: number; 47 checks: Array<{ name: string; pass: boolean; detail: string }>; 48 }; 49 functional?: { 50 pass: boolean; 51 score: number; 52 total?: number; 53 passed?: number; 54 failed?: number; 55 }; 56 quality?: { 57 pass?: boolean; 58 score: number; 59 [key: string]: unknown; 60 }; 61 score: number | null; 62 } 63 64 export interface ClaudeOutput { 65 result?: string; 66 total_cost_usd?: number; 67 num_turns?: number; 68 duration_ms?: number; 69 usage?: { 70 input_tokens?: number; 71 output_tokens?: number; 72 }; 73 } 74 75 export interface Run { 76 meta: RunMeta; 77 eval_results: EvalResults | null; 78 claude_output: ClaudeOutput | null; 79 has_transcript: boolean; 80 } 81 82 export type AxisName = keyof Pick< 83 RunMeta, 84 | "model" 85 | "effort" 86 | "prompt_style" 87 | "language" 88 | "human_language" 89 | "tool_read" 90 | "tool_write" 91 | "tool_edit" 92 | "tool_glob" 93 | "tool_grep" 94 | "linter" 95 | "playwright" 96 | "context_file" 97 | "web_search" 98 | "max_budget" 99 | "tests_provided" 100 | "strategy" 101 | "design_guidance" 102 | "architecture" 103 | "error_checking" 104 | "context_noise" 105 | "renderer" 106 | "provider" 107 >; 108 109 export const AXIS_NAMES: AxisName[] = [ 110 "model", 111 "effort", 112 "prompt_style", 113 "language", 114 "human_language", 115 "tool_read", 116 "tool_write", 117 "tool_edit", 118 "tool_glob", 119 "tool_grep", 120 "linter", 121 "playwright", 122 "context_file", 123 "web_search", 124 "max_budget", 125 "tests_provided", 126 "strategy", 127 "design_guidance", 128 "architecture", 129 "error_checking", 130 "context_noise", 131 "renderer", 132 "provider", 133 ];