{#if !registry}

{tr('tools.loading', lang)}

{:else if tool}

{pick(tool.name, lang)}

{pick(tool.category, lang)}
{@html pick(tool.description_html ?? { zh: tool.description.zh, en: tool.description.en }, lang)}
{ event.preventDefault(); void run(); }} >
{#each tool.params as param} {@const invalid = error?.parameter === param.name}
{#if param.kind === 'select'} {:else if param.kind === 'multiline'} {:else if param.kind === 'number' || param.kind === 'integer'} {:else} {/if} {@html pick( param.help_html ?? { zh: param.help.zh, en: param.help.en }, lang, )} {#if param.constraints.unit} {tr('tools.unit', lang)}: {param.constraints.unit} {/if}
{/each}
{#if tool.api_items.length > 0}
{tr('tools.calls', lang)} {#each tool.api_items as name} {name} {/each}
{/if}
{#if error}

{#if error.parameter}{error.parameter}:{/if} {error.message}

{/if} {#if result}
{/if} {:else} {#each categories as group}

{pick(group.category, lang)}

{/each} {/if}