ask-agent 0.40.16 → 0.40.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c21109424c4b8f3216504c2a4aa1174e29b7fd9542436969a09d5281f9fdeb83
4
- data.tar.gz: 024ea7d9470db47178237c36f5b2a36eb71ffedad9754a482e0f6aa6667f39e9
3
+ metadata.gz: 12c8a3be5e9171a9dea21e3a8107c7953d7772ddb2c6fd82d23805f54557f5dc
4
+ data.tar.gz: cb751bf89f94b3206f1900d9d33f738a8f248dc9c61552867cf1349a3ffd8a6d
5
5
  SHA512:
6
- metadata.gz: 8ffb7ad67edcf4cca883837f1bf69dd1d9cecfc7b55a036c1a0b926d114e2cf1ee240fe369e671c2fc5b84183412fc7627648add81b014fe24a33a5377e67b60
7
- data.tar.gz: 93379d0652c02ee137d46c97e1ea4b31098b57b2f912617bf0de66ba6044216f2011e18c665d959939ad8da7823293baadc74fab2e04adc7672313f722e1bffb
6
+ metadata.gz: b046b9f9bef45c3ed959acf97a2b3c3afa6921f240ac4a3ac6d59204424122ef8fd3e6e8f6614ebe695918c043b3de8fb655a92783e52eed72f255791e20c1eb
7
+ data.tar.gz: 3bf7b88e021f181cae2271ac9311976de44d73b5433aa4241347ad3c9c61d96056bc31e13ac73589a9e871e79d9210d5a3d1cd8577767c777a672558ad4b2f73
@@ -6,7 +6,8 @@ module Ask
6
6
  attr_accessor :default_model, :default_provider, :default_max_turns,
7
7
  :compactor_enabled, :compactor_threshold, :parallel_tool_execution,
8
8
  :max_tool_retries, :prompt_caching, :default_evaluator_model,
9
- :audit_log, :compactor_reserve_tokens, :compactor_keep_recent_tokens
9
+ :audit_log, :compactor_reserve_tokens, :compactor_keep_recent_tokens,
10
+ :decision_provider
10
11
 
11
12
  # @return [Middleware::Pipeline] the middleware pipeline for provider calls
12
13
  attr_reader :middleware
@@ -20,6 +20,8 @@ module Ask
20
20
  attr_reader :meta_agent_results
21
21
  # @return [Ask::Skills::Registry, nil] auto-discovered skills registry
22
22
  attr_reader :skills_registry
23
+ # @return [Ask::Decisions::AgentAdapter, nil] decision adapter (when decision_provider is set)
24
+ attr_reader :decision_adapter
23
25
 
24
26
  def initialize(model:, tools: [], max_turns: 25, max_tool_retries: 3,
25
27
  compactor: nil, hooks: {}, state: nil, persistence: nil,
@@ -151,6 +153,25 @@ module Ask
151
153
  )
152
154
  end
153
155
 
156
+ # Decision provider integration: wire Gate, OutputJudge, and
157
+ # other decision components when a decision_provider is configured.
158
+ # This is opt-in — when not set, everything works as before.
159
+ decision_provider_name = chat_options.delete(:decision_provider) || Ask::Agent.configuration.decision_provider
160
+ decision_config = chat_options.delete(:decision_config) || {}
161
+ @decision_adapter = nil
162
+ if decision_provider_name && defined?(Ask::Decisions)
163
+ require "ask/decisions/agent_adapter" unless defined?(Ask::Decisions::AgentAdapter)
164
+ @decision_adapter = Ask::Decisions::AgentAdapter.new(decision_provider_name, decision_config)
165
+
166
+ # Wire Gate (before_tool) and OutputJudge (after_tool) into hooks.
167
+ existing_before = Array(@hooks.instance_variable_get(:@before_tool))
168
+ existing_after = Array(@hooks.instance_variable_get(:@after_tool))
169
+ @hooks = Hooks.new(
170
+ before_tool: @decision_adapter.before_tool_hooks + existing_before,
171
+ after_tool: existing_after + @decision_adapter.after_tool_hooks
172
+ )
173
+ end
174
+
154
175
  @system_context = build_system_context(system_prompt)
155
176
  apply_system_context
156
177
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ask
4
4
  module Agent
5
- VERSION = "0.40.16"
5
+ VERSION = "0.40.17"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ask-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.16
4
+ version: 0.40.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaka Ruto
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 0.11.4
18
+ version: 0.12.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: 0.11.4
25
+ version: 0.12.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: ask-state-providers
28
28
  requirement: !ruby/object:Gem::Requirement