This commit is contained in:
Timothy Jaeryang Baek 2025-03-29 14:59:03 -07:00
parent 66015bb341
commit c2ff73c3e1
2 changed files with 28 additions and 4 deletions

View File

@ -84,7 +84,12 @@
} }
if (floatingButtonsElement) { if (floatingButtonsElement) {
floatingButtonsElement.closeHandler(); // check if closeHandler is defined
if (typeof floatingButtonsElement?.closeHandler === 'function') {
// call the closeHandler function
floatingButtonsElement?.closeHandler();
}
} }
}; };

View File

@ -52,6 +52,22 @@
export let disabled = false; export let disabled = false;
export let hide = false; export let hide = false;
function formatJSONString(obj) {
try {
const parsed = JSON.parse(obj);
// If parsed is an object/array, then it's valid JSON
if (typeof parsed === 'object') {
return JSON.stringify(parsed, null, 2);
} else {
// It's a primitive value like a number, boolean, etc.
return String(parsed);
}
} catch (e) {
// Not valid JSON, return as-is
return obj;
}
}
</script> </script>
<div {id} class={className}> <div {id} class={className}>
@ -176,19 +192,22 @@
{#if open && !hide} {#if open && !hide}
<div transition:slide={{ duration: 300, easing: quintOut, axis: 'y' }}> <div transition:slide={{ duration: 300, easing: quintOut, axis: 'y' }}>
{#if attributes?.type === 'tool_calls'} {#if attributes?.type === 'tool_calls'}
{@const args = JSON.parse(decode(attributes?.arguments))}
{@const result = JSON.parse(decode(attributes?.result ?? ''))}
{#if attributes?.done === 'true'} {#if attributes?.done === 'true'}
<Markdown <Markdown
id={`tool-calls-${attributes?.id}-result`} id={`tool-calls-${attributes?.id}-result`}
content={`> \`\`\`json content={`> \`\`\`json
> ${JSON.stringify(JSON.parse(JSON.parse(decode(attributes?.arguments))), null, 2)} > ${formatJSONString(args)}
> ${JSON.stringify(JSON.parse(JSON.parse(decode(attributes?.result))), null, 2)} > ${formatJSONString(result)}
> \`\`\``} > \`\`\``}
/> />
{:else} {:else}
<Markdown <Markdown
id={`tool-calls-${attributes?.id}-result`} id={`tool-calls-${attributes?.id}-result`}
content={`> \`\`\`json content={`> \`\`\`json
> ${JSON.stringify(JSON.parse(JSON.parse(decode(attributes?.arguments))), null, 2)} > ${formatJSONString(args)}
> \`\`\``} > \`\`\``}
/> />
{/if} {/if}