1#ifndef YAZE_CLI_SERVICE_PROMPT_BUILDER_H_
2#define YAZE_CLI_SERVICE_PROMPT_BUILDER_H_
7#if !defined(YAZE_WITH_JSON)
10 "PromptBuilder requires JSON support. Build with -DYAZE_WITH_JSON=ON (or -DZ3ED_AI=ON) and ensure yaml-cpp is available.")
13 "PromptBuilder requires JSON support. Build with -DYAZE_WITH_JSON=ON (or -DZ3ED_AI=ON) and ensure yaml-cpp is available."
21#include "absl/status/status.h"
22#include "absl/status/statusor.h"
26#include "nlohmann/json_fwd.hpp"
88 const std::vector<agent::ChatMessage>& history);
95 const std::string& category);
96 std::string
LookupTileId(
const std::string& alias)
const;
115 const std::string& yaml_path)
const;
118 absl::Status
ParseTools(
const nlohmann::json& tools);
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
std::string BuildContextualPrompt(const std::string &user_prompt, const RomContext &context)
std::vector< FewShotExample > examples_
std::map< std::string, std::string > command_docs_
absl::Status ParseTools(const nlohmann::json &tools)
std::map< std::string, std::string > tile_reference_
std::unique_ptr< ResourceContextBuilder > resource_context_builder_
const std::map< std::string, std::string > & tile_reference() const
std::string BuildConstraintsSection() const
std::string BuildTileReferenceSection() const
void AddFewShotExample(const FewShotExample &example)
std::string BuildFunctionCallSchemas() const
std::string BuildSystemInstructionWithExamples()
std::string BuildPromptFromHistory(const std::vector< agent::ChatMessage > &history)
std::string BuildToolReference() const
std::string BuildContextSection(const RomContext &context)
void SetVerbosity(int level)
void ParseTileReference(const nlohmann::json &tile_reference)
std::string BuildSystemInstruction()
std::string LookupTileId(const std::string &alias) const
absl::Status ParseExamples(const nlohmann::json &examples)
std::string BuildFewShotExamplesSection() const
std::vector< ToolSpecification > tool_specs_
std::string BuildCommandReference() const
absl::StatusOr< std::string > ResolveCataloguePath(const std::string &yaml_path) const
absl::Status LoadResourceCatalogue(const std::string &yaml_path)
absl::Status ParseCommands(const nlohmann::json &commands)
std::vector< FewShotExample > GetExamplesForCategory(const std::string &category)
std::string text_response
std::vector< ToolCall > tool_calls
std::vector< std::string > expected_commands
std::map< std::string, std::string > editor_state
std::string current_editor