holmesgpt 0.11.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.

Potentially problematic release.


This version of holmesgpt might be problematic. Click here for more details.

Files changed (183) hide show
  1. holmes/.git_archival.json +7 -0
  2. holmes/__init__.py +76 -0
  3. holmes/__init__.py.bak +76 -0
  4. holmes/clients/robusta_client.py +24 -0
  5. holmes/common/env_vars.py +47 -0
  6. holmes/config.py +526 -0
  7. holmes/core/__init__.py +0 -0
  8. holmes/core/conversations.py +578 -0
  9. holmes/core/investigation.py +152 -0
  10. holmes/core/investigation_structured_output.py +264 -0
  11. holmes/core/issue.py +54 -0
  12. holmes/core/llm.py +250 -0
  13. holmes/core/models.py +157 -0
  14. holmes/core/openai_formatting.py +51 -0
  15. holmes/core/performance_timing.py +72 -0
  16. holmes/core/prompt.py +42 -0
  17. holmes/core/resource_instruction.py +17 -0
  18. holmes/core/runbooks.py +26 -0
  19. holmes/core/safeguards.py +120 -0
  20. holmes/core/supabase_dal.py +540 -0
  21. holmes/core/tool_calling_llm.py +798 -0
  22. holmes/core/tools.py +566 -0
  23. holmes/core/tools_utils/__init__.py +0 -0
  24. holmes/core/tools_utils/tool_executor.py +65 -0
  25. holmes/core/tools_utils/toolset_utils.py +52 -0
  26. holmes/core/toolset_manager.py +418 -0
  27. holmes/interactive.py +229 -0
  28. holmes/main.py +1041 -0
  29. holmes/plugins/__init__.py +0 -0
  30. holmes/plugins/destinations/__init__.py +6 -0
  31. holmes/plugins/destinations/slack/__init__.py +2 -0
  32. holmes/plugins/destinations/slack/plugin.py +163 -0
  33. holmes/plugins/interfaces.py +32 -0
  34. holmes/plugins/prompts/__init__.py +48 -0
  35. holmes/plugins/prompts/_current_date_time.jinja2 +1 -0
  36. holmes/plugins/prompts/_default_log_prompt.jinja2 +11 -0
  37. holmes/plugins/prompts/_fetch_logs.jinja2 +36 -0
  38. holmes/plugins/prompts/_general_instructions.jinja2 +86 -0
  39. holmes/plugins/prompts/_global_instructions.jinja2 +12 -0
  40. holmes/plugins/prompts/_runbook_instructions.jinja2 +13 -0
  41. holmes/plugins/prompts/_toolsets_instructions.jinja2 +56 -0
  42. holmes/plugins/prompts/generic_ask.jinja2 +36 -0
  43. holmes/plugins/prompts/generic_ask_conversation.jinja2 +32 -0
  44. holmes/plugins/prompts/generic_ask_for_issue_conversation.jinja2 +50 -0
  45. holmes/plugins/prompts/generic_investigation.jinja2 +42 -0
  46. holmes/plugins/prompts/generic_post_processing.jinja2 +13 -0
  47. holmes/plugins/prompts/generic_ticket.jinja2 +12 -0
  48. holmes/plugins/prompts/investigation_output_format.jinja2 +32 -0
  49. holmes/plugins/prompts/kubernetes_workload_ask.jinja2 +84 -0
  50. holmes/plugins/prompts/kubernetes_workload_chat.jinja2 +39 -0
  51. holmes/plugins/runbooks/README.md +22 -0
  52. holmes/plugins/runbooks/__init__.py +100 -0
  53. holmes/plugins/runbooks/catalog.json +14 -0
  54. holmes/plugins/runbooks/jira.yaml +12 -0
  55. holmes/plugins/runbooks/kube-prometheus-stack.yaml +10 -0
  56. holmes/plugins/runbooks/networking/dns_troubleshooting_instructions.md +66 -0
  57. holmes/plugins/runbooks/upgrade/upgrade_troubleshooting_instructions.md +44 -0
  58. holmes/plugins/sources/github/__init__.py +77 -0
  59. holmes/plugins/sources/jira/__init__.py +123 -0
  60. holmes/plugins/sources/opsgenie/__init__.py +93 -0
  61. holmes/plugins/sources/pagerduty/__init__.py +147 -0
  62. holmes/plugins/sources/prometheus/__init__.py +0 -0
  63. holmes/plugins/sources/prometheus/models.py +104 -0
  64. holmes/plugins/sources/prometheus/plugin.py +154 -0
  65. holmes/plugins/toolsets/__init__.py +171 -0
  66. holmes/plugins/toolsets/aks-node-health.yaml +65 -0
  67. holmes/plugins/toolsets/aks.yaml +86 -0
  68. holmes/plugins/toolsets/argocd.yaml +70 -0
  69. holmes/plugins/toolsets/atlas_mongodb/instructions.jinja2 +8 -0
  70. holmes/plugins/toolsets/atlas_mongodb/mongodb_atlas.py +307 -0
  71. holmes/plugins/toolsets/aws.yaml +76 -0
  72. holmes/plugins/toolsets/azure_sql/__init__.py +0 -0
  73. holmes/plugins/toolsets/azure_sql/apis/alert_monitoring_api.py +600 -0
  74. holmes/plugins/toolsets/azure_sql/apis/azure_sql_api.py +309 -0
  75. holmes/plugins/toolsets/azure_sql/apis/connection_failure_api.py +445 -0
  76. holmes/plugins/toolsets/azure_sql/apis/connection_monitoring_api.py +251 -0
  77. holmes/plugins/toolsets/azure_sql/apis/storage_analysis_api.py +317 -0
  78. holmes/plugins/toolsets/azure_sql/azure_base_toolset.py +55 -0
  79. holmes/plugins/toolsets/azure_sql/azure_sql_instructions.jinja2 +137 -0
  80. holmes/plugins/toolsets/azure_sql/azure_sql_toolset.py +183 -0
  81. holmes/plugins/toolsets/azure_sql/install.md +66 -0
  82. holmes/plugins/toolsets/azure_sql/tools/__init__.py +1 -0
  83. holmes/plugins/toolsets/azure_sql/tools/analyze_connection_failures.py +324 -0
  84. holmes/plugins/toolsets/azure_sql/tools/analyze_database_connections.py +243 -0
  85. holmes/plugins/toolsets/azure_sql/tools/analyze_database_health_status.py +205 -0
  86. holmes/plugins/toolsets/azure_sql/tools/analyze_database_performance.py +249 -0
  87. holmes/plugins/toolsets/azure_sql/tools/analyze_database_storage.py +373 -0
  88. holmes/plugins/toolsets/azure_sql/tools/get_active_alerts.py +237 -0
  89. holmes/plugins/toolsets/azure_sql/tools/get_slow_queries.py +172 -0
  90. holmes/plugins/toolsets/azure_sql/tools/get_top_cpu_queries.py +170 -0
  91. holmes/plugins/toolsets/azure_sql/tools/get_top_data_io_queries.py +188 -0
  92. holmes/plugins/toolsets/azure_sql/tools/get_top_log_io_queries.py +180 -0
  93. holmes/plugins/toolsets/azure_sql/utils.py +83 -0
  94. holmes/plugins/toolsets/bash/__init__.py +0 -0
  95. holmes/plugins/toolsets/bash/bash_instructions.jinja2 +14 -0
  96. holmes/plugins/toolsets/bash/bash_toolset.py +208 -0
  97. holmes/plugins/toolsets/bash/common/bash.py +52 -0
  98. holmes/plugins/toolsets/bash/common/config.py +14 -0
  99. holmes/plugins/toolsets/bash/common/stringify.py +25 -0
  100. holmes/plugins/toolsets/bash/common/validators.py +24 -0
  101. holmes/plugins/toolsets/bash/grep/__init__.py +52 -0
  102. holmes/plugins/toolsets/bash/kubectl/__init__.py +100 -0
  103. holmes/plugins/toolsets/bash/kubectl/constants.py +96 -0
  104. holmes/plugins/toolsets/bash/kubectl/kubectl_describe.py +66 -0
  105. holmes/plugins/toolsets/bash/kubectl/kubectl_events.py +88 -0
  106. holmes/plugins/toolsets/bash/kubectl/kubectl_get.py +108 -0
  107. holmes/plugins/toolsets/bash/kubectl/kubectl_logs.py +20 -0
  108. holmes/plugins/toolsets/bash/kubectl/kubectl_run.py +46 -0
  109. holmes/plugins/toolsets/bash/kubectl/kubectl_top.py +81 -0
  110. holmes/plugins/toolsets/bash/parse_command.py +103 -0
  111. holmes/plugins/toolsets/confluence.yaml +19 -0
  112. holmes/plugins/toolsets/consts.py +5 -0
  113. holmes/plugins/toolsets/coralogix/api.py +158 -0
  114. holmes/plugins/toolsets/coralogix/toolset_coralogix_logs.py +103 -0
  115. holmes/plugins/toolsets/coralogix/utils.py +181 -0
  116. holmes/plugins/toolsets/datadog.py +153 -0
  117. holmes/plugins/toolsets/docker.yaml +46 -0
  118. holmes/plugins/toolsets/git.py +756 -0
  119. holmes/plugins/toolsets/grafana/__init__.py +0 -0
  120. holmes/plugins/toolsets/grafana/base_grafana_toolset.py +54 -0
  121. holmes/plugins/toolsets/grafana/common.py +68 -0
  122. holmes/plugins/toolsets/grafana/grafana_api.py +31 -0
  123. holmes/plugins/toolsets/grafana/loki_api.py +89 -0
  124. holmes/plugins/toolsets/grafana/tempo_api.py +124 -0
  125. holmes/plugins/toolsets/grafana/toolset_grafana.py +102 -0
  126. holmes/plugins/toolsets/grafana/toolset_grafana_loki.py +102 -0
  127. holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2 +10 -0
  128. holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py +299 -0
  129. holmes/plugins/toolsets/grafana/trace_parser.py +195 -0
  130. holmes/plugins/toolsets/helm.yaml +42 -0
  131. holmes/plugins/toolsets/internet/internet.py +275 -0
  132. holmes/plugins/toolsets/internet/notion.py +137 -0
  133. holmes/plugins/toolsets/kafka.py +638 -0
  134. holmes/plugins/toolsets/kubernetes.yaml +255 -0
  135. holmes/plugins/toolsets/kubernetes_logs.py +426 -0
  136. holmes/plugins/toolsets/kubernetes_logs.yaml +42 -0
  137. holmes/plugins/toolsets/logging_utils/__init__.py +0 -0
  138. holmes/plugins/toolsets/logging_utils/logging_api.py +217 -0
  139. holmes/plugins/toolsets/logging_utils/types.py +0 -0
  140. holmes/plugins/toolsets/mcp/toolset_mcp.py +135 -0
  141. holmes/plugins/toolsets/newrelic.py +222 -0
  142. holmes/plugins/toolsets/opensearch/__init__.py +0 -0
  143. holmes/plugins/toolsets/opensearch/opensearch.py +245 -0
  144. holmes/plugins/toolsets/opensearch/opensearch_logs.py +151 -0
  145. holmes/plugins/toolsets/opensearch/opensearch_traces.py +211 -0
  146. holmes/plugins/toolsets/opensearch/opensearch_traces_instructions.jinja2 +12 -0
  147. holmes/plugins/toolsets/opensearch/opensearch_utils.py +166 -0
  148. holmes/plugins/toolsets/prometheus/prometheus.py +818 -0
  149. holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2 +38 -0
  150. holmes/plugins/toolsets/rabbitmq/api.py +398 -0
  151. holmes/plugins/toolsets/rabbitmq/rabbitmq_instructions.jinja2 +37 -0
  152. holmes/plugins/toolsets/rabbitmq/toolset_rabbitmq.py +222 -0
  153. holmes/plugins/toolsets/robusta/__init__.py +0 -0
  154. holmes/plugins/toolsets/robusta/robusta.py +235 -0
  155. holmes/plugins/toolsets/robusta/robusta_instructions.jinja2 +24 -0
  156. holmes/plugins/toolsets/runbook/__init__.py +0 -0
  157. holmes/plugins/toolsets/runbook/runbook_fetcher.py +78 -0
  158. holmes/plugins/toolsets/service_discovery.py +92 -0
  159. holmes/plugins/toolsets/servicenow/install.md +37 -0
  160. holmes/plugins/toolsets/servicenow/instructions.jinja2 +3 -0
  161. holmes/plugins/toolsets/servicenow/servicenow.py +198 -0
  162. holmes/plugins/toolsets/slab.yaml +20 -0
  163. holmes/plugins/toolsets/utils.py +137 -0
  164. holmes/plugins/utils.py +14 -0
  165. holmes/utils/__init__.py +0 -0
  166. holmes/utils/cache.py +84 -0
  167. holmes/utils/cert_utils.py +40 -0
  168. holmes/utils/default_toolset_installation_guide.jinja2 +44 -0
  169. holmes/utils/definitions.py +13 -0
  170. holmes/utils/env.py +53 -0
  171. holmes/utils/file_utils.py +56 -0
  172. holmes/utils/global_instructions.py +20 -0
  173. holmes/utils/holmes_status.py +22 -0
  174. holmes/utils/holmes_sync_toolsets.py +80 -0
  175. holmes/utils/markdown_utils.py +55 -0
  176. holmes/utils/pydantic_utils.py +54 -0
  177. holmes/utils/robusta.py +10 -0
  178. holmes/utils/tags.py +97 -0
  179. holmesgpt-0.11.5.dist-info/LICENSE.txt +21 -0
  180. holmesgpt-0.11.5.dist-info/METADATA +400 -0
  181. holmesgpt-0.11.5.dist-info/RECORD +183 -0
  182. holmesgpt-0.11.5.dist-info/WHEEL +4 -0
  183. holmesgpt-0.11.5.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,400 @@
