yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
local_gemini_cli_service.h
Go to the documentation of this file.
1#ifndef YAZE_SRC_CLI_SERVICE_AI_LOCAL_GEMINI_CLI_SERVICE_H_
2#define YAZE_SRC_CLI_SERVICE_AI_LOCAL_GEMINI_CLI_SERVICE_H_
3
4#include <string>
5#include <vector>
6
7#include "absl/status/status.h"
8#include "absl/status/statusor.h"
10
11#ifdef YAZE_AI_RUNTIME_AVAILABLE
13#endif
14
15namespace yaze {
16namespace cli {
17
19 public:
20 explicit LocalGeminiCliService(const std::string& model = "gemini-2.5-flash");
21
22 void SetRomContext(Rom* rom) override;
23 absl::StatusOr<AgentResponse> GenerateResponse(const std::string& prompt) override;
24 absl::StatusOr<AgentResponse> GenerateResponse(const std::vector<agent::ChatMessage>& history) override;
25 std::string GetProviderName() const override { return "gemini-cli"; }
26
27 private:
28 std::string EscapeShellArg(const std::string& arg);
29 absl::StatusOr<AgentResponse> ExecuteGeminiCli(const std::string& prompt);
30
31 std::string model_;
32#ifdef YAZE_AI_RUNTIME_AVAILABLE
33 PromptBuilder prompt_builder_;
34#endif
35};
36
37} // namespace cli
38} // namespace yaze
39
40#endif // YAZE_SRC_CLI_SERVICE_AI_LOCAL_GEMINI_CLI_SERVICE_H_
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Definition rom.h:24
absl::StatusOr< AgentResponse > GenerateResponse(const std::string &prompt) override
std::string GetProviderName() const override
LocalGeminiCliService(const std::string &model="gemini-2.5-flash")
std::string EscapeShellArg(const std::string &arg)
absl::StatusOr< AgentResponse > ExecuteGeminiCli(const std::string &prompt)