sunholo 0.131.5__tar.gz → 0.131.6__tar.gz

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 (188) hide show
  1. {sunholo-0.131.5/src/sunholo.egg-info → sunholo-0.131.6}/PKG-INFO +1 -1
  2. {sunholo-0.131.5 → sunholo-0.131.6}/pyproject.toml +1 -1
  3. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/discovery_engine/cli.py +43 -24
  4. {sunholo-0.131.5 → sunholo-0.131.6/src/sunholo.egg-info}/PKG-INFO +1 -1
  5. {sunholo-0.131.5 → sunholo-0.131.6}/LICENSE.txt +0 -0
  6. {sunholo-0.131.5 → sunholo-0.131.6}/MANIFEST.in +0 -0
  7. {sunholo-0.131.5 → sunholo-0.131.6}/README.md +0 -0
  8. {sunholo-0.131.5 → sunholo-0.131.6}/setup.cfg +0 -0
  9. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/__init__.py +0 -0
  10. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/__init__.py +0 -0
  11. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/chat_history.py +0 -0
  12. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/dispatch_to_qa.py +0 -0
  13. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/fastapi/__init__.py +0 -0
  14. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/fastapi/base.py +0 -0
  15. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/fastapi/qna_routes.py +0 -0
  16. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/flask/__init__.py +0 -0
  17. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/flask/base.py +0 -0
  18. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/flask/qna_routes.py +0 -0
  19. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/flask/vac_routes.py +0 -0
  20. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/langserve.py +0 -0
  21. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/pubsub.py +0 -0
  22. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/route.py +0 -0
  23. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/special_commands.py +0 -0
  24. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/agents/swagger.py +0 -0
  25. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/archive/__init__.py +0 -0
  26. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/archive/archive.py +0 -0
  27. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/auth/__init__.py +0 -0
  28. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/auth/gcloud.py +0 -0
  29. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/auth/refresh.py +0 -0
  30. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/auth/run.py +0 -0
  31. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/azure/__init__.py +0 -0
  32. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/azure/auth.py +0 -0
  33. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/azure/blobs.py +0 -0
  34. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/azure/event_grid.py +0 -0
  35. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/bots/__init__.py +0 -0
  36. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/bots/discord.py +0 -0
  37. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/bots/github_webhook.py +0 -0
  38. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/bots/webapp.py +0 -0
  39. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/__init__.py +0 -0
  40. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/azure.py +0 -0
  41. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/doc_handling.py +0 -0
  42. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/encode_metadata.py +0 -0
  43. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/images.py +0 -0
  44. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/loaders.py +0 -0
  45. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/message_data.py +0 -0
  46. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/pdfs.py +0 -0
  47. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/process_chunker_data.py +0 -0
  48. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/publish.py +0 -0
  49. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/pubsub.py +0 -0
  50. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/chunker/splitter.py +0 -0
  51. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/__init__.py +0 -0
  52. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/chat_vac.py +0 -0
  53. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/cli.py +0 -0
  54. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/cli_init.py +0 -0
  55. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/configs.py +0 -0
  56. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/deploy.py +0 -0
  57. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/embedder.py +0 -0
  58. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/merge_texts.py +0 -0
  59. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/run_proxy.py +0 -0
  60. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/sun_rich.py +0 -0
  61. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/swagger.py +0 -0
  62. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/cli/vertex.py +0 -0
  63. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/components/__init__.py +0 -0
  64. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/components/llm.py +0 -0
  65. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/components/retriever.py +0 -0
  66. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/components/vectorstore.py +0 -0
  67. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/custom_logging.py +0 -0
  68. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/__init__.py +0 -0
  69. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/alloydb.py +0 -0
  70. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/alloydb_client.py +0 -0
  71. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/database.py +0 -0
  72. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/lancedb.py +0 -0
  73. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/sql/sb/create_function.sql +0 -0
  74. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/sql/sb/create_function_time.sql +0 -0
  75. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/sql/sb/create_table.sql +0 -0
  76. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/sql/sb/delete_source_row.sql +0 -0
  77. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/sql/sb/return_sources.sql +0 -0
  78. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/sql/sb/setup.sql +0 -0
  79. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/static_dbs.py +0 -0
  80. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/database/uuid.py +0 -0
  81. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/discovery_engine/__init__.py +0 -0
  82. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/discovery_engine/chunker_handler.py +0 -0
  83. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/discovery_engine/create_new.py +0 -0
  84. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/discovery_engine/discovery_engine_client.py +0 -0
  85. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
  86. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/embedder/__init__.py +0 -0
  87. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/embedder/embed_chunk.py +0 -0
  88. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/embedder/embed_metadata.py +0 -0
  89. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/excel/__init__.py +0 -0
  90. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/excel/plugin.py +0 -0
  91. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/gcs/__init__.py +0 -0
  92. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/gcs/add_file.py +0 -0
  93. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/gcs/download_folder.py +0 -0
  94. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/gcs/download_url.py +0 -0
  95. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/gcs/extract_and_sign.py +0 -0
  96. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/gcs/metadata.py +0 -0
  97. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/genai/__init__.py +0 -0
  98. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/genai/file_handling.py +0 -0
  99. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/genai/genaiv2.py +0 -0
  100. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/genai/images.py +0 -0
  101. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/genai/init.py +0 -0
  102. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/genai/process_funcs_cls.py +0 -0
  103. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/genai/safety.py +0 -0
  104. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/invoke/__init__.py +0 -0
  105. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/invoke/async_class.py +0 -0
  106. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/invoke/direct_vac_func.py +0 -0
  107. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/invoke/invoke_vac_utils.py +0 -0
  108. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/langchain_types.py +0 -0
  109. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/langfuse/__init__.py +0 -0
  110. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/langfuse/callback.py +0 -0
  111. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/langfuse/evals.py +0 -0
  112. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/langfuse/prompts.py +0 -0
  113. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/llamaindex/__init__.py +0 -0
  114. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/llamaindex/get_files.py +0 -0
  115. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/llamaindex/import_files.py +0 -0
  116. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/llamaindex/llamaindex_class.py +0 -0
  117. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/llamaindex/user_history.py +0 -0
  118. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/lookup/__init__.py +0 -0
  119. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/lookup/model_lookup.yaml +0 -0
  120. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/mcp/__init__.py +0 -0
  121. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/mcp/cli.py +0 -0
  122. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/ollama/__init__.py +0 -0
  123. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/ollama/ollama_images.py +0 -0
  124. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/pubsub/__init__.py +0 -0
  125. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/pubsub/process_pubsub.py +0 -0
  126. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/pubsub/pubsub_manager.py +0 -0
  127. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/qna/__init__.py +0 -0
  128. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/qna/parsers.py +0 -0
  129. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/qna/retry.py +0 -0
  130. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/senses/__init__.py +0 -0
  131. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/senses/stream_voice.py +0 -0
  132. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/streaming/__init__.py +0 -0
  133. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/streaming/content_buffer.py +0 -0
  134. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/streaming/langserve.py +0 -0
  135. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/streaming/stream_lookup.py +0 -0
  136. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/streaming/streaming.py +0 -0
  137. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/summarise/__init__.py +0 -0
  138. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/summarise/summarise.py +0 -0
  139. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/agent/__init__.py +0 -0
  140. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/agent/agent_service.py +0 -0
  141. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/agent/app.py +0 -0
  142. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/agent/my_log.py +0 -0
  143. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/agent/tools/__init__.py +0 -0
  144. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/agent/tools/your_agent.py +0 -0
  145. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/agent/vac_service.py +0 -0
  146. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/project/__init__.py +0 -0
  147. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/project/app.py +0 -0
  148. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/project/my_log.py +0 -0
  149. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/project/vac_service.py +0 -0
  150. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/system_services/__init__.py +0 -0
  151. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/system_services/app.py +0 -0
  152. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/templates/system_services/my_log.py +0 -0
  153. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/terraform/__init__.py +0 -0
  154. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/terraform/tfvars_editor.py +0 -0
  155. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/tools/__init__.py +0 -0
  156. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/tools/web_browser.py +0 -0
  157. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/__init__.py +0 -0
  158. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/api_key.py +0 -0
  159. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/big_context.py +0 -0
  160. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/config.py +0 -0
  161. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/config_class.py +0 -0
  162. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/config_schema.py +0 -0
  163. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/gcp.py +0 -0
  164. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/gcp_project.py +0 -0
  165. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/mime.py +0 -0
  166. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/parsers.py +0 -0
  167. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/timedelta.py +0 -0
  168. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/user_ids.py +0 -0
  169. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/utils/version.py +0 -0
  170. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/__init__.py +0 -0
  171. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/extensions_call.py +0 -0
  172. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/extensions_class.py +0 -0
  173. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/genai_functions.py +0 -0
  174. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/init.py +0 -0
  175. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/memory_tools.py +0 -0
  176. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/safety.py +0 -0
  177. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo/vertex/type_dict_to_json.py +0 -0
  178. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo.egg-info/SOURCES.txt +0 -0
  179. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo.egg-info/dependency_links.txt +0 -0
  180. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo.egg-info/entry_points.txt +0 -0
  181. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo.egg-info/requires.txt +0 -0
  182. {sunholo-0.131.5 → sunholo-0.131.6}/src/sunholo.egg-info/top_level.txt +0 -0
  183. {sunholo-0.131.5 → sunholo-0.131.6}/tests/test_async.py +0 -0
  184. {sunholo-0.131.5 → sunholo-0.131.6}/tests/test_async_genai2.py +0 -0
  185. {sunholo-0.131.5 → sunholo-0.131.6}/tests/test_chat_history.py +0 -0
  186. {sunholo-0.131.5 → sunholo-0.131.6}/tests/test_config.py +0 -0
  187. {sunholo-0.131.5 → sunholo-0.131.6}/tests/test_genai2.py +0 -0
  188. {sunholo-0.131.5 → sunholo-0.131.6}/tests/test_unstructured.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sunholo
