fetch_hive 0.2.6 → 0.2.9

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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/fetch_hive/client.rb +154 -13
  4. data/lib/fetch_hive/generated/api/agent_chat_messages_api.rb +97 -0
  5. data/lib/fetch_hive/generated/api/agent_chats_api.rb +413 -0
  6. data/lib/fetch_hive/generated/api/agents_api.rb +548 -4
  7. data/lib/fetch_hive/generated/api/assets_api.rb +153 -0
  8. data/lib/fetch_hive/generated/api/hive_agents_api.rb +90 -0
  9. data/lib/fetch_hive/generated/api/knowledge_base_items_api.rb +482 -0
  10. data/lib/fetch_hive/generated/api/knowledge_bases_api.rb +457 -0
  11. data/lib/fetch_hive/generated/api/models_api.rb +79 -0
  12. data/lib/fetch_hive/generated/api/prompts_api.rb +3 -3
  13. data/lib/fetch_hive/generated/api/requests_api.rb +85 -0
  14. data/lib/fetch_hive/generated/api/search_services_api.rb +147 -0
  15. data/lib/fetch_hive/generated/api/workflows_api.rb +2 -2
  16. data/lib/fetch_hive/generated/api_client.rb +2 -2
  17. data/lib/fetch_hive/generated/api_error.rb +2 -2
  18. data/lib/fetch_hive/generated/api_model_base.rb +2 -2
  19. data/lib/fetch_hive/generated/configuration.rb +2 -2
  20. data/lib/fetch_hive/generated/models/agent_attachment.rb +104 -0
  21. data/lib/fetch_hive/generated/models/agent_attachment_one_of.rb +191 -0
  22. data/lib/fetch_hive/generated/models/agent_delegation.rb +383 -0
  23. data/lib/fetch_hive/generated/models/agent_invoke_async_config.rb +159 -0
  24. data/lib/fetch_hive/generated/models/agent_message.rb +11 -11
  25. data/lib/fetch_hive/generated/models/asset_object.rb +350 -0
  26. data/lib/fetch_hive/generated/models/asset_object_transcription.rb +212 -0
  27. data/lib/fetch_hive/generated/models/async_config.rb +2 -2
  28. data/lib/fetch_hive/generated/models/delete_public_workspaces_agents200_response.rb +164 -0
  29. data/lib/fetch_hive/generated/models/delete_public_workspaces_agents_chats200_response.rb +164 -0
  30. data/lib/fetch_hive/generated/models/delete_public_workspaces_agents_chats404_response.rb +164 -0
  31. data/lib/fetch_hive/generated/models/delete_public_workspaces_knowledge_bases200_response.rb +164 -0
  32. data/lib/fetch_hive/generated/models/delete_public_workspaces_knowledge_bases_items200_response.rb +164 -0
  33. data/lib/fetch_hive/generated/models/error_response.rb +23 -17
  34. data/lib/fetch_hive/generated/models/generated_artifact.rb +236 -0
  35. data/lib/fetch_hive/generated/models/get_public_models200_response_inner.rb +474 -0
  36. data/lib/fetch_hive/generated/models/get_public_requests200_response.rb +319 -0
  37. data/lib/fetch_hive/generated/models/get_public_requests404_response.rb +164 -0
  38. data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response.rb +166 -0
  39. data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response_services_inner.rb +294 -0
  40. data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response_services_inner_countries_inner.rb +216 -0
  41. data/lib/fetch_hive/generated/models/get_public_search_services_countries2404_response.rb +175 -0
  42. data/lib/fetch_hive/generated/models/get_public_workspaces_agents200_response.rb +164 -0
  43. data/lib/fetch_hive/generated/models/get_public_workspaces_agents2200_response.rb +166 -0
  44. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats200_response.rb +164 -0
  45. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages200_response.rb +166 -0
  46. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages200_response_messages_inner.rb +276 -0
  47. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages422_response.rb +164 -0
  48. data/lib/fetch_hive/generated/models/get_public_workspaces_assets200_response.rb +166 -0
  49. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases200_response.rb +166 -0
  50. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases2200_response.rb +164 -0
  51. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases2422_response.rb +164 -0
  52. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items200_response.rb +166 -0
  53. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items200_response_knowledge_base_items_inner.rb +294 -0
  54. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items2200_response.rb +164 -0
  55. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items2422_response.rb +164 -0
  56. data/lib/fetch_hive/generated/models/hive_agent_async_config.rb +192 -0
  57. data/lib/fetch_hive/generated/models/hive_agent_sources.rb +187 -0
  58. data/lib/fetch_hive/generated/models/invoke_agent_request.rb +101 -11
  59. data/lib/fetch_hive/generated/models/invoke_agent_response.rb +30 -6
  60. data/lib/fetch_hive/generated/models/invoke_hive_agent_request.rb +293 -0
  61. data/lib/fetch_hive/generated/models/invoke_hive_agent_response.rb +213 -0
  62. data/lib/fetch_hive/generated/models/invoke_prompt_request.rb +2 -2
  63. data/lib/fetch_hive/generated/models/invoke_prompt_response.rb +2 -2
  64. data/lib/fetch_hive/generated/models/invoke_workflow_async_response.rb +2 -2
  65. data/lib/fetch_hive/generated/models/invoke_workflow_request.rb +2 -2
  66. data/lib/fetch_hive/generated/models/invoke_workflow_response.rb +2 -2
  67. data/lib/fetch_hive/generated/models/knowledge_base_object.rb +470 -0
  68. data/lib/fetch_hive/generated/models/list_thread_agent_delegations200_response.rb +166 -0
  69. data/lib/fetch_hive/generated/models/metadata_value.rb +2 -2
  70. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents200_response.rb +190 -0
  71. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats200_response.rb +190 -0
  72. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_clear_messages200_response.rb +190 -0
  73. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_request.rb +164 -0
  74. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_request_chat.rb +147 -0
  75. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_request.rb +164 -0
  76. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_request_agent.rb +304 -0
  77. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases200_response.rb +190 -0
  78. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items200_response.rb +190 -0
  79. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items_request.rb +164 -0
  80. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items_request_knowledge_base_item.rb +265 -0
  81. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_request.rb +147 -0
  82. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_request_knowledge_base.rb +217 -0
  83. data/lib/fetch_hive/generated/models/pending_delegation.rb +234 -0
  84. data/lib/fetch_hive/generated/models/post_public_workspaces_agents200_response.rb +190 -0
  85. data/lib/fetch_hive/generated/models/post_public_workspaces_agents422_response.rb +164 -0
  86. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats200_response.rb +190 -0
  87. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats200_response_chat.rb +305 -0
  88. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats422_response.rb +175 -0
  89. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats_request.rb +164 -0
  90. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats_request_chat.rb +164 -0
  91. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_request.rb +164 -0
  92. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_request_agent.rb +252 -0
  93. data/lib/fetch_hive/generated/models/post_public_workspaces_assets200_response.rb +190 -0
  94. data/lib/fetch_hive/generated/models/post_public_workspaces_assets422_response.rb +216 -0
  95. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases200_response.rb +190 -0
  96. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items200_response.rb +190 -0
  97. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items422_response.rb +158 -0
  98. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_regenerate200_response.rb +190 -0
  99. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_request.rb +164 -0
  100. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_request_knowledge_base_item.rb +322 -0
  101. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_request.rb +164 -0
  102. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_request_knowledge_base.rb +234 -0
  103. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search200_response.rb +190 -0
  104. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search422_response.rb +164 -0
  105. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search_request.rb +302 -0
  106. data/lib/fetch_hive/generated/models/sse_chunk.rb +13 -4
  107. data/lib/fetch_hive/generated/models/token_usage.rb +2 -2
  108. data/lib/fetch_hive/generated/models/tool_invocation.rb +2 -2
  109. data/lib/fetch_hive/generated/version.rb +2 -2
  110. metadata +87 -3
