ask-core 0.11.3 → 0.11.4

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: a2e3b14174e82ee2073fbb43a826d21f84baaecf115d4913716e6a0dd2605f20
4
- data.tar.gz: d300b0755cc3b04f960ef767388a3feccb7c8d9e8174ec251ba47d220ac04b5e
3
+ metadata.gz: fe6fd73be561e63544265ffe4065905c432680e925c9df5d2e8b5e5f3e2b7896
4
+ data.tar.gz: 59389ca6fb4726cf9d921eff7cc35598c95c619154f97c7cfb85a844e8e9cc02
5
5
  SHA512:
6
- metadata.gz: a403a3b8f9dbcf429c0f0a0fdde21cd21bba37b8f9693f9f6363a9333f2ed8694ccd0ffb097c68ae3835a507d7723ba049ca9dec33b4e39115495e9d9f78c029
7
- data.tar.gz: 91a2bde91cf719fc0b1dd7141e9c4bf83fb1694b78fda812c5c253b46c4b8c742a2b21bd3543f3e3150e2dbec3a091ff62123281a82e1f440d8da1baef55b99a
6
+ metadata.gz: b944d00f3194ab931e56e3d39ace11c6bb0b058c288dd147574c68a1369a10627d1982d75a4669d5a1eed9d225b2930082684e68086f54b10947503cfb90ae80
7
+ data.tar.gz: b83e78248a0a843718850c5333f339dae78b0c63881184da0902847fd360454fb58cebb1b6269dc2d94869968820d937a1e570473f3e5de96811f22221603ac8
data/lib/ask/tool_def.rb CHANGED
@@ -16,6 +16,21 @@ module Ask
16
16
  # )
17
17
  #
18
18
  class ToolDef
19
+ # What a tool with no parameters advertises.
20
+ #
21
+ # Present rather than nil, because a nil schema is not "no arguments" to
22
+ # a strict OpenAI-compatible gateway — it is an invalid function. One
23
+ # (commandcode) answers the whole request with "Invalid input: expected
24
+ # record, received null" and names only `tools.0.function.parameters`,
25
+ # so a single parameterless tool breaks a session that never calls it.
26
+ # An empty object schema says the true thing.
27
+ EMPTY_SCHEMA = {
28
+ "type" => "object",
29
+ "properties" => {},
30
+ "required" => [],
31
+ "additionalProperties" => false
32
+ }.freeze
33
+
19
34
  class << self
20
35
  # Build a ToolDef from an object that responds to #name, #description,
21
36
  # #params_schema, and #provider_params.
@@ -26,7 +41,7 @@ module Ask
26
41
  new(
27
42
  name: tool.name,
28
43
  description: tool.description,
29
- parameters: schema,
44
+ parameters: schema.nil? || schema.empty? ? EMPTY_SCHEMA : schema,
30
45
  provider_params: tool.provider_params
31
46
  )
32
47
  end
data/lib/ask/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ask
4
- VERSION = "0.11.3"
4
+ VERSION = "0.11.4"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ask-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.3
4
+ version: 0.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaka Ruto