1
+ Metadata-Version: 2.3
2
+ Name: holmesgpt
3
+ Version: 0.11.5
4
+ Summary:
5
+ Author: Natan Yellin
6
+ Author-email: natan@robusta.dev
7
+ Requires-Python: >=3.10,<4.0
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Requires-Dist: aiohttp (>=3.10.2,<4.0.0)
14
+ Requires-Dist: azure-core (>=1.34.0,<2.0.0)
15
+ Requires-Dist: azure-identity (>=1.23.0,<2.0.0)
16
+ Requires-Dist: azure-mgmt-alertsmanagement (>=1.0.0,<2.0.0)
17
+ Requires-Dist: azure-mgmt-monitor (>=6.0.2,<7.0.0)
18
+ Requires-Dist: azure-mgmt-resource (>=24.0.0,<25.0.0)
19
+ Requires-Dist: azure-mgmt-sql (>=3.0.1,<4.0.0)
20
+ Requires-Dist: azure-monitor-query (>=1.2.0,<2.0.0)
21
+ Requires-Dist: backoff (>=2.2.1,<3.0.0)
22
+ Requires-Dist: boto3 (>=1.34.145,<2.0.0)
23
+ Requires-Dist: bs4 (>=0.0.2,<0.0.3)
24
+ Requires-Dist: cachetools (>=5.5.0,<6.0.0)
25
+ Requires-Dist: certifi (>=2024.7.4,<2025.0.0)
26
+ Requires-Dist: colorlog (>=6.8.2,<7.0.0)
27
+ Requires-Dist: confluent-kafka (>=2.6.1,<3.0.0)
28
+ Requires-Dist: fastapi (>=0.115,<0.116)
29
+ Requires-Dist: google-api-python-client (>=2.156.0,<3.0.0)
30
+ Requires-Dist: humanize (>=4.9.0,<5.0.0)
31
+ Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
32
+ Requires-Dist: kubernetes (>=32.0.1,<33.0.0)
33
+ Requires-Dist: litellm (==1.66.0)
34
+ Requires-Dist: markdown (>=3.6,<4.0)
35
+ Requires-Dist: markdownify (>=1.1.0,<2.0.0)
36
+ Requires-Dist: mcp (==v1.9.0)
37
+ Requires-Dist: openai (>=1.6.1,<2.0.0)
38
+ Requires-Dist: opensearch-py (>=2.8.0,<3.0.0)
39
+ Requires-Dist: prompt-toolkit (>=3.0.51,<4.0.0)
40
+ Requires-Dist: protobuf (>=6.31.1)
41
+ Requires-Dist: pydantic (>=2.7,<3.0)
42
+ Requires-Dist: pydantic-settings (>=2.1.0,<3.0.0)
43
+ Requires-Dist: pydash (>=8.0.1,<9.0.0)
44
+ Requires-Dist: pyodbc (>=5.0.1,<6.0.0)
45
+ Requires-Dist: python-benedict (>=0.33.1,<0.34.0)
46
+ Requires-Dist: python_multipart (>=0.0.18,<0.0.19)
47
+ Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
48
+ Requires-Dist: requests (>=2.32.4,<3.0.0)
49
+ Requires-Dist: rich (>=13.7.1,<14.0.0)
50
+ Requires-Dist: sentry-sdk[fastapi] (>=2.20.0,<3.0.0)
51
+ Requires-Dist: setuptools (>=80.9.0,<81.0.0)
52
+ Requires-Dist: slack-bolt (>=1.18.1,<2.0.0)
53
+ Requires-Dist: starlette (>=0.40,<0.41)
54
+ Requires-Dist: strenum (>=0.4.15,<0.5.0)
55
+ Requires-Dist: supabase (>=2.5,<3.0)
56
+ Requires-Dist: typer (>=0.15.4,<0.16.0)
57
+ Requires-Dist: urllib3 (>=1.26.19,<2.0.0)
58
+ Requires-Dist: uvicorn (>=0.30,<0.31)
59
+ Description-Content-Type: text/markdown
60
+
61
+ <div align="center">
62
+ <h1 align="center">Solve alerts faster with an AI Agent</h1>
63
+ <p align="center">
64
+ <a href="#how-it-works"><strong>How it Works</strong></a> |
65
+ <a href="#installation"><strong>Installation</strong></a> |
66
+ <a href="#supported-llm-providers"><strong>LLM Providers</strong></a> |
67
+ <a href="https://www.youtube.com/watch?v=TfQfx65LsDQ"><strong>YouTube Demo</strong></a> |
68
+ <a href="https://deepwiki.com/robusta-dev/holmesgpt"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
69
+ </p>
70
+ </div>
71
+
72
+ Respond to alerts faster, using AI to automatically:
73
+
74
+ - Fetch logs, traces, and metrics
75
+ - Determine if issues are application or infrastructure related
76
+ - Find upstream root-causes
77
+
78
+ Using HolmesGPT, you can transform your existing alerts from this 👇
79
+
80
+ ![Before HolmesGPT](https://github.com/user-attachments/assets/931ebd71-ccd2-4b7b-969d-a061a99cec2d)
81
+
82
+ To this 👇
83
+
84
+ <img width="600" alt="example-holmesgpt-analysis" src="https://github.com/user-attachments/assets/d03df693-9eff-4d61-8947-2b101f648c3e" />
85
+
86
+ ### How it Works
87
+
88
+ HolmesGPT connects AI models with live observability data and organizational knowledge. It uses an **agentic loop** to analyze data from multiple sources and identify possible root causes.
89
+
90
+ <img width="3114" alt="holmesgpt-architecture-diagram" src="https://github.com/user-attachments/assets/f659707e-1958-4add-9238-8565a5e3713a" />
91
+
92
+ ### 🔗 Data Sources
93
+
94
+ HolmesGPT integrates with popular observability and cloud platforms. The following data sources ("toolsets") are built-in. [Add your own](#customizing-holmesgpt).
95
+
96
+ | Data Source | Status | Notes |
97
+ |-------------|--------|-------|
98
+ | [<img src="images/integration_logos/argocd-icon.png" alt="ArgoCD" width="20" style="vertical-align: middle;"> **ArgoCD**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/argocd.html) | ✅ | Get status, history and manifests and more of apps, projects and clusters |
99
+ | [<img src="images/integration_logos/aws_rds_logo.png" alt="AWS RDS" width="20" style="vertical-align: middle;"> **AWS RDS**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/aws.html) | ✅ | Fetch events, instances, slow query logs and more |
100
+ | [<img src="images/integration_logos/confluence_logo.png" alt="Confluence" width="20" style="vertical-align: middle;"> **Confluence**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/confluence.html) | ✅ | Private runbooks and documentation |
101
+ | [<img src="images/integration_logos/coralogix-icon.png" alt="Coralogix Logs" width="20" style="vertical-align: middle;"> **Coralogix Logs**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/coralogix_logs.html) | ✅ | Retrieve logs for any resource |
102
+ | [<img src="images/integration_logos/date_time_icon.png" alt="Datetime" width="20" style="vertical-align: middle;"> **Datetime**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/datetime.html) | ✅ | Date and time-related operations |
103
+ | [<img src="images/integration_logos/docker_logo.png" alt="Docker" width="20" style="vertical-align: middle;"> **Docker**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/docker.html) | ✅ | Get images, logs, events, history and more |
104
+ | <img src="images/integration_logos/github_logo.png" alt="GitHub" width="20" style="vertical-align: middle;"> **GitHub** | 🟡 Beta | Remediate alerts by opening pull requests with fixes |
105
+ | <img src="images/integration_logos/datadog_logo.png" alt="DataDog" width="20" style="vertical-align: middle;"> **DataDog** | 🟡 Beta | Fetches log data from datadog |
106
+ | [<img src="images/integration_logos/grafana_loki-icon.png" alt="Loki" width="20" style="vertical-align: middle;"> **Grafana Loki**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/grafanaloki.html) | ✅ | Query logs for Kubernetes resources or any query |
107
+ | [<img src="images/integration_logos/tempo_logo.png" alt="Tempo" width="20" style="vertical-align: middle;"> **Grafana Tempo**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/grafanatempo.html) | ✅ | Fetch trace info, debug issues like high latency in application. |
108
+ | [<img src="images/integration_logos/helm_logo.png" alt="Helm" width="20" style="vertical-align: middle;"> **Helm**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/helm.html) | ✅ | Release status, chart metadata, and values |
109
+ | [<img src="images/integration_logos/http-icon.png" alt="Internet" width="20" style="vertical-align: middle;"> **Internet**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/internet.html) | ✅ | Public runbooks, community docs etc |
110
+ | [<img src="images/integration_logos/kafka_logo.png" alt="Kafka" width="20" style="vertical-align: middle;"> **Kafka**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/kafka.html) | ✅ | Fetch metadata, list consumers and topics or find lagging consumer groups |
111
+ | [<img src="images/integration_logos/kubernetes-icon.png" alt="Kubernetes" width="20" style="vertical-align: middle;"> **Kubernetes**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/kubernetes.html) | ✅ | Pod logs, K8s events, and resource status (kubectl describe) |
112
+ | <img src="images/integration_logos/newrelic_logo.png" alt="NewRelic" width="20" style="vertical-align: middle;"> **NewRelic** | 🟡 Beta | Investigate alerts, query tracing data |
113
+ | [<img src="images/integration_logos/opensearchserverless-icon.png" alt="OpenSearch" width="20" style="vertical-align: middle;"> **OpenSearch**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/opensearch.html) | ✅ | Query health, shard, and settings related info of one or more clusters|
114
+ | [<img src="images/integration_logos/prometheus-icon.png" alt="Prometheus" width="20" style="vertical-align: middle;"> **Prometheus**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/prometheus.html) | ✅ | Investigate alerts, query metrics and generate PromQL queries |
115
+ | [<img src="images/integration_logos/rabbit_mq_logo.png" alt="RabbitMQ" width="20" style="vertical-align: middle;"> **RabbitMQ**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/rabbitmq.html) | ✅ | Info about partitions, memory/disk alerts to troubleshoot split-brain scenarios and more |
116
+ | [<img src="images/integration_logos/robusta_logo.png" alt="Robusta" width="20" style="vertical-align: middle;"> **Robusta**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/robusta.html) | ✅ | Multi-cluster monitoring, historical change data, user-configured runbooks, PromQL graphs and more |
117
+ | [<img src="images/integration_logos/slab_logo.png" alt="Slab" width="20" style="vertical-align: middle;"> **Slab**](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/slab.html) | ✅ | Team knowledge base and runbooks on demand |
118
+
119
+ ### 🔐 Data Privacy
120
+
121
+ By design, HolmesGPT has **read-only access** and respects RBAC permissions. It is safe to run in production environments.
122
+
123
+ We do **not** train HolmesGPT on your data. Data sent to Robusta SaaS is private to your account.
124
+
125
+ For extra privacy, [bring an API key](https://robusta-dev.github.io/holmesgpt/ai-providers/) for your own AI model.
126
+
127
+ ### 🚀 Bi-Directional Integrations With Your Tools
128
+
129
+ Robusta can investigate alerts - or just answer questions - from the following sources:
130
+
131
+ | Integration | Status | Notes |
132
+ |-------------------------|-----------|-------|
133
+ | Slack | 🟡 Beta | [Demo.](https://www.loom.com/share/afcd81444b1a4adfaa0bbe01c37a4847) Tag HolmesGPT bot in any Slack message |
134
+ | Prometheus/AlertManager | ✅ | Robusta SaaS or HolmesGPT CLI |
135
+ | PagerDuty | ✅ | HolmesGPT CLI only |
136
+ | OpsGenie | ✅ | HolmesGPT CLI only |
137
+ | Jira | ✅ | HolmesGPT CLI only |
138
+
139
+ ### See it in Action
140
+
141
+ <a href="https://www.loom.com/share/388d98aad1a04823b9ed50d0161a4819?sid=a2a669b4-f092-4067-adcb-c8527fbcaa90" target="_blank">
142
+ <img style="max-width:300px;" src="https://cdn.loom.com/sessions/thumbnails/388d98aad1a04823b9ed50d0161a4819-0ced91a0e8f80dcb-full-play.gif">
143
+ </a>
144
+
145
+
146
+ ## Installation
147
+
148
+ You can install HolmesGPT in one of the follow three methods:
149
+
150
+ 1. [Standalone](https://robusta-dev.github.io/holmesgpt/installation/cli-installation/): Run HolmesGPT from your terminal as a CLI tool. Typically installed with **Homebrew** or **Pip/Pipx**. Ideal for local use, **embedding into shell scripts, or CI/CD pipelines.** (E.g. to analyze why a pipeline deploying to Kubernetes failed.)
151
+ 2. **Web UIs and TUIs**: HolmesGPT is embedded in several third-party tools, like [Robusta SaaS](https://platform.robusta.dev/signup/?utm_source=github&utm_medium=holmesgpt-readme&utm_content=ways_to_use_holmesgpt_section) and [K9s](https://robusta-dev.github.io/holmesgpt/installation/ui-installation/) (as a plugin).
152
+ 3. **API**: Embed HolmesGPT in your own app to quickly add **root-cause-analysis functionality and data correlations across multiple sources like logs, metrics, and events**. HolmesGPT exposes an HTTP API and [Python SDK](https://robusta-dev.github.io/holmesgpt/installation/python-installation/), as well as [Helm chart](./helm/) to deploy the HTTP server on Kubernetes.
153
+
154
+ <table width="100%">
155
+ <tr valign="top">
156
+ <td colspan="2">
157
+ <h3>Standalone</h3>
158
+ <table width="100%">
159
+ <tr>
160
+ <td align="center" width="120">
161
+ <a href="https://robusta-dev.github.io/holmesgpt/installation/cli-installation/">
162
+ <img src="images/integration_logos/brew_logo.png" alt="Brew" width="50"><br>
163
+ <strong>Brew</strong>
164
+ </a>
165
+ </td>
166
+ <td align="center" width="120">
167
+ <a href="https://robusta-dev.github.io/holmesgpt/installation/cli-installation/">
168
+ <img src="images/integration_logos/pipx_logo.png" alt="pipx" width="50"><br>
169
+ <strong>Pipx</strong>
170
+ </a>
171
+ </td>
172
+ <td align="center" width="120">
173
+ <a href="https://robusta-dev.github.io/holmesgpt/installation/cli-installation/">
174
+ <img src="images/integration_logos/docker_logo.png" alt="Docker" width="50"><br>
175
+ <strong>Docker</strong>
176
+ </a>
177
+ </td>
178
+ <td align="center" width="120">
179
+ <a href="https://robusta-dev.github.io/holmesgpt/installation/cli-installation/">
180
+ <img src="images/integration_logos/docker_logo.png" alt="Docker Build" width="50"><br>
181
+ <strong>Docker Build</strong>
182
+ </a>
183
+ </td>
184
+ <td align="center" width="120">
185
+ <a href="https://robusta-dev.github.io/holmesgpt/installation/cli-installation/">
186
+ <img src="images/integration_logos/python_poetry_logo.png" alt="Python Poetry" width="50"><br>
187
+ <strong>Poetry</strong>
188
+ </a>
189
+ </td>
190
+ </tr>
191
+ </table>
192
+ </td>
193
+ </tr>
194
+ <tr valign="top">
195
+ <td width="30%">
196
+ <h3>Web UIs and TUIs</h3>
197
+ <table>
198
+ <tr>
199
+ <td align="center" width="120">
200
+ <a href="https://platform.robusta.dev/signup/?utm_source=github&utm_medium=holmesgpt-readme&utm_content=ways_to_use_holmesgpt_section">
201
+ <img src="images/integration_logos/robusta_logo.png" alt="Robusta SaaS" width="50"><br>
202
+ <strong>Robusta SaaS</strong>
203
+ </a>
204
+ </td>
205
+ <td align="center" width="120">
206
+ <a href="https://robusta-dev.github.io/holmesgpt/installation/ui-installation/">
207
+ <img src="images/integration_logos/k9s_logo.png" alt="K9s Plugin" width="50"><br>
208
+ <strong>K9s Plugin</strong>
209
+ </a>
210
+ </td>
211
+ </tr>
212
+ </table>
213
+ </td>
214
+ <td width="30%">
215
+ <h3>API</h3>
216
+ <table>
217
+ <tr>
218
+ <td align="center" width="120">
219
+ <a href="helm">
220
+ <img src="images/integration_logos/helm_logo.png" alt="Helm Chart" width="50"><br>
221
+ <strong>Helm Chart</strong>
222
+ </a>
223
+ </td>
224
+ <td align="center" width="120">
225
+ <a href="https://robusta-dev.github.io/holmesgpt/installation/python-installation/">
226
+ <img src="images/integration_logos/python_logo.png" alt="Python Package" width="50"><br>
227
+ <strong>Python API</strong>
228
+ </a>
229
+ </td>
230
+ </tr>
231
+ </table>
232
+ </td>
233
+
234
+ </tr>
235
+ </table>
236
+
237
+
238
+ ## Supported LLM Providers
239
+
240
+ Select your LLM provider to see how to set up your API Key.
241
+
242
+ <table>
243
+ <tr>
244
+ <td align="center" width="120">
245
+ <a href="https://robusta-dev.github.io/holmesgpt/ai-providers/openai/">
246
+ <img src="images/integration_logos/openai_logo.png" alt="OpenAI" width="50"><br>
247
+ <strong>OpenAI</strong>
248
+ </a>
249
+ </td>
250
+ <td align="center" width="120">
251
+ <a href="https://robusta-dev.github.io/holmesgpt/ai-providers/anthropic/">
252
+ <img src="images/integration_logos/anthropic_logo.png" alt="Anthropic" width="50"><br>
253
+ <strong>Anthropic</strong>
254
+ </a>
255
+ </td>
256
+ <td align="center" width="120">
257
+ <a href="https://robusta-dev.github.io/holmesgpt/ai-providers/aws-bedrock/">
258
+ <img src="images/integration_logos/aws_bedrock_logo.png" alt="AWS Bedrock" width="50"><br>
259
+ <strong>AWS Bedrock</strong>
260
+ </a>
261
+ </td>
262
+ <td align="center" width="120">
263
+ <a href="https://robusta-dev.github.io/holmesgpt/ai-providers/azure-openai/">
264
+ <img src="images/integration_logos/azure-openai.png" alt="Azure OpenAI" width="50"><br>
265
+ <strong>Azure OpenAI</strong>
266
+ </a>
267
+ </td>
268
+ <td align="center" width="120">
269
+ <a href="https://robusta-dev.github.io/holmesgpt/ai-providers/google-vertex-ai/">
270
+ <img src="images/integration_logos/google_vertexai_logo.png" alt="Google Vertex AI" width="50"><br>
271
+ <strong>Google Vertex AI</strong>
272
+ </a>
273
+ </td>
274
+ </tr>
275
+ <tr>
276
+ <td align="center" width="120">
277
+ <a href="https://robusta-dev.github.io/holmesgpt/ai-providers/gemini/">
278
+ <img src="images/integration_logos/gemini_logo.png" alt="Gemini" width="50"><br>
279
+ <strong>Gemini</strong>
280
+ </a>
281
+ </td>
282
+ <td align="center" width="120">
283
+ <a href="https://robusta-dev.github.io/holmesgpt/ai-providers/ollama/">
284
+ <img src="images/integration_logos/ollama_logo.png" alt="Ollama" width="50"><br>
285
+ <strong>Ollama</strong>
286
+ </a>
287
+ </td>
288
+ </tr>
289
+ </table>
290
+
291
+ You can also use any OpenAI-compatible models, read [here](https://robusta-dev.github.io/holmesgpt/ai-providers/openai-compatible/) for instructions.
292
+
293
+ ### Using HolmesGPT
294
+
295
+ - In the Robusta SaaS: Go to [platform.robusta.dev](https://platform.robusta.dev/signup/?utm_source=github&utm_medium=holmesgpt-readme&utm_content=ways_to_use_holmesgpt_section) and use Holmes from your browser
296
+ - With HolmesGPT CLI: [setup an LLM API key](https://robusta-dev.github.io/holmesgpt/ai-providers/) and ask Holmes a question 👇
297
+
298
+ ```bash
299
+ holmes ask "what pods are unhealthy and why?"
300
+ ```
301
+
302
+ You can also provide files as context:
303
+ ```bash
304
+ holmes ask "summarize the key points in this document" -f ./mydocument.txt
305
+ ```
306
+
307
+ You can also load the prompt from a file using the `--prompt-file` option:
308
+ ```bash
309
+ holmes ask --prompt-file ~/long-prompt.txt
310
+
311
+ Enter interactive mode to ask follow-up questions:
312
+ ```bash
313
+ holmes ask "what pods are unhealthy and why?" --interactive
314
+ # or
315
+ holmes ask "what pods are unhealthy and why?" -i
316
+ ```
317
+
318
+ Also supported:
319
+
320
+ <details>
321
+ <summary>HolmesGPT CLI: investigate Prometheus alerts</summary>
322
+
323
+ Pull alerts from AlertManager and investigate them with HolmesGPT:
324
+
325
+ ```bash
326
+ holmes investigate alertmanager --alertmanager-url http://localhost:9093
327
+ # if on Mac OS and using the Holmes Docker image👇
328
+ # holmes investigate alertmanager --alertmanager-url http://docker.for.mac.localhost:9093
329
+ ```
330
+
331
+ <b>To investigate alerts in your browser, sign up for a free trial of [Robusta SaaS](https://platform.robusta.dev/signup/?utm_source=github&utm_medium=holmesgpt-readme&utm_content=ways_to_use_holmesgpt_section). </b>
332
+
333
+
334
+ <b>Optional:</b> port-forward to AlertManager before running the command mentioned above (if running Prometheus inside Kubernetes)
335
+
336
+ ```bash
337
+ kubectl port-forward alertmanager-robusta-kube-prometheus-st-alertmanager-0 9093:9093 &
338
+ ```
339
+ </details>
340
+
341
+ <details>
342
+ <summary>HolmesGPT CLI: investigate PagerDuty and OpsGenie alerts</summary>
343
+
344
+ ```bash
345
+ holmes investigate opsgenie --opsgenie-api-key <OPSGENIE_API_KEY>
346
+ holmes investigate pagerduty --pagerduty-api-key <PAGERDUTY_API_KEY>
347
+ # to write the analysis back to the incident as a comment
348
+ holmes investigate pagerduty --pagerduty-api-key <PAGERDUTY_API_KEY> --update
349
+ ```
350
+
351
+ For more details, run `holmes investigate <source> --help`
352
+ </details>
353
+
354
+ ## Customizing HolmesGPT
355
+
356
+ HolmesGPT can investigate many issues out of the box, with no customization or training. Optionally, you can extend Holmes to improve results:
357
+
358
+ **Custom Data Sources**: Add data sources (toolsets) to improve investigations
359
+ - If using Robusta SaaS: See [Robusta's docs](https://docs.robusta.dev/master/configuration/holmesgpt/custom_toolsets.html)
360
+ - If using the CLI: Use `-t` flag with [custom toolset files](./examples/custom_toolset.yaml) or add to `~/.holmes/config.yaml`
361
+
362
+ **Custom Runbooks**: Give HolmesGPT instructions for known alerts:
363
+ - If using Robusta SaaS: Use the Robusta UI to add runbooks
364
+ - If using the CLI: Use `-r` flag with [custom runbook files](./examples/custom_runbooks.yaml) or add to `~/.holmes/config.yaml`
365
+
366
+ You can save common settings and API Keys in a config file to avoid passing them from the CLI each time:
367
+
368
+ <details>
369
+ <summary>Reading settings from a config file</summary>
370
+
371
+ You can save common settings and API keys in config file for re-use. Place the config file in <code>~/.holmes/config.yaml`</code> or pass it using the <code> --config</code>
372
+
373
+ You can view an example config file with all available settings [here](config.example.yaml).
374
+ </details>
375
+
376
+ ## Evals
377
+
378
+ Because HolmesGPT relies on LLMs, it relies on [a suite of pytest based evaluations](https://robusta-dev.github.io/holmesgpt/development/evals/) to ensure the prompt and HolmesGPT's default set of tools work as expected with LLMs.
379
+
380
+ - [Introduction to HolmesGPT's evals](https://robusta-dev.github.io/holmesgpt/development/evals/).
381
+ - [Write your own evals](https://robusta-dev.github.io/holmesgpt/development/evals/writing/).
382
+ - [Use Braintrust to view analyze results (optional)](https://robusta-dev.github.io/holmesgpt/development/evals/reporting/).
383
+
384
+
385
+ ## License
386
+ Distributed under the MIT License. See [LICENSE.txt](https://github.com/robusta-dev/holmesgpt/blob/master/LICENSE.txt) for more information.
387
+ <!-- Change License -->
388
+
389
+ ## Support
390
+
391
+ If you have any questions, feel free to message us on [robustacommunity.slack.com](https://bit.ly/robusta-slack)
392
+
393
+ ## How to Contribute
394
+
395
+ Please read our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines and instructions.
396
+
397
+ For help, contact us on [Slack](https://bit.ly/robusta-slack) or ask [DeepWiki AI](https://deepwiki.com/robusta-dev/holmesgpt) your questions.
398
+
399
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/robusta-dev/holmesgpt)
400
+
@@ -0,0 +1,183 @@
1
+ holmes/.git_archival.json,sha256=PbwdO7rNhEJ4ALiO12DPPb81xNAIsVxCA0m8OrVoqsk,182
2
+ holmes/__init__.py,sha256=AEq2gRYsQZQyg-8mDYfTxyrEhqdgtBuHbpDrwp6TnLk,2172
3
+ holmes/__init__.py.bak,sha256=LvDwFZ_341DiYoJSrIAikbFoAj2aH6VXQT-8k9FhHvI,2171
4
+ holmes/clients/robusta_client.py,sha256=b6zje8VF8aOpjXnluBcBDdf3Xb88yFXvKDcy2gV1DeM,672
5
+ holmes/common/env_vars.py,sha256=MeAqdXZC1j7Vxmge4a13CJ8K2i4DBZ_FuEUVrAIV7Qc,1808
6
+ holmes/config.py,sha256=WVxOkHVSzcQ7YZpnTgiYAEBsRU5hwxvO3XV7ifbCgTE,20018
7
+ holmes/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ holmes/core/conversations.py,sha256=LXT3T-5hwl4xHXBhO4XyOKm6k9w58anQ3dw4F2aptqs,20769
9
+ holmes/core/investigation.py,sha256=nSVkCfeliZjQT2PrgNPD3o1EwKe9je0Pq3F2bDNQiCU,5646
10
+ holmes/core/investigation_structured_output.py,sha256=PdealN3TuLk8uXT34rFnv9Mol5_mvr6rud4Abfy1wkc,9841
11
+ holmes/core/issue.py,sha256=dbctGv8KHAXC1SeOMkEP-BudJ50u7kA8jLN5FN_d808,2426
12
+ holmes/core/llm.py,sha256=LLKP-KwtTJsvN2OSI_Lu-KBgEr7BGeomQhqa3XdbEv0,10729
13
+ holmes/core/models.py,sha256=i6cH1mL7JQUU1NyNoPM29398gDkoatM8tULbHjeLwN4,4866
14
+ holmes/core/openai_formatting.py,sha256=T5GguKhYiJbHx7mFTyJZZReV-s9LBX443BD_nJQZR2s,1677
15
+ holmes/core/performance_timing.py,sha256=MTbTiiX2jjPmW7PuNA2eYON40eWsHPryR1ap_KlwZ_E,2217
16
+ holmes/core/prompt.py,sha256=pc2qoCw0xeJDjGwG0DHOtEUvKsnUAtR6API10ThdlkU,1244
17
+ holmes/core/resource_instruction.py,sha256=rduue_t8iQi1jbWc3-k3jX867W1Fvc6Tah5uOJk35Mc,483
18
+ holmes/core/runbooks.py,sha256=Oj5ICmiGgaq57t4erPzQDvHQ0rMGj1nhiiYhl8peH3Q,939
19
+ holmes/core/safeguards.py,sha256=SAw-J9y3uAehJVZJYsFs4C62jzLV4p_C07F2jUuJHug,4895
20
+ holmes/core/supabase_dal.py,sha256=spnBESlw5XK3BFjAFXUtKH069NHF0J-WCD_v--83ZdY,20031
21
+ holmes/core/tool_calling_llm.py,sha256=SDgWzyNBLjpe-gjjllEtOYZEVkwTshv1OHxEyfH1iJU,33111
22
+ holmes/core/tools.py,sha256=E2o4XsLVxryBYEE6D9nvro5STOQtQBOIo4t2qedCmLM,20019
23
+ holmes/core/tools_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ holmes/core/tools_utils/tool_executor.py,sha256=ZGrzn8c8RelQa_t6ZR9siWBBzOCQ1fgKhug4JDqqgUM,2100
25
+ holmes/core/tools_utils/toolset_utils.py,sha256=1r7nlET4e7CjzMl9MUc_pYOTtRU7YSL8AKp6fQF3_3o,2217
26
+ holmes/core/toolset_manager.py,sha256=M9aNFSS3p-v-wX6VioVtLPzFVNOFKv4b7Nnkocb_0c8,17263
27
+ holmes/interactive.py,sha256=G9Ar6_zR_ROE51yEoxypjPGdzX395rJ_eNxKw_hB8vU,8301
28
+ holmes/main.py,sha256=_6t2-F403hETb6y5nLaiEagMfSSPjCBUXtl4hwPSvYI,36862
29
+ holmes/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ holmes/plugins/destinations/__init__.py,sha256=vMYwTfA5nQ05us5Rzbaoe0R5C8Navo6ENVZhojtACTk,98
31
+ holmes/plugins/destinations/slack/__init__.py,sha256=HVoDdTbdJJ1amXt12ZSMVcn3E04rcOrqk6BgNwvMbWY,56
32
+ holmes/plugins/destinations/slack/plugin.py,sha256=o8RKBqQGqMiX3zn0FSAyRNE8mGJPE79792MzYld3VJA,5482
33
+ holmes/plugins/interfaces.py,sha256=QpKx6BPOoDBS5p0En6-bU23fjNTC1bGR29xvJBQXhZ4,882
34
+ holmes/plugins/prompts/__init__.py,sha256=btqcrfUvVodB0hHp2FTdbXaRdd8QIKl-vFsY4QyAuUg,1416
35
+ holmes/plugins/prompts/_current_date_time.jinja2,sha256=E-frERHJYxd1x4_7LoZZbOxxS8p1uMZTEBZ_ehXUNiM,178
36
+ holmes/plugins/prompts/_default_log_prompt.jinja2,sha256=xEqUBW3AufzzoQxdxxYvbOcve7YWlQxElZEfbfR1SUI,1233
37
+ holmes/plugins/prompts/_fetch_logs.jinja2,sha256=J5TD9zFz2JKlF3X9nA3J_9eSg4vx_klKV9AmUUq_Iro,2810
38
+ holmes/plugins/prompts/_general_instructions.jinja2,sha256=yA0ZkrK7KJa4Du-Xg3pq4ydP8axrctA_jH2RWRcfbAY,6917
39
+ holmes/plugins/prompts/_global_instructions.jinja2,sha256=d_c-BtDhU_Rmx637TPAyzlIIim8ZAxy7JK3V4GV8IWI,1359
40
+ holmes/plugins/prompts/_runbook_instructions.jinja2,sha256=EygoC5KdKGo2D6AvhePjXEeqBqFkQALrL2_uWqaE7d4,646
41
+ holmes/plugins/prompts/_toolsets_instructions.jinja2,sha256=TVdbd63hCCgG2A6lZwG9cLFxEOuJAl5RBMi9v9PbVjM,2391
42
+ holmes/plugins/prompts/generic_ask.jinja2,sha256=Lauva-1m2y1Wuh0wglC4RKAfikXXQQl6uwv65zF2FTI,1802
43
+ holmes/plugins/prompts/generic_ask_conversation.jinja2,sha256=MyncHhfxB2QHGfbCPNS9e2flE_8sQFj4pcjjzee0HVY,1534
44
+ holmes/plugins/prompts/generic_ask_for_issue_conversation.jinja2,sha256=6PjHpblLO3g_J-uiwZOB4ETsj0YSaT4ocW7fF81eXcA,1998
45
+ holmes/plugins/prompts/generic_investigation.jinja2,sha256=jnIDBg-6zYYj056QOCwXtncaeoyMKHBtFHHntcq5HbU,3344
46
+ holmes/plugins/prompts/generic_post_processing.jinja2,sha256=1YNBGKgpZkLNO6Xkbi4yqwWE2DZKACq4xl0ygywgY_w,596
47
+ holmes/plugins/prompts/generic_ticket.jinja2,sha256=FVWvPVnX0JSeBbKu1RuBUcQ7hcsqz661n_QC_kWUPV0,437
48
+ holmes/plugins/prompts/investigation_output_format.jinja2,sha256=C03_d4cQUhEvI5YBoVSkSZypM21wriGrocN4iP1_8co,1071
49
+ holmes/plugins/prompts/kubernetes_workload_ask.jinja2,sha256=lne5fBSnM4qXSwii8nKJb_F5sNGqFJz5QNiee4pGu2o,6514
50
+ holmes/plugins/prompts/kubernetes_workload_chat.jinja2,sha256=rjB6mAHk2SDg2cwZp5vp66ihCer17BE6o8Ezr2zGQE4,1770
51
+ holmes/plugins/runbooks/README.md,sha256=NeEyRcgE6glxFk214APWJz5Biw5c3IW8g9LYXiy6iUA,1160
52
+ holmes/plugins/runbooks/__init__.py,sha256=oPCMKFEZZgDxdmii7g6VKu_gdSq-f9Ijil5D0ZwNCKM,2895
53
+ holmes/plugins/runbooks/catalog.json,sha256=GvrpVpk0AIm9HZ3dlh6FI_CVzHoCGJPvZggOMaL_WKs,436
54
+ holmes/plugins/runbooks/jira.yaml,sha256=o24IL7Cb-Mv5X-cAj8Ik4KmEmY7bf98zBkMP5r39ong,777
55
+ holmes/plugins/runbooks/kube-prometheus-stack.yaml,sha256=adzr0vxvQZHJ_HYzYl5NdmjrTpVByx9h-3abpaFUo-Y,743
56
+ holmes/plugins/runbooks/networking/dns_troubleshooting_instructions.md,sha256=WuyS49-guD5pjW-L16RZ-X3Kc60sF4JGIla9y2tPgBc,5480
57
+ holmes/plugins/runbooks/upgrade/upgrade_troubleshooting_instructions.md,sha256=XqfG1vIOPFYHy2f9K7HQsxLmPqsauL0g6wUwnA0cn2Y,6108
58
+ holmes/plugins/sources/github/__init__.py,sha256=4EibJreFerVUvBwq0uP8-oUXGv3drQxQI5KEoxTrBvE,3050
59
+ holmes/plugins/sources/jira/__init__.py,sha256=4G4NVOXKFGXnCgT2Jd9r9NQLQ5ToR3t7Z60AquOMhmg,4733
60
+ holmes/plugins/sources/opsgenie/__init__.py,sha256=83-OJ8S-olphO5s30PgIt9RFWLA9iAY7jAhz51_mMlk,4109
61
+ holmes/plugins/sources/pagerduty/__init__.py,sha256=LYoN1dkUg7NCx7g-gdSomTTJhHyBV2JdDPyBq0DNgas,5578
62
+ holmes/plugins/sources/prometheus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ holmes/plugins/sources/prometheus/models.py,sha256=9TcDIRLWZQhwjYGfRZFP_2fGweCn4G5xvYrLoXiQZTc,2904
64
+ holmes/plugins/sources/prometheus/plugin.py,sha256=oBmuOwNM67suy6HmasUnyVOlBq9-mAxLZLlUzRHIggg,5941
65
+ holmes/plugins/toolsets/__init__.py,sha256=Z5WvaFIq9LGWue7vP6KjwMsK_oYCktmZRUJ0emRyu7A,6614
66
+ holmes/plugins/toolsets/aks-node-health.yaml,sha256=mdGQwOcxAOM-TqSLptyj-HyxHUF3OThhSSIqvhJujVQ,3768
67
+ holmes/plugins/toolsets/aks.yaml,sha256=oa8XogT1c-lqEL08muvpCzrXArbGL7MXUS2yUqX0sec,5744
68
+ holmes/plugins/toolsets/argocd.yaml,sha256=j8Vq_bCKRg6cHeAGZMNgl9YSSU2PUsSH1dNOWafg4ls,3551
69
+ holmes/plugins/toolsets/atlas_mongodb/instructions.jinja2,sha256=iyft4EwvYcImI_YrMte8_BTJZXGV6i0k84g3oKXR23k,988
70
+ holmes/plugins/toolsets/atlas_mongodb/mongodb_atlas.py,sha256=bwEXXjuqUCchmUvyKzh2xhYIgq2e4Qw2og_h7SMp83A,13833
71
+ holmes/plugins/toolsets/aws.yaml,sha256=AZ15JNdlS2RGASteNhBt2vfJhWAulVfteO94gedBus8,4121
72
+ holmes/plugins/toolsets/azure_sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
+ holmes/plugins/toolsets/azure_sql/apis/alert_monitoring_api.py,sha256=DSrKzzE6lofynViYr0SGaQrWjePpzbfdt3DcplbFGek,26397
74
+ holmes/plugins/toolsets/azure_sql/apis/azure_sql_api.py,sha256=sPLSIBiW4k7ERU2zE4lMXCgOMOET4ebos66t8kPHus4,11467
75
+ holmes/plugins/toolsets/azure_sql/apis/connection_failure_api.py,sha256=dw743eIM-K6M-oOU5UErzKB4exRP64zt4g2BvKdXpGo,19098
76
+ holmes/plugins/toolsets/azure_sql/apis/connection_monitoring_api.py,sha256=10k5KY1CCDi2-G8qh9xMig0aW50Gl6nw6nwBpzw_Sy4,10189
77
+ holmes/plugins/toolsets/azure_sql/apis/storage_analysis_api.py,sha256=sbz8b2IeGqwosA34ddbqnXbD_iPYKuAMyZrV0-__O9g,13835
78
+ holmes/plugins/toolsets/azure_sql/azure_base_toolset.py,sha256=8eQPsFBPTCf_GMpbjfzzN3u-rGUXiElTD06RWCe7uso,2163
79
+ holmes/plugins/toolsets/azure_sql/azure_sql_instructions.jinja2,sha256=GvuxActaoJXA__4k72en7I44jEv_ye0MevSmlHfnzxA,6557
80
+ holmes/plugins/toolsets/azure_sql/azure_sql_toolset.py,sha256=l87m6mieP8-uTpj_NDRXbom43YP4b6TzOhnGyvn4r8c,8069
81
+ holmes/plugins/toolsets/azure_sql/install.md,sha256=eBhdG-OG9HhbrEGvI31aAHRPWwBQne6H95mvBROqZ_s,1585
82
+ holmes/plugins/toolsets/azure_sql/tools/__init__.py,sha256=lEYFZ5X0mHdqwmi6XXTlM1qA7sBYsuQwVCXmluo-L34,25
83
+ holmes/plugins/toolsets/azure_sql/tools/analyze_connection_failures.py,sha256=5-a92xsoGbvyfZFh2SlGu4KZ7Ei1q97xwTWDYAntsIg,13235
84
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_connections.py,sha256=JzaBZ3V-P_2szDL5-gyqfgg40KfVIgYwgSbRSOWyQQM,10267
85
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_health_status.py,sha256=oVt7x2YN6YQ6z9xHOU5aovzzZ4xRTp0TgsBnzcz-d6U,8132
86
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_performance.py,sha256=GJKrcCt6wLE2c0tL7-vWLSOdOY3hgSJ8Bta3sUjtvg4,10495
87
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_storage.py,sha256=tx1PMD3CavZUP9vW4ifw0VZFivehzpIA0QmiJB6vW7s,15818
88
+ holmes/plugins/toolsets/azure_sql/tools/get_active_alerts.py,sha256=aU-uOGlIBLZ9rDmJBU0Q9DRgSGMLLKTH7mgnUh3atU4,9217
89
+ holmes/plugins/toolsets/azure_sql/tools/get_slow_queries.py,sha256=vzYeMh5itGB5beysPRFI2XURXAUtDV4DQbrqTMI7Ya4,7100
90
+ holmes/plugins/toolsets/azure_sql/tools/get_top_cpu_queries.py,sha256=bXumiUcnwgIoY5LmrtmT5WEnWwtzrQIGCJuUh7w-78k,7058
91
+ holmes/plugins/toolsets/azure_sql/tools/get_top_data_io_queries.py,sha256=DTmmbHK4pDw05t0oeE9s87PT-yTxXgOBBoasgH4dCFM,8084
92
+ holmes/plugins/toolsets/azure_sql/tools/get_top_log_io_queries.py,sha256=hF64HIXk5vCKjgtuG7yphO2il8wncGcIfGIc2Aem9Uc,7459
93
+ holmes/plugins/toolsets/azure_sql/utils.py,sha256=nN8ZcVpkOa05nocY4W1gf7aaaNhzn2oD-P0STYQK2Ck,2331
94
+ holmes/plugins/toolsets/bash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
+ holmes/plugins/toolsets/bash/bash_instructions.jinja2,sha256=NMgiV547C4DLCG_xmDN4r9nq_8ZMiukSpt_BifcfUNY,419
96
+ holmes/plugins/toolsets/bash/bash_toolset.py,sha256=EF2a7TB4gLKg7HCurmzwvoh2O_uA0BDA5XG9xtbNxBM,8110
97
+ holmes/plugins/toolsets/bash/common/bash.py,sha256=qFMLLgdi_RuNY_TRLIyM33JJuoXm--7zj4Xq25baAMY,1783
98
+ holmes/plugins/toolsets/bash/common/config.py,sha256=dRd_gl16e2jG_gk6_mRVT6o3idiVXJ-8CtBONAx1DOU,285
99
+ holmes/plugins/toolsets/bash/common/stringify.py,sha256=e0Id2JpwkZczj60EbxiBwxzHO7pO6uuxzU4E0mRszN0,825
100
+ holmes/plugins/toolsets/bash/common/validators.py,sha256=THgKWSf2PLzg46TttJ89DSUAZp0TmEH7xxvOEYqeBAs,763
101
+ holmes/plugins/toolsets/bash/grep/__init__.py,sha256=HioRR4WAaaZ-rom8g7WTBoNQZ9GRc2zAIyrxSgEZVMA,1391
102
+ holmes/plugins/toolsets/bash/kubectl/__init__.py,sha256=fJJegvbJx2b7de74Q0sTVv8BcxGvKWa8mACcUB5rnfY,3758
103
+ holmes/plugins/toolsets/bash/kubectl/constants.py,sha256=_tBhmoJIxQ7-fX0vcNQLhshBUjgN4FP6jNRUCVklrn0,1700
104
+ holmes/plugins/toolsets/bash/kubectl/kubectl_describe.py,sha256=CajG7QPCdsz3qZVmxE3AV9Tm6RulVmMjqQkiKpIcCsE,2072
105
+ holmes/plugins/toolsets/bash/kubectl/kubectl_events.py,sha256=aB6ySgzJxA20TZ3MvwxrzE9951OoKe_rCmfu-CEt2Js,2756
106
+ holmes/plugins/toolsets/bash/kubectl/kubectl_get.py,sha256=VyCj6htBPi7kgwBXJWxLkJc5pu-c2v-edgItunFrEJw,3093
107
+ holmes/plugins/toolsets/bash/kubectl/kubectl_logs.py,sha256=r2F1-f-XWxdsWoyS_MfnNii21DjJ9cUHCHIGP-d-S9M,525
108
+ holmes/plugins/toolsets/bash/kubectl/kubectl_run.py,sha256=wUtxoDbd4KUha_3o2nKbrOAL4SHxwH4mM2UiJQ_VOTk,1592
109
+ holmes/plugins/toolsets/bash/kubectl/kubectl_top.py,sha256=a-WxzgzEGbh-iZagCb1VJTrDjW5tcVAfq9QUGttTdBg,2397
110
+ holmes/plugins/toolsets/bash/parse_command.py,sha256=TmlOgvhqda1piNGQL7CdYpvkADSJAC2Kr-2BeMOcxwI,3446
111
+ holmes/plugins/toolsets/confluence.yaml,sha256=mN3dw_oVieiRjGiS9Q_eZWgptUVkyDUAVXvek6kysXU,880
112
+ holmes/plugins/toolsets/consts.py,sha256=vxzGJBF1XNAE9CDteUFIYNRmOagmJ-ktFEfVEU8tHl0,205
113
+ holmes/plugins/toolsets/coralogix/api.py,sha256=GhdSufUiRZMzLqyjQQoSRXvi89GM-b8-CIdkAANIqLs,5148
114
+ holmes/plugins/toolsets/coralogix/toolset_coralogix_logs.py,sha256=kCRLlIYOYo0aCC14CMVQY-gHl_3rYF9Wqxs43lPSPg4,3449
115
+ holmes/plugins/toolsets/coralogix/utils.py,sha256=ogBAPDD46rCnlLjUb1sVVvjG2LntMoj7EBHW1CwqLjw,6036
116
+ holmes/plugins/toolsets/datadog.py,sha256=2tLO5W5vsqomu9wkmriNCwQsv6clcSywACkNDudPWrM,5205
117
+ holmes/plugins/toolsets/docker.yaml,sha256=AlJnUF3GssiFPnmqB-EfAfptB7Eyr8BBZ__v898i7Gs,1576
118
+ holmes/plugins/toolsets/git.py,sha256=HQ8saTV3k_LvHx3G80eYWOMe3fAGd2N4hszK-UXiURU,31595
119
+ holmes/plugins/toolsets/grafana/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
+ holmes/plugins/toolsets/grafana/base_grafana_toolset.py,sha256=AjvbS4txSo97YqeeFlXUnu95oPFt8rB-CD1Ccf92a04,1760
121
+ holmes/plugins/toolsets/grafana/common.py,sha256=BoPZwZ3_MSWGYhJ7lBOuWb292r4qfCiMBOXuXEKY8xA,2103
122
+ holmes/plugins/toolsets/grafana/grafana_api.py,sha256=_oupgGD7Gp6ChncLApQKTY2NhlqTIwm8aeoelBU8jf4,1063
123
+ holmes/plugins/toolsets/grafana/loki_api.py,sha256=f7oTzfhJ1LojsPoAfsKt32ADWffLEywBJQWG9eyfb7I,2529
124
+ holmes/plugins/toolsets/grafana/tempo_api.py,sha256=UbLfyzA5TbP-5jx4Dkc20xLlR-6Z4z-4nPKrMlzgCRU,3565
125
+ holmes/plugins/toolsets/grafana/toolset_grafana.py,sha256=JygQwYd7OgOE8tudfiiXZMciStMxIXPbL9pnMM4mq4w,4207
126
+ holmes/plugins/toolsets/grafana/toolset_grafana_loki.py,sha256=sjyvMsRXtbMxzdD1zMKDdj-dxBoM6TtJqB-9tWlgeOA,3459
127
+ holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2,sha256=yJlMJSIuNa2WUMJhwsh4XiXPNrdJdnLxfc_Zx_slZYk,1053
128
+ holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py,sha256=i28-pR7U-zq5L16a_Bbx__O1GPcLHgeW6PflCIEf2-4,11463
129
+ holmes/plugins/toolsets/grafana/trace_parser.py,sha256=O6fJqUwvpCKL5hAdDtPIZ3LkpTbcDSVPLlLIdNqAbuk,7025
130
+ holmes/plugins/toolsets/helm.yaml,sha256=I_6LV-iF7za_X7u2aqzXp2_4sAAuJ1bhnImcMqyQPxQ,1621
131
+ holmes/plugins/toolsets/internet/internet.py,sha256=jF9_dJBajWiXq5vo3t4qPBqZJ5wIT-pa_fG4j9YTsXY,7585
132
+ holmes/plugins/toolsets/internet/notion.py,sha256=_-Xm3qVGaE4CNZGksOUAVf4HpNnOQLZyPs5hlPdpvp4,4621
133
+ holmes/plugins/toolsets/kafka.py,sha256=2G8pqxGFkMBqVltg-upszhb5oep4ncUkh_C3amsxxYc,24149
134
+ holmes/plugins/toolsets/kubernetes.yaml,sha256=b8Y6EM8JZDQPQ6i4kFkhX6MNdYKvo5yYCHhmsMwKmi8,14462
135
+ holmes/plugins/toolsets/kubernetes_logs.py,sha256=MR_Va0sHqOl4DpBiGjtH_939wQ5W8RcXqlBurzALBCw,15314
136
+ holmes/plugins/toolsets/kubernetes_logs.yaml,sha256=j5BXf5FkUqfCb0ky3YguZ8-80ljhzefNbD9DTcGuWDc,2677
137
+ holmes/plugins/toolsets/logging_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
+ holmes/plugins/toolsets/logging_utils/logging_api.py,sha256=1swUmELjLy3aPpkBExVjQcw7efLMinWqkELKlViFnrg,7825
139
+ holmes/plugins/toolsets/logging_utils/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
+ holmes/plugins/toolsets/mcp/toolset_mcp.py,sha256=Fj9Ev1RUm33wFGlvjiIjX_mSRqg09acoNcvRlfeRHYs,4858
141
+ holmes/plugins/toolsets/newrelic.py,sha256=SX5YwdcTwHq4M09shO2aO8ojsHu5Av5aWNxgngjtnFA,7432
142
+ holmes/plugins/toolsets/opensearch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
+ holmes/plugins/toolsets/opensearch/opensearch.py,sha256=vtyOwFAgDAMzkiaBjTceufeA1S665bY8KE9cdRGI47E,8146
144
+ holmes/plugins/toolsets/opensearch/opensearch_logs.py,sha256=ovQpQNRfkYArmrTZOAm6Myh5-zetNTEiwINooDB00uM,5394
145
+ holmes/plugins/toolsets/opensearch/opensearch_traces.py,sha256=gXV2yXrAn0Tu3r5GMiSdsLAKx9myUrHWD0U-OYBXN0g,8497
146
+ holmes/plugins/toolsets/opensearch/opensearch_traces_instructions.jinja2,sha256=Xn8AW4XCMYV1VkBbF8nNB9fUpKQ1Vbm88iFczj-LQXo,1035
147
+ holmes/plugins/toolsets/opensearch/opensearch_utils.py,sha256=mh9Wp22tOdJYmA9IaFS7tD3aEENljyeuPOsF-lEe5C0,5097
148
+ holmes/plugins/toolsets/prometheus/prometheus.py,sha256=dOi0rSh_oJtZrlxJ5bOT2r0wqXmBA0zBA6--njXuSyE,30958
149
+ holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2,sha256=hIR8Uo9QNVgsUdY94NVNKwpQvJiuGpkECGw8Eu-oVuY,2856
150
+ holmes/plugins/toolsets/rabbitmq/api.py,sha256=-BtqF7hQWtl_OamnQ521vYHhR8E2n2wcPNYxfI9r4kQ,14307
151
+ holmes/plugins/toolsets/rabbitmq/rabbitmq_instructions.jinja2,sha256=qetmtJUMkx9LIihr2fSJ2EV9h2J-b-ZdUAvMtopXZYY,3105
152
+ holmes/plugins/toolsets/rabbitmq/toolset_rabbitmq.py,sha256=EsF3t294zVsgAAu8Ujw_S_JR275qKjh86styBJBvFSs,8827
153
+ holmes/plugins/toolsets/robusta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
+ holmes/plugins/toolsets/robusta/robusta.py,sha256=WAww6CaNxk9YhW7YeUD3NU_uTxpYqb62fvs2NbYopEY,8738
155
+ holmes/plugins/toolsets/robusta/robusta_instructions.jinja2,sha256=E3UxlbyoNx96Fsk6d1laBTrnca1nLreWGMWnGPD2KbI,2060
156
+ holmes/plugins/toolsets/runbook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
+ holmes/plugins/toolsets/runbook/runbook_fetcher.py,sha256=3tj0uWEJg0at1Rdx9kZLuAngvIpYVc-QyE7ziKeYke4,2538
158
+ holmes/plugins/toolsets/service_discovery.py,sha256=4PQbyQcKJzCnxcZecFPV-Ei0jDbtLUdXzqmN8vbvnMg,3252
159
+ holmes/plugins/toolsets/servicenow/install.md,sha256=UeL069Qd2e4wC3kmc54wk62AoSpyeizKWV6NB1jUYVM,1217
160
+ holmes/plugins/toolsets/servicenow/instructions.jinja2,sha256=koA2vJ1tOkGi2T5aGjmk9oTZPrt7WdoMSuVyxfO5-k4,491
161
+ holmes/plugins/toolsets/servicenow/servicenow.py,sha256=qn2LGg2iBnFLsjvjbDP_181Ssb4-m9bl7nsYDPOABNc,7562
162
+ holmes/plugins/toolsets/slab.yaml,sha256=7esaLXSAlfHdxq0Paz9sfNOjoYXudaZuuq9hVcXdNsE,777
163
+ holmes/plugins/toolsets/utils.py,sha256=Ge4SjGFlZ5s2JlMkTYf24Mxz57Kbr8KAHvddC5YXzYM,4073
164
+ holmes/plugins/utils.py,sha256=Wn_UxZMB4V2_UiJDNy0pifGnIGS_zUwRhUlmttCywnY,372
165
+ holmes/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
+ holmes/utils/cache.py,sha256=khypN4j4B8aSsvwIzYQkHKryKfxgRB_jZObF3MKH-F4,2224
167
+ holmes/utils/cert_utils.py,sha256=5YAUOY3LjFqqFpYHnHLvSc70LCxEWf0spw1vZwLLvOw,1193
168
+ holmes/utils/default_toolset_installation_guide.jinja2,sha256=HEf7tX75HE3H4-YeLbJfa0WbiLEsI71usKrXHCO_sHo,992
169
+ holmes/utils/definitions.py,sha256=WKVDFh1wfuo0UCV_1jXFjgP0gjGM3-U-UdxdVxmXaKM,287
170
+ holmes/utils/env.py,sha256=7hLrfn6DGLJu2105CurM8UoJzDXLEXdiJwhgj79fYtI,1761
171
+ holmes/utils/file_utils.py,sha256=uN5JCH6QQqY8dXwFtQ7AuzlfOCUqOuAzP3TQZSau9MU,1694
172
+ holmes/utils/global_instructions.py,sha256=43M_ubhlgBH6YmPUHfkQkxcAR4WkfdINQ0WPrWGime0,578
173
+ holmes/utils/holmes_status.py,sha256=7qUJU3TwMpQXS4Wri5dL2quUsZMkX0sR0OS9m0LHOms,737
174
+ holmes/utils/holmes_sync_toolsets.py,sha256=HNUMstaPP2NS5bnEHJMPFjKbAgvsevuuTdDiSUZ7Pkk,3225
175
+ holmes/utils/markdown_utils.py,sha256=_yDc_IRB5zkj9THUlZ6nzir44VfirTjPccC_DrFrBkc,1507
176
+ holmes/utils/pydantic_utils.py,sha256=g0e0jLTa8Je8JKrhEP4N5sMxj0_hhPOqFZr0Vpd67sg,1649
177
+ holmes/utils/robusta.py,sha256=uYQ7v1CSfTM94sOPy09kRZh-lPwmTd-5hrqHu0PdtZ4,372
178
+ holmes/utils/tags.py,sha256=SU4EZMBtLlIb7OlHsSpguFaypczRzOcuHYxDSanV3sQ,3364
179
+ holmesgpt-0.11.5.dist-info/LICENSE.txt,sha256=RdZMj8VXRQdVslr6PMYMbAEu5pOjOdjDqt3yAmWb9Ds,1072
180
+ holmesgpt-0.11.5.dist-info/METADATA,sha256=SZmT22hOEsxxDiALwQFbzd5J548wSGzp3en2TiBoNn0,21701
181
+ holmesgpt-0.11.5.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
182
+ holmesgpt-0.11.5.dist-info/entry_points.txt,sha256=JdzEyZhpaYr7Boo4uy4UZgzY1VsAEbzMgGmHZtx9KFY,42
183
+ holmesgpt-0.11.5.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: poetry-core 2.1.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ holmes=holmes.main:run
3
+