{#if toolFnName}
{#if isExecuting && toolProgress} {progressLabel} {/if}
{#if isOpen}
{#each tool as update, i (`${update.subtype}-${i}`)} {#if update.subtype === MessageToolUpdateType.Call}
Input
{formatValue(
									update.call.parameters
								)}
{:else if update.subtype === MessageToolUpdateType.Error}
Error
{update.message}
{:else if isMessageToolResultUpdate(update) && update.result.status === ToolResultStatus.Success && update.result.display}
Output
{#each parseToolOutputs(update.result.outputs) as parsedOutput}
{#if parsedOutput.text}
{parsedOutput.text}
{/if} {#if parsedOutput.images.length > 0}
{#each parsedOutput.images as image, imageIndex} {`Tool {/each}
{/if} {#if parsedOutput.metadata.length > 0}
{formatValue(
												Object.fromEntries(parsedOutput.metadata)
											)}
{/if}
{/each}
{:else if isMessageToolResultUpdate(update) && update.result.status === ToolResultStatus.Error && update.result.display}
Error
{update
									.result.message}
{/if} {/each}
{/if}
{/if}