@@ -0,0 +1,383 @@
1
+ =begin
2
+ #Fetch Hive Public API
3
+
4
+ #The Fetch Hive public API lets you invoke prompts, workflows, agents, and Hive Agents programmatically using an API token. ## Authentication All requests require a Bearer token in the `Authorization` header: ``` Authorization: Bearer <your-api-token> ``` ## Streaming Pass `\"streaming\": true` in the request body to receive a `text/event-stream` response. Each event is a JSON object sent as `data: <json>\\n\\n`. The stream ends with `data: [DONE]\\n\\n`.
5
+
6
+ The version of the OpenAPI document: 0.2.9
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FetchHive::Generated
17
+ class AgentDelegation < ApiModelBase
18
+ attr_accessor :id
19
+
20
+ attr_accessor :status
21
+
22
+ attr_accessor :kind
23
+
24
+ attr_accessor :target
25
+
26
+ # (value may be null)
27
+ attr_accessor :result
28
+
29
+ # (value may be null)
30
+ attr_accessor :expected_by
31
+
32
+ # (value may be null)
33
+ attr_accessor :delivered_at
34
+
35
+ # (value may be null)
36
+ attr_accessor :delivery_error
37
+
38
+ attr_accessor :parent_request_id
39
+
40
+ attr_accessor :tool_call_id
41
+
42
+ # (value may be null)
43
+ attr_accessor :workflow_run_id
44
+
45
+ attr_accessor :created_at
46
+
47
+ class EnumAttributeValidator
48
+ attr_reader :datatype
49
+ attr_reader :allowable_values
50
+
51
+ def initialize(datatype, allowable_values)
52
+ @allowable_values = allowable_values.map do |value|
53
+ case datatype.to_s
54
+ when /Integer/i
55
+ value.to_i
56
+ when /Float/i
57
+ value.to_f
58
+ else
59
+ value
60
+ end
61
+ end
62
+ end
63
+
64
+ def valid?(value)
65
+ !value || allowable_values.include?(value)
66
+ end
67
+ end
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ def self.attribute_map
71
+ {
72
+ :'id' => :'id',
73
+ :'status' => :'status',
74
+ :'kind' => :'kind',
75
+ :'target' => :'target',
76
+ :'result' => :'result',
77
+ :'expected_by' => :'expected_by',
78
+ :'delivered_at' => :'delivered_at',
79
+ :'delivery_error' => :'delivery_error',
80
+ :'parent_request_id' => :'parent_request_id',
81
+ :'tool_call_id' => :'tool_call_id',
82
+ :'workflow_run_id' => :'workflow_run_id',
83
+ :'created_at' => :'created_at'
84
+ }
85
+ end
86
+
87
+ # Returns attribute mapping this model knows about
88
+ def self.acceptable_attribute_map
89
+ attribute_map
90
+ end
91
+
92
+ # Returns all the JSON keys this model knows about
93
+ def self.acceptable_attributes
94
+ acceptable_attribute_map.values
95
+ end
96
+
97
+ # Attribute type mapping.
98
+ def self.openapi_types
99
+ {
100
+ :'id' => :'String',
101
+ :'status' => :'String',
102
+ :'kind' => :'String',
103
+ :'target' => :'Hash<String, Object>',
104
+ :'result' => :'Hash<String, Object>',
105
+ :'expected_by' => :'Time',
106
+ :'delivered_at' => :'Time',
107
+ :'delivery_error' => :'String',
108
+ :'parent_request_id' => :'String',
109
+ :'tool_call_id' => :'String',
110
+ :'workflow_run_id' => :'String',
111
+ :'created_at' => :'Time'
112
+ }
113
+ end
114
+
115
+ # List of attributes with nullable: true
116
+ def self.openapi_nullable
117
+ Set.new([
118
+ ])
119
+ end
120
+
121
+ # Initializes the object
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ def initialize(attributes = {})
124
+ if (!attributes.is_a?(Hash))
125
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FetchHive::Generated::AgentDelegation` initialize method"
126
+ end
127
+
128
+ # check to see if the attribute exists and convert string to symbol for hash key
129
+ acceptable_attribute_map = self.class.acceptable_attribute_map
130
+ attributes = attributes.each_with_object({}) { |(k, v), h|
131
+ if (!acceptable_attribute_map.key?(k.to_sym))
132
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FetchHive::Generated::AgentDelegation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
133
+ end
134
+ h[k.to_sym] = v
135
+ }
136
+
137
+ if attributes.key?(:'id')
138
+ self.id = attributes[:'id']
139
+ else
140
+ self.id = nil
141
+ end
142
+
143
+ if attributes.key?(:'status')
144
+ self.status = attributes[:'status']
145
+ else
146
+ self.status = nil
147
+ end
148
+
149
+ if attributes.key?(:'kind')
150
+ self.kind = attributes[:'kind']
151
+ else
152
+ self.kind = nil
153
+ end
154
+
155
+ if attributes.key?(:'target')
156
+ if (value = attributes[:'target']).is_a?(Hash)
157
+ self.target = value
158
+ end
159
+ else
160
+ self.target = nil
161
+ end
162
+
163
+ if attributes.key?(:'result')
164
+ if (value = attributes[:'result']).is_a?(Hash)
165
+ self.result = value
166
+ end
167
+ end
168
+
169
+ if attributes.key?(:'expected_by')
170
+ self.expected_by = attributes[:'expected_by']
171
+ end
172
+
173
+ if attributes.key?(:'delivered_at')
174
+ self.delivered_at = attributes[:'delivered_at']
175
+ end
176
+
177
+ if attributes.key?(:'delivery_error')
178
+ self.delivery_error = attributes[:'delivery_error']
179
+ end
180
+
181
+ if attributes.key?(:'parent_request_id')
182
+ self.parent_request_id = attributes[:'parent_request_id']
183
+ else
184
+ self.parent_request_id = nil
185
+ end
186
+
187
+ if attributes.key?(:'tool_call_id')
188
+ self.tool_call_id = attributes[:'tool_call_id']
189
+ else
190
+ self.tool_call_id = nil
191
+ end
192
+
193
+ if attributes.key?(:'workflow_run_id')
194
+ self.workflow_run_id = attributes[:'workflow_run_id']
195
+ end
196
+
197
+ if attributes.key?(:'created_at')
198
+ self.created_at = attributes[:'created_at']
199
+ end
200
+ end
201
+
202
+ # Show invalid properties with the reasons. Usually used together with valid?
203
+ # @return Array for valid properties with the reasons
204
+ def list_invalid_properties
205
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
206
+ invalid_properties = Array.new
207
+ if @id.nil?
208
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
209
+ end
210
+
211
+ if @status.nil?
212
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
213
+ end
214
+
215
+ if @kind.nil?
216
+ invalid_properties.push('invalid value for "kind", kind cannot be nil.')
217
+ end
218
+
219
+ if @target.nil?
220
+ invalid_properties.push('invalid value for "target", target cannot be nil.')
221
+ end
222
+
223
+ if @parent_request_id.nil?
224
+ invalid_properties.push('invalid value for "parent_request_id", parent_request_id cannot be nil.')
225
+ end
226
+
227
+ if @tool_call_id.nil?
228
+ invalid_properties.push('invalid value for "tool_call_id", tool_call_id cannot be nil.')
229
+ end
230
+
231
+ invalid_properties
232
+ end
233
+
234
+ # Check to see if the all the properties in the model are valid
235
+ # @return true if the model is valid
236
+ def valid?
237
+ warn '[DEPRECATED] the `valid?` method is obsolete'
238
+ return false if @id.nil?
239
+ return false if @status.nil?
240
+ status_validator = EnumAttributeValidator.new('String', ["pending", "running", "completed", "failed", "cancelled", "expired"])
241
+ return false unless status_validator.valid?(@status)
242
+ return false if @kind.nil?
243
+ kind_validator = EnumAttributeValidator.new('String', ["workflow", "sub_agent", "hive_agent_run"])
244
+ return false unless kind_validator.valid?(@kind)
245
+ return false if @target.nil?
246
+ return false if @parent_request_id.nil?
247
+ return false if @tool_call_id.nil?
248
+ true
249
+ end
250
+
251
+ # Custom attribute writer method with validation
252
+ # @param [Object] id Value to be assigned
253
+ def id=(id)
254
+ if id.nil?
255
+ fail ArgumentError, 'id cannot be nil'
256
+ end
257
+
258
+ @id = id
259
+ end
260
+
261
+ # Custom attribute writer method checking allowed values (enum).
262
+ # @param [Object] status Object to be assigned
263
+ def status=(status)
264
+ validator = EnumAttributeValidator.new('String', ["pending", "running", "completed", "failed", "cancelled", "expired"])
265
+ unless validator.valid?(status)
266
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
267
+ end
268
+ @status = status
269
+ end
270
+
271
+ # Custom attribute writer method checking allowed values (enum).
272
+ # @param [Object] kind Object to be assigned
273
+ def kind=(kind)
274
+ validator = EnumAttributeValidator.new('String', ["workflow", "sub_agent", "hive_agent_run"])
275
+ unless validator.valid?(kind)
276
+ fail ArgumentError, "invalid value for \"kind\", must be one of #{validator.allowable_values}."
277
+ end
278
+ @kind = kind
279
+ end
280
+
281
+ # Custom attribute writer method with validation
282
+ # @param [Object] target Value to be assigned
283
+ def target=(target)
284
+ if target.nil?
285
+ fail ArgumentError, 'target cannot be nil'
286
+ end
287
+
288
+ @target = target
289
+ end
290
+
291
+ # Custom attribute writer method with validation
292
+ # @param [Object] parent_request_id Value to be assigned
293
+ def parent_request_id=(parent_request_id)
294
+ if parent_request_id.nil?
295
+ fail ArgumentError, 'parent_request_id cannot be nil'
296
+ end
297
+
298
+ @parent_request_id = parent_request_id
299
+ end
300
+
301
+ # Custom attribute writer method with validation
302
+ # @param [Object] tool_call_id Value to be assigned
303
+ def tool_call_id=(tool_call_id)
304
+ if tool_call_id.nil?
305
+ fail ArgumentError, 'tool_call_id cannot be nil'
306
+ end
307
+
308
+ @tool_call_id = tool_call_id
309
+ end
310
+
311
+ # Checks equality by comparing each attribute.
312
+ # @param [Object] Object to be compared
313
+ def ==(o)
314
+ return true if self.equal?(o)
315
+ self.class == o.class &&
316
+ id == o.id &&
317
+ status == o.status &&
318
+ kind == o.kind &&
319
+ target == o.target &&
320
+ result == o.result &&
321
+ expected_by == o.expected_by &&
322
+ delivered_at == o.delivered_at &&
323
+ delivery_error == o.delivery_error &&
324
+ parent_request_id == o.parent_request_id &&
325
+ tool_call_id == o.tool_call_id &&
326
+ workflow_run_id == o.workflow_run_id &&
327
+ created_at == o.created_at
328
+ end
329
+
330
+ # @see the `==` method
331
+ # @param [Object] Object to be compared
332
+ def eql?(o)
333
+ self == o
334
+ end
335
+
336
+ # Calculates hash code according to all attributes.
337
+ # @return [Integer] Hash code
338
+ def hash
339
+ [id, status, kind, target, result, expected_by, delivered_at, delivery_error, parent_request_id, tool_call_id, workflow_run_id, created_at].hash
340
+ end
341
+
342
+ # Builds the object from hash
343
+ # @param [Hash] attributes Model attributes in the form of hash
344
+ # @return [Object] Returns the model itself
345
+ def self.build_from_hash(attributes)
346
+ return nil unless attributes.is_a?(Hash)
347
+ attributes = attributes.transform_keys(&:to_sym)
348
+ transformed_hash = {}
349
+ openapi_types.each_pair do |key, type|
350
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
351
+ transformed_hash["#{key}"] = nil
352
+ elsif type =~ /\AArray<(.*)>/i
353
+ # check to ensure the input is an array given that the attribute
354
+ # is documented as an array but the input is not
355
+ if attributes[attribute_map[key]].is_a?(Array)
356
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
357
+ end
358
+ elsif !attributes[attribute_map[key]].nil?
359
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
360
+ end
361
+ end
362
+ new(transformed_hash)
363
+ end
364
+
365
+ # Returns the object in the form of hash
366
+ # @return [Hash] Returns the object in the form of hash
367
+ def to_hash
368
+ hash = {}
369
+ self.class.attribute_map.each_pair do |attr, param|
370
+ value = self.send(attr)
371
+ if value.nil?
372
+ is_nullable = self.class.openapi_nullable.include?(attr)
373
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
374
+ end
375
+
376
+ hash[param] = _to_hash(value)
377
+ end
378
+ hash
379
+ end
380
+
381
+ end
382
+
383
+ end
@@ -0,0 +1,159 @@
1
+ =begin
2
+ #Fetch Hive Public API
3
+
4
+ #The Fetch Hive public API lets you invoke prompts, workflows, agents, and Hive Agents programmatically using an API token. ## Authentication All requests require a Bearer token in the `Authorization` header: ``` Authorization: Bearer <your-api-token> ``` ## Streaming Pass `\"streaming\": true` in the request body to receive a `text/event-stream` response. Each event is a JSON object sent as `data: <json>\\n\\n`. The stream ends with `data: [DONE]\\n\\n`.
5
+
6
+ The version of the OpenAPI document: 0.2.9
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FetchHive::Generated
17
+ # Controls background workflow tools for this invoke. Defaults: `allow_background` is true when `thread_id` is present, or when `callback_url` is set; otherwise it is false so existing stateless integrators keep synchronous behaviour.
18
+ class AgentInvokeAsyncConfig < ApiModelBase
19
+ # HTTPS URL that receives a signed `agent.delegation.completed` POST when a background workflow finishes. Signed with the parent agent's webhook secret.
20
+ attr_accessor :callback_url
21
+
22
+ # When false, `run_workflow` stays synchronous. Long or human-in-the-loop workflows return a tool error instead of a pending delegation.
23
+ attr_accessor :allow_background
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'callback_url' => :'callback_url',
29
+ :'allow_background' => :'allow_background'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'callback_url' => :'String',
47
+ :'allow_background' => :'Boolean'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FetchHive::Generated::AgentInvokeAsyncConfig` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ acceptable_attribute_map = self.class.acceptable_attribute_map
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!acceptable_attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FetchHive::Generated::AgentInvokeAsyncConfig`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ end
70
+ h[k.to_sym] = v
71
+ }
72
+
73
+ if attributes.key?(:'callback_url')
74
+ self.callback_url = attributes[:'callback_url']
75
+ end
76
+
77
+ if attributes.key?(:'allow_background')
78
+ self.allow_background = attributes[:'allow_background']
79
+ end
80
+ end
81
+
82
+ # Show invalid properties with the reasons. Usually used together with valid?
83
+ # @return Array for valid properties with the reasons
84
+ def list_invalid_properties
85
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
86
+ invalid_properties = Array.new
87
+ invalid_properties
88
+ end
89
+
90
+ # Check to see if the all the properties in the model are valid
91
+ # @return true if the model is valid
92
+ def valid?
93
+ warn '[DEPRECATED] the `valid?` method is obsolete'
94
+ true
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param [Object] Object to be compared
99
+ def ==(o)
100
+ return true if self.equal?(o)
101
+ self.class == o.class &&
102
+ callback_url == o.callback_url &&
103
+ allow_background == o.allow_background
104
+ end
105
+
106
+ # @see the `==` method
107
+ # @param [Object] Object to be compared
108
+ def eql?(o)
109
+ self == o
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Integer] Hash code
114
+ def hash
115
+ [callback_url, allow_background].hash
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def self.build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ attributes = attributes.transform_keys(&:to_sym)
124
+ transformed_hash = {}
125
+ openapi_types.each_pair do |key, type|
126
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = nil
128
+ elsif type =~ /\AArray<(.*)>/i
129
+ # check to ensure the input is an array given that the attribute
130
+ # is documented as an array but the input is not
131
+ if attributes[attribute_map[key]].is_a?(Array)
132
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
133
+ end
134
+ elsif !attributes[attribute_map[key]].nil?
135
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
136
+ end
137
+ end
138
+ new(transformed_hash)
139
+ end
140
+
141
+ # Returns the object in the form of hash
142
+ # @return [Hash] Returns the object in the form of hash
143
+ def to_hash
144
+ hash = {}
145
+ self.class.attribute_map.each_pair do |attr, param|
146
+ value = self.send(attr)
147
+ if value.nil?
148
+ is_nullable = self.class.openapi_nullable.include?(attr)
149
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
150
+ end
151
+
152
+ hash[param] = _to_hash(value)
153
+ end
154
+ hash
155
+ end
156
+
157
+ end
158
+
159
+ end
@@ -1,9 +1,9 @@
1
1
  =begin
