Project
{#each projects as p}
selectedId = p.id}>{p.name}
{/each}
{#if proj}
Provider
{#each PROVIDERS as prov}
updateProj({ provider: prov })}>{PROVIDER_CAPABILITIES[prov].label}
{/each}
Model
updateProj({ model: (e.target as HTMLInputElement).value })} />
Options
Worktree isolation
updateProj({ useWorktrees: !proj.useWorktrees })}>
Landlock sandbox
updateProj({ useSandbox: !proj.useSandbox })}>
Stall threshold
updateProj({ stallThreshold: parseInt((e.target as HTMLInputElement).value, 10) })} />
{proj.stallThreshold} min
Anchor budget
{#each ANCHOR_SCALES as s}
updateProj({ anchorScale: s })}>{s[0].toUpperCase() + s.slice(1)}
{/each}
Session retention
Keep last
updateRetention('count', parseInt((e.target as HTMLInputElement).value, 10))} />
{sessionRetentionCount}
Max age
updateRetention('days', parseInt((e.target as HTMLInputElement).value, 10))} />
{sessionRetentionDays}d
Custom context
updateProj({ customContext: (e.target as HTMLTextAreaElement).value })} >
{/if}