ask-tools 0.2.3 → 0.2.5

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: c3538cb8dc3573bbf8ef8bf087bd6986dd1bf371611bf9ae734e993c58362c09
4
- data.tar.gz: d56d48529c455acafec46532fd985d07117864add7a7c86fc14b6190d3bba3b4
3
+ metadata.gz: 9a0cfa081d125bbd1afb519053b0147e1220d428cf533f97914d88bb4ec83e37
4
+ data.tar.gz: 32a4736d13c9662dd7f12255577fdda5167401d4d25e3147921660ca552f9b94
5
5
  SHA512:
6
- metadata.gz: d371f9411f4c39394c46a728e5f48082547e7b94c6e73ac3fa2e117821e31cb828383faf43817f29cfe355367142e12a4d3739771623549d52fd36ffbfe0285c
7
- data.tar.gz: 57e16846666f91165febc6c7615468d9bacbf1dd4a3d36406fa56fa03971a27b75b55e48187115447d17e5d7b429062903d03f1dee6b8f4d430bbba3cd4f2638
6
+ metadata.gz: a13f9527f5d21d1cfce0d2e1f486ab3a035c96262a0e46b52290bc5ae66dc4dc3672322c502de08003bdf15ba7546426879e7e1d1ea9c59ea9bca1f529cccbd5
7
+ data.tar.gz: 9d5d35d20329ee6fa7528dad4769d27f09942475c6d47eba92e5c1a71da13e7fdac98390bb18473f693954640ab941ac52662e750ca2151ee9c5787ed9911a06
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [0.2.4] - 2026-06-25
2
+
3
+ ### Changed
4
+ - Testing infrastructure: rubocop, overcommit, bin/setup, gemspec validation, SimpleCov, CI matrix, .minitest config
5
+ ## [0.2.3] - 2026-06-24
6
+
7
+ ### Added
8
+
9
+ - `Ask::Result#error?` predicate — symmetrical counterpart to `ok?`
10
+ - `Ask::Result#error_message` alias for `error`
11
+
12
+ ### Tests
13
+
14
+ - Added 5 tests for `error?` and `error_message` on `Ask::Result`
15
+
1
16
  ## [0.2.2] - 2026-06-23
2
17
 
3
18
  ### Fixed
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "json"
3
4
  require "ask-schema"
4
5
 
5
6
  module Ask
@@ -210,6 +211,13 @@ module Ask
210
211
 
211
212
  def normalize_args(args)
212
213
  return {} if args.nil?
214
+ return {} if args.respond_to?(:empty?) && args.empty?
215
+
216
+ # Parse JSON strings sent by LLMs (tool call arguments arrive as JSON)
217
+ if args.is_a?(String)
218
+ args = JSON.parse(args) rescue (return {})
219
+ end
220
+
213
221
  args.respond_to?(:transform_keys) ? args.transform_keys(&:to_sym) : {}
214
222
  end
215
223
 
data/lib/ask/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ask
4
4
  module Tools
5
- VERSION = "0.2.3"
5
+ VERSION = "0.2.5"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ask-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaka Ruto