diff --git a/src/lib/settings/categories/AdvancedSettings.svelte b/src/lib/settings/categories/AdvancedSettings.svelte new file mode 100644 index 0000000..df3d473 --- /dev/null +++ b/src/lib/settings/categories/AdvancedSettings.svelte @@ -0,0 +1,321 @@ + + + + Plugins + {#if pluginEntries.length === 0} + No plugins found in ~/.config/agor/plugins/ + {:else} + + {#each pluginEntries as entry (entry.meta.id)} + + + + {entry.meta.name} + v{entry.meta.version} + {#if entry.status === 'loaded'} + loaded + {:else if entry.status === 'error'} + error + {:else if entry.status === 'disabled'} + disabled + {:else} + discovered + {/if} + + { await setPluginEnabled(entry.meta.id, entry.status === 'disabled'); }}> + + + + {#if entry.meta.description} + {entry.meta.description} + {/if} + {#if entry.error} + {entry.error} + {/if} + + {/each} + + {/if} + + + + Auto-update plugins + { pluginAutoUpdate = !pluginAutoUpdate; save('plugin_auto_update', String(pluginAutoUpdate)); }}> + + + + + Reload Plugins + + + + + Updates + + + Current version + {appVersion || '...'} + + {#if updateLastCheck} + + Last checked + {updateLastCheck} + + {/if} + {#if updateCheckResult?.available} + + Available + v{updateCheckResult.version} + + {/if} + + {updateChecking ? 'Checking...' : 'Check for Updates'} + + + + + + Multi-Machine + + + Relay URLs (one per line) + { relayUrls = (e.target as HTMLTextAreaElement).value; save('relay_urls', relayUrls); }}> + WebSocket relay endpoints for remote machines + + + Connection timeout + + { const n = parseInt((e.target as HTMLInputElement).value, 10); if (!isNaN(n) && n >= 5 && n <= 120) { connectionTimeout = n; save('connection_timeout', String(n)); } }} /> + seconds + + + + + + + Developer / Debug + + + Log level + + {#each ['trace', 'debug', 'info', 'warn', 'error'] as level} + { logLevel = level as typeof logLevel; save('log_level', logLevel); }}>{level} + {/each} + + + + OTLP endpoint + { otlpEndpoint = (e.target as HTMLInputElement).value; save('otlp_endpoint', otlpEndpoint); }} /> + OpenTelemetry HTTP endpoint for trace export + + + + + + Import / Export + + + Export Settings + importFileInput?.click()}>Import Settings + + + Export downloads a JSON file. Import restores non-sensitive settings. + + + + + Keyboard Shortcuts + Keyboard shortcuts can be customized in ~/.claude/keybindings.json + + + diff --git a/src/lib/settings/categories/OrchestrationSettings.svelte b/src/lib/settings/categories/OrchestrationSettings.svelte new file mode 100644 index 0000000..ca8638d --- /dev/null +++ b/src/lib/settings/categories/OrchestrationSettings.svelte @@ -0,0 +1,238 @@ + + + + Health Monitoring + + + Stall threshold + + save('stall_threshold', String(stallThreshold))} /> + {stallThreshold} min + + Agent marked as stalled after this idle duration + + + Context pressure thresholds + Configure warning and critical % in Agent Settings + + + + + + Session Anchors + + + Anchor budget scale + + {#each ANCHOR_BUDGET_SCALES as scale} + { anchorBudget = scale; save('anchor_budget_scale', scale); }}> + {ANCHOR_BUDGET_SCALE_LABELS[scale]} + + {/each} + + Token budget reserved for re-injected anchor turns + + + + Auto-anchor on compaction + { autoAnchor = !autoAnchor; save('auto_anchor', String(autoAnchor)); }}> + + + + Automatically anchor top turns when context compacts + + + + + + Wake Scheduler + + + Wake strategy + + {#each WAKE_STRATEGIES as strategy} + { wakeStrategy = strategy; save('wake_strategy', strategy); }}> + {WAKE_STRATEGY_LABELS[strategy]} + + {/each} + + {WAKE_STRATEGY_DESCRIPTIONS[wakeStrategy]} + + {#if wakeStrategy === 'smart'} + + Wake threshold + + save('wake_threshold', String(wakeThreshold))} /> + {wakeThreshold}% + + Manager only wakes when signal score exceeds this threshold + + {/if} + + + + + Notifications + + + + Desktop notifications + { notifDesktop = !notifDesktop; save('notif_desktop', String(notifDesktop)); }}> + + + + Show OS-level notifications for agent events + + + Notification types + + {#each NOTIF_TYPE_OPTIONS as type} + toggleNotifType(type)}> + {type} + + {/each} + + Which agent events trigger notifications + + + + + + Agent Memory + + + Memory TTL Pro + + { memoryTtl = (e.target as HTMLInputElement).value; save('memory_ttl', memoryTtl); }} /> + days + + Auto-expire extracted memories after this duration + + + + Auto-extract insights Pro + { memoryExtract = !memoryExtract; save('memory_extract', String(memoryExtract)); }}> + + + + Automatically extract reusable insights from agent sessions + + + + +
No plugins found in ~/.config/agor/plugins/
{entry.meta.description}
{entry.error}
Keyboard shortcuts can be customized in ~/.claude/keybindings.json
~/.claude/keybindings.json