mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-18 22:44:21 +01:00
Integrate BenchmarkService into SkillTreeViewModel with Incomplete Methods
This commit extends the `SkillTreeViewModel` to include `BenchmarkService` as a dependency. This integration allows for leveraging benchmark-related API calls within the skill tree logic. Two new methods have been added to `SkillTreeViewModel`: 1. `callGenerateReport`: This method attempts to call the `generateReport` function from the `BenchmarkService`. Currently, it only prints the API response and is incomplete in terms of full functionality. 2. `callPollUpdates`: Similar to `callGenerateReport`, this method aims to call `pollUpdates` from `BenchmarkService` and prints the API response. This is also incomplete and will require further development. Both methods are preliminary and will require additional features to become fully functional.
This commit is contained in:
@@ -1,12 +1,16 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
import 'package:auto_gpt_flutter_client/models/benchmark_service/report_request_body.dart';
|
||||||
import 'package:auto_gpt_flutter_client/models/skill_tree/skill_tree_edge.dart';
|
import 'package:auto_gpt_flutter_client/models/skill_tree/skill_tree_edge.dart';
|
||||||
import 'package:auto_gpt_flutter_client/models/skill_tree/skill_tree_node.dart';
|
import 'package:auto_gpt_flutter_client/models/skill_tree/skill_tree_node.dart';
|
||||||
|
import 'package:auto_gpt_flutter_client/services/benchmark_service.dart';
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:graphview/GraphView.dart';
|
import 'package:graphview/GraphView.dart';
|
||||||
|
|
||||||
class SkillTreeViewModel extends ChangeNotifier {
|
class SkillTreeViewModel extends ChangeNotifier {
|
||||||
|
final BenchmarkService benchmarkService;
|
||||||
|
|
||||||
List<SkillTreeNode> _skillTreeNodes = [];
|
List<SkillTreeNode> _skillTreeNodes = [];
|
||||||
List<SkillTreeEdge> _skillTreeEdges = [];
|
List<SkillTreeEdge> _skillTreeEdges = [];
|
||||||
SkillTreeNode? _selectedNode;
|
SkillTreeNode? _selectedNode;
|
||||||
@@ -18,6 +22,8 @@ class SkillTreeViewModel extends ChangeNotifier {
|
|||||||
final Graph graph = Graph()..isTree = true;
|
final Graph graph = Graph()..isTree = true;
|
||||||
BuchheimWalkerConfiguration builder = BuchheimWalkerConfiguration();
|
BuchheimWalkerConfiguration builder = BuchheimWalkerConfiguration();
|
||||||
|
|
||||||
|
SkillTreeViewModel(this.benchmarkService);
|
||||||
|
|
||||||
Future<void> initializeSkillTree() async {
|
Future<void> initializeSkillTree() async {
|
||||||
try {
|
try {
|
||||||
resetState();
|
resetState();
|
||||||
@@ -119,6 +125,26 @@ class SkillTreeViewModel extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Update to actual implementation
|
||||||
|
Future<void> callGenerateReport(ReportRequestBody reportRequestBody) async {
|
||||||
|
try {
|
||||||
|
final result = await benchmarkService.generateReport(reportRequestBody);
|
||||||
|
print("Report generated: $result");
|
||||||
|
} catch (e) {
|
||||||
|
print("Failed to generate report: $e");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Update to actual implementation
|
||||||
|
Future<void> callPollUpdates(int lastUpdateTime) async {
|
||||||
|
try {
|
||||||
|
final result = await benchmarkService.pollUpdates(lastUpdateTime);
|
||||||
|
print("Updates polled: $result");
|
||||||
|
} catch (e) {
|
||||||
|
print("Failed to poll updates: $e");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Getter to expose nodes for the View
|
// Getter to expose nodes for the View
|
||||||
List<SkillTreeNode> get skillTreeNodes => _skillTreeNodes;
|
List<SkillTreeNode> get skillTreeNodes => _skillTreeNodes;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user