feat: set up Flutter project with drift database, Riverpod providers, and LLM service layer

- Configure dependencies: drift 2.32.x, flutter_riverpod 3.3.1, fl_chart 1.2.x,
  flutter_local_notifications 21.x, local_auth 3.x, and supporting packages
- Drop riverpod_generator (incompatible analyzer version with drift_dev 2.32.x);
  convert all providers to manual Riverpod 3.x API using Notifier<T> and typed families
- Define drift schema: MoodEntries, Activities, EntryActivities, Tags, EntryTags,
  LlmInsights, UserSettings with four DAOs (mood, activity, insight, settings)
- Add LLM service abstraction (LlmService) and MediaPipe implementation
- Fix SettingsDao.delete → deleteByKey to avoid shadowing drift's inherited delete method
This commit is contained in:
2026-04-26 10:39:51 +10:00
parent 6e45e50f1a
commit 33d1713f51
149 changed files with 10338 additions and 1 deletions
@@ -0,0 +1,23 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'activity_dao.dart';
// ignore_for_file: type=lint
mixin _$ActivityDaoMixin on DatabaseAccessor<AppDatabase> {
$ActivitiesTable get activities => attachedDatabase.activities;
$MoodEntriesTable get moodEntries => attachedDatabase.moodEntries;
$EntryActivitiesTable get entryActivities => attachedDatabase.entryActivities;
ActivityDaoManager get managers => ActivityDaoManager(this);
}
class ActivityDaoManager {
final _$ActivityDaoMixin _db;
ActivityDaoManager(this._db);
$$ActivitiesTableTableManager get activities =>
$$ActivitiesTableTableManager(_db.attachedDatabase, _db.activities);
$$MoodEntriesTableTableManager get moodEntries =>
$$MoodEntriesTableTableManager(_db.attachedDatabase, _db.moodEntries);
$$EntryActivitiesTableTableManager get entryActivities =>
$$EntryActivitiesTableTableManager(
_db.attachedDatabase, _db.entryActivities);
}