fetch_hive 0.2.6 → 0.2.8

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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/fetch_hive/client.rb +139 -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 +359 -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_message.rb +11 -11
  23. data/lib/fetch_hive/generated/models/asset_object.rb +350 -0
  24. data/lib/fetch_hive/generated/models/asset_object_transcription.rb +212 -0
  25. data/lib/fetch_hive/generated/models/async_config.rb +2 -2
  26. data/lib/fetch_hive/generated/models/delete_public_workspaces_agents200_response.rb +164 -0
  27. data/lib/fetch_hive/generated/models/delete_public_workspaces_agents_chats200_response.rb +164 -0
  28. data/lib/fetch_hive/generated/models/delete_public_workspaces_agents_chats404_response.rb +164 -0
  29. data/lib/fetch_hive/generated/models/delete_public_workspaces_knowledge_bases200_response.rb +164 -0
  30. data/lib/fetch_hive/generated/models/delete_public_workspaces_knowledge_bases_items200_response.rb +164 -0
  31. data/lib/fetch_hive/generated/models/error_response.rb +23 -17
  32. data/lib/fetch_hive/generated/models/generated_artifact.rb +236 -0
  33. data/lib/fetch_hive/generated/models/get_public_models200_response_inner.rb +474 -0
  34. data/lib/fetch_hive/generated/models/get_public_requests200_response.rb +319 -0
  35. data/lib/fetch_hive/generated/models/get_public_requests404_response.rb +164 -0
  36. data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response.rb +166 -0
  37. data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response_services_inner.rb +294 -0
  38. data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response_services_inner_countries_inner.rb +216 -0
  39. data/lib/fetch_hive/generated/models/get_public_search_services_countries2404_response.rb +175 -0
  40. data/lib/fetch_hive/generated/models/get_public_workspaces_agents200_response.rb +164 -0
  41. data/lib/fetch_hive/generated/models/get_public_workspaces_agents2200_response.rb +166 -0
  42. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats200_response.rb +164 -0
  43. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages200_response.rb +166 -0
  44. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages200_response_messages_inner.rb +276 -0
  45. data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages422_response.rb +164 -0
  46. data/lib/fetch_hive/generated/models/get_public_workspaces_assets200_response.rb +166 -0
  47. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases200_response.rb +166 -0
  48. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases2200_response.rb +164 -0
  49. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases2422_response.rb +164 -0
  50. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items200_response.rb +166 -0
  51. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items200_response_knowledge_base_items_inner.rb +294 -0
  52. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items2200_response.rb +164 -0
  53. data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items2422_response.rb +164 -0
  54. data/lib/fetch_hive/generated/models/hive_agent_async_config.rb +192 -0
  55. data/lib/fetch_hive/generated/models/hive_agent_sources.rb +187 -0
  56. data/lib/fetch_hive/generated/models/invoke_agent_request.rb +92 -11
  57. data/lib/fetch_hive/generated/models/invoke_agent_response.rb +18 -6
  58. data/lib/fetch_hive/generated/models/invoke_hive_agent_request.rb +239 -0
  59. data/lib/fetch_hive/generated/models/invoke_hive_agent_response.rb +213 -0
  60. data/lib/fetch_hive/generated/models/invoke_prompt_request.rb +2 -2
  61. data/lib/fetch_hive/generated/models/invoke_prompt_response.rb +2 -2
  62. data/lib/fetch_hive/generated/models/invoke_workflow_async_response.rb +2 -2
  63. data/lib/fetch_hive/generated/models/invoke_workflow_request.rb +2 -2
  64. data/lib/fetch_hive/generated/models/invoke_workflow_response.rb +2 -2
  65. data/lib/fetch_hive/generated/models/knowledge_base_object.rb +470 -0
  66. data/lib/fetch_hive/generated/models/metadata_value.rb +2 -2
  67. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents200_response.rb +190 -0
  68. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats200_response.rb +190 -0
  69. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_clear_messages200_response.rb +190 -0
  70. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_request.rb +164 -0
  71. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_request_chat.rb +147 -0
  72. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_request.rb +164 -0
  73. data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_request_agent.rb +304 -0
  74. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases200_response.rb +190 -0
  75. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items200_response.rb +190 -0
  76. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items_request.rb +164 -0
  77. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items_request_knowledge_base_item.rb +265 -0
  78. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_request.rb +147 -0
  79. data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_request_knowledge_base.rb +217 -0
  80. data/lib/fetch_hive/generated/models/post_public_workspaces_agents200_response.rb +190 -0
  81. data/lib/fetch_hive/generated/models/post_public_workspaces_agents422_response.rb +164 -0
  82. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats200_response.rb +190 -0
  83. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats200_response_chat.rb +305 -0
  84. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats422_response.rb +175 -0
  85. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats_request.rb +164 -0
  86. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats_request_chat.rb +164 -0
  87. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_request.rb +164 -0
  88. data/lib/fetch_hive/generated/models/post_public_workspaces_agents_request_agent.rb +252 -0
  89. data/lib/fetch_hive/generated/models/post_public_workspaces_assets200_response.rb +190 -0
  90. data/lib/fetch_hive/generated/models/post_public_workspaces_assets422_response.rb +216 -0
  91. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases200_response.rb +190 -0
  92. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items200_response.rb +190 -0
  93. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items422_response.rb +158 -0
  94. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_regenerate200_response.rb +190 -0
  95. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_request.rb +164 -0
  96. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_request_knowledge_base_item.rb +322 -0
  97. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_request.rb +164 -0
  98. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_request_knowledge_base.rb +234 -0
  99. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search200_response.rb +190 -0
  100. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search422_response.rb +164 -0
  101. data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search_request.rb +302 -0
  102. data/lib/fetch_hive/generated/models/sse_chunk.rb +13 -4
  103. data/lib/fetch_hive/generated/models/token_usage.rb +2 -2
  104. data/lib/fetch_hive/generated/models/tool_invocation.rb +2 -2
  105. data/lib/fetch_hive/generated/version.rb +2 -2
  106. metadata +83 -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: 9b421e652356ba9afa06d2b9e6f142ef76f59d5d4d39c0ea0db9f9038bb20d26
