Commit Graph

8468 Commits

Author SHA1 Message Date
aqiu cd030d82e5 refactor(vibe): extract workflow generation to dedicated module
- Move workflow generation logic from LLMGenerator to WorkflowGenerator
  - Extract to api/core/workflow/generator/ with modular architecture
  - Implement Planner-Builder pattern for better separation of concerns
  - Add validation engine with rule-based error classification
  - Add node and edge repair utilities for auto-fixing common issues
  - Add deterministic Mermaid generator for consistent output

- Reorganize configuration and prompts
  - Move vibe_config/ to generator/config/
  - Move vibe_prompts.py to generator/prompts/ (split into multiple files)
  - Add builder_prompts.py and planner_prompts.py for new architecture

- Enhance frontend workflow handling
  - Use standard node initialization for proper node setup
  - Improve variable reference replacement with better error handling
  - Add model fallback logic for better compatibility
  - Handle end node outputs format (value_selector vs legacy format)
  - Ensure parameter-extractor nodes have required 'required' field

- Add comprehensive test coverage
  - Unit tests for mermaid generator, node repair, edge repair
  - Tests for validation engine and rule system
  - Tests for planner prompts formatting
  - Frontend tests for variable reference replacement

- Add max_fix_iterations parameter for validate-fix loop configuration

# Conflicts:
#	web/app/components/workflow/hooks/use-workflow-vibe.tsx
2025-12-29 11:04:42 +08:00
aqiu c4eee28fd8 refactor(vibe): modularize config and enhance workflow generation
- Extract vibe configuration into dedicated module (api/core/llm_generator/vibe_config/)
  - node_schemas.py: Built-in node parameter definitions
  - fallback_rules.py: Keyword-based fallback rules and aliases
  - responses.py: Off-topic response templates
  - node_definitions.json: Shared schema for frontend/backend sync

- Enhance workflow generation with intent classification
  - Add off-topic detection with helpful suggestions
  - Support regeneration mode with previous workflow context
  - Add tool validation and sanitization
  - Support language preference for generated content

- Extract frontend config to use-workflow-vibe-config.ts
  - NODE_TYPE_ALIASES: Node type inference mapping
  - FIELD_NAME_CORRECTIONS: LLM output field corrections
  - correctFieldName(): Unified field correction helper

