Prettify displayed message

1e076a3e4367cc228bb63cadaed3812298897308

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +7 -3Showing whitespace changes
public/scripts/tool-calling.js+7 -3
@@ -342,7 +342,7 @@ export class ToolManager {
342342
343 // Save a successful invocation343 // Save a successful invocation
344 if (result) {344 if (result) {
345 invocations.push({ id, name, result, parameters });345 invocations.push({ id, name, parameters, result });
346 }346 }
347 }347 }
348 }348 }
@@ -383,12 +383,16 @@ export class ToolManager {
383 * @returns {string} Formatted message with tool invocations.383 * @returns {string} Formatted message with tool invocations.
384 */384 */
385 static #formatMessage(invocations) {385 static #formatMessage(invocations) {
386 const toolNames = invocations.map(i => i.name).join(', ');386 const tryParse = (x) => { try { return JSON.parse(x); } catch { return x; } };
387 const data = structuredClone(invocations);
387 const detailsElement = document.createElement('details');388 const detailsElement = document.createElement('details');
388 const summaryElement = document.createElement('summary');389 const summaryElement = document.createElement('summary');
389 const preElement = document.createElement('pre');390 const preElement = document.createElement('pre');
390 const codeElement = document.createElement('code');391 const codeElement = document.createElement('code');
391 codeElement.textContent = JSON.stringify(invocations, null, 2);392 codeElement.classList.add('language-json');
393 data.forEach(i => i.parameters = tryParse(i.parameters));
394 codeElement.textContent = JSON.stringify(data, null, 2);
395 const toolNames = data.map(i => i.name).join(', ');
392 summaryElement.textContent = `Performed tool calls: ${toolNames}`;396 summaryElement.textContent = `Performed tool calls: ${toolNames}`;
393 preElement.append(codeElement);397 preElement.append(codeElement);
394 detailsElement.append(summaryElement, preElement);398 detailsElement.append(summaryElement, preElement);