4
+ data.tar.gz: a9d4effda45cfd0e3dbf2eb79fa028aecf65163cfd206d5a99aa27d72374f825
5
5
  SHA512:
6
- metadata.gz: 014e9838b7f7d2d41cad048485d1c02748149ab02be7eaf0408fb544b2d9fc756c8bfec9fa895a4d7791a622b345204bdb676e8011d55f8eb0fb026c76620f7a
7
- data.tar.gz: f64c3c03618b44cd73e5d4249d5fa32b247911ab9820d7677e1ce5ef46e8102bfd0f8ad58d4a92f48f6919e5ac57da4de65e7043c22ab542ffff980f02c6cfea
6
+ metadata.gz: 491c5faf21f2698e3125678f4609423c3a1d1dc7d44975862252a8692b3e8d69420dcd1441abc9603ffd1e5d5c974e6a2d45f9744235526300454c26d8bff1e4
7
+ data.tar.gz: 0fbfafc2cb06f92ee3b8f94ab32e18eea82912d7b19dee93d1e9fed888c0aac4854211eb30db4e850483de6a29407e93eec475c9c6fbf458fac7fb1171592b6f
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.8"
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.8
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,146 @@ 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)
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
91
93
  post("/agent/invoke", body)
92
94
  end
93
95
 
94
96
  # Send a message to an agent and stream SSE events.
95
97
  # 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)
98
+ 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
99
  body = { agent: agent, message: message, streaming: true }
98
100
  body[:thread_id] = thread_id if thread_id
99
101
  body[:user] = user if user
100
102
  body[:metadata] = metadata if metadata
101
103
  body[:messages] = messages if messages
102
- body[:image_urls] = image_urls if image_urls
104
+ body[:attachments] = attachments || image_urls if attachments || image_urls
105
+ body[:known_artifact_refs] = known_artifact_refs if known_artifact_refs
106
+ body[:artifact_refs] = artifact_refs if artifact_refs
103
107
  post_stream("/agent/invoke", body, &block)
104
108
  end
105
109
 
