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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/fetch_hive/client.rb +139 -13
- data/lib/fetch_hive/generated/api/agent_chat_messages_api.rb +97 -0
- data/lib/fetch_hive/generated/api/agent_chats_api.rb +413 -0
- data/lib/fetch_hive/generated/api/agents_api.rb +359 -4
- data/lib/fetch_hive/generated/api/assets_api.rb +153 -0
- data/lib/fetch_hive/generated/api/hive_agents_api.rb +90 -0
- data/lib/fetch_hive/generated/api/knowledge_base_items_api.rb +482 -0
- data/lib/fetch_hive/generated/api/knowledge_bases_api.rb +457 -0
- data/lib/fetch_hive/generated/api/models_api.rb +79 -0
- data/lib/fetch_hive/generated/api/prompts_api.rb +3 -3
- data/lib/fetch_hive/generated/api/requests_api.rb +85 -0
- data/lib/fetch_hive/generated/api/search_services_api.rb +147 -0
- data/lib/fetch_hive/generated/api/workflows_api.rb +2 -2
- data/lib/fetch_hive/generated/api_client.rb +2 -2
- data/lib/fetch_hive/generated/api_error.rb +2 -2
- data/lib/fetch_hive/generated/api_model_base.rb +2 -2
- data/lib/fetch_hive/generated/configuration.rb +2 -2
- data/lib/fetch_hive/generated/models/agent_attachment.rb +104 -0
- data/lib/fetch_hive/generated/models/agent_attachment_one_of.rb +191 -0
- data/lib/fetch_hive/generated/models/agent_message.rb +11 -11
- data/lib/fetch_hive/generated/models/asset_object.rb +350 -0
- data/lib/fetch_hive/generated/models/asset_object_transcription.rb +212 -0
- data/lib/fetch_hive/generated/models/async_config.rb +2 -2
- data/lib/fetch_hive/generated/models/delete_public_workspaces_agents200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/delete_public_workspaces_agents_chats200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/delete_public_workspaces_agents_chats404_response.rb +164 -0
- data/lib/fetch_hive/generated/models/delete_public_workspaces_knowledge_bases200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/delete_public_workspaces_knowledge_bases_items200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/error_response.rb +23 -17
- data/lib/fetch_hive/generated/models/generated_artifact.rb +236 -0
- data/lib/fetch_hive/generated/models/get_public_models200_response_inner.rb +474 -0
- data/lib/fetch_hive/generated/models/get_public_requests200_response.rb +319 -0
- data/lib/fetch_hive/generated/models/get_public_requests404_response.rb +164 -0
- data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response.rb +166 -0
- data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response_services_inner.rb +294 -0
- data/lib/fetch_hive/generated/models/get_public_search_services_countries200_response_services_inner_countries_inner.rb +216 -0
- data/lib/fetch_hive/generated/models/get_public_search_services_countries2404_response.rb +175 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_agents200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_agents2200_response.rb +166 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages200_response.rb +166 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages200_response_messages_inner.rb +276 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_agents_chats_messages422_response.rb +164 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_assets200_response.rb +166 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases200_response.rb +166 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases2200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases2422_response.rb +164 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items200_response.rb +166 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items200_response_knowledge_base_items_inner.rb +294 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items2200_response.rb +164 -0
- data/lib/fetch_hive/generated/models/get_public_workspaces_knowledge_bases_items2422_response.rb +164 -0
- data/lib/fetch_hive/generated/models/hive_agent_async_config.rb +192 -0
- data/lib/fetch_hive/generated/models/hive_agent_sources.rb +187 -0
- data/lib/fetch_hive/generated/models/invoke_agent_request.rb +92 -11
- data/lib/fetch_hive/generated/models/invoke_agent_response.rb +18 -6
- data/lib/fetch_hive/generated/models/invoke_hive_agent_request.rb +239 -0
- data/lib/fetch_hive/generated/models/invoke_hive_agent_response.rb +213 -0
- data/lib/fetch_hive/generated/models/invoke_prompt_request.rb +2 -2
- data/lib/fetch_hive/generated/models/invoke_prompt_response.rb +2 -2
- data/lib/fetch_hive/generated/models/invoke_workflow_async_response.rb +2 -2
- data/lib/fetch_hive/generated/models/invoke_workflow_request.rb +2 -2
- data/lib/fetch_hive/generated/models/invoke_workflow_response.rb +2 -2
- data/lib/fetch_hive/generated/models/knowledge_base_object.rb +470 -0
- data/lib/fetch_hive/generated/models/metadata_value.rb +2 -2
- data/lib/fetch_hive/generated/models/patch_public_workspaces_agents200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_clear_messages200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_request.rb +164 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_chats_request_chat.rb +147 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_request.rb +164 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_agents_request_agent.rb +304 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items_request.rb +164 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_items_request_knowledge_base_item.rb +265 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_request.rb +147 -0
- data/lib/fetch_hive/generated/models/patch_public_workspaces_knowledge_bases_request_knowledge_base.rb +217 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents422_response.rb +164 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats200_response_chat.rb +305 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats422_response.rb +175 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats_request.rb +164 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents_chats_request_chat.rb +164 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents_request.rb +164 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_agents_request_agent.rb +252 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_assets200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_assets422_response.rb +216 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items422_response.rb +158 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_regenerate200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_request.rb +164 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_items_request_knowledge_base_item.rb +322 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_request.rb +164 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_request_knowledge_base.rb +234 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search200_response.rb +190 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search422_response.rb +164 -0
- data/lib/fetch_hive/generated/models/post_public_workspaces_knowledge_bases_search_request.rb +302 -0
- data/lib/fetch_hive/generated/models/sse_chunk.rb +13 -4
- data/lib/fetch_hive/generated/models/token_usage.rb +2 -2
- data/lib/fetch_hive/generated/models/tool_invocation.rb +2 -2
- data/lib/fetch_hive/generated/version.rb +2 -2
- metadata +83 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9b421e652356ba9afa06d2b9e6f142ef76f59d5d4d39c0ea0db9f9038bb20d26
|
|
4
|
+
data.tar.gz: a9d4effda45cfd0e3dbf2eb79fa028aecf65163cfd206d5a99aa27d72374f825
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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.
|
|
152
|
+
0.2.8
|
|
153
153
|
|
|
154
154
|
## License
|
|
155
155
|
|
data/lib/fetch_hive/client.rb
CHANGED
|
@@ -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[:
|
|
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[:
|
|
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
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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(
|
|
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
|