- Fix defensive null checks in variable utils and key-value list
- Change verbose debug logs from info to debug level
2025-12-29 11:04:41 +08:00
yyh 88d377ab87 chore: some tests 2025-12-29 11:04:41 +08:00
yyh 33e2f96647 refactor: Extract Go to Anything search logic into a new `useSearch` hook. 2025-12-29 10:42:25 +08:00
yyh 2ac47114f7 feat: improve search UX by adding `keepPreviousData` to `useQuery` and clearing results for empty queries. 2025-12-29 10:42:24 +08:00
yyh 1367497deb refactor goto-anything scopes and registry 2025-12-29 10:42:24 +08:00
yyh e5a98b10a9 refactor: Replace goto-anything actions with a new scope registry system, simplifying command management and registration. 2025-12-29 10:42:24 +08:00
yyh b7b263d54e chore: remove duplicate tests 2025-12-29 10:42:24 +08:00
yyh 0f40afafe2 fix: sync vibe apply immediately 2025-12-29 10:42:24 +08:00
yyh de7d39d388 chore: test for vibe-panel 2025-12-29 10:42:24 +08:00
yyh aa37e8fa4c fix: prevent stale vibe preview on invalid flow 2025-12-29 10:42:23 +08:00
yyh cfb54a0e7d fix: enhance version management and validation in workflow hooks
- Updated `useVibeFlowData` to prevent adding empty graphs and ensure the current version is correctly derived from available versions.
- Improved error handling in `applyFlowchartToWorkflow` to notify users when the current flow graph is invalid.
- Added checks to only add valid workflow graphs to the versions list, enhancing data integrity.
2025-12-29 10:42:23 +08:00
yyh 75b7d269e1 refactor: centralize action keys and internationalization mappings
- Introduced a new `constants.ts` file to centralize action keys and i18n mappings for slash commands and scope actions.
- Updated `command-selector` and various action files to utilize the new constants for improved maintainability and readability.
- Removed hardcoded strings in favor of the new mappings, ensuring consistency across the application.
2025-12-29 10:42:23 +08:00
yyh 68c220d25e feat: implement banana command with search and registration functionality
- Added `bananaCommand` to handle vibe-related actions, including search and command registration.
- Updated `command-selector` to utilize new internationalization maps for slash commands and scope actions.
- Removed deprecated banana action from the actions index and adjusted related filtering logic.
- Added unit tests for the banana command to ensure correct behavior in various scenarios.
- Deleted obsolete banana action tests and files.
2025-12-29 10:42:23 +08:00
yyh a4efb3acbf fix: correct header assignment in SSRF proxy request handling 2025-12-29 10:42:23 +08:00
yyh 8294759200 feat: add highPriority prop to VibePanel for improved rendering 2025-12-29 10:42:23 +08:00
WTW0313 99e5669a66 fix: ensure storageKey defaults to an empty string in Vibe panel and workflow hooks 2025-12-29 10:42:23 +08:00
WTW0313 4879795cb9 feat: update Vibe panel to use new event handling and versioning for flowcharts 2025-12-29 10:42:22 +08:00
yyh bcef6e8216 chore: some tests 2025-12-29 10:42:22 +08:00
crazywoola f2363fc458 feat: use new styles 2025-12-29 10:42:22 +08:00
WTW0313 0f69e2f6ab feat: implement Vibe panel for workflow with regeneration and acceptance features 2025-12-29 10:42:22 +08:00
crazywoola b7be5c8c82 feat: add MCP tools 2025-12-29 10:42:22 +08:00
crazywoola 9d496ed3dc feat: add MCP tools 2025-12-29 10:42:22 +08:00
crazywoola 336769deb1 feat: use @banana 2025-12-29 10:42:21 +08:00
crazywoola 5705fa898f feat: v1 2025-12-29 10:42:21 +08:00
crazywoola a5c6c8638e feat: v1 2025-12-29 10:42:21 +08:00
yyh 446df6b50d
fix(web): rollback React Scan dynamic import (#30294) 2025-12-29 10:40:56 +08:00
Shemol d9cecabe93
fix: release graph_runtime_state reference to prevent memory leak under high load (#30236)
Signed-off-by: SherlockShemol <shemol@163.com>
2025-12-29 10:35:47 +08:00
lif b71a0d3f04
fix(web): handle null/undefined message in log list (#30253)
Signed-off-by: majiayu000 <1835304752@qq.com>
2025-12-29 10:34:20 +08:00
Will d546d525b4
feat: MCP tool adds support for embeddedResource (#30261)
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-12-29 10:15:47 +08:00
Stephen Zhou a46dc2f37e
chore(sdk/nodejs): update deps (#30291) 2025-12-29 10:13:19 +08:00
wangxiaolei 8b38e3f79d
feat: document batch operation tool add re-index operation (#30275) 2025-12-29 10:03:15 +08:00
非法操作 44ab8a3376
fix: Workflow Start node optional enum parameter is treated as required (#30287) 2025-12-29 10:02:40 +08:00
yyh 1e86535c4a
refactor(web): Migrate to Unified TanStack Devtools (#30279) 2025-12-29 09:43:44 +08:00
dependabot[bot] 5b1c08c19c
chore(deps): bump json-repair from 0.54.1 to 0.54.3 in /api (#30285)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-29 09:42:24 +08:00
dependabot[bot] 6202c566e9
chore(deps): bump scheduler from 0.26.0 to 0.27.0 in /web (#30284)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-29 09:42:17 +08:00
NeatGuyCoding a00ac1b5b1
fix(api): fix credential type handling and rebuild subscription transaction safety (#30242)
Signed-off-by: NeatGuyCoding <15627489+NeatGuyCoding@users.noreply.github.com>
2025-12-28 20:29:35 +08:00
wangxiaolei bf56c2e9db
fix: fix custom tool content is not update (#30250) 2025-12-28 17:50:30 +08:00
yyh 543ce38a6c
chore(claude-code): migrate from legacy MCP configuration to official plugin system (#30265) 2025-12-28 17:48:55 +08:00
NeatGuyCoding 1f2c85c916
fix: wrong usage of redis lock (#28177)
Signed-off-by: NeatGuyCoding <15627489+NeatGuyCoding@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Maries <xh001x@hotmail.com>
Co-authored-by: 非法操作 <hjlarry@163.com>
2025-12-28 13:47:54 +08:00
Maries 2b01f85d61
fix: consolidate duplicate InvokeRateLimitError definitions (#30229)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 03:03:42 +09:00
Novice d8010a7fbc
fix: Add JSON RPC request type guard (#30216) 2025-12-28 03:02:46 +09:00
Sara Rasool b067ad2f0a
chore(web): remove unused dev-preview page (#30226)
Co-authored-by: Dev <dev@Devs-MacBook-Pro-4.local>
2025-12-28 03:01:57 +09:00
Wu Tianwei b85564cae5
fix: remove unused CSS styles and fix HitTestingPage layout (#30235) 2025-12-28 03:00:30 +09:00
Shemol c393d7a2dc
test(web): add unit tests for Avatar component (#30201) 2025-12-27 10:07:10 +08:00
Jyong f610f6895f
fix: retrieval test and knowledge retrieval node failed in multimodal mode (#30210)
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-26 21:42:06 +08:00
wangxiaolei d20a8d5b77
fix: fix missing not in (#30207) 2025-12-26 16:52:34 +08:00
wangxiaolei 8611301722
fix: fix DatasetRetrieval._process_metadata_filter_func miss in operator (#30199) 2025-12-26 16:34:50 +08:00
Xiyuan Chen 6044f0666a
fix: use query param for delete method (#30206) 2025-12-26 00:34:35 -08:00
Joel 8d26e6ab28
chore: some tests for components (#30194)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-26 14:36:24 +08:00