feat: sync OpenRouter models on dashboard startup and add mission interview module

- Add openrouterModelSync setting to eagerly fetch OpenRouter model catalog at
  dashboard startup so the model picker shows all available models
- Add toggle in Settings → Models to disable the sync
- Add mission-interview session management module for AI-guided mission specs
- Include tests for the sync opt-out behavior

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-04-04 00:39:17 -07:00
parent d6e30300a9
commit df756828fc
6 changed files with 586 additions and 1 deletions

View File

@@ -955,6 +955,25 @@ export function SettingsModal({
</>
) : null}
{/* --- OpenRouter Model Sync --- */}
<h4 className="settings-section-heading" style={{ marginTop: "1.5rem" }}>OpenRouter Models</h4>
<div className="form-group">
<label htmlFor="openrouterModelSync" className="checkbox-label">
<input
id="openrouterModelSync"
type="checkbox"
checked={form.openrouterModelSync !== false}
onChange={(e) => setForm((f) => ({ ...f, openrouterModelSync: e.target.checked }))}
/>
Sync OpenRouter model list at dashboard startup
</label>
<small>
When enabled, the dashboard fetches the latest available models from the OpenRouter
API on startup, so the model picker always shows the most up-to-date catalog. Disable
to skip the initial API call and use only the built-in model list.
</small>
</div>
{/* --- AI Summarization --- */}
<h4 className="settings-section-heading" style={{ marginTop: "1.5rem" }}>AI Summarization</h4>
<div className="form-group">