| Age | Commit message (Collapse) | Author |
|
Removes white scrollbar backgrounds globally, using thin translucent
thumbs on transparent tracks consistent with the LaTeX formula
scrollbar styling.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Mirrors the amber border styling of council nodes with cyan for debate
nodes, including the icon color and model count subtitle.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Implements a debate feature alongside Council mode where 2-6 models
engage in multi-round discussions with configurable judge modes
(external judge, self-convergence, display-only), debate formats
(free discussion, structured opposition, iterative improvement, custom),
and early termination conditions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
trace selection
Council members now support individual temperature, reasoning effort, web search, and
context trace overrides. Quick Chat inherits council config from the source node and
streams through the 3-stage council pipeline. Blueprint loading migrates old string[]
council formats to CouncilMemberConfig[].
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
3-stage council orchestration: parallel model queries (Stage 1),
anonymous peer ranking (Stage 2), and streamed chairman synthesis
(Stage 3). Includes scope-aware file resolution for Google/Claude
providers so upstream file attachments are visible to all providers.
- Backend: council.py orchestrator, /api/run_council_stream endpoint,
query_model_full() non-streaming wrapper, resolve_provider() helper,
resolve_scoped_file_ids() for Google/Claude scope parity with OpenAI
- Frontend: council toggle UI, model checkbox selector, chairman picker,
SSE event parsing, tabbed Stage 1/2/3 response display
- Canvas: amber council node indicator with Users icon
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Stop blueprints from overriding user theme preference on load
- Replace manual <html> dark class sync with store subscriber that
keeps DOM in sync with any theme state change automatically
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Read prefers-color-scheme media query on init instead of hardcoding
light mode. Sync dark class to <html> element at store creation so
global CSS applies immediately.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Adds a clipboard copy button next to the response label that copies
the raw response text. Shows a brief green checkmark on success.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Add an Eye/EyeOff toggle button to switch between rendered markdown and
raw plain text in all three response locations: main response panel,
expanded response modal, and Quick Chat messages. Useful for copying
raw text without formatting artifacts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Add dark mode background/text/border to response modal
- Add prose-invert to expanded response markdown container
- Style katex-display with thin transparent-track scrollbar for overflow formulas
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Support both $...$ / $$...$$ (remark-math) and \(...\) / \[...\] (GPT-style)
delimiters via a preprocessor that normalizes to dollar-sign syntax before
passing to ReactMarkdown.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
When the JWT token is expired or missing, endpoints could not resolve
user API keys and fell back to environment variables (which are unset).
Added resolve_user() helper that falls back to DB lookup by username
query param, and added ?user= to all frontend API calls as a belt-and-
suspenders approach alongside auth tokens.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Remove per-provider label from left sidebar file list since files are
now uploaded to all providers simultaneously
- Add uploading spinner to right sidebar "Upload & Attach" button
- Always upload with provider 'local' from right sidebar settings tab
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
The frontend upload and delete file fetch calls were missing auth
headers, so the backend could not resolve user-specific API keys.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Add anthropic_file_id/google_file_uri fields to FileMeta (backend + frontend)
- Eager upload to Anthropic and Google at file upload time (like OpenAI)
- Cache and reuse file references in prepare_attachments for all 3 providers
- Add document content block injection in stream_claude (file_id, base64, text fallback)
- Conditional beta streaming for Anthropic Files API references
- Persist on-demand upload results (changed flag + save_files_index)
- Clean up file deletion for all providers (Anthropic warn-only, Google deduplicated)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Add dedup helper in computeMergedMessages to remove duplicate messages
by ID across all merge strategies (e.g. A-B-C + A-D-C → A-B-D-C)
- Fix getActiveContext adding merged trace messages twice (from both
outgoingTraces and mergedTraces)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Unfold takes a merged trace's messages, extracts the node order,
and creates real edges chaining those nodes sequentially (A→B→C→D→E).
The merged trace is deleted and replaced by a regular pass-through trace.
- Add unfoldMergedTrace() to flowStore (creates edges, rewires downstream)
- Add Unfold button (Layers icon) to Sidebar merged traces UI
- Fix isMerged edge detection to use explicit flag instead of ID prefix
- Fix LLMNode useUpdateNodeInternals deps for dynamic handle updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
- Add Claude (Anthropic) as third LLM provider with streaming support
- Add OpenRouter as transparent fallback when official API keys are missing or fail
- Add remark-gfm to ReactMarkdown for table/strikethrough rendering
- Claude models: sonnet-4.5, opus-4, opus-4.5, opus-4.6
- Backend: new stream_claude(), stream_openrouter(), provider routing, API key CRUD
- Frontend: model selectors, API key inputs for Claude and OpenRouter
- Auto-migration for new DB columns (claude_api_key, openrouter_api_key)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|