1#ifndef YAZE_APP_EDITOR_AGENT_AGENT_EDITOR_H_
2#define YAZE_APP_EDITOR_AGENT_AGENT_EDITOR_H_
11#include "absl/status/status.h"
12#include "absl/status/statusor.h"
30class AgentCollaborationCoordinator;
33class NetworkCollaborationCoordinator;
62 absl::Status
Load()
override;
63 absl::Status
Save()
override;
64 absl::Status
Update()
override;
65 absl::Status
Cut()
override {
66 return absl::UnimplementedError(
"Not applicable");
68 absl::Status
Copy()
override {
69 return absl::UnimplementedError(
"Not applicable");
72 return absl::UnimplementedError(
"Not applicable");
74 absl::Status
Undo()
override {
75 return absl::UnimplementedError(
"Not applicable");
77 absl::Status
Redo()
override {
78 return absl::UnimplementedError(
"Not applicable");
80 absl::Status
Find()
override {
81 return absl::UnimplementedError(
"Not applicable");
94 std::string
name =
"Default Bot";
179 const std::filesystem::path& path);
180 absl::Status
ImportProfile(
const std::filesystem::path& path);
208 const std::string& session_name,
211 const std::string& session_code,
224 absl::Status
SendToGemini(
const std::filesystem::path& image_path,
225 const std::string& prompt);
228 absl::Status ConnectToServer(
const std::string& server_url);
229 void DisconnectFromServer();
230 bool IsConnectedToServer()
const;
242 NetworkCollaborationCoordinator* GetNetworkCoordinator() {
243 return network_coordinator_.get();
268 absl::StatusOr<BotProfile>
JsonToProfile(
const std::string& json)
const;
276 std::unique_ptr<NetworkCollaborationCoordinator> network_coordinator_;
277 AutomationBridge harness_telemetry_bridge_;
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Unified Agent Chat Component.
Comprehensive AI Agent Platform & Bot Creator.
std::string current_session_id_
void SetKnowledgePanelCallback(KnowledgePanelCallback callback)
void SetCurrentProfile(const BotProfile &profile)
void ApplyConfig(const AgentConfig &config)
void InitializeWithDependencies(ToastManager *toast_manager, ProposalDrawer *proposal_drawer, Rom *rom)
absl::Status SaveBuilderBlueprint(const std::filesystem::path &path)
void DrawAdvancedMetricsPanel()
absl::StatusOr< SessionInfo > JoinSession(const std::string &session_code, CollaborationMode mode=CollaborationMode::kLocal)
BotProfile & GetCurrentProfile()
void SetRomContext(Rom *rom)
void SetChatActive(bool active)
void SetupAutomationCallbacks()
KnowledgePanelCallback knowledge_panel_callback_
absl::StatusOr< BotProfile > JsonToProfile(const std::string &json) const
absl::Status Find() override
absl::StatusOr< SessionInfo > RefreshSession()
absl::Status ImportProfile(const std::filesystem::path &path)
absl::Status Copy() override
bool IsChatActive() const
void SetupMultimodalCallbacks()
bool prompt_editor_initialized_
void Initialize() override
ProposalDrawer * proposal_drawer_
bool show_metrics_dashboard_
absl::Status Redo() override
std::vector< cli::agent::ChatMessage > cached_history_
AgentChat * GetAgentChat()
AgentBuilderState builder_state_
AgentConfig current_config_
absl::Status Save() override
bool common_tiles_initialized_
std::string current_session_name_
CollaborationMode GetCurrentMode() const
void DrawPromptEditorPanel()
const BotProfile & GetCurrentProfile() const
absl::Status SendToGemini(const std::filesystem::path &image_path, const std::string &prompt)
AgentCollaborationCoordinator * GetLocalCoordinator()
absl::Status EnsureProfilesDirectory()
absl::Status Undo() override
absl::Status LoadBuilderBlueprint(const std::filesystem::path &path)
std::function< void()> KnowledgePanelCallback
absl::Status Paste() override
bool history_needs_refresh_
absl::Status ExportProfile(const BotProfile &profile, const std::filesystem::path &path)
bool show_prompt_editor_card_
void DrawNewPromptCreator()
CollaborationMode current_mode_
absl::Status SaveBotProfile(const BotProfile &profile)
std::string active_prompt_file_
absl::Status DeleteBotProfile(const std::string &name)
std::filesystem::path GetProfilesDirectory() const
ToastManager * toast_manager_
AgentConfig GetCurrentConfig() const
std::unique_ptr< TextEditor > common_tiles_editor_
absl::StatusOr< SessionInfo > HostSession(const std::string &session_name, CollaborationMode mode=CollaborationMode::kLocal)
void DrawCommonTilesEditor()
char new_prompt_name_[128]
std::string ProfileToJson(const BotProfile &profile) const
absl::Status LeaveSession()
std::unique_ptr< TextEditor > prompt_editor_
bool show_advanced_settings_
std::unique_ptr< AgentCollaborationCoordinator > local_coordinator_
absl::Status CaptureSnapshot(std::filesystem::path *output_path, const CaptureConfig &config)
absl::Status Load() override
BotProfile current_profile_
absl::Status LoadBotProfile(const std::string &name)
std::vector< BotProfile > GetAllProfiles() const
void DrawChatHistoryViewer()
std::vector< std::string > current_participants_
void DrawBotProfilesPanel()
std::unique_ptr< AgentChat > agent_chat_
absl::Status Update() override
void DrawConfigurationPanel()
std::vector< BotProfile > loaded_profiles_
absl::Status Cut() override
std::optional< SessionInfo > GetCurrentSession() const
void DrawAgentBuilderPanel()
Interface for editor classes.
ImGui drawer for displaying and managing agent proposals.
struct yaze::editor::AgentEditor::AgentBuilderState::ToolPlan tools
std::string persona_notes
std::vector< std::string > goals
std::vector< Stage > stages
bool auto_focus_proposals
std::string blueprint_path
std::string gemini_api_key
std::string openai_api_key
std::vector< std::string > tags
std::string openai_api_key
std::string gemini_api_key
std::string system_prompt
std::string specific_window_name
std::vector< std::string > participants