2
2
  #Fetch Hive Public API
3
3
 
4
- #The Fetch Hive public API lets you invoke prompts, workflows, and agents programmatically using an API token. ## Authentication All requests require a Bearer token in the `Authorization` header: ``` Authorization: Bearer <your-api-token> ``` ## Streaming Pass `\"streaming\": true` in the request body to receive a `text/event-stream` response. Each event is a JSON object sent as `data: <json>\\n\\n`. The stream ends with `data: [DONE]\\n\\n`.
4
+ #The Fetch Hive public API lets you invoke prompts, workflows, agents, and Hive Agents programmatically using an API token. ## Authentication All requests require a Bearer token in the `Authorization` header: ``` Authorization: Bearer <your-api-token> ``` ## Streaming Pass `\"streaming\": true` in the request body to receive a `text/event-stream` response. Each event is a JSON object sent as `data: <json>\\n\\n`. The stream ends with `data: [DONE]\\n\\n`.
5
5
 
6
- The version of the OpenAPI document: 0.2.6
6
+ The version of the OpenAPI document: 0.2.9
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.22.0
@@ -21,8 +21,8 @@ module FetchHive::Generated
21
21
  # Text content of the message.
22
22
  attr_accessor :content
23
23
 
24
- # HTTPS image URLs attached to this message.
25
- attr_accessor :image_urls
24
+ # Structured external document/image attachments for this historical message.
25
+ attr_accessor :attachments
26
26
 
