e.stopPropagation()} >

Heartbeat Prompts

{#if varsLoading} {/if}
System prompt {#if defaultLoading} {:else if inheriting} Inheriting workspace default {/if}

{#if inheriting} Matches the workspace default — saving will inherit it (no override). {:else if defaultPrompt !== ""} Editing overrides the workspace default. {:else} Empty — no system prompt set. {/if}

Task prompt
{#if justSaved && !hasChanges} Saved. {:else if hasChanges} Unsaved changes {/if}
{#if saveError}

{saveError}

{/if}

Variables

Click a variable to insert it into the focused prompt box.

{#if varsError}

{varsError}

{:else if groups.length === 0 && !varsLoading}

No variables available.

{:else}
{#each groups as group (group.type)}
{group.type}
{#each group.variables as variable (variable.type + variable.name)} {#if isDynamicVariable(variable)}
{ if (e.key === "Enter") { const v = e.currentTarget.value; void insertDynamic(variable.type, v); e.currentTarget.value = ""; } }} />
{:else} {/if} {/each}
{/each}
{/if}