- Added support for new configuration sections: relationship, database, maisaka, mcp, and plugin_runtime.
- Introduced complex field hooks for handling JSON configurations in chat talk value rules, expression learning lists, and more.
- Updated the field hooks to include schema metadata for better UI representation.
- Refactored the bot configuration page to utilize a more dynamic approach for managing section values and state.
- Improved the configuration schema generation to ensure all top-level sections have UI metadata.
- Added tests to validate the new configuration schema and ensure proper functionality of the JSON field hooks.
- Deleted RuleEditor.tsx, RuleList.tsx, RulePreview.tsx, TimeRangePicker.tsx, and VoiceSection.tsx as part of a cleanup.
- Updated index.ts to remove imports related to deleted components.
- Modified types.ts and model.tsx to accommodate changes in task configuration structure.
- Introduced new types for TargetItem and LearningItem to enhance type safety.
- Refactored ModelTaskConfig to be dynamic based on backend schema.
- Updated ModelProviderConfigPage to unwrap backend config response for better handling.
- Fixed import order in bot.tsx, ChatSection.tsx and Hook files
- Replaced 'as any' with specific type assertions (ExpressionConfig, PersonalityConfig, etc.)
- All files now comply with AGENTS.md import rules
- Build passes with zero errors
- LSP diagnostics clean on all modified files
Changes:
- bot.tsx: Reorganized imports (React first, then third-party, then @/, then ./)
- ChatSection.tsx: Fixed import order
- *SectionHook.tsx (4 files): Added type imports, replaced 'as any' with typed assertions
Note: ProcessingSection (1121 lines) and ExpressionSection (996 lines)
not split due to tight coupling and clear responsibilities.
- Task 10: Bulk migrate CSS variable references from --primary/--secondary/etc to --color-primary/--color-secondary/etc across all components
- Task 11: Adapt CodeEditor to auto-detect theme from ThemeProvider context, remove hardcoded theme='dark' from plugin-config and bot config pages