From 186678010c69cec715ca41962921fb4059833c0d Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Fri, 7 Mar 2025 06:26:11 +0530 Subject: [PATCH] update formatting and pubspec --- lib/dashbot/features/debug.dart | 10 +- lib/dashbot/features/explain.dart | 10 +- lib/dashbot/providers/dashbot_providers.dart | 5 +- lib/dashbot/services/dashbot_service.dart | 14 +- lib/dashbot/widgets/content_renderer.dart | 9 +- lib/dashbot/widgets/dashbot_widget.dart | 13 +- pubspec.lock | 133 ++++++++++++------- pubspec.yaml | 55 ++++---- 8 files changed, 155 insertions(+), 94 deletions(-) diff --git a/lib/dashbot/features/debug.dart b/lib/dashbot/features/debug.dart index 8e0041d0..1ccbe710 100644 --- a/lib/dashbot/features/debug.dart +++ b/lib/dashbot/features/debug.dart @@ -15,13 +15,19 @@ class DebugFeature { return "No recent API requests found."; } - final method = requestModel.httpRequestModel?.method.toString().split('.').last.toUpperCase() ?? "GET"; + final method = requestModel.httpRequestModel?.method + .toString() + .split('.') + .last + .toUpperCase() ?? + "GET"; final endpoint = requestModel.httpRequestModel?.url ?? "Unknown Endpoint"; final headers = requestModel.httpRequestModel?.enabledHeadersMap ?? {}; final parameters = requestModel.httpRequestModel?.enabledParamsMap ?? {}; final body = requestModel.httpRequestModel?.body; final rawResponse = responseModel.body; - final responseBody = rawResponse is String ? rawResponse : jsonEncode(rawResponse); + final responseBody = + rawResponse is String ? rawResponse : jsonEncode(rawResponse); final statusCode = responseModel.statusCode ?? 0; final prompt = ''' diff --git a/lib/dashbot/features/explain.dart b/lib/dashbot/features/explain.dart index e2bacbfa..3b677f96 100644 --- a/lib/dashbot/features/explain.dart +++ b/lib/dashbot/features/explain.dart @@ -19,13 +19,19 @@ class ExplainFeature { return "Error: Invalid API request (missing endpoint)."; } - final method = requestModel.httpRequestModel?.method.toString().split('.').last.toUpperCase() ?? "GET"; + final method = requestModel.httpRequestModel?.method + .toString() + .split('.') + .last + .toUpperCase() ?? + "GET"; final endpoint = requestModel.httpRequestModel!.url!; final headers = requestModel.httpRequestModel?.enabledHeadersMap ?? {}; final parameters = requestModel.httpRequestModel?.enabledParamsMap ?? {}; final body = requestModel.httpRequestModel?.body; final rawResponse = responseModel.body; - final responseBody = rawResponse is String ? rawResponse : jsonEncode(rawResponse); + final responseBody = + rawResponse is String ? rawResponse : jsonEncode(rawResponse); final statusCode = responseModel.statusCode ?? 0; final prompt = ''' diff --git a/lib/dashbot/providers/dashbot_providers.dart b/lib/dashbot/providers/dashbot_providers.dart index 5e589e0c..2015d6a8 100644 --- a/lib/dashbot/providers/dashbot_providers.dart +++ b/lib/dashbot/providers/dashbot_providers.dart @@ -3,8 +3,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../services/dashbot_service.dart'; -final chatMessagesProvider = StateNotifierProvider>>( - (ref) => ChatMessagesNotifier(), +final chatMessagesProvider = + StateNotifierProvider>>( + (ref) => ChatMessagesNotifier(), ); final dashBotServiceProvider = Provider((ref) { diff --git a/lib/dashbot/services/dashbot_service.dart b/lib/dashbot/services/dashbot_service.dart index f9911afa..8eb0087c 100644 --- a/lib/dashbot/services/dashbot_service.dart +++ b/lib/dashbot/services/dashbot_service.dart @@ -8,7 +8,8 @@ class DashBotService { late final ExplainFeature _explainFeature; late final DebugFeature _debugFeature; - DashBotService() : _client = OllamaClient(baseUrl: 'http://127.0.0.1:11434/api') { + DashBotService() + : _client = OllamaClient(baseUrl: 'http://127.0.0.1:11434/api') { _explainFeature = ExplainFeature(this); _debugFeature = DebugFeature(this); } @@ -20,11 +21,14 @@ class DashBotService { return response.response.toString(); } - Future handleRequest(String input, RequestModel? requestModel, dynamic responseModel) async { + Future handleRequest( + String input, RequestModel? requestModel, dynamic responseModel) async { if (input == "Explain API") { - return _explainFeature.explainLatestApi(requestModel: requestModel, responseModel: responseModel); - } else if(input == "Debug API") { - return _debugFeature.debugApi(requestModel: requestModel, responseModel: responseModel); + return _explainFeature.explainLatestApi( + requestModel: requestModel, responseModel: responseModel); + } else if (input == "Debug API") { + return _debugFeature.debugApi( + requestModel: requestModel, responseModel: responseModel); } return generateResponse(input); diff --git a/lib/dashbot/widgets/content_renderer.dart b/lib/dashbot/widgets/content_renderer.dart index c157c0c9..1e8699a6 100644 --- a/lib/dashbot/widgets/content_renderer.dart +++ b/lib/dashbot/widgets/content_renderer.dart @@ -22,7 +22,8 @@ Widget renderContent(BuildContext context, String text) { for (var match in matches) { if (match.start > lastEnd) { - children.add(_renderMarkdown(context, text.substring(lastEnd, match.start))); + children + .add(_renderMarkdown(context, text.substring(lastEnd, match.start))); } final language = match.group(1) ?? 'text'; @@ -55,7 +56,8 @@ Widget _renderMarkdown(BuildContext context, String markdown) { Widget _renderCodeBlock(BuildContext context, String language, String code) { if (language == 'json') { try { - final prettyJson = const JsonEncoder.withIndent(' ').convert(jsonDecode(code)); + final prettyJson = + const JsonEncoder.withIndent(' ').convert(jsonDecode(code)); return Container( padding: const EdgeInsets.all(8), color: Theme.of(context).colorScheme.surfaceContainerLow, @@ -91,7 +93,8 @@ Widget _renderFallbackCode(BuildContext context, String code) { color: Theme.of(context).colorScheme.surfaceContainerLow, child: SelectableText( code, - style: const TextStyle(fontFamily: 'monospace', fontSize: 12, color: Colors.red), + style: const TextStyle( + fontFamily: 'monospace', fontSize: 12, color: Colors.red), ), ); } diff --git a/lib/dashbot/widgets/dashbot_widget.dart b/lib/dashbot/widgets/dashbot_widget.dart index f876df28..073df4dd 100644 --- a/lib/dashbot/widgets/dashbot_widget.dart +++ b/lib/dashbot/widgets/dashbot_widget.dart @@ -44,7 +44,8 @@ class _DashBotWidgetState extends ConsumerState { }); try { - final response = await dashBotService.handleRequest(message, requestModel, responseModel); + final response = await dashBotService.handleRequest( + message, requestModel, responseModel); ref.read(chatMessagesProvider.notifier).addMessage({ 'role': 'bot', 'message': response, @@ -82,7 +83,9 @@ class _DashBotWidgetState extends ConsumerState { decoration: BoxDecoration( color: Theme.of(context).colorScheme.surface, borderRadius: BorderRadius.circular(12), - boxShadow: const [BoxShadow(color: Colors.black12, blurRadius: 8, offset: Offset(0, 4))], + boxShadow: const [ + BoxShadow(color: Colors.black12, blurRadius: 8, offset: Offset(0, 4)) + ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -104,11 +107,13 @@ class _DashBotWidgetState extends ConsumerState { return Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - const Text('DashBot', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)), + const Text('DashBot', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)), IconButton( icon: const Icon(Icons.delete_sweep), tooltip: 'Clear Chat', - onPressed: () => ref.read(chatMessagesProvider.notifier).clearMessages(), + onPressed: () => + ref.read(chatMessagesProvider.notifier).clearMessages(), ), ], ); diff --git a/pubspec.lock b/pubspec.lock index 3c7748cc..b16f69dd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57 url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "80.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e" url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "7.3.0" ansi_styles: dependency: transitive description: @@ -100,6 +95,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.12" + binary_codec: + dependency: transitive + description: + name: binary_codec + sha256: "368144225d749e1e33f2f4628d0c70bffff99b99b1d6c0777b039f8967365b07" + url: "https://pub.dev" + source: hosted + version: "2.0.3" boolean_selector: dependency: transitive description: @@ -204,6 +207,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + ci: + dependency: transitive + description: + name: ci + sha256: "145d095ce05cddac4d797a158bc4cf3b6016d1fe63d8c3d2fbd7212590adca13" + url: "https://pub.dev" + source: hosted + version: "0.1.0" cli_launcher: dependency: transitive description: @@ -311,10 +322,10 @@ packages: dependency: "direct main" description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: "27eb0ae77836989a3bc541ce55595e8ceee0992807f14511552a898ddd0d88ac" url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "3.0.1" dartx: dependency: transitive description: @@ -335,10 +346,10 @@ packages: dependency: "direct main" description: name: desktop_drop - sha256: d55a010fe46c8e8fcff4ea4b451a9ff84a162217bdb3b2a0aa1479776205e15d + sha256: "03abf1c0443afdd1d65cf8fa589a2f01c67a11da56bbb06f6ea1de79d5628e94" url: "https://pub.dev" source: hosted - version: "0.4.4" + version: "0.5.0" equatable: dependency: transitive description: @@ -487,18 +498,18 @@ packages: dependency: "direct main" description: name: flex_color_scheme - sha256: "32914024a4f404d90ff449f58d279191675b28e7c08824046baf06826e99d984" + sha256: ae638050fceb35b6040a43cf67892f9b956022068e736284919d93322fdd4ba2 url: "https://pub.dev" source: hosted - version: "7.3.1" + version: "8.1.1" flex_seed_scheme: dependency: transitive description: name: flex_seed_scheme - sha256: "4cee2f1d07259f77e8b36f4ec5f35499d19e74e17c7dce5b819554914082bc01" + sha256: d3ba3c5c92d2d79d45e94b4c6c71d01fac3c15017da1545880c53864da5dfeb0 url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "3.5.0" flutter: dependency: "direct main" description: flutter @@ -521,10 +532,10 @@ packages: dependency: "direct main" description: name: flutter_hooks - sha256: cde36b12f7188c85286fba9b38cc5a902e7279f36dd676967106c041dc9dde70 + sha256: b772e710d16d7a20c0740c4f855095026b31c7eb5ba3ab67d2bd52021cd9461d url: "https://pub.dev" source: hosted - version: "0.20.5" + version: "0.21.2" flutter_keyboard_visibility: dependency: transitive description: @@ -577,18 +588,18 @@ packages: dependency: "direct dev" description: name: flutter_launcher_icons - sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + sha256: bfa04787c85d80ecb3f8777bde5fc10c3de809240c48fa061a2c2bf15ea5211c url: "https://pub.dev" source: hosted - version: "0.13.1" + version: "0.14.3" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.0.0" flutter_markdown: dependency: "direct main" description: @@ -651,10 +662,10 @@ packages: dependency: "direct dev" description: name: freezed - sha256: "44c19278dd9d89292cf46e97dc0c1e52ce03275f40a97c5a348e802a924bf40e" + sha256: "59a584c24b3acdc5250bb856d0d3e9c0b798ed14a4af1ddb7dc1c7b41df91c9c" url: "https://pub.dev" source: hosted - version: "2.5.7" + version: "2.5.8" freezed_annotation: dependency: transitive description: @@ -680,10 +691,10 @@ packages: dependency: "direct main" description: name: fvp - sha256: "040aa12beccd5bc60631259f27a481c4abc11a389aa4f57a47b643f58fe0b060" + sha256: f5012756985f7c8c19caaea2d65baf8a6cf5fee9fe520e1fabb8bc61e1d5f468 url: "https://pub.dev" source: hosted - version: "0.26.1" + version: "0.30.0" glob: dependency: transitive description: @@ -740,6 +751,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.6.1" + hotreloader: + dependency: transitive + description: + name: hotreloader + sha256: bc167a1163807b03bada490bfe2df25b0d744df359227880220a5cbd04e5734b + url: "https://pub.dev" + source: hosted + version: "4.3.0" html: dependency: transitive description: @@ -816,6 +835,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.5" + jaspr: + dependency: transitive + description: + name: jaspr + sha256: "1bc6dfd4e00ac45e85efff80e457ff5fb7a40ed05828f8046b130cc6bfe7fd36" + url: "https://pub.dev" + source: hosted + version: "0.15.2" jinja: dependency: "direct main" description: @@ -828,10 +855,10 @@ packages: dependency: transitive description: name: js - sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.6.7" json_annotation: dependency: "direct main" description: @@ -851,10 +878,10 @@ packages: dependency: "direct dev" description: name: json_serializable - sha256: c2fcb3920cf2b6ae6845954186420fca40bc0a8abcc84903b7801f17d7050d7c + sha256: "81f04dee10969f89f604e1249382d46b97a1ccad53872875369622b5bfc9e58a" url: "https://pub.dev" source: hosted - version: "6.9.0" + version: "6.9.4" json_text_field: dependency: "direct main" description: @@ -931,10 +958,10 @@ packages: dependency: transitive description: name: lints - sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.1.1" logging: dependency: transitive description: @@ -951,14 +978,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.3.1" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" markdown: dependency: "direct main" description: @@ -1294,7 +1313,7 @@ packages: source: hosted version: "6.1.2" pub_semver: - dependency: transitive + dependency: "direct main" description: name: pub_semver sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" @@ -1477,6 +1496,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.2" + shelf_gzip: + dependency: transitive + description: + name: shelf_gzip + sha256: "4f4b793c0f969f348aece1ab4cc05fceba9fea431c1ce76b1bc0fa369cecfc15" + url: "https://pub.dev" + source: hosted + version: "4.1.0" shelf_packages_handler: dependency: transitive description: @@ -1485,6 +1512,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.2" + shelf_proxy: + dependency: transitive + description: + name: shelf_proxy + sha256: a71d2307f4393211930c590c3d2c00630f6c5a7a77edc1ef6436dfd85a6a7ee3 + url: "https://pub.dev" + source: hosted + version: "1.0.4" shelf_static: dependency: transitive description: @@ -1518,10 +1553,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: "35c8150ece9e8c8d263337a265153c3329667640850b9304861faea59fc98f6b" url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "2.0.0" source_helper: dependency: transitive description: @@ -1558,10 +1593,10 @@ packages: dependency: "direct dev" description: name: spot - sha256: "648cd3e9f9b336d005a4dcde24538e44edc72b8d548e0416fa93c0541655f219" + sha256: "8743e97055bbd22d0eb33d25673aa6dafee7c6eaa869860d0f5a68b7348e12bc" url: "https://pub.dev" source: hosted - version: "0.13.0" + version: "0.17.0" sprintf: dependency: transitive description: @@ -1854,10 +1889,10 @@ packages: dependency: "direct overridden" description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.1" web_socket: dependency: transitive description: @@ -1949,4 +1984,4 @@ packages: version: "2.2.2" sdks: dart: ">=3.7.0 <3.999.0" - flutter: ">=3.27.0" + flutter: ">=3.29.0" diff --git a/pubspec.yaml b/pubspec.yaml index f6a075ff..af67db98 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ version: 0.5.0+5 environment: sdk: ">=3.0.0 <4.0.0" - flutter: ">=3.24.2" + flutter: ">=3.29.0" dependencies: flutter: @@ -17,76 +17,77 @@ dependencies: code_builder: ^4.10.0 csv: ^6.0.0 data_table_2: 2.5.16 - dart_style: ^2.3.7 - desktop_drop: ^0.4.4 + dart_style: ^3.0.1 + desktop_drop: ^0.5.0 extended_text_field: ^16.0.0 file_selector: ^1.0.3 - flex_color_scheme: ^7.3.1 - flutter_hooks: ^0.20.5 - flutter_markdown: ^0.7.3+1 + flex_color_scheme: ^8.1.1 + flutter_highlighter: ^0.1.0 + flutter_hooks: ^0.21.2 + flutter_markdown: ^0.7.6+2 flutter_portal: ^1.1.4 flutter_riverpod: ^2.5.1 - flutter_svg: ^2.0.10+1 + flutter_svg: ^2.0.17 flutter_typeahead: ^5.2.0 - fvp: ^0.26.1 + fvp: ^0.30.0 highlighter: ^0.1.1 hive_flutter: ^1.1.0 hooks_riverpod: ^2.5.2 intl: ^0.19.0 - jinja: ^0.6.0 + jinja: ^0.6.1 json_annotation: ^4.9.0 json_explorer: path: packages/json_explorer json_text_field: ^1.2.0 - just_audio: ^0.9.40 + just_audio: ^0.9.46 just_audio_mpv: ^0.1.7 just_audio_windows: ^0.2.0 - lottie: ^3.1.0 - markdown: ^7.2.2 + lottie: ^3.3.1 + markdown: ^7.3.0 mime_dart: ^3.0.0 multi_split_view: ^3.2.2 multi_trigger_autocomplete_plus: path: packages/multi_trigger_autocomplete_plus - package_info_plus: ^8.0.2 + ollama_dart: ^0.2.2 + package_info_plus: ^8.3.0 path: ^1.8.3 path_provider: ^2.1.2 printing: ^5.13.4 provider: ^6.1.2 + pub_semver: ^2.1.5 riverpod: ^2.5.1 scrollable_positioned_list: ^0.3.8 - shared_preferences: ^2.3.2 + share_plus: ^10.1.4 + shared_preferences: ^2.5.2 url_launcher: ^6.2.5 uuid: ^4.5.0 vector_graphics_compiler: ^1.1.9+1 - video_player: ^2.8.7 - video_player_platform_interface: ^6.2.2 + video_player: ^2.9.3 + video_player_platform_interface: ^6.3.0 window_manager: ^0.4.2 window_size: git: url: https://github.com/google/flutter-desktop-embedding.git path: plugins/window_size - share_plus: ^10.1.4 - ollama_dart: ^0.2.2 - flutter_highlighter: ^0.1.0 dependency_overrides: extended_text_field: ^16.0.0 pdf_widget_wrapper: ^1.0.4 - web: ^0.5.0 + web: ^1.1.1 dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.12 - flutter_launcher_icons: ^0.13.1 - flutter_lints: ^4.0.0 - flutter_native_splash: ^2.4.1 + build_runner: ^2.4.15 + flutter_launcher_icons: ^0.14.3 + flutter_lints: ^5.0.0 + flutter_native_splash: ^2.4.5 freezed: ^2.5.7 - json_serializable: ^6.7.1 + json_serializable: ^6.9.4 integration_test: sdk: flutter - melos: ^6.2.0 - spot: ^0.13.0 + melos: ^6.3.2 + spot: ^0.17.0 test: ^1.25.2 flutter: