summaryrefslogtreecommitdiff
path: root/frontend/src/store/flowStore.ts
AgeCommit message (Collapse)Author
2026-02-14Rework debate prompts, add turn-based rounds and self-elimination convergenceYurenHao0426
- Round 1 parallel (form positions), Round 2+ sequential turn-based (each model sees current round's prior responses before speaking) - Prompts treat user question as open-ended, not as a debate proposition — models form their own thesis in Round 1 then defend it - Structured opposition: each model defends own unique position, not FOR/AGAINST - Self-convergence: each model judges if convinced after each round, eliminated models drop out, last one standing wins and provides final summary - Skip convergence/judge checks on Round 1 (still forming positions) - Auto-save now triggers on councilData/debateData updates so intermediate rounds persist across page refresh Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13Add LLM Debate mode for multi-round iterative model discussionsYurenHao0426
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>
2026-02-13Add per-model council settings, Quick Chat council mode, and per-member ↵YurenHao0426
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>
2026-02-13Add LLM Council mode for multi-model consensusYurenHao0426
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>
2026-02-13Fix theme desync when loading blueprintsYurenHao0426
- 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>
2026-02-13Default theme to system/browser color scheme preferenceYurenHao0426
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>
2026-02-13Add auth headers to file upload/delete requestsYurenHao0426
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>
2026-02-13Add Anthropic Files API and persistent Google file caching for all providersYurenHao0426
- 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>
2026-02-13Deduplicate merged trace messages and fix double-count in contextYurenHao0426
- 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>
2026-02-13Add unfold merged trace: convert to sequential node chainYurenHao0426
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>
2025-12-14auto saveblackhao
2025-12-10fix: use getCurrentUser() for all project/file API callsblackhao
2025-12-10fix: resolve all TypeScript errors for production buildblackhao
2025-12-10fix: use relative API paths for production deploymentblackhao
2025-12-10user datablackhao
2025-12-10init file sysblackhao
2025-12-09upload files to backendblackhao
2025-12-09file management sysblackhao
2025-12-09some fix on trace mergingblackhao
2025-12-08before file functionsblackhao
2025-12-08merge logicblackhao
2025-12-06UXblackhao
2025-12-05right click logicblackhao
2025-12-05init: add project files and ignore secretsblackhao