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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7760482919ce2feb3197e4cbe8f73efc81a672668938cb4f9b1b6017c5cea6dc
4
- data.tar.gz: 3c251a7fa8e2ddea542d6363db19cd86c31b748fe056614dc13fa0e1a79dd0a2
3
+ metadata.gz: eb9434ab93e434f4b25afe94d6b79f080645ae4d728df7d0f361b6b9f9bb2799
4
+ data.tar.gz: ff40c6e5fa1af76eded3851936963413f434ade2d2973dbfa9345033c69ccdc0
5
5
  SHA512:
6
- metadata.gz: 014e9838b7f7d2d41cad048485d1c02748149ab02be7eaf0408fb544b2d9fc756c8bfec9fa895a4d7791a622b345204bdb676e8011d55f8eb0fb026c76620f7a
7
- data.tar.gz: f64c3c03618b44cd73e5d4249d5fa32b247911ab9820d7677e1ce5ef46e8102bfd0f8ad58d4a92f48f6919e5ac57da4de65e7043c22ab542ffff980f02c6cfea
6
+ metadata.gz: 163396220e9d5a22f61192650659667b2c2a7f2630f91c9107e813b19b7581c32b60673140aaa80b13b6d52784ef75d0082fc95581a1b4f33cb538fc878d67c2
7
+ data.tar.gz: c15054576375f4fba9946e8c5412f83afbec7ae33de1bc342857724aec7c558ca234ac2cc335ad958b2063f6339cab4920775648b82d77107a4840937f9cc2f1
data/README.md CHANGED
@@ -9,7 +9,7 @@ Official Ruby SDK for [Fetch Hive](https://fetchhive.com) — invoke AI prompts,
9
9
  Add to your `Gemfile`:
10
10
 
11
11
  ```ruby
12
- gem "fetch_hive", "~> 0.2.6"
12
+ gem "fetch_hive", "~> 0.2.9"
13
13
  ```
14
14
 
15
15
  Then run:
@@ -149,7 +149,7 @@ client = FetchHive::Client.new # picks up FETCH_HIVE_API_KEY automatically
149
149
 
150
150
  ## Version
151
151
 
152
- 0.2.6
152
+ 0.2.9
153
153
 
154
154
  ## License
155
155
 
@@ -48,7 +48,7 @@ module FetchHive
48
48
  body[:inputs] = inputs if inputs
49
49
  body[:user] = user if user
50
50
  body[:metadata] = metadata if metadata
51
- post("/invoke", body)
51
+ post("/prompt/invoke", body)
52
52
  end
53
53
 
54
54
  # Invoke a prompt deployment and stream SSE events.
@@ -59,7 +59,7 @@ module FetchHive
59
59
  body[:inputs] = inputs if inputs
60
60
  body[:user] = user if user
61
61
  body[:metadata] = metadata if metadata
62
- post_stream("/invoke", body, &block)
62
+ post_stream("/prompt/invoke", body, &block)
63
63
  end
64
64
 
65
65
  # ── Workflow ────────────────────────────────────────────────────────────────
@@ -81,28 +81,161 @@ module FetchHive
81
81
  # ── Agent ───────────────────────────────────────────────────────────────────
82
82
 
83
83
  # Send a message to an agent and return the full response hash.
84
- def invoke_agent(agent:, message:, thread_id: nil, user: nil, metadata: nil, messages: nil, image_urls: nil)
84
+ def invoke_agent(agent:, message:, thread_id: nil, user: nil, metadata: nil, messages: nil, image_urls: nil, attachments: nil, known_artifact_refs: nil, artifact_refs: nil, async: nil)
85
85
  body = { agent: agent, message: message, streaming: false }
86
86
  body[:thread_id] = thread_id if thread_id
87
87
  body[:user] = user if user
88
88
  body[:metadata] = metadata if metadata
89
89
  body[:messages] = messages if messages
90
- body[:image_urls] = image_urls if image_urls
90
+ body[:attachments] = attachments || image_urls if attachments || image_urls
91
+ body[:known_artifact_refs] = known_artifact_refs if known_artifact_refs
92
+ body[:artifact_refs] = artifact_refs if artifact_refs
93
+ body[:async] = async if async
91
94
  post("/agent/invoke", body)
92
95
  end
93
96
 
94
97
  # Send a message to an agent and stream SSE events.
95
98
  # Yields each parsed event hash. Returns an Enumerator when no block given.
96
- def invoke_agent_stream(agent:, message:, thread_id: nil, user: nil, metadata: nil, messages: nil, image_urls: nil, &block)
99
+ def invoke_agent_stream(agent:, message:, thread_id: nil, user: nil, metadata: nil, messages: nil, image_urls: nil, attachments: nil, known_artifact_refs: nil, artifact_refs: nil, &block)
97
100
  body = { agent: agent, message: message, streaming: true }
98
101
  body[:thread_id] = thread_id if thread_id
99
102
  body[:user] = user if user
100
103
  body[:metadata] = metadata if metadata
101
104
  body[:messages] = messages if messages
102
- body[:image_urls] = image_urls if image_urls
105
+ body[:attachments] = attachments || image_urls if attachments || image_urls
106
+ body[:known_artifact_refs] = known_artifact_refs if known_artifact_refs
107
+ body[:artifact_refs] = artifact_refs if artifact_refs
103
108
  post_stream("/agent/invoke", body, &block)
104
109
  end
105
110
 
111
+ # ── Hive Agent ──────────────────────────────────────────────────────────────
112
+
113
+ # Start a Hive Agent run asynchronously. Requires a callback URL.
114
+ def invoke_hive_agent(hive_agent:, objective:, callback_url:, sources: nil, metadata: nil, unattended: nil, budget_policy: nil)
115
+ raise ArgumentError, "callback_url is required for Hive Agent invocation" if callback_url.nil? || callback_url.to_s.strip.empty?
116
+
117
+ body = {
118
+ hive_agent: hive_agent,
119
+ objective: objective,
120
+ async: { enabled: true, callback_url: callback_url }
121
+ }
122
+ body[:sources] = sources if sources
123
+ body[:metadata] = metadata if metadata
124
+ body[:unattended] = unattended unless unattended.nil?
125
+ body[:budget_policy] = budget_policy if budget_policy
126
+ post("/hive-agent/invoke", body)
127
+ end
128
+
129
+ # ── Public resources ────────────────────────────────────────────────────────
130
+
131
+ def get_request(id:)
132
+ request("GET", "/public/requests/#{id}")
133
+ end
134
+
135
+ def get_agent_delegation(id:)
136
+ request("GET", "/agent/delegations/#{id}")
137
+ end
138
+
139
+ def cancel_agent_delegation(id:)
140
+ post("/agent/delegations/#{id}/cancel", {})
141
+ end
142
+
143
+ def list_thread_delegations(thread_id:)
144
+ request("GET", "/agent/threads/#{thread_id}/delegations")
145
+ end
146
+
147
+ def list_knowledge_bases(workspace_id:)
148
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases")
149
+ end
150
+
151
+ def get_knowledge_base(workspace_id:, id:)
152
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases/#{id}")
153
+ end
154
+
155
+ def create_knowledge_base(workspace_id:, knowledge_base:)
156
+ post("/public/workspaces/#{workspace_id}/knowledge_bases", { knowledge_base: knowledge_base })
157
+ end
158
+
159
+ def update_knowledge_base(workspace_id:, id:, knowledge_base:)
160
+ request("PATCH", "/public/workspaces/#{workspace_id}/knowledge_bases/#{id}", { knowledge_base: knowledge_base })
161
+ end
162
+
163
+ def delete_knowledge_base(workspace_id:, id:)
164
+ request("DELETE", "/public/workspaces/#{workspace_id}/knowledge_bases/#{id}")
165
+ end
166
+
167
+ def search_knowledge_base(workspace_id:, id:, **params)
168
+ post("/public/workspaces/#{workspace_id}/knowledge_bases/#{id}/search", params)
169
+ end
170
+
171
+ def list_knowledge_base_items(workspace_id:, knowledge_base_id:)
172
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items")
173
+ end
174
+
175
+ def get_knowledge_base_item(workspace_id:, knowledge_base_id:, id:)
176
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}")
177
+ end
178
+
179
+ def create_knowledge_base_item(workspace_id:, knowledge_base_id:, knowledge_base_item:)
180
+ post("/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items", { knowledge_base_item: knowledge_base_item })
181
+ end
182
+
183
+ def update_knowledge_base_item(workspace_id:, knowledge_base_id:, id:, knowledge_base_item:)
184
+ request("PATCH", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}", { knowledge_base_item: knowledge_base_item })
185
+ end
186
+
187
+ def delete_knowledge_base_item(workspace_id:, knowledge_base_id:, id:)
188
+ request("DELETE", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}")
189
+ end
190
+
191
+ def regenerate_knowledge_base_item(workspace_id:, knowledge_base_id:, id:)
192
+ post("/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}/regenerate", {})
193
+ end
194
+
195
+ def list_agents(workspace_id:)
196
+ request("GET", "/public/workspaces/#{workspace_id}/agents")
197
+ end
198
+
199
+ def get_agent(workspace_id:, id:)
200
+ request("GET", "/public/workspaces/#{workspace_id}/agents/#{id}")
201
+ end
202
+
203
+ def create_agent(workspace_id:, agent:)
204
+ post("/public/workspaces/#{workspace_id}/agents", { agent: agent })
205
+ end
206
+
207
+ def update_agent(workspace_id:, id:, agent:)
208
+ request("PATCH", "/public/workspaces/#{workspace_id}/agents/#{id}", { agent: agent })
209
+ end
210
+
211
+ def delete_agent(workspace_id:, id:)
212
+ request("DELETE", "/public/workspaces/#{workspace_id}/agents/#{id}")
213
+ end
214
+
215
+ def get_agent_chat(workspace_id:, agent_id:, chat_id:)
216
+ request("GET", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}")
217
+ end
218
+
219
+ def create_agent_chat(workspace_id:, agent_id:, chat:)
220
+ post("/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats", { chat: chat })
221
+ end
222
+
223
+ def update_agent_chat(workspace_id:, agent_id:, chat_id:, chat:)
224
+ request("PATCH", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}", { chat: chat })
225
+ end
226
+
227
+ def delete_agent_chat(workspace_id:, agent_id:, chat_id:)
228
+ request("DELETE", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}")
229
+ end
230
+
231
+ def clear_agent_chat_messages(workspace_id:, agent_id:, chat_id:)
232
+ request("PATCH", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}/clear_messages", {})
233
+ end
234
+
235
+ def list_agent_chat_messages(workspace_id:, agent_id:, chat_id:)
236
+ request("GET", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}/messages")
237
+ end
238
+
106
239
  private
