sunholo 0.64.19__py3-none-any.whl → 0.66.0__py3-none-any.whl
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.
- sunholo/agents/swagger.py +41 -5
- {sunholo-0.64.19.dist-info → sunholo-0.66.0.dist-info}/METADATA +2 -2
- {sunholo-0.64.19.dist-info → sunholo-0.66.0.dist-info}/RECORD +7 -7
- {sunholo-0.64.19.dist-info → sunholo-0.66.0.dist-info}/LICENSE.txt +0 -0
- {sunholo-0.64.19.dist-info → sunholo-0.66.0.dist-info}/WHEEL +0 -0
- {sunholo-0.64.19.dist-info → sunholo-0.66.0.dist-info}/entry_points.txt +0 -0
- {sunholo-0.64.19.dist-info → sunholo-0.66.0.dist-info}/top_level.txt +0 -0
sunholo/agents/swagger.py
CHANGED
|
@@ -158,9 +158,24 @@ def generate_swagger(vac_config, agent_config):
|
|
|
158
158
|
log.warning(f"Failed to find URL stem for {vector_name}/{agent_type} - using {stem} instead")
|
|
159
159
|
|
|
160
160
|
for method, endpoints in agent_config_paths.items():
|
|
161
|
-
if
|
|
162
|
-
|
|
161
|
+
# controls if get requests are protected or not
|
|
162
|
+
do_auth = True
|
|
163
|
+
|
|
164
|
+
# default get: noauth, post: auth
|
|
165
|
+
if method not in ['get', 'post', 'get-auth', 'post-noauth']:
|
|
163
166
|
continue
|
|
167
|
+
|
|
168
|
+
if method == 'get-auth':
|
|
169
|
+
do_auth = True
|
|
170
|
+
method = 'get'
|
|
171
|
+
elif method == 'post-noauth':
|
|
172
|
+
do_auth = False
|
|
173
|
+
method = 'post'
|
|
174
|
+
elif method == 'get':
|
|
175
|
+
do_auth = False
|
|
176
|
+
elif method == 'post':
|
|
177
|
+
do_auth = True # not needed but to be clear whats happening
|
|
178
|
+
|
|
164
179
|
for endpoint_key, endpoint_template in endpoints.items():
|
|
165
180
|
endpoint_template = endpoint_template.strip()
|
|
166
181
|
endpoint_address = endpoint_template.replace("{stem}", stem).replace("{vector_name}", vector_name).strip()
|
|
@@ -173,6 +188,8 @@ def generate_swagger(vac_config, agent_config):
|
|
|
173
188
|
|
|
174
189
|
operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
|
|
175
190
|
|
|
191
|
+
security = [{'ApiKeyAuth': []}] if do_auth else [{'None': []}]
|
|
192
|
+
|
|
176
193
|
swagger_template['paths'][endpoint_path][method] = {
|
|
177
194
|
'summary': f"{method.capitalize()} {vector_name}",
|
|
178
195
|
'operationId': operation_id,
|
|
@@ -180,7 +197,7 @@ def generate_swagger(vac_config, agent_config):
|
|
|
180
197
|
'address': endpoint_address,
|
|
181
198
|
'protocol': 'h2'
|
|
182
199
|
},
|
|
183
|
-
'security':
|
|
200
|
+
'security': security,
|
|
184
201
|
'responses': copy.deepcopy(agent_config_paths.get('response', {}).get(endpoint_key, {
|
|
185
202
|
'200': {
|
|
186
203
|
'description': 'Default - A successful response',
|
|
@@ -204,9 +221,26 @@ def generate_swagger(vac_config, agent_config):
|
|
|
204
221
|
stem = f"${{{agent_type.upper()}_BACKEND_URL}}"
|
|
205
222
|
log.warning(f"Failed to find URL stem for {vector_name}/{agent_type} - using {stem} instead")
|
|
206
223
|
|
|
224
|
+
|
|
207
225
|
for method, endpoints in default_agent_config.items():
|
|
208
|
-
if
|
|
226
|
+
# controls if get requests are protected or not
|
|
227
|
+
do_auth = True
|
|
228
|
+
|
|
229
|
+
# default get: noauth, post: auth
|
|
230
|
+
if method not in ['get', 'post', 'get-auth', 'post-noauth']:
|
|
209
231
|
continue
|
|
232
|
+
|
|
233
|
+
if method == 'get-auth':
|
|
234
|
+
do_auth = True
|
|
235
|
+
method = 'get'
|
|
236
|
+
elif method == 'post-noauth':
|
|
237
|
+
do_auth = False
|
|
238
|
+
method = 'post'
|
|
239
|
+
elif method == 'get':
|
|
240
|
+
do_auth = False
|
|
241
|
+
elif method == 'post':
|
|
242
|
+
do_auth = True # not needed but to be clear whats happening
|
|
243
|
+
|
|
210
244
|
for endpoint_key, endpoint_template in endpoints.items():
|
|
211
245
|
endpoint_template = endpoint_template.strip()
|
|
212
246
|
endpoint_address = endpoint_template.replace("{stem}", stem).replace("{vector_name}", vector_name).strip()
|
|
@@ -218,6 +252,8 @@ def generate_swagger(vac_config, agent_config):
|
|
|
218
252
|
swagger_template['paths'][endpoint_path] = {}
|
|
219
253
|
|
|
220
254
|
operation_id = f"{method}_{agent_type}_{endpoint_key}_{vector_name}"
|
|
255
|
+
|
|
256
|
+
security = [{'ApiKeyAuth': []}] if do_auth else [{'None': []}]
|
|
221
257
|
|
|
222
258
|
swagger_template['paths'][endpoint_path][method] = {
|
|
223
259
|
'summary': f"{method.capitalize()} {agent_type}",
|
|
@@ -226,7 +262,7 @@ def generate_swagger(vac_config, agent_config):
|
|
|
226
262
|
'address': endpoint_address,
|
|
227
263
|
'protocol': 'h2'
|
|
228
264
|
},
|
|
229
|
-
'security':
|
|
265
|
+
'security': security,
|
|
230
266
|
'responses': copy.deepcopy(default_agent_config.get('response', {}).get(endpoint_key, {
|
|
231
267
|
'200': {
|
|
232
268
|
'description': 'Default - A successful response',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.66.0
|
|
4
4
|
Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
|
|
5
5
|
Home-page: https://github.com/sunholo-data/sunholo-py
|
|
6
|
-
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.66.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -7,7 +7,7 @@ sunholo/agents/langserve.py,sha256=FdhQjorAY2bMn2rpuabNT6bU3uqSKWrl8DjpH3L_V7k,4
|
|
|
7
7
|
sunholo/agents/pubsub.py,sha256=5hbbhbBGyVWRpt2sAGC5FEheYH1mCCwVUhZEB1S7vGg,1337
|
|
8
8
|
sunholo/agents/route.py,sha256=V1HKXTvaNuYgjmT5_QgIQum4O7O0Mw497m6YiMpEzX0,2383
|
|
9
9
|
sunholo/agents/special_commands.py,sha256=ecD5jrBVXo170sdgPILi0m_m_4nRFEv6qKn5zYEvEK8,6494
|
|
10
|
-
sunholo/agents/swagger.py,sha256=
|
|
10
|
+
sunholo/agents/swagger.py,sha256=tm25kFGYs48Yx0aFGOVdgclhuABLbRvJ0flbFr8_k-k,11371
|
|
11
11
|
sunholo/agents/fastapi/__init__.py,sha256=S_pj4_bTUmDGoq_exaREHlOKThi0zTuGT0VZY0YfODQ,88
|
|
12
12
|
sunholo/agents/fastapi/base.py,sha256=clk76cHbUAvU0OYJrRfCWX_5f0ACbhDsIzYBhI3wyoE,2514
|
|
13
13
|
sunholo/agents/fastapi/qna_routes.py,sha256=DgK4Btu5XriOC1JaRQ4G_nWEjJfnQ0J5pyLanF6eF1g,3857
|
|
@@ -104,9 +104,9 @@ sunholo/vertex/__init__.py,sha256=JvHcGFuv6R_nAhY2AdoqqhMpJ5ugeWPZ_svGhWrObBk,13
|
|
|
104
104
|
sunholo/vertex/init.py,sha256=JDMUaBRdednzbKF-5p33qqLit2LMsvgvWW-NRz0AqO0,1801
|
|
105
105
|
sunholo/vertex/memory_tools.py,sha256=8F1iTWnqEK9mX4W5RzCVKIjydIcNp6OFxjn_dtQ3GXo,5379
|
|
106
106
|
sunholo/vertex/safety.py,sha256=3meAX0HyGZYrH7rXPUAHxtI_3w_zoy_RX7Shtkoa660,1275
|
|
107
|
-
sunholo-0.
|
|
108
|
-
sunholo-0.
|
|
109
|
-
sunholo-0.
|
|
110
|
-
sunholo-0.
|
|
111
|
-
sunholo-0.
|
|
112
|
-
sunholo-0.
|
|
107
|
+
sunholo-0.66.0.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
|
|
108
|
+
sunholo-0.66.0.dist-info/METADATA,sha256=8PjQhPq2svsacMHzi-wkLvWch5Gtrhjz16i7YjNPGyk,5998
|
|
109
|
+
sunholo-0.66.0.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
|
110
|
+
sunholo-0.66.0.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
|
|
111
|
+
sunholo-0.66.0.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
|
|
112
|
+
sunholo-0.66.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|