110
+ # ── Hive Agent ──────────────────────────────────────────────────────────────
111
+
112
+ # Start a Hive Agent run asynchronously. Requires a callback URL.
113
+ def invoke_hive_agent(hive_agent:, objective:, callback_url:, sources: nil, metadata: nil)
114
+ raise ArgumentError, "callback_url is required for Hive Agent invocation" if callback_url.nil? || callback_url.to_s.strip.empty?
115
+
116
+ body = {
117
+ hive_agent: hive_agent,
118
+ objective: objective,
119
+ async: { enabled: true, callback_url: callback_url }
120
+ }
121
+ body[:sources] = sources if sources
122
+ body[:metadata] = metadata if metadata
123
+ post("/hive-agent/invoke", body)
124
+ end
125
+
126
+ # ── Public resources ────────────────────────────────────────────────────────
127
+
128
+ def get_request(id:)
129
+ request("GET", "/public/requests/#{id}")
130
+ end
131
+
132
+ def list_knowledge_bases(workspace_id:)
133
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases")
134
+ end
135
+
136
+ def get_knowledge_base(workspace_id:, id:)
137
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases/#{id}")
138
+ end
139
+
140
+ def create_knowledge_base(workspace_id:, knowledge_base:)
141
+ post("/public/workspaces/#{workspace_id}/knowledge_bases", { knowledge_base: knowledge_base })
142
+ end
143
+
144
+ def update_knowledge_base(workspace_id:, id:, knowledge_base:)
145
+ request("PATCH", "/public/workspaces/#{workspace_id}/knowledge_bases/#{id}", { knowledge_base: knowledge_base })
146
+ end
147
+
148
+ def delete_knowledge_base(workspace_id:, id:)
149
+ request("DELETE", "/public/workspaces/#{workspace_id}/knowledge_bases/#{id}")
150
+ end
151
+
152
+ def search_knowledge_base(workspace_id:, id:, **params)
153
+ post("/public/workspaces/#{workspace_id}/knowledge_bases/#{id}/search", params)
154
+ end
155
+
156
+ def list_knowledge_base_items(workspace_id:, knowledge_base_id:)
157
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items")
158
+ end
159
+
160
+ def get_knowledge_base_item(workspace_id:, knowledge_base_id:, id:)
161
+ request("GET", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}")
162
+ end
163
+
164
+ def create_knowledge_base_item(workspace_id:, knowledge_base_id:, knowledge_base_item:)
165
+ post("/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items", { knowledge_base_item: knowledge_base_item })
166
+ end
167
+
168
+ def update_knowledge_base_item(workspace_id:, knowledge_base_id:, id:, knowledge_base_item:)
169
+ request("PATCH", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}", { knowledge_base_item: knowledge_base_item })
170
+ end
171
+
172
+ def delete_knowledge_base_item(workspace_id:, knowledge_base_id:, id:)
173
+ request("DELETE", "/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}")
174
+ end
175
+
176
+ def regenerate_knowledge_base_item(workspace_id:, knowledge_base_id:, id:)
177
+ post("/public/workspaces/#{workspace_id}/knowledge_bases/#{knowledge_base_id}/items/#{id}/regenerate", {})
178
+ end
179
+
180
+ def list_agents(workspace_id:)
181
+ request("GET", "/public/workspaces/#{workspace_id}/agents")
182
+ end
183
+
184
+ def get_agent(workspace_id:, id:)
185
+ request("GET", "/public/workspaces/#{workspace_id}/agents/#{id}")
186
+ end
187
+
188
+ def create_agent(workspace_id:, agent:)
189
+ post("/public/workspaces/#{workspace_id}/agents", { agent: agent })
190
+ end
191
+
192
+ def update_agent(workspace_id:, id:, agent:)
193
+ request("PATCH", "/public/workspaces/#{workspace_id}/agents/#{id}", { agent: agent })
194
+ end
195
+
196
+ def delete_agent(workspace_id:, id:)
197
+ request("DELETE", "/public/workspaces/#{workspace_id}/agents/#{id}")
198
+ end
199
+
200
+ def get_agent_chat(workspace_id:, agent_id:, chat_id:)
201
+ request("GET", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}")
202
+ end
203
+
204
+ def create_agent_chat(workspace_id:, agent_id:, chat:)
205
+ post("/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats", { chat: chat })
206
+ end
207
+
208
+ def update_agent_chat(workspace_id:, agent_id:, chat_id:, chat:)
209
+ request("PATCH", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}", { chat: chat })
210
+ end
211
+
212
+ def delete_agent_chat(workspace_id:, agent_id:, chat_id:)
213
+ request("DELETE", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}")
214
+ end
215
+
216
+ def clear_agent_chat_messages(workspace_id:, agent_id:, chat_id:)
217
+ request("PATCH", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}/clear_messages", {})
218
+ end
219
+
220
+ def list_agent_chat_messages(workspace_id:, agent_id:, chat_id:)
221
+ request("GET", "/public/workspaces/#{workspace_id}/agents/#{agent_id}/chats/#{chat_id}/messages")
222
+ end
223
+
106
224
  private
107
225
 
108
226
  def default_headers
@@ -113,17 +231,25 @@ module FetchHive
113
231
  end
114
232
 
115
233
  def connection
116
- Faraday.new(url: @base_url, request: { timeout: @timeout }) do |f|
234
+ # Build Faraday without a url prefix. Absolute paths like `/prompt/invoke`
235
+ # replace Faraday's prefix path (`/v1`), which would drop `/v1` from the URL.
236
+ Faraday.new(request: { timeout: @timeout }) do |f|
117
237
  f.adapter Faraday.default_adapter
118
238
  end
119
239
  end
120
240
 
241
+ def full_url(path)
242
+ "#{@base_url}#{path}"
243
+ end
244
+
121
245
  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
246
+ request("POST", path, body)
247
+ end
248
+
249
+ def request(method, path, body = nil)
250
+ resp = connection.run_request(method.downcase.to_sym, full_url(path), body && JSON.generate(body), default_headers)
126
251
  raise "FetchHive API error #{resp.status}: #{resp.body}" unless resp.success?
252
+ return {} if resp.body.nil? || resp.body.empty?
127
253
 
128
254
  JSON.parse(resp.body)
129
255
  end
@@ -134,11 +260,11 @@ module FetchHive
134
260
  io, writer = IO.pipe
135
261
 
136
262
  thread = Thread.new do
137
- conn = Faraday.new(url: @base_url, request: { timeout: @timeout }) do |f|
263
+ conn = Faraday.new(request: { timeout: @timeout }) do |f|
138
264
  f.adapter Faraday.default_adapter
139
265
  end
140
266
 
141
- resp = conn.post(path) do |req|
267
+ resp = conn.post(full_url(path)) do |req|
142
268
  req.headers.merge!(default_headers)
143
269
  req.body = JSON.generate(body)
144
270
  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.8
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