execute method
Implementation
@override
Future<int> execute() async {
_agent = PubMindAgent(
apiKey: apiKey!,
model: model,
temperature: 0.5,
maxIterations: 100,
tools: [
createRecommendPackagesTool(),
createTaskDoneTool(),
createSearchPackagesTool(),
createGetPackageInfoTool(),
createCheckCompatibilityTool(
processRunner: ProcessRunner(
workingDirectory: projectDirectory, verbose: verbose),
projectDirectory: projectDirectory,
),
createReadPubspecTool(projectDirectory: projectDirectory),
createSequentialThinkingTool(),
createInstallPackageTool(
processRunner: ProcessRunner(
workingDirectory: projectDirectory, verbose: verbose),
projectDirectory: projectDirectory,
),
createRunCommandTool(
commandService: CommandService(
processRunner: ProcessRunner(
workingDirectory: projectDirectory, verbose: verbose),
),
),
],
);
LoggerUtils.printWelcomeBanner(logger, model, projectDirectory, withTools);
LoggerUtils.printCommands(logger);
_isRunning = true;
ProcessSignal.sigint.watch().listen((_) {
_handleExit();
});
await _chatLoop();
return ExitCode.success.code;
}