-
Notifications
You must be signed in to change notification settings - Fork 3
feat(ai): Add Router AI Assistant and cleanup dependencies #538
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ai): Add Router AI Assistant and cleanup dependencies #538
Conversation
…ory and cache support - Add DemoRouterRepository to intercept JNAP requests and serve cached data - Add JnapMockRegistry and DemoCacheDataLoader - Add demo_cache_data.json asset - Update demo_overrides.dart: - Override routerRepositoryProvider - Auto-start polling - Mock geolocationProvider with fake Irvine, CA data to avoid cloud errors - Configure _DemoServiceHelper for correct feature support
- Add usp_client_core package with: - PollingManager (non-singleton, injectable) - ResourceWatcher with push/pull hybrid strategy - WatchStrategy enum for monitoring modes - UspCapabilityService for TR-181 schema discovery - Add USP capabilities system in lib/core/usp/: - CapabilityRepository interface and implementations - Device feature enum for capability checking - Riverpod providers with override support - UspWifiRepository for WiFi monitoring - Add main_usp_demo.dart entry point for USP mode - Update main_usp_demo dependencies to use capability injection - Design ensures main.dart and main_demo.dart are unaffected
…lication-fix-topbar
PR Compliance Guide 🔍(Compliance updated until commit f5c1675)Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label Previous compliance checksCompliance check up to commit fcbe8ef
|
||||||||||||||||||||||||||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||||
Update usages in login_cloud_view.dart and login_local_view.dart to use the new hintText parameter.
- Add Router AI Assistant with A2UI rendering - Add FAQ Agent FAB with AWS Bedrock integration - Fix FAQ URL path to /kb/article/ - Update system prompt: respond in user's language - Translate Chinese strings to English - Switch UI Kit to GitHub dependency (v2.10.1) - Remove unused dependencies: flutter_fancy_tree_view, numberpicker, graphview, phone_numbers_parser - Add AI assistant documentation
…lication-fix-topbar
Fix invalid_override errors by changing sideEffectOverrides to pollConfig: - UspMapperRepository.send() and transaction() - DemoRouterRepository.send() and transaction()
- pubspec.yaml: bundle env.template instead of assets/.env - main.dart: load env.template - main_demo.dart: load env.template .env is gitignored, so CI cannot find it. env.template is committed.
- ci.yml: Add 'cp env.template assets/.env' before flutter pub get - pubspec.yaml: Keep assets/.env in assets list This ensures CI can build with the required .env asset file.
|
ecurity Compliance Review - Justification Notes
|
Use null-coalescing to default to 'true' when Device.DHCPv4.Server.Enable is missing, matching expected router behavior where DHCP is typically enabled.
Summary
This PR introduces the Router AI Assistant feature and performs dependency cleanup for the PrivacyGUI application.
New Features
🤖 Router AI Assistant
💬 FAQ Agent
/kb/article/formatCode Changes
New Modules
lib/ai/- AI abstraction layer, orchestrator, prompts, and component registrylib/page/ai_assistant/- Router Assistant viewlib/page/support/widgets/faq_agent_fab.dart- FAQ Agent FAB widgetImprovements
Dependency Cleanup
Removed unused packages:
flutter_fancy_tree_view(replaced by UI Kit TopologyTreeView)numberpickergraphviewphone_numbers_parserDocumentation
doc/ai_assistant/router_ai_assistant.md- Workflow documentationdoc/ai_assistant/router_assistant_architecture.md- Architecture with class diagramsdoc/ai_assistant/FAQ_AGENT.md- FAQ Agent documentation