Module: TurnKit
- Defined in:
- lib/turnkit.rb,
lib/turnkit/id.rb,
lib/turnkit/run.rb,
lib/turnkit/cost.rb,
lib/turnkit/tool.rb,
lib/turnkit/turn.rb,
lib/turnkit/agent.rb,
lib/turnkit/clock.rb,
lib/turnkit/error.rb,
lib/turnkit/event.rb,
lib/turnkit/skill.rb,
lib/turnkit/store.rb,
lib/turnkit/usage.rb,
lib/turnkit/budget.rb,
lib/turnkit/client.rb,
lib/turnkit/record.rb,
lib/turnkit/result.rb,
lib/turnkit/message.rb,
lib/turnkit/version.rb,
lib/turnkit/tool_call.rb,
lib/turnkit/compaction.rb,
lib/turnkit/image_tool.rb,
lib/turnkit/media_input.rb,
lib/turnkit/prompt_data.rb,
lib/turnkit/tool_runner.rb,
lib/turnkit/conversation.rb,
lib/turnkit/image_result.rb,
lib/turnkit/memory_store.rb,
lib/turnkit/output_audit.rb,
lib/turnkit/schema_check.rb,
lib/turnkit/model_request.rb,
lib/turnkit/output_policy.rb,
lib/turnkit/system_prompt.rb,
lib/turnkit/adapters/codex.rb,
lib/turnkit/prompt_context.rb,
lib/turnkit/sub_agent_tool.rb,
lib/turnkit/tool_execution.rb,
lib/turnkit/load_skill_tool.rb,
lib/turnkit/view_media_tool.rb,
lib/turnkit/adapters/ruby_llm.rb,
lib/turnkit/message_projection.rb,
lib/turnkit/active_record_store.rb,
lib/turnkit/media_analysis_result.rb,
lib/generators/turnkit/install_generator.rb
Defined Under Namespace
Modules: Adapters, Clock, Compaction, Generators, Id, PromptData, Record, SchemaCheck Classes: ActiveRecordStore, Agent, Budget, BudgetError, Client, CompactionError, ConfigError, Conversation, Cost, Error, Event, ImageResult, ImageTool, InputError, LiveContextContribution, LoadSkillTool, MediaAnalysisResult, MediaInput, MemoryStore, Message, MessageProjection, ModelAccessError, ModelRequest, OutputAudit, OutputPolicy, PromptBuildContext, Result, Run, Skill, Store, StoreError, SubAgentTool, SystemPrompt, Tool, ToolCall, ToolContext, ToolError, ToolExecution, ToolRunner, ToolValidationError, Turn, Usage, ViewMediaTool
Constant Summary collapse
- VERSION =
"0.4.2"
Class Attribute Summary collapse
-
.available_skills ⇒ Object
Returns the value of attribute available_skills.
-
.client ⇒ Object
Returns the value of attribute client.
-
.compaction ⇒ Object
Returns the value of attribute compaction.
-
.context_contributors ⇒ Object
Returns the value of attribute context_contributors.
-
.cost_calculator ⇒ Object
Returns the value of attribute cost_calculator.
-
.cost_rates ⇒ Object
Returns the value of attribute cost_rates.
-
.default_model ⇒ Object
Returns the value of attribute default_model.
-
.logger ⇒ Object
Returns the value of attribute logger.
-
.max_depth ⇒ Object
Returns the value of attribute max_depth.
-
.max_iterations ⇒ Object
Returns the value of attribute max_iterations.
-
.max_spend ⇒ Object
Returns the value of attribute max_spend.
-
.max_tool_executions ⇒ Object
Returns the value of attribute max_tool_executions.
-
.max_tool_executions_by_name ⇒ Object
Returns the value of attribute max_tool_executions_by_name.
-
.on_event ⇒ Object
Returns the value of attribute on_event.
-
.output_policy_model ⇒ Object
Returns the value of attribute output_policy_model.
-
.output_policy_thinking ⇒ Object
Returns the value of attribute output_policy_thinking.
-
.prompt_behavior ⇒ Object
Returns the value of attribute prompt_behavior.
-
.prompt_cache ⇒ Object
Returns the value of attribute prompt_cache.
-
.prompt_data_max_chars ⇒ Object
Returns the value of attribute prompt_data_max_chars.
-
.prompt_sections ⇒ Object
Returns the value of attribute prompt_sections.
-
.store ⇒ Object
Returns the value of attribute store.
-
.timeout ⇒ Object
Returns the value of attribute timeout.
Class Method Summary collapse
- .check_output_policy(output, constraints: [], context: {}) ⇒ Object
- .configure {|_self| ... } ⇒ Object
- .paint(prompt, model:, provider: nil, size: nil, assume_model_exists: nil, input_images: nil, mask: nil, params: {}, metadata: {}, client: nil) ⇒ Object
- .reconcile_stale!(before: Clock.now - (timeout || 300)) ⇒ Object
- .view_media(media, objective:, model:, provider: nil, output_schema: nil, params: {}, metadata: {}, client: nil) ⇒ Object
Class Attribute Details
.available_skills ⇒ Object
Returns the value of attribute available_skills.
62 63 64 |
# File 'lib/turnkit.rb', line 62 def available_skills @available_skills end |
.client ⇒ Object
Returns the value of attribute client.
55 56 57 |
# File 'lib/turnkit.rb', line 55 def client @client end |
.compaction ⇒ Object
Returns the value of attribute compaction.
59 60 61 |
# File 'lib/turnkit.rb', line 59 def compaction @compaction end |
.context_contributors ⇒ Object
Returns the value of attribute context_contributors.
63 64 65 |
# File 'lib/turnkit.rb', line 63 def context_contributors @context_contributors end |
.cost_calculator ⇒ Object
Returns the value of attribute cost_calculator.
61 62 63 |
# File 'lib/turnkit.rb', line 61 def cost_calculator @cost_calculator end |
.cost_rates ⇒ Object
Returns the value of attribute cost_rates.
61 62 63 |
# File 'lib/turnkit.rb', line 61 def cost_rates @cost_rates end |
.default_model ⇒ Object
Returns the value of attribute default_model.
55 56 57 |
# File 'lib/turnkit.rb', line 55 def default_model @default_model end |
.logger ⇒ Object
Returns the value of attribute logger.
55 56 57 |
# File 'lib/turnkit.rb', line 55 def logger @logger end |
.max_depth ⇒ Object
Returns the value of attribute max_depth.
56 57 58 |
# File 'lib/turnkit.rb', line 56 def max_depth @max_depth end |
.max_iterations ⇒ Object
Returns the value of attribute max_iterations.
56 57 58 |
# File 'lib/turnkit.rb', line 56 def max_iterations @max_iterations end |
.max_spend ⇒ Object
Returns the value of attribute max_spend.
58 59 60 |
# File 'lib/turnkit.rb', line 58 def max_spend @max_spend end |
.max_tool_executions ⇒ Object
Returns the value of attribute max_tool_executions.
56 57 58 |
# File 'lib/turnkit.rb', line 56 def max_tool_executions @max_tool_executions end |
.max_tool_executions_by_name ⇒ Object
Returns the value of attribute max_tool_executions_by_name.
57 58 59 |
# File 'lib/turnkit.rb', line 57 def max_tool_executions_by_name @max_tool_executions_by_name end |
.on_event ⇒ Object
Returns the value of attribute on_event.
64 65 66 |
# File 'lib/turnkit.rb', line 64 def on_event @on_event end |
.output_policy_model ⇒ Object
Returns the value of attribute output_policy_model.
60 61 62 |
# File 'lib/turnkit.rb', line 60 def output_policy_model @output_policy_model end |
.output_policy_thinking ⇒ Object
Returns the value of attribute output_policy_thinking.
60 61 62 |
# File 'lib/turnkit.rb', line 60 def output_policy_thinking @output_policy_thinking end |
.prompt_behavior ⇒ Object
Returns the value of attribute prompt_behavior.
62 63 64 |
# File 'lib/turnkit.rb', line 62 def prompt_behavior @prompt_behavior end |
.prompt_cache ⇒ Object
Returns the value of attribute prompt_cache.
58 59 60 |
# File 'lib/turnkit.rb', line 58 def prompt_cache @prompt_cache end |
.prompt_data_max_chars ⇒ Object
Returns the value of attribute prompt_data_max_chars.
63 64 65 |
# File 'lib/turnkit.rb', line 63 def prompt_data_max_chars @prompt_data_max_chars end |
.prompt_sections ⇒ Object
Returns the value of attribute prompt_sections.
62 63 64 |
# File 'lib/turnkit.rb', line 62 def prompt_sections @prompt_sections end |
.store ⇒ Object
Returns the value of attribute store.
55 56 57 |
# File 'lib/turnkit.rb', line 55 def store @store end |
.timeout ⇒ Object
Returns the value of attribute timeout.
56 57 58 |
# File 'lib/turnkit.rb', line 56 def timeout @timeout end |
Class Method Details
.check_output_policy(output, constraints: [], context: {}) ⇒ Object
97 98 99 |
# File 'lib/turnkit.rb', line 97 def self.check_output_policy(output, constraints: [], context: {}) OutputAudit.check(output, constraints: constraints, context: context) end |
.configure {|_self| ... } ⇒ Object
87 88 89 |
# File 'lib/turnkit.rb', line 87 def self.configure yield self end |
.paint(prompt, model:, provider: nil, size: nil, assume_model_exists: nil, input_images: nil, mask: nil, params: {}, metadata: {}, client: nil) ⇒ Object
101 102 103 104 |
# File 'lib/turnkit.rb', line 101 def self.paint(prompt, model:, provider: nil, size: nil, assume_model_exists: nil, input_images: nil, mask: nil, params: {}, metadata: {}, client: nil) image_client = client || self.client image_client.paint(prompt: prompt, model: model, provider: provider, size: size, assume_model_exists: assume_model_exists, input_images: input_images, mask: mask, params: params, metadata: ).images.first end |
.reconcile_stale!(before: Clock.now - (timeout || 300)) ⇒ Object
91 92 93 94 95 |
# File 'lib/turnkit.rb', line 91 def self.reconcile_stale!(before: Clock.now - (timeout || 300)) store.find_stale_turns(before: before).each do |turn| store.update_turn(turn.fetch("id"), "status" => "stale", "completed_at" => Clock.now) end end |
.view_media(media, objective:, model:, provider: nil, output_schema: nil, params: {}, metadata: {}, client: nil) ⇒ Object
106 107 108 109 |
# File 'lib/turnkit.rb', line 106 def self.view_media(media, objective:, model:, provider: nil, output_schema: nil, params: {}, metadata: {}, client: nil) media_client = client || self.client media_client.view_media(media: media, objective: objective, model: model, provider: provider, output_schema: output_schema, params: params, metadata: ).media_analyses.first end |