| 169 | } |
| 170 | |
| 171 | function formatExperimentCodeUpdateOutput(output: string) { |
| 172 | // Try to parse structured output |
| 173 | let parsedOutput: { executionId?: string; result?: string } = {}; |
| 174 | let resultText = output; |
| 175 | |
| 176 | try { |
| 177 | parsedOutput = JSON.parse(output); |
| 178 | resultText = parsedOutput.result || output; |
| 179 | } catch (e) { |
| 180 | // If parsing fails, use raw output |
| 181 | } |
| 182 | |
| 183 | return ( |
| 184 | <div className="space-y-2"> |
| 185 | <div className="flex items-start gap-2"> |
| 186 | <span className="text-sm text-gray-400">Result:</span> |
| 187 | </div> |
| 188 | <div className="text-sm text-gray-200 bg-[#1a1a1a] p-3 rounded max-h-60 overflow-y-auto"> |
| 189 | <pre className="whitespace-pre-wrap break-words">{resultText}</pre> |
| 190 | </div> |
| 191 | </div> |
| 192 | ); |
| 193 | } |
| 194 | |
| 195 | function formatTextVariationInput(input: any) { |
| 196 | return ( |