caps.h 628 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "runtime.h"
  3. #include <string>
  4. #include <map>
  5. namespace jinja {
  6. struct caps {
  7. bool supports_tools = true;
  8. bool supports_tool_calls = true;
  9. bool supports_system_role = true;
  10. bool supports_parallel_tool_calls = true;
  11. bool supports_preserve_reasoning = false; // support assistant message with reasoning_content
  12. bool requires_typed_content = false; // default: use string content
  13. // for reporting on server
  14. std::map<std::string, bool> to_map() const;
  15. // for debugging
  16. std::string to_string() const;
  17. };
  18. caps caps_get(jinja::program & prog);
  19. } // namespace jinja