chatai 2.1.0 copy "chatai: ^2.1.0" to clipboard
chatai: ^2.1.0 copied to clipboard

This is a ChatGPT tool written in Flutter that supports packaging for mobile, desktop, and web platforms.

65/ 160
pub points
19
downloads

We analyzed this package 3 hours ago, and awarded it 65 pub points (of a possible 160):

Failed report section
Follow Dart file conventions
5 / 30trigger folding of the section

Failed check 0/10 points: Provide a valid pubspec.yaml

  • pubspec.yaml doesn't have a homepage entry.

  • pubspec.yaml doesn't have a repository entry.

Passed check 5/5 points: Provide a valid README.md

Failed check 0/5 points: Provide a valid CHANGELOG.md

No `CHANGELOG.md` found.

Changelog entries help developers follow the progress of your package. Check out the Dart conventions for Maintaining a package changelog.

Failed check 0/10 points: Use an OSI-approved license

No license was recognized.

Consider using an OSI-approved license in the LICENSE file to make it more accessible to the community.

Failed report section
Provide documentation
0 / 20trigger folding of the section

Partially passed check 0/10 points: 20% or more of the public API has dartdoc comments

55 out of 335 API elements (16.4 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

To highlight public API members missing documentation consider enabling the public_member_api_docs lint.

Some symbols that are missing documentation: bingSearch, bingSearch.fetchAndParse, bingSearch.main, chat, chat.ChatWindow.

Failed check 0/10 points: Package has an example

No example found.

See package layout guidelines on how to add an example.

Failed report section
Platform support
20 / 20trigger folding of the section

Passed check 20/20 points: Supports 6 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

  • ✓ Web

These issues are present but do not affect the score, because they may not originate in your package:

Package does not support platform `Android`.

Because:

  • package:chatai/chatai.dart that imports:
  • package:chatai/pages/setting.dart that imports:
  • package:chatai/controller/settings.dart that imports:
  • package:chatai/utils/package.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `iOS`.

Because:

  • package:chatai/chatai.dart that imports:
  • package:chatai/pages/setting.dart that imports:
  • package:chatai/controller/settings.dart that imports:
  • package:chatai/utils/package.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `Windows`.

Because:

  • package:chatai/chatai.dart that imports:
  • package:chatai/components/conversation.dart that imports:
  • package:chatai/repository/conversation.dart that imports:
  • package:sqflite_common_ffi_web/sqflite_ffi_web.dart that declares support for platforms: Web.
Package does not support platform `Linux`.

Because:

  • package:chatai/chatai.dart that imports:
  • package:chatai/pages/setting.dart that imports:
  • package:chatai/controller/settings.dart that imports:
  • package:chatai/utils/package.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `macOS`.

Because:

  • package:chatai/chatai.dart that imports:
  • package:chatai/pages/setting.dart that imports:
  • package:chatai/controller/settings.dart that imports:
  • package:chatai/utils/package.dart that imports:
  • package:package_info_plus/package_info_plus.dart that imports:
  • package:package_info_plus/src/package_info_plus_windows.dart that imports:
  • package:package_info_plus/src/file_version_info.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `Web`.

Because:

  • package:chatai/chatai.dart that imports:
  • package:chatai/components/conversation.dart that imports:
  • package:chatai/controller/message.dart that imports:
  • package:chatai/repository/message.dart that imports:
  • package:chatai/data/you.dart that imports:
  • package:vibration/vibration.dart that declares support for platforms: Android, iOS.

Failed check 0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:chatai/chatai.dart that imports:
  • package:chatai/pages/setting.dart that imports:
  • package:chatai/controller/settings.dart that imports:
  • package:get_storage/get_storage.dart that imports:
  • package:get_storage/src/storage_impl.dart that imports:
  • package:get_storage/src/storage/html.dart that imports:
  • dart:html

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.cn/web/wasm for details.

Failed report section
Pass static analysis
30 / 50trigger folding of the section

Failed check 30/50 points: code has no errors, warnings, lints, or formatting issues

Found 58 issues. Showing the first 2:

WARNING: Unused import: 'package:chatai/data/glm.dart'.

lib/repository/message.dart:4:8

  ╷
4 │ import 'package:chatai/data/glm.dart';
  │        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/repository/message.dart

WARNING: The receiver can't be 'null' because of short-circuiting, so the null-aware operator '?.' can't be used.

lib/utils/bingSearch.dart:32:43

   ╷
32 │       var abstract = abstractElement?.text?.trim();
   │                                           ^^
   ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/utils/bingSearch.dart

Failed report section
Support up-to-date dependencies
10 / 40trigger folding of the section

Failed check 0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest Notes
cupertino_icons ^1.0.2 1.0.8 1.0.8
dart_openai ^4.0.0 4.1.4 6.1.1
equatable ^2.0.5 2.0.8 2.0.8
flex_color_scheme ^8.2.0 8.4.0 8.4.0
flutter_easyloading ^3.0.5 3.0.5 3.0.5
flutter_launcher_icons ^0.14.3 0.14.4 0.14.4
flutter_math_fork ^0.7.4 0.7.4 0.7.4
font_awesome_flutter ^10.4.0 10.12.0 10.12.0
freezed ^2.3.2 2.5.8 3.2.4
get ^5.0.0-release-candidate-9.2.1 5.0.0-release-candidate-9.3.2 5.0.0-release-candidate-9.3.2
get_it ^7.2.0 7.7.0 9.2.0
get_storage ^2.1.1 2.1.1 2.1.1
html ^0.15.4 0.15.6 0.15.6
http ^1.4.0 1.6.0 1.6.0
markdown ^7.3.0 7.3.0 7.3.0
markdown_widget ^2.3.2+8 2.3.2+8 2.3.2+8
package_info_plus ^4.0.1 4.2.0 9.0.0
path ^1.8.3 1.9.1 1.9.1
path_provider ^2.0.13 2.1.5 2.1.5
platform ^3.1.6 3.1.6 3.1.6
sqflite ^2.2.6 2.4.2 2.4.2
sqflite_common_ffi ^2.3.6 2.4.0+2 2.4.0+2
sqflite_common_ffi_web ^1.0.0 1.1.1 1.1.1
universal_platform ^1.1.0 1.1.0 1.1.0
url_launcher_web ^2.0.18 2.4.1 2.4.1
uuid ^3.0.7 3.0.7 4.5.2
vibration ^1.8.1 1.9.0 3.1.5
Transitive dependencies
Package Constraint Compatible Latest Notes
_fe_analyzer_shared - 85.0.0 92.0.0
analyzer - 7.7.1 9.0.0
archive - 4.0.7 4.0.7
args - 2.7.0 2.7.0
async - 2.13.0 2.13.0
build - 2.4.2 4.0.3
build_config - 1.2.0 1.2.0
characters - 1.4.0 1.4.1
checked_yaml - 2.0.4 2.0.4
cli_util - 0.4.2 0.4.2
code_assets - 1.0.0 1.0.0
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
crypto - 3.0.7 3.0.7
csslib - 1.0.2 1.0.2
dart_style - 3.1.1 3.1.3
dev_build - 1.1.3+1 1.1.3+1
device_info_plus - 11.5.0 12.3.0
device_info_plus_platform_interface - 7.0.3 7.0.3
fetch_api - 2.3.1 2.3.1
fetch_client - 1.2.0 1.2.0
ffi - 2.1.4 2.1.4
file - 7.0.1 7.0.1
flex_seed_scheme - 4.0.1 4.0.1
flutter_highlight - 0.7.0 0.7.0
flutter_spinkit - 5.2.2 5.2.2
flutter_svg - 2.2.3 2.2.3
freezed_annotation - 2.4.4 3.1.0
glob - 2.1.3 2.1.3
highlight - 0.7.0 0.7.0
hooks - 1.0.0 1.0.0
http_parser - 4.1.2 4.1.2
image - 4.7.2 4.7.2
json_annotation - 4.9.0 4.9.0
logging - 1.3.0 1.3.0
material_color_utilities - 0.11.1 0.13.0
meta - 1.17.0 1.17.0
native_toolchain_c - 0.17.4 0.17.4
nested - 1.0.0 1.0.0
package_config - 2.2.0 2.2.0
package_info_plus_platform_interface - 2.0.1 3.2.1
path_parsing - 1.1.0 1.1.0
path_provider_android - 2.2.22 2.2.22
path_provider_foundation - 2.5.1 2.5.1
path_provider_linux - 2.2.1 2.2.1
path_provider_platform_interface - 2.1.2 2.1.2
path_provider_windows - 2.3.0 2.3.0
petitparser - 7.0.1 7.0.1
plugin_platform_interface - 2.1.8 2.1.8
pool - 1.5.2 1.5.2
posix - 6.0.3 6.0.3
process_run - 1.2.4 1.2.4
provider - 6.1.5+1 6.1.5+1
pub_semver - 2.2.0 2.2.0
pubspec_parse - 1.5.0 1.5.0
scroll_to_index - 3.0.1 3.0.1
source_gen - 2.0.0 4.1.1
source_span - 1.10.1 1.10.1
sqflite_android - 2.4.2+2 2.4.2+2
sqflite_common - 2.5.6 2.5.6
sqflite_darwin - 2.4.2 2.4.2
sqflite_platform_interface - 2.4.0 2.4.0
sqlite3 - 3.1.2 3.1.2
stack_trace - 1.12.1 1.12.1
string_scanner - 1.4.1 1.4.1
synchronized - 3.4.0 3.4.0
term_glyph - 1.2.2 1.2.2
tuple - 2.0.2 2.0.2
typed_data - 1.4.0 1.4.0
url_launcher - 6.3.2 6.3.2
url_launcher_android - 6.3.28 6.3.28
url_launcher_ios - 6.3.6 6.3.6
url_launcher_linux - 3.2.2 3.2.2
url_launcher_macos - 3.2.5 3.2.5
url_launcher_platform_interface - 2.3.2 2.3.2
url_launcher_windows - 3.1.5 3.1.5
vector_graphics - 1.1.19 1.1.19
vector_graphics_codec - 1.1.13 1.1.13
vector_graphics_compiler - 1.1.19 1.1.19
vector_math - 2.2.0 2.2.0
vibration_platform_interface - 0.0.3 0.1.1
visibility_detector - 0.4.0+2 0.4.0+2
watcher - 1.2.0 1.2.0
web - 1.1.1 1.1.1
win32 - 5.15.0 5.15.0
win32_registry - 2.1.0 2.1.0
xdg_directories - 1.1.0 1.1.0
xml - 6.6.1 6.6.1
yaml - 3.1.3 3.1.3

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

Found 6 issues. Showing the first 2:

The constraint `^4.0.0` on dart_openai does not support the stable version `5.0.0`.

Try running dart pub upgrade --major-versions dart_openai to update the constraint.

The constraint `^2.3.2` on freezed does not support the stable version `3.0.0`.

Try running dart pub upgrade --major-versions freezed to update the constraint.

Passed check 10/10 points: Package supports latest stable Dart and Flutter SDKs

Failed check 0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 12 errors:

  • NON_TYPE_AS_TYPE_ARGUMENT - lib/data/llm.dart:13:32 - The name 'OpenAIChatCompletionChoiceMessageContentItemModel' isn't a type, so it can't be used as a type argument.
  • UNCHECKED_USE_OF_NULLABLE_VALUE - lib/data/llm.dart:14:41 - The property 'text' can't be unconditionally accessed because the receiver can be 'null'.
  • ARGUMENT_TYPE_NOT_ASSIGNABLE - lib/data/llm.dart:52:22 - The argument type 'List

Run flutter pub downgrade and then flutter analyze to reproduce the above problem.

You may run dart pub upgrade --tighten to update your dependency constraints, see dart.dev/go/downgrade-testing for details.

Analyzed with Pana 0.23.3, Flutter 3.38.4, Dart 3.10.3.

Check the analysis log for details.

Weekly downloads

Display as:
By versions: