summaryrefslogtreecommitdiffhomepage
path: root/lib/dispatch/adapter/interface/tool_definition.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dispatch/adapter/interface/tool_definition.rb')
-rw-r--r--lib/dispatch/adapter/interface/tool_definition.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/dispatch/adapter/interface/tool_definition.rb b/lib/dispatch/adapter/interface/tool_definition.rb
index 7b435a3..4a8ca5a 100644
--- a/lib/dispatch/adapter/interface/tool_definition.rb
+++ b/lib/dispatch/adapter/interface/tool_definition.rb
@@ -2,6 +2,18 @@
module Dispatch
module Adapter
- ToolDefinition = Struct.new(:name, :description, :parameters, keyword_init: true)
+ # +cache_control+ values:
+ # nil — no cache breakpoint (default)
+ # { type: :ephemeral } — provider default TTL
+ # { type: :ephemeral, ttl: :"5m" } — short-lived cache
+ # { type: :ephemeral, ttl: :"1h" } — long-lived cache
+ ToolDefinition = Struct.new(
+ :name, :description, :parameters, :cache_control,
+ keyword_init: true
+ ) do
+ def initialize(name:, description:, parameters:, cache_control: nil)
+ super
+ end
+ end
end
end