diff --git a/lib/dashbot/constants.dart b/lib/dashbot/constants.dart new file mode 100644 index 00000000..3a2801a2 --- /dev/null +++ b/lib/dashbot/constants.dart @@ -0,0 +1,56 @@ +/// Role of a chat message author. +enum MessageRole { user, system } + +enum ChatMessageType { + explainResponse, + debugError, + generateTest, + generateDoc, + generateCode, + importCurl, + importOpenApi, + general +} + +enum ChatActionType { + updateField('update_field'), + addHeader('add_header'), + updateHeader('update_header'), + deleteHeader('delete_header'), + updateBody('update_body'), + updateUrl('update_url'), + updateMethod('update_method'), + showLanguages('show_languages'), + applyCurl('apply_curl'), + applyOpenApi('apply_openapi'), + downloadDoc('download_doc'), + other('other'), + noAction('no_action'), + uploadAsset('upload_asset'); + + const ChatActionType(this.text); + final String text; +} + +enum ChatActionTarget { + httpRequestModel, + codegen, + test, + code, + attachment, + documentation, +} + +ChatActionType chatActionTypeFromString(String s) { + return ChatActionType.values.firstWhere( + (type) => type.text == s, + orElse: () => ChatActionType.other, + ); +} + +ChatActionTarget chatActionTargetFromString(String s) { + return ChatActionTarget.values.firstWhere( + (target) => target.name == s, + orElse: () => ChatActionTarget.httpRequestModel, + ); +} diff --git a/lib/dashbot/core/constants/constants.dart b/lib/dashbot/core/constants/constants.dart deleted file mode 100644 index 32a80192..00000000 --- a/lib/dashbot/core/constants/constants.dart +++ /dev/null @@ -1,143 +0,0 @@ -/// Role of a chat message author. -enum MessageRole { user, system } - -enum ChatMessageType { - explainResponse, - debugError, - generateTest, - generateDoc, - generateCode, - importCurl, - importOpenApi, - general -} - -enum ChatActionType { - updateField, - addHeader, - updateHeader, - deleteHeader, - updateBody, - updateUrl, - updateMethod, - showLanguages, - applyCurl, - applyOpenApi, - downloadDoc, - other, - noAction, - uploadAsset, -} - -enum ChatActionTarget { - httpRequestModel, - codegen, - test, - code, - attachment, - documentation, -} - -ChatActionType chatActionTypeFromString(String s) { - switch (s) { - case 'update_field': - return ChatActionType.updateField; - case 'add_header': - return ChatActionType.addHeader; - case 'update_header': - return ChatActionType.updateHeader; - case 'delete_header': - return ChatActionType.deleteHeader; - case 'update_body': - return ChatActionType.updateBody; - case 'update_url': - return ChatActionType.updateUrl; - case 'update_method': - return ChatActionType.updateMethod; - case 'show_languages': - return ChatActionType.showLanguages; - case 'apply_curl': - return ChatActionType.applyCurl; - case 'apply_openapi': - return ChatActionType.applyOpenApi; - case 'download_doc': - return ChatActionType.downloadDoc; - case 'upload_asset': - return ChatActionType.uploadAsset; - case 'no_action': - return ChatActionType.noAction; - case 'other': - return ChatActionType.other; - default: - return ChatActionType.other; - } -} - -String chatActionTypeToString(ChatActionType t) { - switch (t) { - case ChatActionType.updateField: - return 'update_field'; - case ChatActionType.addHeader: - return 'add_header'; - case ChatActionType.updateHeader: - return 'update_header'; - case ChatActionType.deleteHeader: - return 'delete_header'; - case ChatActionType.updateBody: - return 'update_body'; - case ChatActionType.updateUrl: - return 'update_url'; - case ChatActionType.updateMethod: - return 'update_method'; - case ChatActionType.showLanguages: - return 'show_languages'; - case ChatActionType.applyCurl: - return 'apply_curl'; - case ChatActionType.applyOpenApi: - return 'apply_openapi'; - case ChatActionType.downloadDoc: - return 'download_doc'; - case ChatActionType.other: - return 'other'; - case ChatActionType.noAction: - return 'no_action'; - case ChatActionType.uploadAsset: - return 'upload_asset'; - } -} - -ChatActionTarget chatActionTargetFromString(String s) { - switch (s) { - case 'httpRequestModel': - return ChatActionTarget.httpRequestModel; - case 'codegen': - return ChatActionTarget.codegen; - case 'test': - return ChatActionTarget.test; - case 'code': - return ChatActionTarget.code; - case 'attachment': - return ChatActionTarget.attachment; - case 'documentation': - return ChatActionTarget.documentation; - default: - return ChatActionTarget.httpRequestModel; - } -} - -String chatActionTargetToString(ChatActionTarget t) { - switch (t) { - case ChatActionTarget.httpRequestModel: - return 'httpRequestModel'; - case ChatActionTarget.codegen: - return 'codegen'; - case ChatActionTarget.test: - return 'test'; - case ChatActionTarget.code: - return 'code'; - case ChatActionTarget.attachment: - return 'attachment'; - case ChatActionTarget.documentation: - return 'documentation'; - } -} diff --git a/lib/dashbot/core/constants/prompts/prompts.dart b/lib/dashbot/core/constants/prompts/prompts.dart deleted file mode 100644 index 19df5b29..00000000 --- a/lib/dashbot/core/constants/prompts/prompts.dart +++ /dev/null @@ -1,10 +0,0 @@ -export "codegen_intro.dart"; -export "curl_insights.dart"; -export "../dashbot_prompts.dart"; -export "debug_api_error.dart"; -export "explain_api_response.dart"; -export "general_interaction.dart"; -export "generate_code.dart"; -export "generate_documentation.dart"; -export "generate_test_cases.dart"; -export "openapi_insights.dart"; diff --git a/lib/dashbot/core/utils/utils.dart b/lib/dashbot/core/utils/utils.dart deleted file mode 100644 index f1139d25..00000000 --- a/lib/dashbot/core/utils/utils.dart +++ /dev/null @@ -1,2 +0,0 @@ -export 'show_dashbot.dart'; -export 'dashbot_icons.dart'; diff --git a/lib/dashbot/dashbot.dart b/lib/dashbot/dashbot.dart index 76a71656..69015ffb 100644 --- a/lib/dashbot/dashbot.dart +++ b/lib/dashbot/dashbot.dart @@ -1,3 +1,4 @@ export 'dashbot_dashboard.dart'; -export 'core/providers/dashbot_window_notifier.dart'; -export 'core/utils/utils.dart'; +export 'dashbot_tab.dart'; +export 'providers/providers.dart'; +export 'utils/utils.dart'; diff --git a/lib/dashbot/dashbot_dashboard.dart b/lib/dashbot/dashbot_dashboard.dart index 1a393404..be08d5ad 100644 --- a/lib/dashbot/dashbot_dashboard.dart +++ b/lib/dashbot/dashbot_dashboard.dart @@ -1,15 +1,12 @@ -import 'package:apidash/providers/providers.dart'; -import 'package:apidash/screens/common_widgets/ai/ai.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:apidash_design_system/apidash_design_system.dart'; -import 'core/utils/dashbot_icons.dart'; - -import 'core/providers/dashbot_window_notifier.dart'; -import 'core/routes/dashbot_router.dart'; -import 'core/routes/dashbot_routes.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'core/providers/dashbot_active_route_provider.dart'; +import 'package:apidash/providers/providers.dart'; +import 'package:apidash/screens/common_widgets/ai/ai.dart'; +import 'providers/providers.dart'; +import 'routes/routes.dart'; +import 'utils/utils.dart'; class DashbotWindow extends ConsumerWidget { final VoidCallback onClose; diff --git a/lib/dashbot/dashbot_tab.dart b/lib/dashbot/dashbot_tab.dart index 26d41695..c21fce78 100644 --- a/lib/dashbot/dashbot_tab.dart +++ b/lib/dashbot/dashbot_tab.dart @@ -1,12 +1,10 @@ import 'package:apidash_design_system/apidash_design_system.dart'; -import 'core/routes/dashbot_router.dart'; -import 'core/routes/dashbot_routes.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'core/providers/dashbot_window_notifier.dart'; -import 'core/utils/show_dashbot.dart'; import 'package:apidash/consts.dart'; -import 'core/providers/dashbot_active_route_provider.dart'; +import 'providers/providers.dart'; +import 'routes/routes.dart'; +import 'utils/utils.dart'; class DashbotTab extends ConsumerStatefulWidget { const DashbotTab({super.key}); diff --git a/lib/dashbot/core/error/chat_failure.dart b/lib/dashbot/error/chat_failure.dart similarity index 100% rename from lib/dashbot/core/error/chat_failure.dart rename to lib/dashbot/error/chat_failure.dart diff --git a/lib/dashbot/features/chat/models/chat_action.dart b/lib/dashbot/models/chat_action.dart similarity index 87% rename from lib/dashbot/features/chat/models/chat_action.dart rename to lib/dashbot/models/chat_action.dart index 5b21da05..6679606a 100644 --- a/lib/dashbot/features/chat/models/chat_action.dart +++ b/lib/dashbot/models/chat_action.dart @@ -1,4 +1,4 @@ -import '../../../core/constants/constants.dart'; +import '../constants.dart'; class ChatAction { final String action; @@ -40,8 +40,8 @@ class ChatAction { 'field': field, 'path': path, 'value': value, - 'action_type': chatActionTypeToString(actionType), - 'target_type': chatActionTargetToString(targetType), + 'action_type': actionType.text, + 'target_type': targetType.name, }; } } diff --git a/lib/dashbot/core/model/chat_attachment.dart b/lib/dashbot/models/chat_attachment.dart similarity index 100% rename from lib/dashbot/core/model/chat_attachment.dart rename to lib/dashbot/models/chat_attachment.dart diff --git a/lib/dashbot/features/chat/models/chat_message.dart b/lib/dashbot/models/chat_message.dart similarity index 97% rename from lib/dashbot/features/chat/models/chat_message.dart rename to lib/dashbot/models/chat_message.dart index 33ea22ec..4f3c0594 100644 --- a/lib/dashbot/features/chat/models/chat_message.dart +++ b/lib/dashbot/models/chat_message.dart @@ -1,6 +1,5 @@ import 'package:flutter/foundation.dart'; - -import '../../../core/constants/constants.dart'; +import '../constants.dart'; import 'chat_action.dart'; class ChatMessage { diff --git a/lib/dashbot/features/chat/models/chat_response.dart b/lib/dashbot/models/chat_response.dart similarity index 88% rename from lib/dashbot/features/chat/models/chat_response.dart rename to lib/dashbot/models/chat_response.dart index 8625537a..50a07951 100644 --- a/lib/dashbot/features/chat/models/chat_response.dart +++ b/lib/dashbot/models/chat_response.dart @@ -1,4 +1,4 @@ -import '../../../core/constants/constants.dart'; +import '../constants.dart'; class ChatResponse { final String content; diff --git a/lib/dashbot/features/chat/models/chat_state.dart b/lib/dashbot/models/chat_state.dart similarity index 95% rename from lib/dashbot/features/chat/models/chat_state.dart rename to lib/dashbot/models/chat_state.dart index 1c53dd4d..adb33f9f 100644 --- a/lib/dashbot/features/chat/models/chat_state.dart +++ b/lib/dashbot/models/chat_state.dart @@ -1,4 +1,4 @@ -import '../../../core/error/chat_failure.dart'; +import '../error/chat_failure.dart'; import 'chat_message.dart'; class ChatState { diff --git a/lib/dashbot/core/model/dashbot_window_model.dart b/lib/dashbot/models/dashbot_window_model.dart similarity index 100% rename from lib/dashbot/core/model/dashbot_window_model.dart rename to lib/dashbot/models/dashbot_window_model.dart diff --git a/lib/dashbot/models/models.dart b/lib/dashbot/models/models.dart new file mode 100644 index 00000000..929db27a --- /dev/null +++ b/lib/dashbot/models/models.dart @@ -0,0 +1,6 @@ +export 'chat_action.dart'; +export 'chat_attachment.dart'; +export 'chat_message.dart'; +export 'chat_response.dart'; +export 'chat_state.dart'; +export 'dashbot_window_model.dart'; diff --git a/lib/dashbot/features/chat/view/pages/dashbot_chat_page.dart b/lib/dashbot/pages/dashbot_chat_page.dart similarity index 96% rename from lib/dashbot/features/chat/view/pages/dashbot_chat_page.dart rename to lib/dashbot/pages/dashbot_chat_page.dart index 5f2af62b..a5b20816 100644 --- a/lib/dashbot/features/chat/view/pages/dashbot_chat_page.dart +++ b/lib/dashbot/pages/dashbot_chat_page.dart @@ -1,13 +1,11 @@ -import 'package:apidash/dashbot/features/chat/view/widgets/dashbot_task_buttons.dart'; -import 'package:apidash/providers/providers.dart'; import 'package:apidash_design_system/apidash_design_system.dart'; - -import '../../../../core/constants/constants.dart'; -import '../widgets/chat_bubble.dart'; -import '../../viewmodel/chat_viewmodel.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:apidash/providers/providers.dart'; +import '../constants.dart'; +import '../providers/providers.dart'; +import '../widgets/widgets.dart'; class ChatScreen extends ConsumerStatefulWidget { final ChatMessageType? initialTask; diff --git a/lib/dashbot/core/common/pages/dashbot_default_page.dart b/lib/dashbot/pages/dashbot_default_page.dart similarity index 90% rename from lib/dashbot/core/common/pages/dashbot_default_page.dart rename to lib/dashbot/pages/dashbot_default_page.dart index b4799060..ebf11a77 100644 --- a/lib/dashbot/core/common/pages/dashbot_default_page.dart +++ b/lib/dashbot/pages/dashbot_default_page.dart @@ -1,9 +1,9 @@ import 'package:apidash_design_system/apidash_design_system.dart'; -import '../../../features/home/view/widgets/home_screen_task_button.dart'; -import '../../constants/constants.dart'; -import '../../routes/dashbot_routes.dart'; -import '../../utils/dashbot_icons.dart'; import 'package:flutter/material.dart'; +import '../constants.dart'; +import '../routes/routes.dart'; +import '../utils/utils.dart'; +import '../widgets/widgets.dart'; class DashbotDefaultPage extends StatelessWidget { const DashbotDefaultPage({super.key}); diff --git a/lib/dashbot/features/home/view/pages/dashbot_home_page.dart b/lib/dashbot/pages/dashbot_home_page.dart similarity index 93% rename from lib/dashbot/features/home/view/pages/dashbot_home_page.dart rename to lib/dashbot/pages/dashbot_home_page.dart index 798df4c9..565a84b3 100644 --- a/lib/dashbot/features/home/view/pages/dashbot_home_page.dart +++ b/lib/dashbot/pages/dashbot_home_page.dart @@ -1,18 +1,15 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:apidash_design_system/apidash_design_system.dart'; import 'package:apidash/providers/collection_providers.dart'; import 'package:apidash/screens/common_widgets/agentic_ui_features/ai_ui_designer/generate_ui_dialog.dart'; import 'package:apidash/screens/common_widgets/agentic_ui_features/tool_generation/generate_tool_dialog.dart'; -import 'package:flutter/foundation.dart'; - -import '../../../../core/constants/constants.dart'; -import '../../../../core/utils/dashbot_icons.dart'; -import '../../../../core/providers/dashbot_window_notifier.dart'; - -import '../../../../core/routes/dashbot_routes.dart'; -import '../../../../core/providers/dashbot_active_route_provider.dart'; -import 'package:apidash_design_system/tokens/measurements.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../widgets/home_screen_task_button.dart'; +import '../constants.dart'; +import '../providers/providers.dart'; +import '../routes/routes.dart'; +import '../utils/utils.dart'; +import '../widgets/widgets.dart'; class DashbotHomePage extends ConsumerStatefulWidget { const DashbotHomePage({super.key}); diff --git a/lib/dashbot/pages/pages.dart b/lib/dashbot/pages/pages.dart new file mode 100644 index 00000000..a82a8cb6 --- /dev/null +++ b/lib/dashbot/pages/pages.dart @@ -0,0 +1,3 @@ +export 'dashbot_chat_page.dart'; +export 'dashbot_default_page.dart'; +export 'dashbot_home_page.dart'; diff --git a/lib/dashbot/core/constants/prompts/codegen_intro.dart b/lib/dashbot/prompts/codegen_intro.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/codegen_intro.dart rename to lib/dashbot/prompts/codegen_intro.dart diff --git a/lib/dashbot/core/constants/prompts/curl_insights.dart b/lib/dashbot/prompts/curl_insights.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/curl_insights.dart rename to lib/dashbot/prompts/curl_insights.dart diff --git a/lib/dashbot/core/constants/dashbot_prompts.dart b/lib/dashbot/prompts/dashbot_prompts.dart similarity index 94% rename from lib/dashbot/core/constants/dashbot_prompts.dart rename to lib/dashbot/prompts/dashbot_prompts.dart index 808ce899..b49ffbb6 100644 --- a/lib/dashbot/core/constants/dashbot_prompts.dart +++ b/lib/dashbot/prompts/dashbot_prompts.dart @@ -1,4 +1,12 @@ -import 'prompts/prompts.dart'; +import 'codegen_intro.dart'; +import 'curl_insights.dart'; +import 'debug_api_error.dart'; +import 'explain_api_response.dart'; +import 'general_interaction.dart'; +import 'generate_code.dart'; +import 'generate_documentation.dart'; +import 'generate_test_cases.dart'; +import 'openapi_insights.dart'; class DashbotPrompts { // ACTION SCHEMA diff --git a/lib/dashbot/core/constants/prompts/debug_api_error.dart b/lib/dashbot/prompts/debug_api_error.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/debug_api_error.dart rename to lib/dashbot/prompts/debug_api_error.dart diff --git a/lib/dashbot/core/constants/prompts/explain_api_response.dart b/lib/dashbot/prompts/explain_api_response.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/explain_api_response.dart rename to lib/dashbot/prompts/explain_api_response.dart diff --git a/lib/dashbot/core/constants/prompts/general_interaction.dart b/lib/dashbot/prompts/general_interaction.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/general_interaction.dart rename to lib/dashbot/prompts/general_interaction.dart diff --git a/lib/dashbot/core/constants/prompts/generate_code.dart b/lib/dashbot/prompts/generate_code.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/generate_code.dart rename to lib/dashbot/prompts/generate_code.dart diff --git a/lib/dashbot/core/constants/prompts/generate_documentation.dart b/lib/dashbot/prompts/generate_documentation.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/generate_documentation.dart rename to lib/dashbot/prompts/generate_documentation.dart diff --git a/lib/dashbot/core/constants/prompts/generate_test_cases.dart b/lib/dashbot/prompts/generate_test_cases.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/generate_test_cases.dart rename to lib/dashbot/prompts/generate_test_cases.dart diff --git a/lib/dashbot/core/constants/prompts/openapi_insights.dart b/lib/dashbot/prompts/openapi_insights.dart similarity index 100% rename from lib/dashbot/core/constants/prompts/openapi_insights.dart rename to lib/dashbot/prompts/openapi_insights.dart diff --git a/lib/dashbot/prompts/prompts.dart b/lib/dashbot/prompts/prompts.dart new file mode 100644 index 00000000..ab78e02a --- /dev/null +++ b/lib/dashbot/prompts/prompts.dart @@ -0,0 +1 @@ +export "dashbot_prompts.dart"; diff --git a/lib/dashbot/core/providers/attachments_provider.dart b/lib/dashbot/providers/attachments_provider.dart similarity index 92% rename from lib/dashbot/core/providers/attachments_provider.dart rename to lib/dashbot/providers/attachments_provider.dart index eeffc9e0..40c5e0c6 100644 --- a/lib/dashbot/core/providers/attachments_provider.dart +++ b/lib/dashbot/providers/attachments_provider.dart @@ -1,8 +1,7 @@ +import 'package:apidash/utils/utils.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:apidash/utils/file_utils.dart'; - -import '../model/chat_attachment.dart'; +import '../models/models.dart'; class AttachmentsState { final List items; diff --git a/lib/dashbot/features/chat/viewmodel/chat_viewmodel.dart b/lib/dashbot/providers/chat_viewmodel.dart similarity index 98% rename from lib/dashbot/features/chat/viewmodel/chat_viewmodel.dart rename to lib/dashbot/providers/chat_viewmodel.dart index 569a2def..68a1124f 100644 --- a/lib/dashbot/features/chat/viewmodel/chat_viewmodel.dart +++ b/lib/dashbot/providers/chat_viewmodel.dart @@ -1,24 +1,18 @@ import 'dart:convert'; -import 'package:openapi_spec/openapi_spec.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:apidash/providers/providers.dart'; import 'package:apidash/models/models.dart'; import 'package:apidash/utils/utils.dart'; -import '../../../core/constants/constants.dart'; -import '../../../core/model/chat_attachment.dart'; -import '../../../core/services/curl_import_service.dart'; -import '../../../core/services/openapi_import_service.dart'; - -import '../../../core/utils/safe_parse_json_message.dart'; -import '../../../core/constants/dashbot_prompts.dart' as dash; -import '../models/chat_action.dart'; -import '../models/chat_state.dart'; -import '../repository/chat_remote_repository.dart'; -import '../providers/service_providers.dart'; -import '../../../core/providers/dashbot_active_route_provider.dart'; +import '../constants.dart'; +import '../models/models.dart'; +import '../prompts/prompts.dart' as dash; +import '../repository/repository.dart'; +import '../services/services.dart'; +import '../utils/utils.dart'; +import 'dashbot_active_route_provider.dart'; +import 'service_providers.dart'; class ChatViewmodel extends StateNotifier { ChatViewmodel(this._ref) : super(const ChatState()); diff --git a/lib/dashbot/core/providers/dashbot_active_route_provider.dart b/lib/dashbot/providers/dashbot_active_route_provider.dart similarity index 99% rename from lib/dashbot/core/providers/dashbot_active_route_provider.dart rename to lib/dashbot/providers/dashbot_active_route_provider.dart index 23c4ea3d..32400d48 100644 --- a/lib/dashbot/core/providers/dashbot_active_route_provider.dart +++ b/lib/dashbot/providers/dashbot_active_route_provider.dart @@ -1,7 +1,5 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; - import 'package:apidash/providers/providers.dart'; - import '../routes/dashbot_routes.dart'; import '../utils/dashbot_route_utils.dart'; diff --git a/lib/dashbot/core/providers/dashbot_window_notifier.dart b/lib/dashbot/providers/dashbot_window_notifier.dart similarity index 96% rename from lib/dashbot/core/providers/dashbot_window_notifier.dart rename to lib/dashbot/providers/dashbot_window_notifier.dart index 3a3cebef..58620c54 100644 --- a/lib/dashbot/core/providers/dashbot_window_notifier.dart +++ b/lib/dashbot/providers/dashbot_window_notifier.dart @@ -1,6 +1,6 @@ -import '../model/dashbot_window_model.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../models/models.dart'; class DashbotWindowNotifier extends StateNotifier { DashbotWindowNotifier() : super(const DashbotWindowModel()); diff --git a/lib/dashbot/core/providers/dashbot_window_notifier.g.dart b/lib/dashbot/providers/dashbot_window_notifier.g.dart similarity index 100% rename from lib/dashbot/core/providers/dashbot_window_notifier.g.dart rename to lib/dashbot/providers/dashbot_window_notifier.g.dart diff --git a/lib/dashbot/providers/providers.dart b/lib/dashbot/providers/providers.dart new file mode 100644 index 00000000..066e4da9 --- /dev/null +++ b/lib/dashbot/providers/providers.dart @@ -0,0 +1,5 @@ +export 'attachments_provider.dart'; +export 'chat_viewmodel.dart'; +export 'dashbot_active_route_provider.dart'; +export 'dashbot_window_notifier.dart'; +export 'service_providers.dart'; diff --git a/lib/dashbot/features/chat/providers/service_providers.dart b/lib/dashbot/providers/service_providers.dart similarity index 87% rename from lib/dashbot/features/chat/providers/service_providers.dart rename to lib/dashbot/providers/service_providers.dart index c8889749..21c96732 100644 --- a/lib/dashbot/features/chat/providers/service_providers.dart +++ b/lib/dashbot/providers/service_providers.dart @@ -1,11 +1,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import '../../../core/services/agent/prompt_builder.dart'; -import '../../../core/services/base/url_env_service.dart'; -import '../../../core/services/actions/auto_fix_service.dart'; -import '../../../core/services/actions/request_apply_service.dart'; -import '../../../../providers/providers.dart'; import 'package:apidash_core/apidash_core.dart'; +import 'package:apidash/providers/providers.dart'; +import '../services/services.dart'; final promptBuilderProvider = Provider((ref) { return PromptBuilder(); diff --git a/lib/dashbot/features/chat/repository/chat_remote_repository.dart b/lib/dashbot/repository/chat_remote_repository.dart similarity index 100% rename from lib/dashbot/features/chat/repository/chat_remote_repository.dart rename to lib/dashbot/repository/chat_remote_repository.dart diff --git a/lib/dashbot/repository/repository.dart b/lib/dashbot/repository/repository.dart new file mode 100644 index 00000000..e5e9fb4b --- /dev/null +++ b/lib/dashbot/repository/repository.dart @@ -0,0 +1 @@ +export 'chat_remote_repository.dart'; diff --git a/lib/dashbot/core/routes/dashbot_router.dart b/lib/dashbot/routes/dashbot_router.dart similarity index 83% rename from lib/dashbot/core/routes/dashbot_router.dart rename to lib/dashbot/routes/dashbot_router.dart index 57c5e7f1..b7f86fae 100644 --- a/lib/dashbot/core/routes/dashbot_router.dart +++ b/lib/dashbot/routes/dashbot_router.dart @@ -1,10 +1,7 @@ -import '../../features/chat/view/pages/dashbot_chat_page.dart'; - -import '../constants/constants.dart'; -import 'dashbot_routes.dart'; -import '../common/pages/dashbot_default_page.dart'; -import '../../features/home/view/pages/dashbot_home_page.dart'; import 'package:flutter/material.dart'; +import '../constants.dart'; +import '../pages/pages.dart'; +import 'dashbot_routes.dart'; Route? generateRoute(RouteSettings settings) { switch (settings.name) { diff --git a/lib/dashbot/core/routes/dashbot_routes.dart b/lib/dashbot/routes/dashbot_routes.dart similarity index 100% rename from lib/dashbot/core/routes/dashbot_routes.dart rename to lib/dashbot/routes/dashbot_routes.dart diff --git a/lib/dashbot/routes/routes.dart b/lib/dashbot/routes/routes.dart new file mode 100644 index 00000000..0a635b53 --- /dev/null +++ b/lib/dashbot/routes/routes.dart @@ -0,0 +1,2 @@ +export 'dashbot_router.dart'; +export 'dashbot_routes.dart'; diff --git a/lib/dashbot/core/services/actions/auto_fix_service.dart b/lib/dashbot/services/actions/auto_fix_service.dart similarity index 98% rename from lib/dashbot/core/services/actions/auto_fix_service.dart rename to lib/dashbot/services/actions/auto_fix_service.dart index 2d0edc48..15af9240 100644 --- a/lib/dashbot/core/services/actions/auto_fix_service.dart +++ b/lib/dashbot/services/actions/auto_fix_service.dart @@ -1,8 +1,7 @@ import 'package:apidash_core/apidash_core.dart'; import 'package:apidash/models/models.dart'; - -import '../../../features/chat/models/chat_action.dart'; -import '../../constants/constants.dart'; +import '../../constants.dart'; +import '../../models/models.dart'; import 'request_apply_service.dart'; class AutoFixService { diff --git a/lib/dashbot/core/services/actions/request_apply_service.dart b/lib/dashbot/services/actions/request_apply_service.dart similarity index 99% rename from lib/dashbot/core/services/actions/request_apply_service.dart rename to lib/dashbot/services/actions/request_apply_service.dart index 91ec167d..124429e2 100644 --- a/lib/dashbot/core/services/actions/request_apply_service.dart +++ b/lib/dashbot/services/actions/request_apply_service.dart @@ -1,8 +1,6 @@ import 'dart:convert'; - import 'package:apidash_core/apidash_core.dart'; - -import '../../constants/constants.dart'; +import '../../constants.dart'; import '../base/url_env_service.dart'; class ApplyResult { diff --git a/lib/dashbot/core/services/agent/prompt_builder.dart b/lib/dashbot/services/agent/prompt_builder.dart similarity index 97% rename from lib/dashbot/core/services/agent/prompt_builder.dart rename to lib/dashbot/services/agent/prompt_builder.dart index 0486e1bd..3e8c585b 100644 --- a/lib/dashbot/core/services/agent/prompt_builder.dart +++ b/lib/dashbot/services/agent/prompt_builder.dart @@ -1,8 +1,7 @@ import 'package:apidash/models/models.dart'; -import 'package:apidash/dashbot/core/constants/dashbot_prompts.dart' as dash; - -import '../../../features/chat/models/chat_message.dart'; -import '../../constants/constants.dart'; +import '../../constants.dart'; +import '../../models/models.dart'; +import '../../prompts/prompts.dart' as dash; class PromptBuilder { String buildSystemPrompt( diff --git a/lib/dashbot/core/services/base/url_env_service.dart b/lib/dashbot/services/base/url_env_service.dart similarity index 100% rename from lib/dashbot/core/services/base/url_env_service.dart rename to lib/dashbot/services/base/url_env_service.dart diff --git a/lib/dashbot/core/services/curl_import_service.dart b/lib/dashbot/services/curl_import_service.dart similarity index 99% rename from lib/dashbot/core/services/curl_import_service.dart rename to lib/dashbot/services/curl_import_service.dart index 893e6aad..f372c73b 100644 --- a/lib/dashbot/core/services/curl_import_service.dart +++ b/lib/dashbot/services/curl_import_service.dart @@ -1,5 +1,5 @@ import 'dart:convert'; -import 'package:curl_parser/curl_parser.dart'; +import 'package:apidash_core/apidash_core.dart'; /// NOTE: Unsupported cURL flags and rationale for current models /// diff --git a/lib/dashbot/core/services/openapi_import_service.dart b/lib/dashbot/services/openapi_import_service.dart similarity index 99% rename from lib/dashbot/core/services/openapi_import_service.dart rename to lib/dashbot/services/openapi_import_service.dart index fa60cadb..954f649d 100644 --- a/lib/dashbot/core/services/openapi_import_service.dart +++ b/lib/dashbot/services/openapi_import_service.dart @@ -1,5 +1,5 @@ import 'dart:convert'; -import 'package:openapi_spec/openapi_spec.dart'; +import 'package:apidash_core/apidash_core.dart'; /// Service to parse OpenAPI specifications and produce /// a standard action message map understood by Dashbot. diff --git a/lib/dashbot/services/services.dart b/lib/dashbot/services/services.dart new file mode 100644 index 00000000..6761de61 --- /dev/null +++ b/lib/dashbot/services/services.dart @@ -0,0 +1,6 @@ +export 'actions/auto_fix_service.dart'; +export 'actions/request_apply_service.dart'; +export 'agent/prompt_builder.dart'; +export 'base/url_env_service.dart'; +export 'curl_import_service.dart'; +export 'openapi_import_service.dart'; diff --git a/lib/dashbot/core/utils/dashbot_icons.dart b/lib/dashbot/utils/dashbot_icons.dart similarity index 100% rename from lib/dashbot/core/utils/dashbot_icons.dart rename to lib/dashbot/utils/dashbot_icons.dart diff --git a/lib/dashbot/core/utils/dashbot_route_utils.dart b/lib/dashbot/utils/dashbot_route_utils.dart similarity index 100% rename from lib/dashbot/core/utils/dashbot_route_utils.dart rename to lib/dashbot/utils/dashbot_route_utils.dart diff --git a/lib/dashbot/core/utils/safe_parse_json_message.dart b/lib/dashbot/utils/safe_parse_json_message.dart similarity index 100% rename from lib/dashbot/core/utils/safe_parse_json_message.dart rename to lib/dashbot/utils/safe_parse_json_message.dart diff --git a/lib/dashbot/core/utils/show_dashbot.dart b/lib/dashbot/utils/show_dashbot.dart similarity index 89% rename from lib/dashbot/core/utils/show_dashbot.dart rename to lib/dashbot/utils/show_dashbot.dart index f07bdb1f..ea5d1176 100644 --- a/lib/dashbot/core/utils/show_dashbot.dart +++ b/lib/dashbot/utils/show_dashbot.dart @@ -1,8 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import '../../dashbot_dashboard.dart'; -import '../providers/dashbot_window_notifier.dart'; +import '../dashbot_dashboard.dart'; +import '../providers/providers.dart'; void showDashbotWindow(BuildContext context, WidgetRef ref) { final isDashbotActive = ref.read(dashbotWindowNotifierProvider).isActive; diff --git a/lib/dashbot/utils/utils.dart b/lib/dashbot/utils/utils.dart new file mode 100644 index 00000000..981ebe2b --- /dev/null +++ b/lib/dashbot/utils/utils.dart @@ -0,0 +1,4 @@ +export 'dashbot_icons.dart'; +export 'dashbot_route_utils.dart'; +export 'safe_parse_json_message.dart'; +export 'show_dashbot.dart'; diff --git a/lib/dashbot/features/chat/view/widgets/chat_bubble.dart b/lib/dashbot/widgets/chat_bubble.dart similarity index 93% rename from lib/dashbot/features/chat/view/widgets/chat_bubble.dart rename to lib/dashbot/widgets/chat_bubble.dart index 8f9488aa..2fb25dcf 100644 --- a/lib/dashbot/features/chat/view/widgets/chat_bubble.dart +++ b/lib/dashbot/widgets/chat_bubble.dart @@ -1,13 +1,12 @@ -import 'package:apidash/dashbot/core/utils/safe_parse_json_message.dart'; import 'package:apidash_design_system/apidash_design_system.dart'; -import '../../../../core/constants/constants.dart'; -import '../../../../core/utils/dashbot_icons.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../../../core/common/widgets/dashbot_action.dart'; -import '../../models/chat_action.dart'; +import '../constants.dart'; +import '../models/models.dart'; +import '../utils/utils.dart'; +import 'dashbot_action.dart'; class ChatBubble extends ConsumerWidget { final String message; diff --git a/lib/dashbot/core/common/widgets/dashbot_action.dart b/lib/dashbot/widgets/dashbot_action.dart similarity index 96% rename from lib/dashbot/core/common/widgets/dashbot_action.dart rename to lib/dashbot/widgets/dashbot_action.dart index d54720a7..cb4533e1 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action.dart +++ b/lib/dashbot/widgets/dashbot_action.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import '../../../features/chat/models/chat_action.dart'; -import '../../constants/constants.dart'; +import '../constants.dart'; +import '../models/models.dart'; import 'dashbot_action_buttons/dashbot_actions_buttons.dart'; /// Base mixin for action widgets. diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart similarity index 88% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart index 6b8b09b5..a6f62ec4 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart @@ -5,5 +5,5 @@ export 'dashbot_download_doc_button.dart'; export 'dashbot_generate_codeblock.dart'; export 'dashbot_generate_language_picker_button.dart'; export 'dashbot_import_now_button.dart'; +export 'dashbot_select_operation_button.dart'; export 'dashbot_upload_requests_button.dart'; -export 'dsahbot_select_operation_button.dart'; diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_add_test_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_add_test_button.dart similarity index 83% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_add_test_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_add_test_button.dart index 61b884da..e9def88d 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_add_test_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_add_test_button.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; - -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; +import '../../models/models.dart'; +import '../../providers/providers.dart'; import '../dashbot_action.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart similarity index 90% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart index 38ef5b4b..2b02091c 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; - -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; +import '../../models/models.dart'; +import '../../providers/providers.dart'; import '../dashbot_action.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart similarity index 87% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart index d7dbc317..3072cfdd 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart @@ -1,8 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; - +import '../../models/models.dart'; +import '../../providers/providers.dart'; import '../dashbot_action.dart'; class DashbotApplyOpenApiButton extends ConsumerWidget with DashbotActionMixin { diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart similarity index 83% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart index 1ef3e2d9..cf5c1ceb 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; - -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; +import '../../models/models.dart'; +import '../../providers/providers.dart'; import '../dashbot_action.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart similarity index 95% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart index 2a81c701..d9b1a66d 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart @@ -1,11 +1,9 @@ import 'dart:typed_data'; - +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:apidash/utils/utils.dart'; import 'package:flutter/material.dart'; - -import '../../../../features/chat/models/chat_action.dart'; +import '../../models/models.dart'; import '../dashbot_action.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; class DashbotDownloadDocButton extends ConsumerWidget with DashbotActionMixin { @override diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart similarity index 98% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart index 103fd356..72b6a8f1 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart @@ -1,8 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:apidash_design_system/apidash_design_system.dart'; - -import '../../../../features/chat/models/chat_action.dart'; +import '../../models/models.dart'; import '../dashbot_action.dart'; class DashbotGeneratedCodeBlock extends StatefulWidget with DashbotActionMixin { diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart similarity index 87% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart index dd7033f3..e99d5541 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart @@ -1,10 +1,9 @@ import 'package:flutter/material.dart'; - -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; -import '../../../constants/constants.dart'; -import '../dashbot_action.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../../constants.dart'; +import '../../models/models.dart'; +import '../../providers/providers.dart'; +import '../dashbot_action.dart'; class DashbotGenerateLanguagePicker extends ConsumerWidget with DashbotActionMixin { diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_import_now_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_import_now_button.dart similarity index 87% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_import_now_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_import_now_button.dart index c4728598..a10b6266 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_import_now_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_import_now_button.dart @@ -1,15 +1,12 @@ import 'dart:developer'; - +import 'package:apidash_core/apidash_core.dart'; import 'package:flutter/material.dart'; -import 'package:openapi_spec/openapi_spec.dart'; - -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/view/widgets/openapi_operation_picker_dialog.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; -import '../../../providers/dashbot_window_notifier.dart'; -import '../../../services/openapi_import_service.dart'; -import '../dashbot_action.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../../models/models.dart'; +import '../../providers/providers.dart'; +import '../../services/services.dart'; +import '../dashbot_action.dart'; +import '../openapi_operation_picker_dialog.dart'; class DashbotImportNowButton extends ConsumerWidget with DashbotActionMixin { @override diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dsahbot_select_operation_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_select_operation_button.dart similarity index 84% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dsahbot_select_operation_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_select_operation_button.dart index fe44473a..2842ddd9 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dsahbot_select_operation_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_select_operation_button.dart @@ -1,9 +1,8 @@ import 'package:flutter/material.dart'; - -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; -import '../dashbot_action.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../../models/models.dart'; +import '../../providers/providers.dart'; +import '../dashbot_action.dart'; class DashbotSelectOperationButton extends ConsumerWidget with DashbotActionMixin { diff --git a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart similarity index 90% rename from lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart rename to lib/dashbot/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart index 2f59959e..fae0a8fe 100644 --- a/lib/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart +++ b/lib/dashbot/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart @@ -1,12 +1,10 @@ import 'package:flutter/material.dart'; - -import '../../../../features/chat/models/chat_action.dart'; -import '../../../../features/chat/viewmodel/chat_viewmodel.dart'; -import '../../../constants/constants.dart'; -import '../dashbot_action.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../../providers/attachments_provider.dart'; import 'package:file_selector/file_selector.dart'; +import '../../constants.dart'; +import '../../models/models.dart'; +import '../../providers/providers.dart'; +import '../dashbot_action.dart'; class DashbotUploadRequestButton extends ConsumerWidget with DashbotActionMixin { diff --git a/lib/dashbot/features/chat/view/widgets/dashbot_task_buttons.dart b/lib/dashbot/widgets/dashbot_task_buttons.dart similarity index 94% rename from lib/dashbot/features/chat/view/widgets/dashbot_task_buttons.dart rename to lib/dashbot/widgets/dashbot_task_buttons.dart index 7f189cb9..4ec2f660 100644 --- a/lib/dashbot/features/chat/view/widgets/dashbot_task_buttons.dart +++ b/lib/dashbot/widgets/dashbot_task_buttons.dart @@ -1,14 +1,11 @@ -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:apidash/providers/collection_providers.dart'; import 'package:apidash/screens/common_widgets/agentic_ui_features/ai_ui_designer/generate_ui_dialog.dart'; import 'package:apidash/screens/common_widgets/agentic_ui_features/tool_generation/generate_tool_dialog.dart'; - -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import '../../../../core/constants/constants.dart'; -import '../../../home/view/widgets/home_screen_task_button.dart'; -import '../../../../core/providers/dashbot_window_notifier.dart'; +import '../constants.dart'; +import '../providers/providers.dart'; +import 'home_screen_task_button.dart'; class DashbotTaskButtons extends ConsumerWidget { final VoidCallback? onTaskSelected; diff --git a/lib/dashbot/features/home/view/widgets/home_screen_task_button.dart b/lib/dashbot/widgets/home_screen_task_button.dart similarity index 100% rename from lib/dashbot/features/home/view/widgets/home_screen_task_button.dart rename to lib/dashbot/widgets/home_screen_task_button.dart diff --git a/lib/dashbot/features/chat/view/widgets/openapi_operation_picker_dialog.dart b/lib/dashbot/widgets/openapi_operation_picker_dialog.dart similarity index 99% rename from lib/dashbot/features/chat/view/widgets/openapi_operation_picker_dialog.dart rename to lib/dashbot/widgets/openapi_operation_picker_dialog.dart index 158157ba..bda371db 100644 --- a/lib/dashbot/features/chat/view/widgets/openapi_operation_picker_dialog.dart +++ b/lib/dashbot/widgets/openapi_operation_picker_dialog.dart @@ -1,5 +1,5 @@ +import 'package:apidash_core/apidash_core.dart'; import 'package:flutter/material.dart'; -import 'package:openapi_spec/openapi_spec.dart'; typedef OpenApiOperationItem = ({String method, String path, Operation op}); diff --git a/lib/dashbot/widgets/widgets.dart b/lib/dashbot/widgets/widgets.dart new file mode 100644 index 00000000..ab57c406 --- /dev/null +++ b/lib/dashbot/widgets/widgets.dart @@ -0,0 +1,6 @@ +export 'chat_bubble.dart'; +export 'dashbot_action_buttons/dashbot_actions_buttons.dart'; +export 'dashbot_action.dart'; +export 'dashbot_task_buttons.dart'; +export 'home_screen_task_button.dart'; +export 'openapi_operation_picker_dialog.dart'; diff --git a/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/generate_ui_dialog.dart b/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/generate_ui_dialog.dart index 6465dd72..5339d496 100644 --- a/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/generate_ui_dialog.dart +++ b/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/generate_ui_dialog.dart @@ -114,7 +114,7 @@ class _GenerateUIDialogState extends ConsumerState { FrameWorkSelectorPage( content: widget.content, onNext: (apiResponse, targetLanguage) async { - print("Generating SDUI Code"); + debugPrint("Generating SDUI Code"); final sdui = await generateSDUICode(apiResponse); if (sdui == null) return; setState(() { @@ -129,7 +129,7 @@ class _GenerateUIDialogState extends ConsumerState { child: Center( child: Padding( padding: const EdgeInsets.only(top: 40.0), - child: Container( + child: SizedBox( height: 500, child: SendingWidget( startSendingTime: DateTime.now(), diff --git a/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/sdui_preview.dart b/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/sdui_preview.dart index bb36cc27..5fd95253 100644 --- a/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/sdui_preview.dart +++ b/lib/screens/common_widgets/agentic_ui_features/ai_ui_designer/sdui_preview.dart @@ -48,7 +48,7 @@ class _SDUIPreviewPageState extends ConsumerState { ), backgroundColor: Colors.redAccent, )); - print("exportCode: Failed; ABORTING"); + debugPrint("exportCode: Failed; ABORTING"); return; } @@ -139,10 +139,10 @@ class _SDUIPreviewPageState extends ConsumerState { alignment: Alignment.centerRight, child: (exportingCode) ? Container( + margin: EdgeInsets.only(right: 10), child: CircularProgressIndicator( strokeWidth: 1, ), - margin: EdgeInsets.only(right: 10), ) : FilledButton.tonalIcon( style: FilledButton.styleFrom( diff --git a/lib/screens/common_widgets/agentic_ui_features/tool_generation/generate_tool_dialog.dart b/lib/screens/common_widgets/agentic_ui_features/tool_generation/generate_tool_dialog.dart index 508fe5a1..e6604c5d 100644 --- a/lib/screens/common_widgets/agentic_ui_features/tool_generation/generate_tool_dialog.dart +++ b/lib/screens/common_widgets/agentic_ui_features/tool_generation/generate_tool_dialog.dart @@ -126,7 +126,7 @@ class _GenerateToolDialogState extends ConsumerState { final isExtraLargeWindow = dialogWidth > WindowWidth.large.value; if (isExtraLargeWindow || isLargeWindow || isExpandedWindow) { - return Container( + return SizedBox( height: 600, width: MediaQuery.of(context).size.width * 0.8, child: Row( @@ -153,7 +153,7 @@ class _GenerateToolDialogState extends ConsumerState { ), ); } else { - return Container( + return SizedBox( height: 600, // width: MediaQuery.of(context).size.width * 0.8, child: IndexedStack( diff --git a/lib/screens/common_widgets/agentic_ui_features/tool_generation/generated_tool_codecopy.dart b/lib/screens/common_widgets/agentic_ui_features/tool_generation/generated_tool_codecopy.dart index bf3bf34a..40d3bf1f 100644 --- a/lib/screens/common_widgets/agentic_ui_features/tool_generation/generated_tool_codecopy.dart +++ b/lib/screens/common_widgets/agentic_ui_features/tool_generation/generated_tool_codecopy.dart @@ -47,7 +47,7 @@ class GeneratedToolCodeCopyPage extends StatelessWidget { ), Expanded( child: SingleChildScrollView( - child: Container( + child: SizedBox( width: double.infinity, child: CodePreviewer( code: toolCode!, diff --git a/lib/screens/common_widgets/agentic_ui_features/tool_generation/tool_requirements_selector.dart b/lib/screens/common_widgets/agentic_ui_features/tool_generation/tool_requirements_selector.dart index 68556b06..aaf2d2f4 100644 --- a/lib/screens/common_widgets/agentic_ui_features/tool_generation/tool_requirements_selector.dart +++ b/lib/screens/common_widgets/agentic_ui_features/tool_generation/tool_requirements_selector.dart @@ -166,7 +166,7 @@ class DefaultLLModelSelectorWidget extends ConsumerWidget { final settings = ref.watch(settingsProvider); return Opacity( opacity: 0.8, - child: Container( + child: SizedBox( width: 200, child: Row( children: [ diff --git a/lib/screens/dashboard.dart b/lib/screens/dashboard.dart index 36cfeed5..5ff7987a 100644 --- a/lib/screens/dashboard.dart +++ b/lib/screens/dashboard.dart @@ -4,7 +4,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:apidash/providers/providers.dart'; import 'package:apidash/widgets/widgets.dart'; import 'package:apidash/consts.dart'; -import '../dashbot/dashbot.dart'; +import 'package:apidash/dashbot/dashbot.dart'; import 'common_widgets/common_widgets.dart'; import 'envvar/environment_page.dart'; import 'home_page/home_page.dart'; diff --git a/lib/screens/home_page/editor_pane/details_card/details_card.dart b/lib/screens/home_page/editor_pane/details_card/details_card.dart index 072ffea5..f0a07ef4 100644 --- a/lib/screens/home_page/editor_pane/details_card/details_card.dart +++ b/lib/screens/home_page/editor_pane/details_card/details_card.dart @@ -1,10 +1,9 @@ -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; -import 'package:apidash/dashbot/dashbot_tab.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:apidash/providers/providers.dart'; import 'package:apidash/widgets/widgets.dart'; import 'package:apidash/screens/common_widgets/common_widgets.dart'; +import 'package:apidash/dashbot/dashbot.dart'; import 'request_pane/request_pane.dart'; import 'response_pane.dart'; diff --git a/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart b/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart index f27be2cf..293060c0 100644 --- a/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart +++ b/lib/screens/home_page/editor_pane/details_card/request_pane/request_pane.dart @@ -1,8 +1,8 @@ -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:apidash_design_system/apidash_design_system.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:apidash/dashbot/dashbot.dart'; import 'package:apidash/providers/providers.dart'; import 'package:apidash/consts.dart'; import 'package:apidash/widgets/widgets.dart'; diff --git a/lib/widgets/request_pane.dart b/lib/widgets/request_pane.dart index 8a29a76e..48535bf4 100644 --- a/lib/widgets/request_pane.dart +++ b/lib/widgets/request_pane.dart @@ -53,29 +53,29 @@ class _RequestPaneState extends State child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ - // FilledButton.tonalIcon( - // style: FilledButton.styleFrom( - // padding: kPh12, - // minimumSize: const Size(44, 44), - // ), - // onPressed: widget.onPressedCodeButton, - // icon: Icon( - // widget.codePaneVisible - // ? Icons.code_off_rounded - // : Icons.code_rounded, - // size: 18, - // ), - // label: SizedBox( - // width: 80, - // child: Text( - // widget.codePaneVisible - // ? kLabelHideCode - // : kLabelViewCode, - // overflow: TextOverflow.ellipsis, - // maxLines: 1, - // ), - // ), - // ), + FilledButton.tonalIcon( + style: FilledButton.styleFrom( + padding: kPh12, + minimumSize: const Size(44, 44), + ), + onPressed: widget.onPressedCodeButton, + icon: Icon( + widget.codePaneVisible + ? Icons.code_off_rounded + : Icons.code_rounded, + size: 18, + ), + label: SizedBox( + width: 80, + child: Text( + widget.codePaneVisible + ? kLabelHideCode + : kLabelViewCode, + overflow: TextOverflow.ellipsis, + maxLines: 1, + ), + ), + ), ], ), ), diff --git a/packages/apidash_core/lib/apidash_core.dart b/packages/apidash_core/lib/apidash_core.dart index d9910e0c..cd99b42d 100644 --- a/packages/apidash_core/lib/apidash_core.dart +++ b/packages/apidash_core/lib/apidash_core.dart @@ -1,5 +1,3 @@ -library apidash_core; - export 'consts.dart'; export 'extensions/extensions.dart'; export 'models/models.dart'; @@ -9,3 +7,6 @@ export 'utils/utils.dart'; // Export 3rd party packages export 'package:freezed_annotation/freezed_annotation.dart'; export 'package:genai/genai.dart'; +export 'package:curl_parser/curl_parser.dart' show Curl; +export 'package:openapi_spec/openapi_spec.dart' + show OpenApi, Operation, ParameterHeader; diff --git a/packages/genai/lib/agentic_engine/agent_service.dart b/packages/genai/lib/agentic_engine/agent_service.dart index 26fb1715..612f2de0 100644 --- a/packages/genai/lib/agentic_engine/agent_service.dart +++ b/packages/genai/lib/agentic_engine/agent_service.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import '../models/models.dart'; import '../utils/utils.dart'; import 'blueprint.dart'; @@ -68,7 +69,7 @@ class AIAgentService { ); } RETRY_COUNT += 1; - print( + debugPrint( "Retrying AgentCall for (${agent.agentName}): ATTEMPT: $RETRY_COUNT", ); } while (RETRY_COUNT < 5); diff --git a/packages/genai/lib/agentic_engine/blueprint.dart b/packages/genai/lib/agentic_engine/blueprint.dart index 14b9bfc1..7f376bec 100644 --- a/packages/genai/lib/agentic_engine/blueprint.dart +++ b/packages/genai/lib/agentic_engine/blueprint.dart @@ -7,7 +7,7 @@ abstract class AIAgent { extension SystemPromptTemplating on String { String substitutePromptVariable(String variable, String value) { - return this.replaceAll(":$variable:", value); + return replaceAll(":$variable:", value); } } diff --git a/pubspec.lock b/pubspec.lock index 0b59b423..311796c2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -558,7 +558,7 @@ packages: source: hosted version: "0.9.4+3" file_selector_platform_interface: - dependency: transitive + dependency: "direct dev" description: name: file_selector_platform_interface sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b @@ -1175,7 +1175,7 @@ packages: source: hosted version: "3.0.0" mocktail: - dependency: transitive + dependency: "direct dev" description: name: mocktail sha256: "890df3f9688106f25755f26b1c60589a92b3ab91a22b8b224947ad041bf172d8" diff --git a/pubspec.yaml b/pubspec.yaml index f6e023f5..79a005ea 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -86,6 +86,7 @@ dev_dependencies: flutter_test: sdk: flutter build_runner: ^2.4.15 + file_selector_platform_interface: ^2.6.2 flutter_launcher_icons: ^0.14.3 flutter_lints: ^5.0.0 flutter_native_splash: ^2.4.5 @@ -94,6 +95,7 @@ dev_dependencies: integration_test: sdk: flutter melos: ^6.3.2 + mocktail: ^1.0.4 spot: ^0.17.0 test: ^1.25.2 diff --git a/test/dashbot/core/common/widgets/dashbot_action_test.dart b/test/dashbot/core/common/widgets/dashbot_action_test.dart index ad5dbadf..e8717a6e 100644 --- a/test/dashbot/core/common/widgets/dashbot_action_test.dart +++ b/test/dashbot/core/common/widgets/dashbot_action_test.dart @@ -1,7 +1,6 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action.dart'; -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:test/test.dart'; diff --git a/test/dashbot/core/providers/dashbot_active_route_provider_test.dart b/test/dashbot/core/providers/dashbot_active_route_provider_test.dart index 36dc1b09..2e6e3b3d 100644 --- a/test/dashbot/core/providers/dashbot_active_route_provider_test.dart +++ b/test/dashbot/core/providers/dashbot_active_route_provider_test.dart @@ -1,8 +1,7 @@ +import 'package:apidash/dashbot/providers/providers.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import 'package:apidash/dashbot/core/providers/dashbot_active_route_provider.dart'; -import 'package:apidash/dashbot/core/routes/dashbot_routes.dart'; +import 'package:apidash/dashbot/routes/routes.dart'; import 'package:apidash/models/models.dart'; import 'package:apidash/providers/collection_providers.dart'; import 'package:apidash_core/apidash_core.dart'; diff --git a/test/dashbot/core/routes/dashbot_router_test.dart b/test/dashbot/core/routes/dashbot_router_test.dart index f07851ae..b44b399a 100644 --- a/test/dashbot/core/routes/dashbot_router_test.dart +++ b/test/dashbot/core/routes/dashbot_router_test.dart @@ -1,10 +1,8 @@ +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/routes/routes.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:apidash/dashbot/core/routes/dashbot_router.dart'; -import 'package:apidash/dashbot/core/routes/dashbot_routes.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; - void main() { group('DashbotRouter', () { group('generateRoute', () { diff --git a/test/dashbot/features/chat/repository/chat_remote_repository_test.dart b/test/dashbot/features/chat/repository/chat_remote_repository_test.dart index 8bb91482..3227fdf2 100644 --- a/test/dashbot/features/chat/repository/chat_remote_repository_test.dart +++ b/test/dashbot/features/chat/repository/chat_remote_repository_test.dart @@ -1,8 +1,8 @@ +import 'package:apidash/dashbot/repository/repository.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:mocktail/mocktail.dart'; -import 'package:apidash/dashbot/features/chat/repository/chat_remote_repository.dart'; // Mock classes class MockAIRequestModel extends Mock implements AIRequestModel {} @@ -26,7 +26,6 @@ void main() { group('sendChat', () { test('returns result when executeGenAIRequest returns non-empty string', () async { - // Create a real AIRequestModel for testing (this will likely return null due to missing config) final request = AIRequestModel( url: 'https://api.apidash.dev/test', diff --git a/test/dashbot/features/chat/viewmodel/chat_viewmodel_test.dart b/test/dashbot/features/chat/viewmodel/chat_viewmodel_test.dart index a607ef43..ea413a73 100644 --- a/test/dashbot/features/chat/viewmodel/chat_viewmodel_test.dart +++ b/test/dashbot/features/chat/viewmodel/chat_viewmodel_test.dart @@ -1,16 +1,12 @@ -import 'dart:typed_data'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; +import 'package:apidash/dashbot/repository/repository.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter/services.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; -import 'package:apidash/dashbot/features/chat/repository/chat_remote_repository.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/core/model/chat_attachment.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:apidash/providers/providers.dart'; - import '../../../../providers/helpers.dart'; // Mock ChatRemoteRepository @@ -403,38 +399,40 @@ void main() { // Check _currentRequest value final currentRequest = container.read(selectedRequestModelProvider); - print('Current request: $currentRequest'); + debugPrint('Current request: $currentRequest'); // Check the computed ID that currentMessages uses final computedId = currentRequest?.id ?? 'global'; - print('Computed ID for currentMessages: $computedId'); + debugPrint('Computed ID for currentMessages: $computedId'); // Check initial state - print('Initial state - chatSessions: ${viewmodel.state.chatSessions}'); - print('Initial messages count: ${viewmodel.currentMessages.length}'); + debugPrint( + 'Initial state - chatSessions: ${viewmodel.state.chatSessions}'); + debugPrint('Initial messages count: ${viewmodel.currentMessages.length}'); // Call sendMessage which should trigger _addMessage through _appendSystem await viewmodel.sendMessage(text: 'Hello', type: ChatMessageType.general); // Debug: print current state - print( + debugPrint( 'After sendMessage - chatSessions: ${viewmodel.state.chatSessions}'); - print('After sendMessage - keys: ${viewmodel.state.chatSessions.keys}'); - print('Current messages count: ${viewmodel.currentMessages.length}'); + debugPrint( + 'After sendMessage - keys: ${viewmodel.state.chatSessions.keys}'); + debugPrint('Current messages count: ${viewmodel.currentMessages.length}'); // Check again after sendMessage final currentRequestAfter = container.read(selectedRequestModelProvider); final computedIdAfter = currentRequestAfter?.id ?? 'global'; - print('Current request after: $currentRequestAfter'); - print('Computed ID after: $computedIdAfter'); + debugPrint('Current request after: $currentRequestAfter'); + debugPrint('Computed ID after: $computedIdAfter'); // Let's also check the global session directly final globalMessages = viewmodel.state.chatSessions['global']; - print('Global messages directly: ${globalMessages?.length ?? 0}'); + debugPrint('Global messages directly: ${globalMessages?.length ?? 0}'); // Check specific computed ID session final computedMessages = viewmodel.state.chatSessions[computedIdAfter]; - print( + debugPrint( 'Messages for computed ID ($computedIdAfter): ${computedMessages?.length ?? 0}'); // Should now have messages after the bug fix diff --git a/test/dashbot/models/chat_action_model_test.dart b/test/dashbot/models/chat_action_model_test.dart index 04dbebd4..02b6a5e3 100644 --- a/test/dashbot/models/chat_action_model_test.dart +++ b/test/dashbot/models/chat_action_model_test.dart @@ -1,5 +1,5 @@ -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/models/chat_attachment_model_test.dart b/test/dashbot/models/chat_attachment_model_test.dart index 196c9722..5d0c3450 100644 --- a/test/dashbot/models/chat_attachment_model_test.dart +++ b/test/dashbot/models/chat_attachment_model_test.dart @@ -1,6 +1,5 @@ import 'dart:typed_data'; - -import 'package:apidash/dashbot/core/model/chat_attachment.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/models/chat_failure_model_test.dart b/test/dashbot/models/chat_failure_model_test.dart index 4592292c..c1e09f82 100644 --- a/test/dashbot/models/chat_failure_model_test.dart +++ b/test/dashbot/models/chat_failure_model_test.dart @@ -1,4 +1,4 @@ -import 'package:apidash/dashbot/core/error/chat_failure.dart'; +import 'package:apidash/dashbot/error/chat_failure.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/models/chat_message_model_test.dart b/test/dashbot/models/chat_message_model_test.dart index 37408727..b4c8ebee 100644 --- a/test/dashbot/models/chat_message_model_test.dart +++ b/test/dashbot/models/chat_message_model_test.dart @@ -1,6 +1,5 @@ -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/models/chat_models_test.dart b/test/dashbot/models/chat_models_test.dart index e0f48ff2..6b907f4a 100644 --- a/test/dashbot/models/chat_models_test.dart +++ b/test/dashbot/models/chat_models_test.dart @@ -1,9 +1,6 @@ -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/core/error/chat_failure.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_response.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_state.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/error/chat_failure.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:test/test.dart'; void main() { @@ -127,7 +124,7 @@ void main() { group('Enum mapping helpers', () { test('chatActionTypeToString covers all values', () { for (final t in ChatActionType.values) { - final s = chatActionTypeToString(t); + final s = t.text; expect(s, isA()); expect(s.isNotEmpty, true); } @@ -135,7 +132,7 @@ void main() { test('chatActionTargetToString covers all values', () { for (final t in ChatActionTarget.values) { - final s = chatActionTargetToString(t); + final s = t.name; expect(s, isA()); expect(s.isNotEmpty, true); } diff --git a/test/dashbot/models/chat_response_model_test.dart b/test/dashbot/models/chat_response_model_test.dart index 218c189a..ce8156d7 100644 --- a/test/dashbot/models/chat_response_model_test.dart +++ b/test/dashbot/models/chat_response_model_test.dart @@ -1,5 +1,5 @@ -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_response.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/models/chat_state_model_test.dart b/test/dashbot/models/chat_state_model_test.dart index ddf2666f..50544069 100644 --- a/test/dashbot/models/chat_state_model_test.dart +++ b/test/dashbot/models/chat_state_model_test.dart @@ -1,7 +1,6 @@ -import 'package:apidash/dashbot/core/error/chat_failure.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_state.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/error/chat_failure.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/models/constants_model_test.dart b/test/dashbot/models/constants_model_test.dart index 816eac56..c9e6da09 100644 --- a/test/dashbot/models/constants_model_test.dart +++ b/test/dashbot/models/constants_model_test.dart @@ -1,4 +1,4 @@ -import 'package:apidash/dashbot/core/constants/constants.dart'; +import 'package:apidash/dashbot/constants.dart'; import 'package:test/test.dart'; void main() { @@ -21,7 +21,7 @@ void main() { ChatActionType.uploadAsset: 'upload_asset', }; map.forEach((enumVal, strVal) { - expect(chatActionTypeToString(enumVal), strVal); + expect(enumVal.text, strVal); expect(chatActionTypeFromString(strVal), enumVal); }); // unknown @@ -38,7 +38,7 @@ void main() { ChatActionTarget.documentation: 'documentation', }; map.forEach((enumVal, strVal) { - expect(chatActionTargetToString(enumVal), strVal); + expect(enumVal.name, strVal); expect(chatActionTargetFromString(strVal), enumVal); }); // unknown maps to default httpRequestModel diff --git a/test/dashbot/models/dashbot_window_model_test.dart b/test/dashbot/models/dashbot_window_model_test.dart index 86fb3624..9ed5d274 100644 --- a/test/dashbot/models/dashbot_window_model_test.dart +++ b/test/dashbot/models/dashbot_window_model_test.dart @@ -1,4 +1,4 @@ -import 'package:apidash/dashbot/core/model/dashbot_window_model.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/pages/dashbot_chat_page_test.dart b/test/dashbot/pages/dashbot_chat_page_test.dart index 6b104183..eb80b7a6 100644 --- a/test/dashbot/pages/dashbot_chat_page_test.dart +++ b/test/dashbot/pages/dashbot_chat_page_test.dart @@ -1,9 +1,8 @@ -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_state.dart'; -import 'package:apidash/dashbot/features/chat/view/pages/dashbot_chat_page.dart'; -import 'package:apidash/dashbot/features/chat/view/widgets/dashbot_task_buttons.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/pages/pages.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; +import 'package:apidash/dashbot/widgets/widgets.dart'; import 'package:apidash/providers/collection_providers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; diff --git a/test/dashbot/pages/dashbot_default_page_test.dart b/test/dashbot/pages/dashbot_default_page_test.dart index 9fbd44c5..b4d59b98 100644 --- a/test/dashbot/pages/dashbot_default_page_test.dart +++ b/test/dashbot/pages/dashbot_default_page_test.dart @@ -1,7 +1,7 @@ -import 'package:apidash/dashbot/core/common/pages/dashbot_default_page.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/core/routes/dashbot_routes.dart'; -import 'package:apidash/dashbot/features/home/view/widgets/home_screen_task_button.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/pages/pages.dart'; +import 'package:apidash/dashbot/routes/routes.dart'; +import 'package:apidash/dashbot/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/pages/dashbot_home_page_test.dart b/test/dashbot/pages/dashbot_home_page_test.dart index 2e7b396e..2400fc2b 100644 --- a/test/dashbot/pages/dashbot_home_page_test.dart +++ b/test/dashbot/pages/dashbot_home_page_test.dart @@ -1,8 +1,8 @@ -import 'package:apidash/dashbot/features/home/view/pages/dashbot_home_page.dart'; -import 'package:apidash/dashbot/features/home/view/widgets/home_screen_task_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; -import 'package:apidash/dashbot/core/routes/dashbot_routes.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/pages/pages.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; +import 'package:apidash/dashbot/routes/routes.dart'; +import 'package:apidash/dashbot/widgets/widgets.dart'; import 'package:apidash/models/request_model.dart'; import 'package:apidash/providers/collection_providers.dart'; import 'package:apidash_core/apidash_core.dart'; diff --git a/test/dashbot/pages/test_utils.dart b/test/dashbot/pages/test_utils.dart index 457efe3b..7dc12afb 100644 --- a/test/dashbot/pages/test_utils.dart +++ b/test/dashbot/pages/test_utils.dart @@ -1,7 +1,6 @@ -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_state.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; import 'package:flutter/material.dart'; class SpyChatViewmodel extends ChatViewmodel { diff --git a/test/dashbot/providers/attachments_provider_test.dart b/test/dashbot/providers/attachments_provider_test.dart index 00ea9c9a..f807466c 100644 --- a/test/dashbot/providers/attachments_provider_test.dart +++ b/test/dashbot/providers/attachments_provider_test.dart @@ -1,11 +1,9 @@ import 'dart:typed_data'; - +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:apidash/dashbot/core/providers/attachments_provider.dart'; -import 'package:apidash/dashbot/core/model/chat_attachment.dart'; - void main() { group('attachmentsProvider', () { late ProviderContainer container; diff --git a/test/dashbot/providers/dashbot_window_notifier_test.dart b/test/dashbot/providers/dashbot_window_notifier_test.dart index 0a34dc27..14af07bf 100644 --- a/test/dashbot/providers/dashbot_window_notifier_test.dart +++ b/test/dashbot/providers/dashbot_window_notifier_test.dart @@ -1,9 +1,8 @@ import 'dart:ui'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import 'package:apidash/dashbot/core/model/dashbot_window_model.dart'; -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; import '../../providers/helpers.dart'; diff --git a/test/dashbot/services/auto_fix_service_test.dart b/test/dashbot/services/auto_fix_service_test.dart index a1bee99c..cb43d1d9 100644 --- a/test/dashbot/services/auto_fix_service_test.dart +++ b/test/dashbot/services/auto_fix_service_test.dart @@ -1,8 +1,6 @@ -import 'package:apidash/dashbot/core/services/actions/auto_fix_service.dart'; -import 'package:apidash/dashbot/core/services/actions/request_apply_service.dart'; -import 'package:apidash/dashbot/core/services/base/url_env_service.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/services/services.dart'; import 'package:apidash/models/request_model.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:test/test.dart'; diff --git a/test/dashbot/services/curl_import_service_test.dart b/test/dashbot/services/curl_import_service_test.dart index 87dd5fd5..9977ed37 100644 --- a/test/dashbot/services/curl_import_service_test.dart +++ b/test/dashbot/services/curl_import_service_test.dart @@ -1,5 +1,5 @@ -import 'package:apidash/dashbot/core/services/curl_import_service.dart'; -import 'package:curl_parser/curl_parser.dart'; +import 'package:apidash/dashbot/services/services.dart'; +import 'package:apidash_core/apidash_core.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/services/openapi_import_service_test.dart b/test/dashbot/services/openapi_import_service_test.dart index 37b90c82..918f7fa3 100644 --- a/test/dashbot/services/openapi_import_service_test.dart +++ b/test/dashbot/services/openapi_import_service_test.dart @@ -1,5 +1,5 @@ -import 'package:apidash/dashbot/core/services/openapi_import_service.dart'; -import 'package:openapi_spec/openapi_spec.dart'; +import 'package:apidash/dashbot/services/services.dart'; +import 'package:apidash_core/apidash_core.dart'; import 'package:test/test.dart'; const _specJson = ''' @@ -72,7 +72,7 @@ void main() { }); group('OpenApiImportService extended coverage', () { - const _extendedSpecJson = ''' + const extendedSpecJson = ''' { "openapi": "3.0.0", "info": {"title": "Extended API", "version": "2.0.0"}, @@ -124,7 +124,7 @@ void main() { test( 'extractSpecMeta captures tags, content types, trimming and noteworthy routes', () { - final spec = OpenApiImportService.tryParseSpec(_extendedSpecJson)!; + final spec = OpenApiImportService.tryParseSpec(extendedSpecJson)!; final meta = OpenApiImportService.extractSpecMeta(spec, maxRoutes: 1); // trigger trimming branch // endpointsCount should reflect all operations (GET, POST on /search, POST on /upload) = 3 @@ -153,7 +153,7 @@ void main() { test( 'payloadForOperation covers json request body & header param & baseUrl slash trimming', () { - final spec = OpenApiImportService.tryParseSpec(_extendedSpecJson)!; + final spec = OpenApiImportService.tryParseSpec(extendedSpecJson)!; final getOp = spec.paths!['/search']!.get!; final payload = OpenApiImportService.payloadForOperation( baseUrl: spec.servers!.first.url!, // ends with slash @@ -173,7 +173,7 @@ void main() { }); test('payloadForOperation covers form request body variants', () { - final spec = OpenApiImportService.tryParseSpec(_extendedSpecJson)!; + final spec = OpenApiImportService.tryParseSpec(extendedSpecJson)!; final postOp = spec.paths!['/search']!.post!; // multipart form final payload1 = OpenApiImportService.payloadForOperation( baseUrl: spec.servers!.first.url!, @@ -198,7 +198,7 @@ void main() { }); test('buildOperationPicker with insights branch', () { - final spec = OpenApiImportService.tryParseSpec(_extendedSpecJson)!; + final spec = OpenApiImportService.tryParseSpec(extendedSpecJson)!; final picker = OpenApiImportService.buildOperationPicker(spec, insights: 'Some insights'); expect(picker['explanation'], contains('Some insights')); diff --git a/test/dashbot/services/prompt_builder_service_test.dart b/test/dashbot/services/prompt_builder_service_test.dart index 220d681e..1ea79ad5 100644 --- a/test/dashbot/services/prompt_builder_service_test.dart +++ b/test/dashbot/services/prompt_builder_service_test.dart @@ -1,6 +1,6 @@ -import 'package:apidash/dashbot/core/services/agent/prompt_builder.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_message.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/services/services.dart'; import 'package:apidash/models/request_model.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:test/test.dart'; diff --git a/test/dashbot/services/request_apply_service_test.dart b/test/dashbot/services/request_apply_service_test.dart index ec83a958..5b157843 100644 --- a/test/dashbot/services/request_apply_service_test.dart +++ b/test/dashbot/services/request_apply_service_test.dart @@ -1,5 +1,4 @@ -import 'package:apidash/dashbot/core/services/actions/request_apply_service.dart'; -import 'package:apidash/dashbot/core/services/base/url_env_service.dart'; +import 'package:apidash/dashbot/services/services.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:test/test.dart'; diff --git a/test/dashbot/services/url_env_service_test.dart b/test/dashbot/services/url_env_service_test.dart index 237851b5..84b97fbe 100644 --- a/test/dashbot/services/url_env_service_test.dart +++ b/test/dashbot/services/url_env_service_test.dart @@ -1,4 +1,4 @@ -import 'package:apidash/dashbot/core/services/base/url_env_service.dart'; +import 'package:apidash/dashbot/services/services.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:test/test.dart'; diff --git a/test/dashbot/utils/dashbot_icons_test.dart b/test/dashbot/utils/dashbot_icons_test.dart index 94dcc61e..09ea0903 100644 --- a/test/dashbot/utils/dashbot_icons_test.dart +++ b/test/dashbot/utils/dashbot_icons_test.dart @@ -1,4 +1,4 @@ -import 'package:apidash/dashbot/core/utils/dashbot_icons.dart'; +import 'package:apidash/dashbot/utils/utils.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/utils/safe_parse_json_message_test.dart b/test/dashbot/utils/safe_parse_json_message_test.dart index 137e3caa..aa86caaa 100644 --- a/test/dashbot/utils/safe_parse_json_message_test.dart +++ b/test/dashbot/utils/safe_parse_json_message_test.dart @@ -1,4 +1,4 @@ -import 'package:apidash/dashbot/core/utils/safe_parse_json_message.dart'; +import 'package:apidash/dashbot/utils/utils.dart'; import 'package:test/test.dart'; void main() { diff --git a/test/dashbot/utils/show_dashbot_test.dart b/test/dashbot/utils/show_dashbot_test.dart index 32af46db..14e2e8c5 100644 --- a/test/dashbot/utils/show_dashbot_test.dart +++ b/test/dashbot/utils/show_dashbot_test.dart @@ -1,5 +1,5 @@ -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; -import 'package:apidash/dashbot/core/utils/show_dashbot.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; +import 'package:apidash/dashbot/utils/utils.dart'; import 'package:apidash/dashbot/dashbot_dashboard.dart'; import 'package:apidash/providers/collection_providers.dart'; import 'package:flutter/material.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_add_test_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_add_test_button_test.dart index 75ebfb85..54ca697a 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_add_test_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_add_test_button_test.dart @@ -1,11 +1,10 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_add_test_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/models.dart'; +import 'package:apidash/dashbot/providers/providers.dart'; +import 'package:apidash/dashbot/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; - import '../../../test_consts.dart'; import 'test_utils.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_apply_curl_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_apply_curl_button_test.dart index 31566b80..28397fec 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_apply_curl_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_apply_curl_button_test.dart @@ -1,11 +1,10 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_apply_curl_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; - import '../../../test_consts.dart'; import 'test_utils.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_apply_openapi_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_apply_openapi_button_test.dart index 01c20008..e5bdab90 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_apply_openapi_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_apply_openapi_button_test.dart @@ -1,7 +1,7 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_apply_openapi_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_auto_fix_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_auto_fix_button_test.dart index 4e609a0b..4a2eaa38 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_auto_fix_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_auto_fix_button_test.dart @@ -1,7 +1,7 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_auto_fix_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_download_doc_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_download_doc_button_test.dart index d0145315..d0f1b542 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_download_doc_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_download_doc_button_test.dart @@ -1,8 +1,7 @@ import 'dart:io'; - -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_generate_codeblock_test.dart b/test/dashbot/widgets/action_buttons/dashbot_generate_codeblock_test.dart index 63740c50..736166fd 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_generate_codeblock_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_generate_codeblock_test.dart @@ -1,6 +1,6 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_generate_codeblock.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_generate_language_picker_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_generate_language_picker_button_test.dart index bb323be3..97fbd37d 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_generate_language_picker_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_generate_language_picker_button_test.dart @@ -1,7 +1,7 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_generate_language_picker_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_import_now_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_import_now_button_test.dart index cfc8e30c..ed31315a 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_import_now_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_import_now_button_test.dart @@ -1,8 +1,8 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_import_now_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/providers/dashbot_window_notifier.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_import_now_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_select_operation_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_select_operation_button_test.dart index c584fdfb..be5f56d9 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_select_operation_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_select_operation_button_test.dart @@ -1,7 +1,7 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dsahbot_select_operation_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_select_operation_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/action_buttons/dashbot_upload_request_button_test.dart b/test/dashbot/widgets/action_buttons/dashbot_upload_request_button_test.dart index f75f4c2a..0caa678e 100644 --- a/test/dashbot/widgets/action_buttons/dashbot_upload_request_button_test.dart +++ b/test/dashbot/widgets/action_buttons/dashbot_upload_request_button_test.dart @@ -1,14 +1,12 @@ import 'dart:typed_data'; - +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart'; import 'package:file_selector_platform_interface/file_selector_platform_interface.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; - -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_upload_requests_button.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; import '../../../test_consts.dart'; import 'test_utils.dart'; diff --git a/test/dashbot/widgets/action_buttons/test_utils.dart b/test/dashbot/widgets/action_buttons/test_utils.dart index 17d83d86..bf381958 100644 --- a/test/dashbot/widgets/action_buttons/test_utils.dart +++ b/test/dashbot/widgets/action_buttons/test_utils.dart @@ -1,8 +1,8 @@ -import 'package:apidash/dashbot/core/model/chat_attachment.dart'; -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/models/chat_attachment.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/providers/dashbot_window_notifier.dart'; class TestChatViewmodel extends ChatViewmodel { TestChatViewmodel(super.ref); diff --git a/test/dashbot/widgets/chat/chat_bubble_test.dart b/test/dashbot/widgets/chat_bubble_test.dart similarity index 90% rename from test/dashbot/widgets/chat/chat_bubble_test.dart rename to test/dashbot/widgets/chat_bubble_test.dart index 7da0652a..c9482b6f 100644 --- a/test/dashbot/widgets/chat/chat_bubble_test.dart +++ b/test/dashbot/widgets/chat_bubble_test.dart @@ -1,7 +1,7 @@ -import 'package:apidash/dashbot/core/common/widgets/dashbot_action_buttons/dashbot_actions_buttons.dart'; -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_action.dart'; -import 'package:apidash/dashbot/features/chat/view/widgets/chat_bubble.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_action.dart'; +import 'package:apidash/dashbot/widgets/chat_bubble.dart'; +import 'package:apidash/dashbot/widgets/dashbot_action_buttons/dashbot_download_doc_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; diff --git a/test/dashbot/widgets/chat/dashbot_task_buttons_test.dart b/test/dashbot/widgets/dashbot_task_buttons_test.dart similarity index 90% rename from test/dashbot/widgets/chat/dashbot_task_buttons_test.dart rename to test/dashbot/widgets/dashbot_task_buttons_test.dart index 51602cb6..84957102 100644 --- a/test/dashbot/widgets/chat/dashbot_task_buttons_test.dart +++ b/test/dashbot/widgets/dashbot_task_buttons_test.dart @@ -1,17 +1,16 @@ -import 'package:apidash/dashbot/core/constants/constants.dart'; -import 'package:apidash/dashbot/core/providers/dashbot_window_notifier.dart'; -import 'package:apidash/dashbot/features/chat/models/chat_state.dart'; -import 'package:apidash/dashbot/features/chat/view/widgets/dashbot_task_buttons.dart'; -import 'package:apidash/dashbot/features/chat/viewmodel/chat_viewmodel.dart'; +import 'package:apidash/dashbot/constants.dart'; +import 'package:apidash/dashbot/models/chat_state.dart'; +import 'package:apidash/dashbot/providers/chat_viewmodel.dart'; +import 'package:apidash/dashbot/providers/dashbot_window_notifier.dart'; +import 'package:apidash/dashbot/widgets/dashbot_task_buttons.dart'; import 'package:apidash/models/request_model.dart'; import 'package:apidash/providers/collection_providers.dart'; import 'package:apidash_core/apidash_core.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; - -import '../../pages/test_utils.dart'; -import '../action_buttons/test_utils.dart'; +import '../pages/test_utils.dart'; +import 'action_buttons/test_utils.dart'; void main() { testWidgets('DashbotTaskButtons quick actions dispatch expected commands', diff --git a/test/dashbot/widgets/home/home_screen_task_button_test.dart b/test/dashbot/widgets/home_screen_task_button_test.dart similarity index 89% rename from test/dashbot/widgets/home/home_screen_task_button_test.dart rename to test/dashbot/widgets/home_screen_task_button_test.dart index 9cf3d897..80079a2e 100644 --- a/test/dashbot/widgets/home/home_screen_task_button_test.dart +++ b/test/dashbot/widgets/home_screen_task_button_test.dart @@ -1,4 +1,4 @@ -import 'package:apidash/dashbot/features/home/view/widgets/home_screen_task_button.dart'; +import 'package:apidash/dashbot/widgets/home_screen_task_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/test/dashbot/widgets/chat/openapi_operation_picker_dialog_test.dart b/test/dashbot/widgets/openapi_operation_picker_dialog_test.dart similarity index 97% rename from test/dashbot/widgets/chat/openapi_operation_picker_dialog_test.dart rename to test/dashbot/widgets/openapi_operation_picker_dialog_test.dart index 67de2cc9..510b19ea 100644 --- a/test/dashbot/widgets/chat/openapi_operation_picker_dialog_test.dart +++ b/test/dashbot/widgets/openapi_operation_picker_dialog_test.dart @@ -1,7 +1,7 @@ -import 'package:apidash/dashbot/features/chat/view/widgets/openapi_operation_picker_dialog.dart'; +import 'package:apidash/dashbot/widgets/openapi_operation_picker_dialog.dart'; +import 'package:apidash_core/apidash_core.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:openapi_spec/openapi_spec.dart'; const _emptySpecJson = ''' { diff --git a/test/providers/dashbot_window_notifier_test.dart b/test/providers/dashbot_window_notifier_test.dart index 0e9fc551..fee8835a 100644 --- a/test/providers/dashbot_window_notifier_test.dart +++ b/test/providers/dashbot_window_notifier_test.dart @@ -1,6 +1,6 @@ import 'dart:ui'; -import 'package:apidash/dashbot/core/model/dashbot_window_model.dart'; import 'package:apidash/dashbot/dashbot.dart'; +import 'package:apidash/dashbot/models/models.dart'; import 'package:flutter_test/flutter_test.dart'; import 'helpers.dart';