holmesgpt 0.13.1__py3-none-any.whl → 0.13.2__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.
Files changed (76) hide show
  1. holmes/__init__.py +1 -1
  2. holmes/common/env_vars.py +7 -0
  3. holmes/config.py +3 -1
  4. holmes/core/conversations.py +0 -11
  5. holmes/core/investigation.py +0 -6
  6. holmes/core/llm.py +60 -1
  7. holmes/core/prompt.py +0 -2
  8. holmes/core/supabase_dal.py +2 -2
  9. holmes/core/todo_tasks_formatter.py +51 -0
  10. holmes/core/tool_calling_llm.py +166 -91
  11. holmes/core/tools.py +20 -4
  12. holmes/interactive.py +63 -2
  13. holmes/main.py +0 -1
  14. holmes/plugins/prompts/_general_instructions.jinja2 +3 -1
  15. holmes/plugins/prompts/investigation_procedure.jinja2 +3 -13
  16. holmes/plugins/toolsets/__init__.py +5 -1
  17. holmes/plugins/toolsets/argocd.yaml +1 -1
  18. holmes/plugins/toolsets/atlas_mongodb/mongodb_atlas.py +18 -6
  19. holmes/plugins/toolsets/aws.yaml +9 -5
  20. holmes/plugins/toolsets/azure_sql/tools/analyze_connection_failures.py +3 -1
  21. holmes/plugins/toolsets/azure_sql/tools/analyze_database_connections.py +3 -1
  22. holmes/plugins/toolsets/azure_sql/tools/analyze_database_health_status.py +3 -1
  23. holmes/plugins/toolsets/azure_sql/tools/analyze_database_performance.py +3 -1
  24. holmes/plugins/toolsets/azure_sql/tools/analyze_database_storage.py +3 -1
  25. holmes/plugins/toolsets/azure_sql/tools/get_active_alerts.py +3 -1
  26. holmes/plugins/toolsets/azure_sql/tools/get_slow_queries.py +3 -1
  27. holmes/plugins/toolsets/azure_sql/tools/get_top_cpu_queries.py +3 -1
  28. holmes/plugins/toolsets/azure_sql/tools/get_top_data_io_queries.py +3 -1
  29. holmes/plugins/toolsets/azure_sql/tools/get_top_log_io_queries.py +3 -1
  30. holmes/plugins/toolsets/bash/bash_toolset.py +31 -20
  31. holmes/plugins/toolsets/confluence.yaml +1 -1
  32. holmes/plugins/toolsets/coralogix/api.py +3 -1
  33. holmes/plugins/toolsets/coralogix/toolset_coralogix_logs.py +4 -4
  34. holmes/plugins/toolsets/coralogix/utils.py +41 -14
  35. holmes/plugins/toolsets/datadog/datadog_api.py +45 -2
  36. holmes/plugins/toolsets/datadog/datadog_general_instructions.jinja2 +208 -0
  37. holmes/plugins/toolsets/datadog/datadog_logs_instructions.jinja2 +43 -0
  38. holmes/plugins/toolsets/datadog/datadog_metrics_instructions.jinja2 +12 -9
  39. holmes/plugins/toolsets/datadog/toolset_datadog_general.py +722 -0
  40. holmes/plugins/toolsets/datadog/toolset_datadog_logs.py +17 -6
  41. holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py +15 -7
  42. holmes/plugins/toolsets/datadog/toolset_datadog_rds.py +6 -2
  43. holmes/plugins/toolsets/datadog/toolset_datadog_traces.py +9 -3
  44. holmes/plugins/toolsets/docker.yaml +1 -1
  45. holmes/plugins/toolsets/git.py +15 -5
  46. holmes/plugins/toolsets/grafana/toolset_grafana.py +25 -4
  47. holmes/plugins/toolsets/grafana/toolset_grafana_loki.py +4 -4
  48. holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2 +5 -3
  49. holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py +299 -32
  50. holmes/plugins/toolsets/helm.yaml +1 -1
  51. holmes/plugins/toolsets/internet/internet.py +4 -2
  52. holmes/plugins/toolsets/internet/notion.py +4 -2
  53. holmes/plugins/toolsets/investigator/core_investigation.py +5 -17
  54. holmes/plugins/toolsets/investigator/investigator_instructions.jinja2 +1 -5
  55. holmes/plugins/toolsets/kafka.py +19 -7
  56. holmes/plugins/toolsets/kubernetes.yaml +5 -5
  57. holmes/plugins/toolsets/kubernetes_logs.py +4 -4
  58. holmes/plugins/toolsets/kubernetes_logs.yaml +1 -1
  59. holmes/plugins/toolsets/logging_utils/logging_api.py +15 -2
  60. holmes/plugins/toolsets/mcp/toolset_mcp.py +3 -1
  61. holmes/plugins/toolsets/newrelic.py +8 -4
  62. holmes/plugins/toolsets/opensearch/opensearch.py +13 -5
  63. holmes/plugins/toolsets/opensearch/opensearch_logs.py +4 -4
  64. holmes/plugins/toolsets/opensearch/opensearch_traces.py +9 -6
  65. holmes/plugins/toolsets/prometheus/prometheus.py +193 -82
  66. holmes/plugins/toolsets/rabbitmq/toolset_rabbitmq.py +7 -3
  67. holmes/plugins/toolsets/robusta/robusta.py +10 -4
  68. holmes/plugins/toolsets/runbook/runbook_fetcher.py +4 -2
  69. holmes/plugins/toolsets/servicenow/servicenow.py +9 -3
  70. holmes/plugins/toolsets/slab.yaml +1 -1
  71. {holmesgpt-0.13.1.dist-info → holmesgpt-0.13.2.dist-info}/METADATA +3 -2
  72. {holmesgpt-0.13.1.dist-info → holmesgpt-0.13.2.dist-info}/RECORD +75 -72
  73. holmes/core/todo_manager.py +0 -88
  74. {holmesgpt-0.13.1.dist-info → holmesgpt-0.13.2.dist-info}/LICENSE.txt +0 -0
  75. {holmesgpt-0.13.1.dist-info → holmesgpt-0.13.2.dist-info}/WHEEL +0 -0
  76. {holmesgpt-0.13.1.dist-info → holmesgpt-0.13.2.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: holmesgpt
3
- Version: 0.13.1
3
+ Version: 0.13.2
4
4
  Summary:
5
5
  Author: Natan Yellin
6
6
  Author-email: natan@robusta.dev
@@ -35,6 +35,7 @@ Requires-Dist: mcp (==v1.12.2)
35
35
  Requires-Dist: openai (>=1.6.1,<1.100.0)
36
36
  Requires-Dist: opensearch-py (>=2.8.0,<3.0.0)
37
37
  Requires-Dist: postgrest (==0.16.8)
38
+ Requires-Dist: prometrix (==0.2.3)
38
39
  Requires-Dist: prompt-toolkit (>=3.0.51,<4.0.0)
39
40
  Requires-Dist: protobuf (>=6.31.1)
40
41
  Requires-Dist: pydantic (>=2.7,<3.0)
@@ -50,7 +51,7 @@ Requires-Dist: requests (>=2.32.4,<3.0.0)
50
51
  Requires-Dist: requests-aws4auth (>=1.3.1,<2.0.0)
51
52
  Requires-Dist: rich (>=13.7.1,<14.0.0)
52
53
  Requires-Dist: sentry-sdk[fastapi] (>=2.20.0,<3.0.0)
53
- Requires-Dist: setuptools (==70.0.0)
54
+ Requires-Dist: setuptools (>=80.9.0,<81.0.0)
54
55
  Requires-Dist: slack-bolt (>=1.18.1,<2.0.0)
55
56
  Requires-Dist: starlette (==0.47.2)
56
57
  Requires-Dist: strenum (>=0.4.15,<0.5.0)
@@ -1,34 +1,34 @@
1
1
  holmes/.git_archival.json,sha256=PbwdO7rNhEJ4ALiO12DPPb81xNAIsVxCA0m8OrVoqsk,182
2
- holmes/__init__.py,sha256=NltHfPr29LMOUQTPPF4jx4HL3GJgTe2VeN_7s7XbYYc,257
2
+ holmes/__init__.py,sha256=8fdnxGDIKuTqzLPNlVFwjRF4vLnpROhhhVyP62okSJk,257
3
3
  holmes/clients/robusta_client.py,sha256=lHV02aKJmAb08jVhjQ6jWvhhmjQ86Ajbo_lgbhqfn3s,1221
4
- holmes/common/env_vars.py,sha256=r5OIkAGb5nfNmDsIDZTDNV3BhhYUOIXgsGsfu587AkU,2700
4
+ holmes/common/env_vars.py,sha256=-P834z71-S7cklgTB7DX0OuTLzxwmAT3WETt3svBUY0,3013
5
5
  holmes/common/openshift.py,sha256=akbQ0GpnmuzXOqTcotpTDQSDKIROypS9mgPOprUgkCw,407
6
- holmes/config.py,sha256=lQwvJiVbMehzHFQ1HupLEGMmYzLuSumo5Ivko1DmaTU,23724
6
+ holmes/config.py,sha256=TGuj7A9821rPuRj6KnAfCRgNifmQMrEkwIJc9TCKAXc,23899
7
7
  holmes/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  holmes/core/config.py,sha256=9QGIXeYff9FPWa91as2OkRO2SupHzfNQZWzfNC4Vl-8,113
9
- holmes/core/conversations.py,sha256=_X5Vods_DEaNyPJ1hqDvqG-RDCYldEnyagXqz2kZ_rs,22007
10
- holmes/core/investigation.py,sha256=sxzD-z70LZKaalqdUTNrzdo3fyfHkdC6J3WnOwNyK18,6203
9
+ holmes/core/conversations.py,sha256=krkcIe5Sl4JIGp5CfQrR74JYLnxis8ifKu09mOA5fAI,21428
10
+ holmes/core/investigation.py,sha256=BUQ0JWMyXgSFR1NUPf8XLr8dqBOIyXfq-JhMspIYPPM,5941
11
11
  holmes/core/investigation_structured_output.py,sha256=sNxyqmsElQ-B22OlzTOrJtfrlipjyidcTU07idOBO7w,10570
12
12
  holmes/core/issue.py,sha256=dbctGv8KHAXC1SeOMkEP-BudJ50u7kA8jLN5FN_d808,2426
13
- holmes/core/llm.py,sha256=BS4bF4tzGntfAJVOYFowfdhSoDZwBs-z1f3YbsR-21Q,11138
13
+ holmes/core/llm.py,sha256=DKNqYjcfzMRPSFdoGJh7rjV5qnPL-zn4SBXwL3B891E,13530
14
14
  holmes/core/models.py,sha256=1ILqNpTxMAl9sldFyp6P4gWEdtRaKJP59uZvNMqvmbs,5990
15
15
  holmes/core/openai_formatting.py,sha256=wL0Fq6lDePIKR5viitQz9ZWCQZZkHZHmEUqPIsOoFns,4077
16
16
  holmes/core/performance_timing.py,sha256=MTbTiiX2jjPmW7PuNA2eYON40eWsHPryR1ap_KlwZ_E,2217
17
- holmes/core/prompt.py,sha256=HwzT_8497hdSnKYV321d-tocqsqFnznXwb34nixmX78,3098
17
+ holmes/core/prompt.py,sha256=YkztY4gsobXys0fHxcwgngZBR2xDtBSYryY7HRnTxCQ,3025
18
18
  holmes/core/resource_instruction.py,sha256=rduue_t8iQi1jbWc3-k3jX867W1Fvc6Tah5uOJk35Mc,483
19
19
  holmes/core/runbooks.py,sha256=Oj5ICmiGgaq57t4erPzQDvHQ0rMGj1nhiiYhl8peH3Q,939
20
20
  holmes/core/safeguards.py,sha256=SAw-J9y3uAehJVZJYsFs4C62jzLV4p_C07F2jUuJHug,4895
21
- holmes/core/supabase_dal.py,sha256=uUqO1DwHsheJK1wMIqnknnUp0KhJ2kkqUd4jqae_yaA,21402
22
- holmes/core/todo_manager.py,sha256=w8CGdynVfCbekW2p93OLo78OmTJqcvgkjNgjBIjkPLQ,2733
23
- holmes/core/tool_calling_llm.py,sha256=x2tt7R9d6JWGwYdcR9jYVUAP8rc6B5z6lnQWqKvtV3c,38440
24
- holmes/core/tools.py,sha256=AtEwwDorhA2jNYgZbeWdizjL9XQRl_B92L968bVFN3o,20807
21
+ holmes/core/supabase_dal.py,sha256=-AtQ6oDyIpoc2a46xA26e8416kUD4tj2Q3p4P42PFP4,21291
22
+ holmes/core/todo_tasks_formatter.py,sha256=USyJZcoX6zoxID1UV-abAKdaWFYLO6QJd-UKryJAurI,1487
23
+ holmes/core/tool_calling_llm.py,sha256=hdGmkm8fMaa7zRy4x2F8xMTYo1b1vpaHtQnfxXtG8VQ,41175
24
+ holmes/core/tools.py,sha256=Xj7Yoztf9OqrGMSwhWBNmIwoZ147P6qi7U6vt0PNgBQ,21380
25
25
  holmes/core/tools_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  holmes/core/tools_utils/tool_executor.py,sha256=wLuyr1O8zkNXaZ_MzWm5hUDcOI3tB9I4YiserDhIu-E,2375
27
27
  holmes/core/tools_utils/toolset_utils.py,sha256=SvWzen8Fg_TB_6Idw1hK0nCPrJL40ueWVMfsv8Kh2RY,2363
28
28
  holmes/core/toolset_manager.py,sha256=PVmhRaSZntcJ_-jE3W2vHwZgAXIprPIgq0YMGYhmcZs,18451
29
29
  holmes/core/tracing.py,sha256=j7tC4xuPHTU3s1m8Y7kClNfGOSBTHBINFkr1NmYe51Y,8986
30
- holmes/interactive.py,sha256=YsWyuCXFLTYVuikmVjwwnoqOMBqB1nXKR2vEKVCni0w,39669
31
- holmes/main.py,sha256=tgavFfpzB2MPc6X_NNral0MYyooDXwYj2_3ncf8YYUE,34842
30
+ holmes/interactive.py,sha256=l1kh0ABXO_RWIzkEuLkedM-73k1ezENAvXMrgNeqsKA,41836
31
+ holmes/main.py,sha256=e_J4B1oMPbBiKz8cf-m_UJbhdk98AgAPS1LsU67PEe8,34813
32
32
  holmes/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  holmes/plugins/destinations/__init__.py,sha256=vMYwTfA5nQ05us5Rzbaoe0R5C8Navo6ENVZhojtACTk,98
34
34
  holmes/plugins/destinations/slack/__init__.py,sha256=HVoDdTbdJJ1amXt12ZSMVcn3E04rcOrqk6BgNwvMbWY,56
@@ -39,7 +39,7 @@ holmes/plugins/prompts/_ai_safety.jinja2,sha256=IoVdOXHnkGwLaiuUzMczEdoahyrKhkdY
39
39
  holmes/plugins/prompts/_current_date_time.jinja2,sha256=KynAvkQFqf_SXjqVY77nB8z4RgN7gti4SBSq1H7moHs,354
40
40
  holmes/plugins/prompts/_default_log_prompt.jinja2,sha256=Tqw8CD2ZMStXIfMdYaoZT_d-FvQ_PMg6-knqag-YEgc,1478
41
41
  holmes/plugins/prompts/_fetch_logs.jinja2,sha256=-rM-bYRGOlQa0KlheCXR4b0UcED1F7nHnHgnsqbx_PM,3988
42
- holmes/plugins/prompts/_general_instructions.jinja2,sha256=AEAKYlqryhuAQcGj9MJPXyy2wG_fN0FFHsDGhHHWiFk,5588
42
+ holmes/plugins/prompts/_general_instructions.jinja2,sha256=0RB5TFGqhbQ-xNt2_oHXJjvMIBLThuRDusBbbEruy2w,5777
43
43
  holmes/plugins/prompts/_global_instructions.jinja2,sha256=d_c-BtDhU_Rmx637TPAyzlIIim8ZAxy7JK3V4GV8IWI,1359
44
44
  holmes/plugins/prompts/_permission_errors.jinja2,sha256=gIMQx-zaTnuEv7SkQVC_GvxsR5R85fLuDZnJIKWcm5A,480
45
45
  holmes/plugins/prompts/_runbook_instructions.jinja2,sha256=ngm3rmPPvgPG-9fjtR3yVb84YQNdNWfWShDGIag1JnY,1121
@@ -51,7 +51,7 @@ holmes/plugins/prompts/generic_investigation.jinja2,sha256=Uy544GeWzANqGL3M0ix48
51
51
  holmes/plugins/prompts/generic_post_processing.jinja2,sha256=1YNBGKgpZkLNO6Xkbi4yqwWE2DZKACq4xl0ygywgY_w,596
52
52
  holmes/plugins/prompts/generic_ticket.jinja2,sha256=FVWvPVnX0JSeBbKu1RuBUcQ7hcsqz661n_QC_kWUPV0,437
53
53
  holmes/plugins/prompts/investigation_output_format.jinja2,sha256=C03_d4cQUhEvI5YBoVSkSZypM21wriGrocN4iP1_8co,1071
54
- holmes/plugins/prompts/investigation_procedure.jinja2,sha256=4om_wYqZAnUhttQ13yLJDqk72ki6XLWRkllV9Tl76X4,10258
54
+ holmes/plugins/prompts/investigation_procedure.jinja2,sha256=iyMJv3hb3fNjvmFItN1rKY7pfQUQIE_Mm7pd2RX1gYo,10185
55
55
  holmes/plugins/prompts/kubernetes_workload_ask.jinja2,sha256=C6iclMZ9n64nUvvc28WxzXixMT8s-7z1owMxSDvyVrk,5930
56
56
  holmes/plugins/prompts/kubernetes_workload_chat.jinja2,sha256=rjB6mAHk2SDg2cwZp5vp66ihCer17BE6o8Ezr2zGQE4,1770
57
57
  holmes/plugins/runbooks/CLAUDE.md,sha256=WYjf-ZvKmfrShmhTHplLscIpIB1j2TrrG6C_LR63XR0,5511
@@ -69,13 +69,13 @@ holmes/plugins/sources/pagerduty/__init__.py,sha256=LYoN1dkUg7NCx7g-gdSomTTJhHyB
69
69
  holmes/plugins/sources/prometheus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  holmes/plugins/sources/prometheus/models.py,sha256=9TcDIRLWZQhwjYGfRZFP_2fGweCn4G5xvYrLoXiQZTc,2904
71
71
  holmes/plugins/sources/prometheus/plugin.py,sha256=oBmuOwNM67suy6HmasUnyVOlBq9-mAxLZLlUzRHIggg,5941
72
- holmes/plugins/toolsets/__init__.py,sha256=XlRcdghP-7g0qT6AxhusPu60LHyLK046ykZwpAo_jSQ,7366
72
+ holmes/plugins/toolsets/__init__.py,sha256=gBsTeiDyOas213SMERuX2TvLUMvhwivwRXNEC3Eqj_Q,7473
73
73
  holmes/plugins/toolsets/aks-node-health.yaml,sha256=RHtJUd6h1EEXEq4AMGrxrGSW7r2Ahx-qq-v9a6jp408,3159
74
74
  holmes/plugins/toolsets/aks.yaml,sha256=oa8XogT1c-lqEL08muvpCzrXArbGL7MXUS2yUqX0sec,5744
75
- holmes/plugins/toolsets/argocd.yaml,sha256=ir3FkRiwVB9e_5_LwYfMx8Zi_1CnSQ13Iq6UL4Lg76s,3949
75
+ holmes/plugins/toolsets/argocd.yaml,sha256=lbRIooJIkpumNdRgoDRHTjNb9PvFTfjQcT0iWU2x8mg,3932
76
76
  holmes/plugins/toolsets/atlas_mongodb/instructions.jinja2,sha256=iyft4EwvYcImI_YrMte8_BTJZXGV6i0k84g3oKXR23k,988
77
- holmes/plugins/toolsets/atlas_mongodb/mongodb_atlas.py,sha256=piiIIcOeVBL76xcZEx5-bl7JC0J4TNPXE-vS7C0FXHQ,15258
78
- holmes/plugins/toolsets/aws.yaml,sha256=AZ15JNdlS2RGASteNhBt2vfJhWAulVfteO94gedBus8,4121
77
+ holmes/plugins/toolsets/atlas_mongodb/mongodb_atlas.py,sha256=43L4zX22RQSkwCzhTEQh-y3fw51nMztqUZDVH_uGqzE,15522
78
+ holmes/plugins/toolsets/aws.yaml,sha256=AM5MizvfHeGFoCRr6kf3Wcd6y_EAhSDqtZajTFrLVfE,4475
79
79
  holmes/plugins/toolsets/azure_sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  holmes/plugins/toolsets/azure_sql/apis/alert_monitoring_api.py,sha256=DSrKzzE6lofynViYr0SGaQrWjePpzbfdt3DcplbFGek,26397
81
81
  holmes/plugins/toolsets/azure_sql/apis/azure_sql_api.py,sha256=2znPN2RcmyoErx3IXFy3CELJvmm799HoraYUC75c4R8,11498
@@ -87,16 +87,16 @@ holmes/plugins/toolsets/azure_sql/azure_sql_instructions.jinja2,sha256=GvuxActao
87
87
  holmes/plugins/toolsets/azure_sql/azure_sql_toolset.py,sha256=l87m6mieP8-uTpj_NDRXbom43YP4b6TzOhnGyvn4r8c,8069
88
88
  holmes/plugins/toolsets/azure_sql/install.md,sha256=eBhdG-OG9HhbrEGvI31aAHRPWwBQne6H95mvBROqZ_s,1585
89
89
  holmes/plugins/toolsets/azure_sql/tools/__init__.py,sha256=lEYFZ5X0mHdqwmi6XXTlM1qA7sBYsuQwVCXmluo-L34,25
90
- holmes/plugins/toolsets/azure_sql/tools/analyze_connection_failures.py,sha256=GAB3H-zWuB2-AZnZobA3EklD7KwvFEnKuLJdH5ZCFME,13277
91
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_connections.py,sha256=auiNtIwOZj5yLDtGXXw5lZKLJ2NPxtxc8cn1hZWi4Gk,10383
92
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_health_status.py,sha256=dbPs7MX7sdC8o7vuwdRhFgYNSIJeejd8hdgyvEIXb-0,8240
93
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_performance.py,sha256=GZ3rn8NKekMcbJt5PCIuBC42F7IYxHIapbCLoCW7GbE,10611
94
- holmes/plugins/toolsets/azure_sql/tools/analyze_database_storage.py,sha256=ROE9S4jCgXfvC6mBRq4KhbvsWgwZaB6hbZQc-0PrAws,15924
95
- holmes/plugins/toolsets/azure_sql/tools/get_active_alerts.py,sha256=yyk-JYd_ekTgrH3a_EmXoLHjMiXnhsGoo6R6sYHRUUA,9323
96
- holmes/plugins/toolsets/azure_sql/tools/get_slow_queries.py,sha256=Qws6GIe-s0hgJpLXLKhPl4P8lUfftpEliX-cWaUP788,7202
97
- holmes/plugins/toolsets/azure_sql/tools/get_top_cpu_queries.py,sha256=VIbbrIMZtZf_b-X-7I7byG7hzXg0Hrgx2MdAc-GDtGc,7153
98
- holmes/plugins/toolsets/azure_sql/tools/get_top_data_io_queries.py,sha256=xGKjLMmxy1MY0QYOeZc7e7QiDTpNL3AhhxQzUpnbq40,8179
99
- holmes/plugins/toolsets/azure_sql/tools/get_top_log_io_queries.py,sha256=68fEIbymGppNGh4gAFz4Uvz0gLsTn41EuAfoz07Oe3w,7554
90
+ holmes/plugins/toolsets/azure_sql/tools/analyze_connection_failures.py,sha256=u7P_r86bq7BGUyPT_aw5CipZ5Za4WfDV9HP5EKGAMhM,13320
91
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_connections.py,sha256=Rx4kap1H8BNOW5uYdWw-zTGt1CiFmRozf_FWjCilkeE,10426
92
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_health_status.py,sha256=BEZ80oa4ZechEEIKWg7fNMTQe0kVGCK-2fXMBO7X5Xs,8283
93
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_performance.py,sha256=IT83YpUMy9qgKisar65Y_p6w4Np5AZ1H0rDKAZuIGLg,10654
94
+ holmes/plugins/toolsets/azure_sql/tools/analyze_database_storage.py,sha256=hVybjmQNg4xwJSWyWsxsHdP4fkzbUvfyvXiU_571cRo,15967
95
+ holmes/plugins/toolsets/azure_sql/tools/get_active_alerts.py,sha256=C-FvoPA_uEgcJ8TQFqT9xUKSkw5ozAsoRrc0EyniX3I,9366
96
+ holmes/plugins/toolsets/azure_sql/tools/get_slow_queries.py,sha256=ZdVlkPb6cPRF0bNPFij6Pi0-bA5wRt3thD_RcNbvk1g,7245
97
+ holmes/plugins/toolsets/azure_sql/tools/get_top_cpu_queries.py,sha256=lkZofwEDoU5f7MJew9wqpLWCXnt9CM3OjIor7qSeYq0,7196
98
+ holmes/plugins/toolsets/azure_sql/tools/get_top_data_io_queries.py,sha256=2Dkemoa6aKyG2S0PA3SDrGzpqBT0zLZcbsqWz8VtJOs,8222
99
+ holmes/plugins/toolsets/azure_sql/tools/get_top_log_io_queries.py,sha256=LoBI-433YVwmM_puY4IrjB3cALev87pbI7TLbCl7wTs,7597
100
100
  holmes/plugins/toolsets/azure_sql/utils.py,sha256=nN8ZcVpkOa05nocY4W1gf7aaaNhzn2oD-P0STYQK2Ck,2331
101
101
  holmes/plugins/toolsets/bash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
102
  holmes/plugins/toolsets/bash/argocd/__init__.py,sha256=1ck-b82embOjsiiZkvuDChXiFaNYFwl5xW-ysBRB4vA,2186
@@ -106,7 +106,7 @@ holmes/plugins/toolsets/bash/aws/constants.py,sha256=g8IH1CLkAZuV8SQEQrUVjLul7S2
106
106
  holmes/plugins/toolsets/bash/azure/__init__.py,sha256=FsLA_v_otjuo_COEw8Hmiuh5_aQ3RWRIstECeBAS5hg,1863
107
107
  holmes/plugins/toolsets/bash/azure/constants.py,sha256=jz2R8-EiSjGjAPBTtIAbLwfyHOJPVmI117wp-u_e8Kc,10361
108
108
  holmes/plugins/toolsets/bash/bash_instructions.jinja2,sha256=AKVW1DpD6lii8cF582LZzEe9sOh3YJCerXBapwlEKhU,481
109
- holmes/plugins/toolsets/bash/bash_toolset.py,sha256=tcwlRp7vFpLu-tFmhHlpfQjFRHLDW1NxTHJ310i901E,9299
109
+ holmes/plugins/toolsets/bash/bash_toolset.py,sha256=RSjgTIOlh23nrswKhZhg7-me7yWFJtocdBQZ_jCoFHo,9498
110
110
  holmes/plugins/toolsets/bash/common/bash.py,sha256=qFMLLgdi_RuNY_TRLIyM33JJuoXm--7zj4Xq25baAMY,1783
111
111
  holmes/plugins/toolsets/bash/common/bash_command.py,sha256=aGlzQnUQHpEK3BNwztESassqzKQ5PFObwvHcFn5GQIY,4570
112
112
  holmes/plugins/toolsets/bash/common/config.py,sha256=dRd_gl16e2jG_gk6_mRVT6o3idiVXJ-8CtBONAx1DOU,285
@@ -137,70 +137,73 @@ holmes/plugins/toolsets/bash/utilities/tail.py,sha256=GGHQoMAos0j5kN0EGSq_oQ63j9
137
137
  holmes/plugins/toolsets/bash/utilities/tr.py,sha256=4X3_816-ur6dDMyuJdS2ZwqdKz9aqqOHzqx-yi2m1cs,2157
138
138
  holmes/plugins/toolsets/bash/utilities/uniq.py,sha256=bod-81lXO7-EQiy73A9aaDnc-RkrclwdBJ4rS_rUyn8,320
139
139
  holmes/plugins/toolsets/bash/utilities/wc.py,sha256=EhhRcKjb9QNI51uUjftyzzHQucCawkTU3AB2cviTV90,287
140
- holmes/plugins/toolsets/confluence.yaml,sha256=E4C9ZC2e_4KsN7sK_3NLSNGA_nqrNDjYR01mGA0xosM,785
140
+ holmes/plugins/toolsets/confluence.yaml,sha256=WPflxrGKFA5VTcy5p4t2FY86oFECzoyTHkudUxhAL-k,768
141
141
  holmes/plugins/toolsets/consts.py,sha256=vxzGJBF1XNAE9CDteUFIYNRmOagmJ-ktFEfVEU8tHl0,205
142
- holmes/plugins/toolsets/coralogix/api.py,sha256=66DVwL_r7lldS1ahx3rcr60R7NCiE-21fcZPoY0v8Dk,5119
143
- holmes/plugins/toolsets/coralogix/toolset_coralogix_logs.py,sha256=rOX__HoK9DE0CcWF-tNWhO5UQQi2k198-3Gd-YpwR4I,3765
144
- holmes/plugins/toolsets/coralogix/utils.py,sha256=ogBAPDD46rCnlLjUb1sVVvjG2LntMoj7EBHW1CwqLjw,6036
145
- holmes/plugins/toolsets/datadog/datadog_api.py,sha256=FCgWVcEfiOA-JxHLn-NVIELktJEZmE5hRrGDZOLhhxw,5150
146
- holmes/plugins/toolsets/datadog/datadog_metrics_instructions.jinja2,sha256=xGBgpDq0Mfp1G5ThXdpI4En3et1vG6cMIYYEcMg6vFM,4070
142
+ holmes/plugins/toolsets/coralogix/api.py,sha256=25ZnTfAvh5ZHzDsjap8As87opjGbMSBMQSSqelw7Tm0,5178
143
+ holmes/plugins/toolsets/coralogix/toolset_coralogix_logs.py,sha256=lhAw0blKJTqEWe28e6zi_YuA6AqW0xa9AYa8ZInMbFc,3857
144
+ holmes/plugins/toolsets/coralogix/utils.py,sha256=z9AAgyDTaxVgeSwaYDXGthBBCn_865gq7j1XUbZ5M-o,6938
145
+ holmes/plugins/toolsets/datadog/datadog_api.py,sha256=5r9ViF5ABbnBWW-IfyPMntv3cA68hFEQ8t2MamBx-Lk,6841
146
+ holmes/plugins/toolsets/datadog/datadog_general_instructions.jinja2,sha256=Z0X7z_AlKtmw3kfDnz-aPJKOnSIX4bPPRz8gQZRCctk,8300
147
+ holmes/plugins/toolsets/datadog/datadog_logs_instructions.jinja2,sha256=1hV6dTSK-XB8tYx2Ek9hgaCQLGKPbSFYJmo7owy9vBk,2024
148
+ holmes/plugins/toolsets/datadog/datadog_metrics_instructions.jinja2,sha256=_59DzoVsoQVh73SRYhMBsK7jgKYVpWnadfI1AD_eLVY,4231
147
149
  holmes/plugins/toolsets/datadog/datadog_rds_instructions.jinja2,sha256=lbI6lkcMjG1CVKeL0XDkq5zl-fRDVxZ_t_CjS-Uh_OM,3119
148
150
  holmes/plugins/toolsets/datadog/datadog_traces_formatter.py,sha256=uTtWTrsbvO9cZcUDskJE9p5sEscieXwhEpxvRKkaiEw,10275
149
151
  holmes/plugins/toolsets/datadog/instructions_datadog_traces.jinja2,sha256=9j3-46UNE35DE2xBDTCRt1EedgNdgRXuC1u-X3yB-9I,1487
150
- holmes/plugins/toolsets/datadog/toolset_datadog_logs.py,sha256=bE-cBwQCXdjdCiw5V0fTtiKaTk9H1_wxWgbd8T2IHG0,9337
151
- holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py,sha256=7QPNYrAJ4A6dNsxRFliVxUS5Cu8_rSmRxsl3r9eQC0I,24453
152
- holmes/plugins/toolsets/datadog/toolset_datadog_rds.py,sha256=og5sj8tfjw9HqC44Jl6G2U-DniNoRA6iuMTjQVmmdnc,28927
153
- holmes/plugins/toolsets/datadog/toolset_datadog_traces.py,sha256=gXLxVYtukpqi6QjKnTmllXj8GFZCa2gVIns1toWSVFs,25927
154
- holmes/plugins/toolsets/docker.yaml,sha256=AlJnUF3GssiFPnmqB-EfAfptB7Eyr8BBZ__v898i7Gs,1576
155
- holmes/plugins/toolsets/git.py,sha256=mL-pBDnASsiAzqhTsIW1qQndU0wfJu779gG4OkhOWDM,31781
152
+ holmes/plugins/toolsets/datadog/toolset_datadog_general.py,sha256=vT6E6tBBQM70o793c3OXRgzdode91dlFMnh2_XNn8Ug,27274
153
+ holmes/plugins/toolsets/datadog/toolset_datadog_logs.py,sha256=2WbfvJRSj1sIvTshq1zdWvcpF5LmmnuBV-jE0xs0si8,9954
154
+ holmes/plugins/toolsets/datadog/toolset_datadog_metrics.py,sha256=cngHD2vEmqLJV0afg-JSlfPz43DtAY3yCTnlM-kQWss,24810
155
+ holmes/plugins/toolsets/datadog/toolset_datadog_rds.py,sha256=5nxqZ93Fx8AmGr7KvF76erk-YsFDIL35KhEJrWsklcQ,29015
156
+ holmes/plugins/toolsets/datadog/toolset_datadog_traces.py,sha256=yFkEzignhXVvC3KP-PmamhyssyEhKSWa2o8M0lYJiKU,26059
157
+ holmes/plugins/toolsets/docker.yaml,sha256=O0Q0z0kZS8_QBEhwrUfbXdGUn1nP1K9k0FlQd6EZVJ4,1559
158
+ holmes/plugins/toolsets/git.py,sha256=7D_LEtzHgrcQmIWOG6-hhSCESdZLNb4IWfDhrvxeGP8,32001
156
159
  holmes/plugins/toolsets/grafana/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
160
  holmes/plugins/toolsets/grafana/base_grafana_toolset.py,sha256=AjvbS4txSo97YqeeFlXUnu95oPFt8rB-CD1Ccf92a04,1760
158
161
  holmes/plugins/toolsets/grafana/common.py,sha256=BoPZwZ3_MSWGYhJ7lBOuWb292r4qfCiMBOXuXEKY8xA,2103
159
162
  holmes/plugins/toolsets/grafana/grafana_api.py,sha256=nq7KWoUAfFxp1-3VqKadPNKbTifLTgKUAZOFUH5QWUY,1665
160
163
  holmes/plugins/toolsets/grafana/loki_api.py,sha256=f7oTzfhJ1LojsPoAfsKt32ADWffLEywBJQWG9eyfb7I,2529
161
164
  holmes/plugins/toolsets/grafana/tempo_api.py,sha256=UbLfyzA5TbP-5jx4Dkc20xLlR-6Z4z-4nPKrMlzgCRU,3565
162
- holmes/plugins/toolsets/grafana/toolset_grafana.py,sha256=60xZ6ooeYqpkTY6TWK2tidKHxVT_e_jhb1fqxE8aPT4,4308
163
- holmes/plugins/toolsets/grafana/toolset_grafana_loki.py,sha256=b1dfXFLxDn8WmhZoM4W1BgHeyixtFuUHKfz2c-QOKUY,3754
164
- holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2,sha256=yJlMJSIuNa2WUMJhwsh4XiXPNrdJdnLxfc_Zx_slZYk,1053
165
- holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py,sha256=D7KXh9iVaSW8c9ogYWUbpUQA8O9rDv84DKb55l1DgWY,11722
165
+ holmes/plugins/toolsets/grafana/toolset_grafana.py,sha256=GsCxsaWNXzOoA6eoaH9LN6ezUcxdFSgg1iWpqqvcVX0,4882
166
+ holmes/plugins/toolsets/grafana/toolset_grafana_loki.py,sha256=Xc80raV16wlt05hdPslkb8ru40h2GYFc2Y80bR1bvlM,3846
167
+ holmes/plugins/toolsets/grafana/toolset_grafana_tempo.jinja2,sha256=AKRXmFTq6BTovJ6aC7dSbqfURRu0y6NTMLyp1ZJeVN4,1436
168
+ holmes/plugins/toolsets/grafana/toolset_grafana_tempo.py,sha256=A34_xlssBxbC3KmTLjwkvdCM1-5KR0oO9KO-c6irj2g,22719
166
169
  holmes/plugins/toolsets/grafana/trace_parser.py,sha256=O6fJqUwvpCKL5hAdDtPIZ3LkpTbcDSVPLlLIdNqAbuk,7025
167
- holmes/plugins/toolsets/helm.yaml,sha256=I_6LV-iF7za_X7u2aqzXp2_4sAAuJ1bhnImcMqyQPxQ,1621
168
- holmes/plugins/toolsets/internet/internet.py,sha256=DSGlfzhdjnWw8yTIhbMu6VVJqlp2SMIYANg1X9eOn90,7722
169
- holmes/plugins/toolsets/internet/notion.py,sha256=2EMiTmcvBZhDttPTereP4ynia8QgjaghlWGx7_lWw1c,4730
170
+ holmes/plugins/toolsets/helm.yaml,sha256=-IPDChKMHcxGbzA0z9GKczRshL-mD24cHpBizfNM1jM,1604
171
+ holmes/plugins/toolsets/internet/internet.py,sha256=zuI6tTdGF1ahg16xsIisRw3EPT6Tb1dCPlZ8bvCVry8,7749
172
+ holmes/plugins/toolsets/internet/notion.py,sha256=dIeXJUCOZBdGmcgJJWeH2RcTyXdPsfNONj7T0_5iap4,4757
170
173
  holmes/plugins/toolsets/investigator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
- holmes/plugins/toolsets/investigator/core_investigation.py,sha256=yVvRRiYGxjiW3DVSL2Mq_ZMLM3N5AqjzIflwHZaLTgo,5670
172
- holmes/plugins/toolsets/investigator/investigator_instructions.jinja2,sha256=eGdvHPm2NtAFI4NLOE4-D8VMdODK2OTqDo4QRANIH5M,14495
174
+ holmes/plugins/toolsets/investigator/core_investigation.py,sha256=24GCRO5oDd9Jhkl4te9Kj6XBiq9LkGZ-NY7tZmKKp9o,5233
175
+ holmes/plugins/toolsets/investigator/investigator_instructions.jinja2,sha256=C6y6OaJI2dQSLSw7Zq9-D-sWmL5K_40zRItvkzVAdH4,13967
173
176
  holmes/plugins/toolsets/investigator/model.py,sha256=6AE9Iy05GaX3gC9ChTtZQOFGjSUsas_pB9_YyDaJXP0,342
174
- holmes/plugins/toolsets/kafka.py,sha256=rNRqx-NWoCI63klbgdLnBK-hi_4Tnh8omxZWE5Gx6FQ,24420
175
- holmes/plugins/toolsets/kubernetes.yaml,sha256=x-wYs0rQmwhD2_y0K5tR2Eh9GjQ4WzPAhdLvASm4zJc,15026
176
- holmes/plugins/toolsets/kubernetes_logs.py,sha256=g3D7VeGdmsBVkUJwAEgj_BCG4KhzK3aV2lGWrPWJZdw,32667
177
- holmes/plugins/toolsets/kubernetes_logs.yaml,sha256=j5BXf5FkUqfCb0ky3YguZ8-80ljhzefNbD9DTcGuWDc,2677
177
+ holmes/plugins/toolsets/kafka.py,sha256=7iIsiW0a7MCsehU2pB5-FRq0cuEat94xsK6FWBT3zkQ,24661
178
+ holmes/plugins/toolsets/kubernetes.yaml,sha256=JNMk1LHb52hTPWKR9vLEocMdzGijZWcDrv6JSaq9Teg,14848
179
+ holmes/plugins/toolsets/kubernetes_logs.py,sha256=toUanqfUEW3yGZhVhUA7bPJC3a64iZSlUQ-6jjVDq0Y,32754
180
+ holmes/plugins/toolsets/kubernetes_logs.yaml,sha256=cpfd7CpDl6oLPApBFQXUFxsI-QOdIlolpDAI7hsMvyE,2655
178
181
  holmes/plugins/toolsets/logging_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
- holmes/plugins/toolsets/logging_utils/logging_api.py,sha256=sE87D7K6hYVQ9DG-Nzc2iW4XctIAXG7D79miCc0ZmE0,11053
182
+ holmes/plugins/toolsets/logging_utils/logging_api.py,sha256=seW5DNSzREQx4nmkt9NEqN21j8jTPNSJyOkCrdcdWoQ,11615
180
183
  holmes/plugins/toolsets/logging_utils/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
- holmes/plugins/toolsets/mcp/toolset_mcp.py,sha256=zv3JOjUuCuL-USbq5MFXNc-1vXW_ceMHBE2V9h4L9Ls,4831
182
- holmes/plugins/toolsets/newrelic.py,sha256=ROQhNMy2jXkFTO8srqY7DFntUwNNpVCwNApQzZWVXN4,7719
184
+ holmes/plugins/toolsets/mcp/toolset_mcp.py,sha256=tYc_fjBE3ycM2HPJjwW_EviSb2B8Psf3pj_AnMQZ01g,4874
185
+ holmes/plugins/toolsets/newrelic.py,sha256=diC1zNhV9awH0in7WdOL_L5PaLFQ_u_F-JCSHptGmKY,7843
183
186
  holmes/plugins/toolsets/opensearch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
- holmes/plugins/toolsets/opensearch/opensearch.py,sha256=B3EiPprducAf2Onq7EeKJQWwwaLlDian8OS5QB7C5OM,8450
185
- holmes/plugins/toolsets/opensearch/opensearch_logs.py,sha256=0-QULPz3KgpFogmXH8Nh1AZ1P4xIY3-5HR8zGtYAz6I,5767
186
- holmes/plugins/toolsets/opensearch/opensearch_traces.py,sha256=eg_oFMttClcsr-7Nu9r7UesnBh4YVSO31IB81-e0uw0,8699
187
+ holmes/plugins/toolsets/opensearch/opensearch.py,sha256=rLbwYQJbKsPRA57rbo9Kae9v7SNd8B0GZqHVUk3UJWQ,8616
188
+ holmes/plugins/toolsets/opensearch/opensearch_logs.py,sha256=-WlOPzjLwQuEoKi_4r5KZZNnKuvBZO0EFO2NnFflf1M,5859
189
+ holmes/plugins/toolsets/opensearch/opensearch_traces.py,sha256=d-q9S6XKAestwk2WrPYqA5f5ViltH5PaAyly3FhhZ10,8776
187
190
  holmes/plugins/toolsets/opensearch/opensearch_traces_instructions.jinja2,sha256=Xn8AW4XCMYV1VkBbF8nNB9fUpKQ1Vbm88iFczj-LQXo,1035
188
191
  holmes/plugins/toolsets/opensearch/opensearch_utils.py,sha256=mh9Wp22tOdJYmA9IaFS7tD3aEENljyeuPOsF-lEe5C0,5097
189
- holmes/plugins/toolsets/prometheus/prometheus.py,sha256=Y52Prt2XM3bFnB3maxUi5ZfknFBr8NumwDbyBdBmDas,35747
192
+ holmes/plugins/toolsets/prometheus/prometheus.py,sha256=rA23Y8Jwu6jsUPGOH0hX0kbfV0yI-XysQwR33tL43gA,39179
190
193
  holmes/plugins/toolsets/prometheus/prometheus_instructions.jinja2,sha256=7IR5cIIhLKkFFVjuJh6Lg6HkuNuyTt9WYKMAo_nZMqs,2842
191
194
  holmes/plugins/toolsets/rabbitmq/api.py,sha256=-BtqF7hQWtl_OamnQ521vYHhR8E2n2wcPNYxfI9r4kQ,14307
192
195
  holmes/plugins/toolsets/rabbitmq/rabbitmq_instructions.jinja2,sha256=qetmtJUMkx9LIihr2fSJ2EV9h2J-b-ZdUAvMtopXZYY,3105
193
- holmes/plugins/toolsets/rabbitmq/toolset_rabbitmq.py,sha256=0luE5Aw0a6vH90VDfWlVnA0jLongqRbpuVivv4FHg0c,9152
196
+ holmes/plugins/toolsets/rabbitmq/toolset_rabbitmq.py,sha256=4-hM42XFIFwVVt-9XjMOtO2Y86cgByKpqdP65foB_l8,9223
194
197
  holmes/plugins/toolsets/robusta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
195
- holmes/plugins/toolsets/robusta/robusta.py,sha256=2P-k0ABP2Vm-4DW7v-E9nmTuPPdGXauEeaOALFMjZJ8,8751
198
+ holmes/plugins/toolsets/robusta/robusta.py,sha256=MDDD51yuISEpeSuH5ms8m3oFUPP5kIn-xr_k9ToWRrY,8863
196
199
  holmes/plugins/toolsets/robusta/robusta_instructions.jinja2,sha256=E3UxlbyoNx96Fsk6d1laBTrnca1nLreWGMWnGPD2KbI,2060
197
200
  holmes/plugins/toolsets/runbook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
198
- holmes/plugins/toolsets/runbook/runbook_fetcher.py,sha256=go5_0m7kj8i_XVnbqUYt671p7TjfDPmJNKRfiPlQ7eg,6721
201
+ holmes/plugins/toolsets/runbook/runbook_fetcher.py,sha256=-rnrcc_3NMxpZiE-QpOwoTVNb3qBWgfkPYmaaCYCtDQ,6723
199
202
  holmes/plugins/toolsets/service_discovery.py,sha256=QVrCCVcTE7APqyr0C44MGmJyCW9Ft-Ac-Wr4XfFBfjA,3268
200
203
  holmes/plugins/toolsets/servicenow/install.md,sha256=UeL069Qd2e4wC3kmc54wk62AoSpyeizKWV6NB1jUYVM,1217
201
204
  holmes/plugins/toolsets/servicenow/instructions.jinja2,sha256=koA2vJ1tOkGi2T5aGjmk9oTZPrt7WdoMSuVyxfO5-k4,491
202
- holmes/plugins/toolsets/servicenow/servicenow.py,sha256=f93KxsljNQ5POPak-yIR_l6GqLTWGI4cL-sIisJvuWs,8374
203
- holmes/plugins/toolsets/slab.yaml,sha256=lZcN3OLQYUZMBqYBQZvzmD8yojaIAo4455ES8AvTotk,694
205
+ holmes/plugins/toolsets/servicenow/servicenow.py,sha256=i8cA3w2JiK8RzmXCukz7iRM704zFjqCodB5l0g6liRA,8506
206
+ holmes/plugins/toolsets/slab.yaml,sha256=1Pz0Rzs0B6-TnJiiN2w8qJ9E_bh2haQn0mfhTszaZE0,677
204
207
  holmes/plugins/toolsets/utils.py,sha256=AaopqyljTUtkHgDKcgrVDDQvnmdQWKLch9aOZai-VwM,4413
205
208
  holmes/plugins/utils.py,sha256=Wn_UxZMB4V2_UiJDNy0pifGnIGS_zUwRhUlmttCywnY,372
206
209
  holmes/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -224,8 +227,8 @@ holmes/utils/pydantic_utils.py,sha256=g0e0jLTa8Je8JKrhEP4N5sMxj0_hhPOqFZr0Vpd67s
224
227
  holmes/utils/stream.py,sha256=Z9duSET8uXx-1dqPBjGuDKBxkJMaMsCrOqOXrVbtjGw,2806
225
228
  holmes/utils/tags.py,sha256=SU4EZMBtLlIb7OlHsSpguFaypczRzOcuHYxDSanV3sQ,3364
226
229
  holmes/version.py,sha256=uDRPOvVaHreROj_9HPe81RVpTzHcG8ojpGTsnJIlQOM,5220
227
- holmesgpt-0.13.1.dist-info/LICENSE.txt,sha256=RdZMj8VXRQdVslr6PMYMbAEu5pOjOdjDqt3yAmWb9Ds,1072
228
- holmesgpt-0.13.1.dist-info/METADATA,sha256=p4woVVwyO6hHxd54WjDt87-CmaV3nJl0Om0FJj4vlrg,16194
229
- holmesgpt-0.13.1.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
230
- holmesgpt-0.13.1.dist-info/entry_points.txt,sha256=JdzEyZhpaYr7Boo4uy4UZgzY1VsAEbzMgGmHZtx9KFY,42
231
- holmesgpt-0.13.1.dist-info/RECORD,,
230
+ holmesgpt-0.13.2.dist-info/LICENSE.txt,sha256=RdZMj8VXRQdVslr6PMYMbAEu5pOjOdjDqt3yAmWb9Ds,1072
231
+ holmesgpt-0.13.2.dist-info/METADATA,sha256=HX9g-wTHyO3kWf-SFNb-StNxY5rTgBkzHJv-laWsDX4,16237
232
+ holmesgpt-0.13.2.dist-info/WHEEL,sha256=kLuE8m1WYU0Ig0_YEGrXyTtiJvKPpLpDEiChiNyei5Y,88
233
+ holmesgpt-0.13.2.dist-info/entry_points.txt,sha256=JdzEyZhpaYr7Boo4uy4UZgzY1VsAEbzMgGmHZtx9KFY,42
234
+ holmesgpt-0.13.2.dist-info/RECORD,,
@@ -1,88 +0,0 @@
1
- from typing import Dict, List
2
- from threading import Lock
3
-
4
- from holmes.plugins.toolsets.investigator.model import Task, TaskStatus
5
-
6
-
7
- class TodoListManager:
8
- """
9
- Session-based storage manager for investigation TodoLists.
10
- Stores TodoLists per session and provides methods to get/update tasks.
11
- """
12
-
13
- def __init__(self):
14
- self._sessions: Dict[str, List[Task]] = {}
15
- self._lock: Lock = Lock()
16
-
17
- def get_session_tasks(self, session_id: str) -> List[Task]:
18
- with self._lock:
19
- return self._sessions.get(session_id, []).copy()
20
-
21
- def update_session_tasks(self, session_id: str, tasks: List[Task]) -> None:
22
- with self._lock:
23
- self._sessions[session_id] = tasks.copy()
24
-
25
- def clear_session(self, session_id: str) -> None:
26
- with self._lock:
27
- if session_id in self._sessions:
28
- del self._sessions[session_id]
29
-
30
- def get_session_count(self) -> int:
31
- with self._lock:
32
- return len(self._sessions)
33
-
34
- def format_tasks_for_prompt(self, session_id: str) -> str:
35
- """
36
- Format tasks for injection into system prompt.
37
- Returns empty string if no tasks exist.
38
- """
39
- tasks = self.get_session_tasks(session_id)
40
-
41
- if not tasks:
42
- return ""
43
-
44
- status_order = {
45
- TaskStatus.PENDING: 0,
46
- TaskStatus.IN_PROGRESS: 1,
47
- TaskStatus.COMPLETED: 2,
48
- }
49
-
50
- sorted_tasks = sorted(
51
- tasks,
52
- key=lambda t: (status_order.get(t.status, 3),),
53
- )
54
-
55
- lines = ["# CURRENT INVESTIGATION TASKS"]
56
- lines.append("")
57
-
58
- pending_count = sum(1 for t in tasks if t.status == TaskStatus.PENDING)
59
- progress_count = sum(1 for t in tasks if t.status == TaskStatus.IN_PROGRESS)
60
- completed_count = sum(1 for t in tasks if t.status == TaskStatus.COMPLETED)
61
-
62
- lines.append(
63
- f"**Task Status**: {completed_count} completed, {progress_count} in progress, {pending_count} pending"
64
- )
65
- lines.append("")
66
-
67
- for task in sorted_tasks:
68
- status_indicator = {
69
- TaskStatus.PENDING: "[ ]",
70
- TaskStatus.IN_PROGRESS: "[~]",
71
- TaskStatus.COMPLETED: "[✓]",
72
- }.get(task.status, "[?]")
73
-
74
- lines.append(f"{status_indicator} [{task.id}] {task.content}")
75
-
76
- lines.append("")
77
- lines.append(
78
- "**Instructions**: Use TodoWrite tool to update task status as you work. Mark tasks as 'in_progress' when starting, 'completed' when finished."
79
- )
80
-
81
- return "\n".join(lines)
82
-
83
-
84
- _todo_manager = TodoListManager()
85
-
86
-
87
- def get_todo_manager() -> TodoListManager:
88
- return _todo_manager