107
240
 
108
241
  def default_headers
@@ -113,17 +246,25 @@ module FetchHive
113
246
  end
114
247
 
115
248
  def connection
116
- Faraday.new(url: @base_url, request: { timeout: @timeout }) do |f|
249
+ # Build Faraday without a url prefix. Absolute paths like `/prompt/invoke`
250
+ # replace Faraday's prefix path (`/v1`), which would drop `/v1` from the URL.
251
+ Faraday.new(request: { timeout: @timeout }) do |f|
117
252
  f.adapter Faraday.default_adapter
118
253
  end
119
254
  end
120
255
 
256
+ def full_url(path)
257
+ "#{@base_url}#{path}"
258
+ end
259
+
121
260
  def post(path, body)
122
- resp = connection.post(path) do |req|
123
- req.headers.merge!(default_headers)
124
- req.body = JSON.generate(body)
125
- end
261
+ request("POST", path, body)
262
+ end
263
+
264
+ def request(method, path, body = nil)
265
+ resp = connection.run_request(method.downcase.to_sym, full_url(path), body && JSON.generate(body), default_headers)
126
266
  raise "FetchHive API error #{resp.status}: #{resp.body}" unless resp.success?
267
+ return {} if resp.body.nil? || resp.body.empty?
127
268
 
