-
-
Notifications
You must be signed in to change notification settings - Fork 110
[FEAT]: Implemented RAG-Based AI meetingContext retrieval workflow with Supabase Edge+RPC functions and embedding-001 #25
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
Merged
bhavik-mangla
merged 20 commits into
AOSSIE-Org:main
from
SharkyBytes:implementing-RAG-vector-search
Sep 6, 2025
Merged
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
cc70a7d
integrated the AI meet transcribing service with the VexaAIAPI
SharkyBytes db95d44
[refactor] : deployed the supabase functions for the auto joining andβ¦
SharkyBytes d9b04c1
[refactor]: cleared up the files by refactoring and formatting
SharkyBytes 93e24f7
Updated the meeting sqls with trigger for transcription cleanup
SharkyBytes 2e9894e
integrated dynamic backend metrics on dashboard nd enabled Ellena voiβ¦
SharkyBytes 2ced34e
integrated Supabase Edge Function for invoking meeting transcription β¦
SharkyBytes f5a34a4
fetched the clean transcriptions and AI summaries from the database iβ¦
SharkyBytes 061fd88
Added the method to invoke the task and tickets API to create the meeβ¦
SharkyBytes 0f0d0e4
Added the donwload option to save the transcription and ai summary asβ¦
SharkyBytes 1dcf46f
Updated the .gitignore for the plugin generate files and changed the β¦
SharkyBytes 5cad136
Integrated the TeamSwitching dependancy if a ingle mail have multipleβ¦
SharkyBytes f9f99e8
Replaced the triggers to cronJob for calling the AISummary function
SharkyBytes f21447a
Fixed the chat Listening widget and enhanced the UserProfile in Dashbβ¦
SharkyBytes 825aa45
Deployed the functions get-embedding and generate-embedding for conteβ¦
SharkyBytes c3879e4
scheduled the cronJob for processing missing_embededings
SharkyBytes 15e1bf5
Added the search_meeting_summaries RPC functions for getting the releβ¦
SharkyBytes e7076e6
Implemented the keyword matching to diverge the request to the RPC fuβ¦
SharkyBytes 67fe289
Added the correct ListingFields for parsing into the meeting context
SharkyBytes 6dcda81
updated the schema to fetch the response ID and embeddings in the cliβ¦
SharkyBytes db795b3
added the spearate logic for text_formatting in the chatScreen bypassβ¦
SharkyBytes File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,6 @@ | ||
| SUPABASE_URL=<YOUR_SUPABASE_URL> | ||
| SUPABASE_ANON_KEY=<YOUR_SUPABASE_ANON_KEY> | ||
| SUPABASE_SERVICE_ROLE_KEY=<YOUR_SUPABASE_SERVICE_ROLE_KEY> | ||
| GEMINI_API_KEY=<YOUR_GEMINI_API_KEY> | ||
|
|
||
| VEXA_API_KEY=<YOUR_VEXA_API_KEY> | ||
| OPEAI_API_KEY=<YOUR_OPEAI_API_KEY> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,82 +1,84 @@ | ||
|
|
||
| import 'package:flutter/material.dart'; | ||
| import 'screens/splash_screen.dart'; | ||
| import 'screens/home/home_screen.dart'; | ||
| import 'screens/chat/chat_screen.dart'; | ||
| import 'services/navigation_service.dart'; | ||
| import 'services/supabase_service.dart'; | ||
| import 'services/ai_service.dart'; | ||
|
|
||
| void main() async { | ||
| WidgetsFlutterBinding.ensureInitialized(); | ||
|
|
||
| try { | ||
| // Initialize Supabase | ||
| await SupabaseService().initialize(); | ||
|
|
||
| // Initialize AI Service | ||
| await AIService().initialize(); | ||
| } catch (e) { | ||
| debugPrint('Error initializing services: $e'); | ||
| // Continue with the app even if initialization fails | ||
| // The app will show appropriate error messages when trying to use these features | ||
| } | ||
|
|
||
| runApp(const MyApp()); | ||
| } | ||
|
|
||
| class MyApp extends StatelessWidget { | ||
| const MyApp({super.key}); | ||
|
|
||
| // This widget is the root of your application. | ||
| @override | ||
| Widget build(BuildContext context) { | ||
| return MaterialApp( | ||
| title: 'Ell-ena', | ||
| debugShowCheckedModeBanner: false, | ||
| navigatorKey: NavigationService().navigatorKey, | ||
| theme: ThemeData( | ||
| useMaterial3: true, | ||
| brightness: Brightness.dark, | ||
| primaryColor: Colors.green.shade400, | ||
| scaffoldBackgroundColor: const Color(0xFF1A1A1A), | ||
| colorScheme: ColorScheme.dark( | ||
| primary: Colors.green.shade400, | ||
| secondary: Colors.green.shade700, | ||
| surface: const Color(0xFF2A2A2A), | ||
| background: const Color(0xFF1A1A1A), | ||
| ), | ||
| textTheme: const TextTheme( | ||
| displayLarge: TextStyle( | ||
| fontSize: 32, | ||
| fontWeight: FontWeight.bold, | ||
| letterSpacing: 1.2, | ||
| ), | ||
| bodyLarge: TextStyle(fontSize: 16, letterSpacing: 0.5), | ||
| ), | ||
| ), | ||
| home: const SplashScreen(), | ||
| onGenerateRoute: (settings) { | ||
| if (settings.name == '/') { | ||
| return MaterialPageRoute( | ||
| builder: (context) => const SplashScreen(), | ||
| settings: settings, | ||
| ); | ||
| } else if (settings.name == '/home') { | ||
| final args = settings.arguments as Map<String, dynamic>?; | ||
| return MaterialPageRoute( | ||
| builder: (context) => HomeScreen(arguments: args), | ||
| settings: settings, | ||
| ); | ||
| } else if (settings.name == '/chat') { | ||
| final args = settings.arguments as Map<String, dynamic>?; | ||
| return MaterialPageRoute( | ||
| builder: (context) => ChatScreen(arguments: args), | ||
| settings: settings, | ||
| ); | ||
| } | ||
| return null; | ||
| }, | ||
| ); | ||
| } | ||
| } | ||
|
|
||
| import 'package:flutter/material.dart'; | ||
| import 'screens/splash_screen.dart'; | ||
| import 'screens/home/home_screen.dart'; | ||
| import 'screens/chat/chat_screen.dart'; | ||
| import 'services/navigation_service.dart'; | ||
| import 'services/supabase_service.dart'; | ||
| import 'services/ai_service.dart'; | ||
|
|
||
| void main() async { | ||
| WidgetsFlutterBinding.ensureInitialized(); | ||
|
|
||
| try { | ||
| await SupabaseService().initialize(); | ||
|
|
||
| await AIService().initialize(); | ||
| } catch (e) { | ||
| debugPrint('Error initializing services: $e'); | ||
| } | ||
|
|
||
| runApp(const MyApp()); | ||
| } | ||
|
|
||
| class MyApp extends StatelessWidget { | ||
| const MyApp({super.key}); | ||
|
|
||
| @override | ||
| Widget build(BuildContext context) { | ||
| return MaterialApp( | ||
| title: 'Ell-ena', | ||
| debugShowCheckedModeBanner: false, | ||
| navigatorKey: NavigationService().navigatorKey, | ||
| navigatorObservers: <NavigatorObserver>[AppRouteObserver.instance], | ||
| theme: ThemeData( | ||
| useMaterial3: true, | ||
| brightness: Brightness.dark, | ||
| primaryColor: Colors.green.shade400, | ||
| scaffoldBackgroundColor: const Color(0xFF1A1A1A), | ||
| colorScheme: ColorScheme.dark( | ||
| primary: Colors.green.shade400, | ||
| secondary: Colors.green.shade700, | ||
| surface: const Color(0xFF2A2A2A), | ||
| background: const Color(0xFF1A1A1A), | ||
| ), | ||
| textTheme: const TextTheme( | ||
| displayLarge: TextStyle( | ||
| fontSize: 32, | ||
| fontWeight: FontWeight.bold, | ||
| letterSpacing: 1.2, | ||
| ), | ||
| bodyLarge: TextStyle(fontSize: 16, letterSpacing: 0.5), | ||
| ), | ||
| ), | ||
| home: const SplashScreen(), | ||
| onGenerateRoute: (settings) { | ||
| if (settings.name == '/') { | ||
| return MaterialPageRoute( | ||
| builder: (context) => const SplashScreen(), | ||
| settings: settings, | ||
| ); | ||
| } else if (settings.name == '/home') { | ||
| final args = settings.arguments as Map<String, dynamic>?; | ||
| return MaterialPageRoute( | ||
| builder: (context) => HomeScreen(arguments: args), | ||
| settings: settings, | ||
| ); | ||
| } else if (settings.name == '/chat') { | ||
| final args = settings.arguments as Map<String, dynamic>?; | ||
| return MaterialPageRoute( | ||
| builder: (context) => ChatScreen(arguments: args), | ||
| settings: settings, | ||
| ); | ||
| } | ||
| return null; | ||
| }, | ||
| ); | ||
| } | ||
| } | ||
|
|
||
| // Simple singleton RouteObserver to allow screens to refresh on focus | ||
| class AppRouteObserver extends RouteObserver<ModalRoute<void>> { | ||
| AppRouteObserver._(); | ||
| static final AppRouteObserver instance = AppRouteObserver._(); | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.