feat(ai-scribe): Fix cannot parsing AI capability from Session
This commit is contained in:
@@ -12,6 +12,7 @@ import 'package:jmap_dart_client/jmap/core/capability/web_socket_ticket_capabili
|
||||
import 'package:jmap_dart_client/jmap/core/capability/websocket_capability.dart';
|
||||
import 'package:model/saas/saas_account_capability.dart';
|
||||
import 'package:model/support/contact_support_capability.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/model/ai_capability.dart';
|
||||
|
||||
class CapabilityPropertiesConverter {
|
||||
|
||||
@@ -38,6 +39,8 @@ class CapabilityPropertiesConverter {
|
||||
return properties.toJson();
|
||||
} else if (properties is SaaSAccountCapability) {
|
||||
return properties.toJson();
|
||||
} else if (properties is AICapability) {
|
||||
return properties.toJson();
|
||||
} else if (properties is DefaultCapability) {
|
||||
return properties.properties;
|
||||
} else if (properties is EmptyCapability) {
|
||||
|
||||
@@ -12,11 +12,11 @@ import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart
|
||||
import 'package:jmap_dart_client/jmap/core/capability/capability_properties.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
|
||||
import 'package:model/ai/ai_capability.dart';
|
||||
import 'package:model/ai/capability_ai.dart';
|
||||
import 'package:model/download_all/download_all_capability.dart';
|
||||
import 'package:model/mailbox/mailbox_constants.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/model/ai_capability.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/utils/ai_scribe_constants.dart';
|
||||
import 'package:server_settings/server_settings/capability_server_settings.dart';
|
||||
import 'package:tmail_ui_user/features/home/data/model/session_hive_obj.dart';
|
||||
import 'package:tmail_ui_user/features/home/domain/converter/session_account_converter.dart';
|
||||
@@ -35,7 +35,7 @@ extension SessionExtensions on Session {
|
||||
linagoraDownloadAllCapability: DownloadAllCapability.deserialize,
|
||||
capabilityServerSettings: SettingsCapability.deserialize,
|
||||
linagoraSaaSCapability: SaaSAccountCapability.deserialize,
|
||||
capabilityAI: AICapability.deserialize,
|
||||
AiScribeConstants.aiCapability: AICapability.deserialize,
|
||||
};
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
@@ -173,7 +173,7 @@ extension SessionExtensions on Session {
|
||||
try {
|
||||
final aiCapability = getCapabilityProperties<AICapability>(
|
||||
accountId,
|
||||
capabilityAI,
|
||||
AiScribeConstants.aiCapability,
|
||||
);
|
||||
log('SessionExtensions::getAICapability:aiCapability = $aiCapability');
|
||||
return aiCapability;
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
|
||||
|
||||
final capabilityAI = CapabilityIdentifier(Uri.parse('com:linagora:params:jmap:aibot'));
|
||||
@@ -4,7 +4,11 @@ export 'scribe/ai/domain/usecases/generate_ai_text_interactor.dart';
|
||||
export 'scribe/ai/domain/repository/ai_scribe_repository.dart';
|
||||
export 'scribe/ai/domain/model/ai_response.dart';
|
||||
export 'scribe/ai/domain/state/generate_ai_text_state.dart';
|
||||
export 'scribe/ai/presentation/model/ai_action.dart';
|
||||
export 'scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
||||
|
||||
export 'scribe/ai/data/repository/ai_repository_impl.dart';
|
||||
export 'scribe/ai/data/datasource/ai_datasource.dart';
|
||||
|
||||
export 'scribe/ai/presentation/model/ai_action.dart';
|
||||
export 'scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
||||
export 'scribe/ai/presentation/model/ai_capability.dart';
|
||||
export 'scribe/ai/presentation/utils/ai_scribe_constants.dart';
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"@@last_modified": "2025-12-15T14:32:54.358333",
|
||||
"@@last_modified": "2025-12-16T18:07:47.039649",
|
||||
"categoryCorrectGrammar": "Correct grammar",
|
||||
"@categoryCorrectGrammar": {
|
||||
"type": "text",
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
|
||||
|
||||
class AiScribeConstants {
|
||||
AiScribeConstants._();
|
||||
|
||||
static final CapabilityIdentifier aiCapability =
|
||||
CapabilityIdentifier(Uri.parse('com:linagora:params:jmap:aibot'));
|
||||
}
|
||||
+22
-5
@@ -109,10 +109,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: build_runner_core
|
||||
sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0
|
||||
sha256: "0671ad4162ed510b70d0eb4ad6354c249f8429cab4ae7a4cec86bbc2886eb76e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.3.2"
|
||||
version: "7.2.7+1"
|
||||
built_collection:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -669,6 +669,15 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.5"
|
||||
jmap_dart_client:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
path: "."
|
||||
ref: main
|
||||
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
|
||||
url: "https://github.com/linagora/jmap-dart-client.git"
|
||||
source: git
|
||||
version: "0.3.6"
|
||||
js:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -678,13 +687,13 @@ packages:
|
||||
source: hosted
|
||||
version: "0.7.2"
|
||||
json_annotation:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: json_annotation
|
||||
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
|
||||
sha256: c33da08e136c3df0190bd5bbe51ae1df4a7d96e7954d1d7249fea2968a72d317
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.8.1"
|
||||
version: "4.8.0"
|
||||
json_serializable:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -981,6 +990,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
quiver:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: quiver
|
||||
sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.1"
|
||||
sanitize_html:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -17,6 +17,12 @@ dependencies:
|
||||
core:
|
||||
path: ../core
|
||||
|
||||
### Dependencies from git ###
|
||||
jmap_dart_client:
|
||||
git:
|
||||
url: https://github.com/linagora/jmap-dart-client.git
|
||||
ref: main
|
||||
|
||||
### Dependencies from pub.dev ###
|
||||
dartz: 0.10.1
|
||||
|
||||
@@ -28,6 +34,8 @@ dependencies:
|
||||
|
||||
intl: 0.20.2
|
||||
|
||||
json_annotation: 4.8.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
Reference in New Issue
Block a user