128
269
  JSON.parse(resp.body)
129
270
  end
@@ -134,11 +275,11 @@ module FetchHive
134
275
  io, writer = IO.pipe
135
276
 
136
277
  thread = Thread.new do
137
- conn = Faraday.new(url: @base_url, request: { timeout: @timeout }) do |f|
278
+ conn = Faraday.new(request: { timeout: @timeout }) do |f|
138
279
  f.adapter Faraday.default_adapter
139
280
  end
140
281
 
141
- resp = conn.post(path) do |req|
282
+ resp = conn.post(full_url(path)) do |req|
142
283
  req.headers.merge!(default_headers)
143
284
  req.body = JSON.generate(body)
144
285
  req.options.on_data = proc do |chunk, _size, env|
@@ -0,0 +1,97 @@
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 'cgi'
14
+
15
+ module FetchHive::Generated
16
+ class AgentChatMessagesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # List messages in a chat
23
+ # Returns messages in the chat ordered chronologically (oldest first).
24
+ # @param workspace_id [String] Workspace UUID
25
+ # @param agent_id [String] Agent UUID
26
+ # @param chat_id [String] Chat UUID
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [GetPublicWorkspacesAgentsChatsMessages200Response]
29
+ def get_public_workspaces_agents_chats_messages(workspace_id, agent_id, chat_id, opts = {})
30
+ data, _status_code, _headers = get_public_workspaces_agents_chats_messages_with_http_info(workspace_id, agent_id, chat_id, opts)
31
+ data
32
+ end
33
+
34
+ # List messages in a chat
35
+ # Returns messages in the chat ordered chronologically (oldest first).
36
+ # @param workspace_id [String] Workspace UUID
37
+ # @param agent_id [String] Agent UUID
38
+ # @param chat_id [String] Chat UUID
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [Array<(GetPublicWorkspacesAgentsChatsMessages200Response, Integer, Hash)>] GetPublicWorkspacesAgentsChatsMessages200Response data, response status code and response headers
41
+ def get_public_workspaces_agents_chats_messages_with_http_info(workspace_id, agent_id, chat_id, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: AgentChatMessagesApi.get_public_workspaces_agents_chats_messages ...'
44
+ end
45
+ # verify the required parameter 'workspace_id' is set
46
+ if @api_client.config.client_side_validation && workspace_id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'workspace_id' when calling AgentChatMessagesApi.get_public_workspaces_agents_chats_messages"
48
+ end
49
+ # verify the required parameter 'agent_id' is set
50
+ if @api_client.config.client_side_validation && agent_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'agent_id' when calling AgentChatMessagesApi.get_public_workspaces_agents_chats_messages"
52
+ end
53
+ # verify the required parameter 'chat_id' is set
54
+ if @api_client.config.client_side_validation && chat_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'chat_id' when calling AgentChatMessagesApi.get_public_workspaces_agents_chats_messages"
56
+ end
57
+ # resource path
58
+ local_var_path = '/public/workspaces/{workspace_id}/agents/{agent_id}/chats/{chat_id}/messages'.sub('{workspace_id}', CGI.escape(workspace_id.to_s)).sub('{agent_id}', CGI.escape(agent_id.to_s)).sub('{chat_id}', CGI.escape(chat_id.to_s))
59
+
60
+ # query parameters
61
+ query_params = opts[:query_params] || {}
62
+
63
+ # header parameters
64
+ header_params = opts[:header_params] || {}
65
+ # HTTP header 'Accept' (if needed)
66
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
67
+
68
+ # form parameters
69
+ form_params = opts[:form_params] || {}
70
+
71
+ # http body (model)
72
+ post_body = opts[:debug_body]
73
+
74
+ # return_type
75
+ return_type = opts[:debug_return_type] || 'GetPublicWorkspacesAgentsChatsMessages200Response'
76
+
77
+ # auth_names
78
+ auth_names = opts[:debug_auth_names] || ['bearer_auth']
79
+
80
+ new_options = opts.merge(
81
+ :operation => :"AgentChatMessagesApi.get_public_workspaces_agents_chats_messages",
82
+ :header_params => header_params,
83
+ :query_params => query_params,
84
+ :form_params => form_params,
85
+ :body => post_body,
86
+ :auth_names => auth_names,
87
+ :return_type => return_type
88
+ )
89
+
90
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
91
+ if @api_client.config.debugging
92
+ @api_client.config.logger.debug "API called: AgentChatMessagesApi#get_public_workspaces_agents_chats_messages\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
93
+ end
94
+ return data, status_code, headers
95
+ end
96
+ end
97
+ end