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"
11
12#ifdef YAZE_AI_RUNTIME_AVAILABLE
14#endif
15
16namespace yaze {
17namespace cli {
18
20 public:
21 explicit LocalGeminiCliService(const std::string& model = "gemini-2.5-flash");
22
23 void SetRomContext(Rom* rom) override;
24 absl::StatusOr<AgentResponse> GenerateResponse(
25 const std::string& prompt) override;
26 absl::StatusOr<AgentResponse> GenerateResponse(
27 const std::vector<agent::ChatMessage>& history) override;
28 std::string GetProviderName() const override { return kProviderGeminiCli; }
29
30 private:
31 std::string EscapeShellArg(const std::string& arg);
32 absl::StatusOr<AgentResponse> ExecuteGeminiCli(const std::string& prompt);
33
34 std::string model_;
35#ifdef YAZE_AI_RUNTIME_AVAILABLE
36 PromptBuilder prompt_builder_;
37#endif
38};
39
40} // namespace cli
41} // namespace yaze
42
43#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:28
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)
constexpr char kProviderGeminiCli[]