summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-13Remove provider badge from file list and add upload indicator to right sidebarYurenHao0426
- 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>
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-13Fix file upload/delete using user API keys instead of env vars onlyYurenHao0426
The upload_file and delete_file endpoints were calling API clients without passing user-specific API keys, falling back only to environment variables. Now both endpoints resolve keys from the authenticated user's settings via get_user_api_key(), fixing "API key not found" errors for users who configured keys through the frontend. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13Auto re-upload expired Google files on node runYurenHao0426
Add _check_google_file_active() to verify cached Google file URIs before reuse. If expired (48h limit), clears cache and transparently re-uploads via ensure_google_file_upload(). 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>
2026-02-13Add Claude provider, OpenRouter fallback, and GFM markdown supportYurenHao0426
- 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>
2025-12-14rm 4.5blackhao
2025-12-14model managementblackhao
2025-12-14auto saveblackhao
2025-12-14add tutorialblackhao
2025-12-11fix traceblackhao
2025-12-11add some logblackhao
2025-12-11add some logblackhao
2025-12-10fix: hide .json extension when renaming blueprintsblackhao
2025-12-10fix: use getCurrentUser() for all project/file API callsblackhao
2025-12-10fix: resolve all TypeScript errors for production buildblackhao
2025-12-10set keys 2blackhao
2025-12-10set keysblackhao
2025-12-10fix: add allowed hostsblackhao
2025-12-10fix: use relative API paths for production deploymentblackhao
2025-12-10user datablackhao
2025-12-10init file sys ?blackhao
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
2025-09-22Initial commitYuren Hao