sunholo 0.74.3__py3-none-any.whl → 0.74.5__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/__init__.py CHANGED
@@ -6,8 +6,10 @@ from . import chunker
6
6
  from . import cli
7
7
  from . import components
8
8
  from . import database
9
+ from . import discovery_engine
9
10
  from . import embedder
10
11
  from . import gcs
12
+ from . import invoke
11
13
  from . import langfuse
12
14
  from . import llamaindex
13
15
  from . import lookup
@@ -15,6 +17,7 @@ from . import patches
15
17
  from . import pubsub
16
18
  from . import qna
17
19
  from . import streaming
20
+ from . import tools
18
21
  from . import utils
19
22
  from . import vertex
20
23
  import logging
@@ -28,8 +31,10 @@ __all__ = ['agents',
28
31
  'cli',
29
32
  'components',
30
33
  'database',
34
+ 'discovery_engine',
31
35
  'embedder',
32
36
  'gcs',
37
+ 'invoke',
33
38
  'langfuse',
34
39
  'llamaindex',
35
40
  'lookup',
@@ -37,6 +42,7 @@ __all__ = ['agents',
37
42
  'pubsub',
38
43
  'qna',
39
44
  'streaming',
45
+ 'tools',
40
46
  'utils',
41
47
  'vertex',
42
48
  'logging']
sunholo/agents/swagger.py CHANGED
@@ -280,4 +280,13 @@ See more at https://dev.sunholo.com/
280
280
  yaml.dump(swagger_template, string_stream)
281
281
  yaml_string = string_stream.getvalue()
282
282
 
283
+ try:
284
+ from openapi_spec_validator import validate
285
+ swagger_dict = yaml.load(yaml_string)
286
+ swagger_dict['host'] = 'api.sunholo.com'
287
+ validated = validate(swagger_dict)
288
+ log.info(f'swagger validation errors: {validated}')
289
+ except ImportError:
290
+ log.error("Must have openapi-spec-validator installed to validate - install via `pip install sunholo'[tools]'`")
291
+
283
292
  return yaml_string
@@ -495,7 +495,7 @@ This method should be implemented by subclasses: `def send_prompt_to_llm(self, p
495
495
  while in_session:
496
496
  if next_instructions and 'status' in next_instructions:
497
497
  if next_instructions['status'] == 'in-progress':
498
- log.info(f'Browser message: {next_instructions.get('message')}')
498
+ log.info(f'Browser message: {next_instructions.get("message")}')
499
499
  if 'new_instructions' not in next_instructions:
500
500
  log.error('Browser status: "in-progress" but no new_instructions')
501
501
  last_message = next_instructions['message']
@@ -513,16 +513,19 @@ This method should be implemented by subclasses: `def send_prompt_to_llm(self, p
513
513
  break
514
514
 
515
515
  log.info("Session finished")
516
- final_screenshot = self.take_screenshot()
516
+ self.take_screenshot()
517
517
 
518
518
  self.close()
519
519
 
520
520
  return {
521
- "website": self.website_name,
522
- "log": self.action_log,
523
- "next_instructions": next_instructions,
524
- "session_screenshots": self.session_screenshots,
525
- "final_screenshot": final_screenshot,
526
- "session_goal": self.session_goal
521
+ "answer": next_instructions.get('message', 'No last message was received'),
522
+ "metadata": {
523
+ "website": self.website_name,
524
+ "log": self.action_log,
525
+ "next_instructions": next_instructions,
526
+ "session_screenshots": self.session_screenshots,
527
+ "session_goal": self.session_goal,
528
+ "session_id": self.session_id,
529
+ }
527
530
  }
528
531
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sunholo
3
- Version: 0.74.3
3
+ Version: 0.74.5
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.74.3.tar.gz
6
+ Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.74.5.tar.gz
7
7
  Author: Holosun ApS
8
8
  Author-email: multivac@sunholo.com
9
9
  License: Apache License, Version 2.0
@@ -1,4 +1,4 @@
1
- sunholo/__init__.py,sha256=0CdpufyRKWyZe7J7UKigL6j_qOorM-p0OjHIAuf9M38,864
1
+ sunholo/__init__.py,sha256=_SOIvXrM6y4PBA8GIbizABnAk26YEXOLQtNsI0IAmyg,1008
2
2
  sunholo/logging.py,sha256=YfIN1oP3dOEkkYkyRBU8BGS3uJFGwUDsFCl8mIVbwvE,12225
3
3
  sunholo/agents/__init__.py,sha256=Hb4NXy2rN-83Z0-UDRwX-LXv2R29lcbSFPf8G6q4fZg,380
4
4
  sunholo/agents/chat_history.py,sha256=8iX1bgvRW6fdp6r_DQR_caPHYrZ_9QJJgPxCiSDf3q8,5380
@@ -7,7 +7,7 @@ sunholo/agents/langserve.py,sha256=eSNJ4G5eGKjmyMQLM_uTOjiS-D_W4QhCLrsC4Vsnk7E,4
7
7
  sunholo/agents/pubsub.py,sha256=5hbbhbBGyVWRpt2sAGC5FEheYH1mCCwVUhZEB1S7vGg,1337
8
8
  sunholo/agents/route.py,sha256=YL9a99X1vwSWH8XWo3En1UryxhBFEFhjkbNN1X_YDHg,2905
9
9
  sunholo/agents/special_commands.py,sha256=ecD5jrBVXo170sdgPILi0m_m_4nRFEv6qKn5zYEvEK8,6494
10
- sunholo/agents/swagger.py,sha256=wK90aGOgUojZjfMcjqhhJ_ksJ6ZCsVT1Iy02oU6Q5XM,10786
10
+ sunholo/agents/swagger.py,sha256=w5eCShufIjZLuF1SHQgPLABFM1f0FrU0KlX8Y41KrIo,11191
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
@@ -99,7 +99,7 @@ sunholo/streaming/streaming.py,sha256=9z6pXINEopuL_Z1RnmgXAoZJum9dzyuOxqYtEYnjf8
99
99
  sunholo/summarise/__init__.py,sha256=MZk3dblUMODcPb1crq4v-Z508NrFIpkSWNf9FIO8BcU,38
100
100
  sunholo/summarise/summarise.py,sha256=C3HhjepTjUhUC8FLk4jMQIBvq1BcORniwuTFHjPVhVo,3784
101
101
  sunholo/tools/__init__.py,sha256=5NuYpwwTX81qGUWvgwfItoSLXteNnp7KjgD7IPZUFjI,53
102
- sunholo/tools/web_browser.py,sha256=FqFD9uI1VQ9ui10evIqxTgor_xqM9LhGt16Fz3EmP-w,21533
102
+ sunholo/tools/web_browser.py,sha256=e9VQyk4Q8CqxuHiOTGSBRw7sei7Wkcy75ptrtKXo9Wo,21672
103
103
  sunholo/utils/__init__.py,sha256=Hv02T5L2zYWvCso5hzzwm8FQogwBq0OgtUbN_7Quzqc,89
104
104
  sunholo/utils/api_key.py,sha256=Ct4bIAQZxzPEw14hP586LpVxBAVi_W9Serpy0BK-7KI,244
105
105
  sunholo/utils/big_context.py,sha256=gJIP7_ZL-YSLhOMq8jmFTMqH1wq8eB1NK7oKPeZAq2s,5578
@@ -117,9 +117,9 @@ sunholo/vertex/extensions_class.py,sha256=4PsUM9dSYrIPpq9bZ3K2rL9MRb_rlqAgnMsW0o
117
117
  sunholo/vertex/init.py,sha256=-w7b9GKsyJnAJpYHYz6_zBUtmeJeLXlEkgOfwoe4DEI,2715
118
118
  sunholo/vertex/memory_tools.py,sha256=pomHrDKqvY8MZxfUqoEwhdlpCvSGP6KmFJMVKOimXjs,6842
119
119
  sunholo/vertex/safety.py,sha256=S9PgQT1O_BQAkcqauWncRJaydiP8Q_Jzmu9gxYfy1VA,2482
120
- sunholo-0.74.3.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
121
- sunholo-0.74.3.dist-info/METADATA,sha256=7N8nhIaNV1kRBuvAcAUnEMfK4apKMeG9eF7BDTZqZ1c,7010
122
- sunholo-0.74.3.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
123
- sunholo-0.74.3.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
124
- sunholo-0.74.3.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
125
- sunholo-0.74.3.dist-info/RECORD,,
120
+ sunholo-0.74.5.dist-info/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
121
+ sunholo-0.74.5.dist-info/METADATA,sha256=yCZXDFsvYMx-E_wQxSk2vEurvvW1ukKukJ8D__Vn0rI,7010
122
+ sunholo-0.74.5.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
123
+ sunholo-0.74.5.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
124
+ sunholo-0.74.5.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
125
+ sunholo-0.74.5.dist-info/RECORD,,