Module: Legion::Extensions::Llm::Canonical
- Defined in:
- lib/legion/extensions/llm/canonical.rb,
lib/legion/extensions/llm/canonical/chunk.rb,
lib/legion/extensions/llm/canonical/usage.rb,
lib/legion/extensions/llm/canonical/params.rb,
lib/legion/extensions/llm/canonical/strict.rb,
lib/legion/extensions/llm/canonical/message.rb,
lib/legion/extensions/llm/canonical/request.rb,
lib/legion/extensions/llm/canonical/response.rb,
lib/legion/extensions/llm/canonical/thinking.rb,
lib/legion/extensions/llm/canonical/tool_call.rb,
lib/legion/extensions/llm/canonical/tool_schema.rb,
lib/legion/extensions/llm/canonical/content_block.rb,
lib/legion/extensions/llm/canonical/thinking_config.rb,
lib/legion/extensions/llm/canonical/tool_definition.rb
Overview
-- required for Data.define block scope
Defined Under Namespace
Modules: Strict, ToolSchema Classes: Chunk, ContentBlock, Message, Params, Request, Response, Thinking, ToolCall, ToolDefinition, Usage
Constant Summary collapse
- CONTRACT_VERSION =
'1.0.0'- TYPES =
Available canonical types (the frozen 04 ยง1 inventory).
%i[ Message ContentBlock ToolCall ToolDefinition ToolSchema Params Thinking Thinking::Config Request Response Chunk Usage ].freeze
- OBJECT_SCHEMA_KEYWORDS =
%i[properties required additionalProperties].freeze
- COMPOSITE_SCHEMA_KEYWORDS =
%i[oneOf anyOf allOf enum $ref $defs definitions].freeze
Class Method Summary collapse
-
.type?(name) ⇒ Boolean
Check if a given constant name is a registered canonical type.
-
.types ⇒ Object
List all canonical type classes.
Class Method Details
.type?(name) ⇒ Boolean
Check if a given constant name is a registered canonical type.
45 46 47 |
# File 'lib/legion/extensions/llm/canonical.rb', line 45 def type?(name) TYPES.include?(name.to_sym) end |
.types ⇒ Object
List all canonical type classes.
40 41 42 |
# File 'lib/legion/extensions/llm/canonical.rb', line 40 def types TYPES.map { |name| name.to_s.split('::').reduce(self) { |mod, part| mod.const_get(part) } } end |