3
- Version: 0.131.5
3
+ Version: 0.131.6
4
4
  Summary: AI DevOps - a package to help deploy GenAI to the Cloud.
5
5
  Author-email: Holosun ApS <multivac@sunholo.com>
6
6
  License: Apache License, Version 2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "sunholo"
7
- version = "0.131.5"
7
+ version = "0.131.6"
8
8
  description = "AI DevOps - a package to help deploy GenAI to the Cloud."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -370,36 +370,55 @@ def search_engine_command(args):
370
370
 
371
371
  console.print("-" * 20)
372
372
 
373
-
374
373
  # Print Document Results (available on the page level)
375
374
  if hasattr(page, 'results') and page.results:
376
- console.print(f"[bold blue]Documents Found ({len(page.results)} on this page):[/bold blue]")
377
- for i, result in enumerate(page.results):
378
- results_found_on_any_page = True
379
- results_found_on_this_page = True
380
- console.print(f"\n[bold]Result {i+1}:[/bold]")
381
- doc = result.document
382
- console.print(f" ID: {doc.id}")
383
- console.print(f" Name: {doc.name}")
384
- # Display structData if present
385
- if doc.struct_data:
386
- try:
387
- # Convert Struct to dict for nice printing
388
- struct_dict = MessageToDict(doc.struct_data._pb)
389
- console.print(f" Metadata: {json.dumps(struct_dict, indent=2)}")
390
- except Exception as json_err:
391
- console.print(f"[yellow] Warning: Could not convert metadata Struct to JSON: {json_err}[/yellow]")
392
- console.print(f" Metadata: {doc.struct_data}") # Fallback
393
-
394
- # Display Snippets if requested and available
395
- if args.return_snippet and 'snippets' in doc.derived_struct_data:
375
+ console.print(f"[bold blue]Documents Found ({len(page.results)} on this page):[/bold blue]")
376
+ for i, result in enumerate(page.results):
377
+ results_found_on_any_page = True
378
+ results_found_on_this_page = True
379
+ console.print(f"\n[bold]Result {i+1}:[/bold]")
380
+ doc = result.document
381
+ console.print(f" ID: {doc.id}")
382
+ console.print(f" Name: {doc.name}")
383
+ # Display structData if present
384
+ if doc.struct_data:
385
+ # Attempt 1: Preferred - Use proto-plus .to_json() if available
386
+ if hasattr(doc.struct_data, 'to_json'):
387
+ console.print(f"[yellow] to_json[/yellow]")
388
+ # Pass indent directly if the method supports it
389
+ try:
390
+ metadata_output = doc.struct_data.to_json(indent=2)
391
+ except TypeError: # In case to_json doesn't accept indent
392
+ metadata_output = doc.struct_data.to_json()
393
+ # Optionally re-parse and indent if needed, but often okay as is
394
+ # parsed_json = json.loads(metadata_output)
395
+ # metadata_output = json.dumps(parsed_json, indent=2)
396
+
397
+
398
+ # Attempt 2: Use proto-plus .to_dict() then json.dumps
399
+ elif hasattr(doc.struct_data, 'to_dict'):
400
+ console.print(f"[yellow] to_dict[/yellow]")
401
+
402
+ struct_dict = doc.struct_data.to_dict()
403
+ metadata_output = json.dumps(struct_dict, indent=2)
404
+ elif MessageToDict:
405
+ try:
406
+ # Convert Struct to dict for nice printing
407
+ struct_dict = MessageToDict(doc.struct_data._pb)
408
+ except Exception as json_err:
409
+ console.print(f"[yellow] Warning: Could not convert metadata Struct to JSON: {json_err}[/yellow]")
410
+ metadata_output = struct_dict
411
+ console.print(f" Metadata: {json.dumps(metadata_output, indent=2)}")
412
+ # Display Snippets if requested and available
413
+ if args.return_snippet and 'snippets' in doc.derived_struct_data:
396
414
  console.print("[bold cyan] Snippets:[/bold cyan]")
397
415
  for snippet in doc.derived_struct_data['snippets']:
398
416
  console.print(f" - {snippet.get('snippet', 'N/A').strip()}") # Adjust key if needed
399
- elif args.return_snippet:
417
+ elif args.return_snippet:
400
418
  console.print("[yellow] (Snippets requested but not found in result)[/yellow]")
401
- console.print("-" * 5)
402
- console.print("-" * 20) # End of results list for page
419
+ console.print("-" * 5)
420
+
421
+ console.print("-" * 20) # End of results list for page
403
422
 
404
423
  if not results_found_on_this_page:
405
424
  console.print("[yellow](No summary or document results on this page)[/yellow]")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sunholo
3
- Version: 0.131.5
3
+ Version: 0.131.6
4
4
  Summary: AI DevOps - a package to help deploy GenAI to the Cloud.
5
5
  Author-email: Holosun ApS <multivac@sunholo.com>
6
6
  License: Apache License, Version 2.0
File without changes
File without changes
File without changes
File without changes
File without changes