27
27
  class EnumAttributeValidator
28
28
  attr_reader :datatype
@@ -51,7 +51,7 @@ module FetchHive::Generated
51
51
  {
52
52
  :'role' => :'role',
53
53
  :'content' => :'content',
54
- :'image_urls' => :'image_urls'
54
+ :'attachments' => :'attachments'
55
55
  }
56
56
  end
57
57
 
@@ -70,7 +70,7 @@ module FetchHive::Generated
70
70
  {
71
71
  :'role' => :'String',
72
72
  :'content' => :'String',
73
- :'image_urls' => :'Array<String>'
73
+ :'attachments' => :'Array<AgentAttachment>'
74
74
  }
75
75
  end
76
76
 
@@ -108,9 +108,9 @@ module FetchHive::Generated
108
108
  self.content = nil
109
109
  end
110
110
 
111
- if attributes.key?(:'image_urls')
112
- if (value = attributes[:'image_urls']).is_a?(Array)
113
- self.image_urls = value
111
+ if attributes.key?(:'attachments')
112
+ if (value = attributes[:'attachments']).is_a?(Array)
113
+ self.attachments = value
114
114
  end
115
115
  end
116
116
  end
@@ -169,7 +169,7 @@ module FetchHive::Generated
169
169
  self.class == o.class &&
170
170
  role == o.role &&
171
171
  content == o.content &&
172
- image_urls == o.image_urls
172
+ attachments == o.attachments
173
173
  end
174
174
 
175
175
  # @see the `==` method
@@ -181,7 +181,7 @@ module FetchHive::Generated
181
181
  # Calculates hash code according to all attributes.
182
182
  # @return [Integer] Hash code
183
183
  def hash
184
- [role, content, image_urls].hash
184
+ [role, content, attachments].hash
185
185
  end
186
186
 
187
187
  # Builds the object from hash