honeycomb-api 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- honeycomb/__init__.py +217 -0
- honeycomb/_generated/__init__.py +8 -0
- honeycomb/_generated/api/__init__.py +1 -0
- honeycomb/_generated/api/auth/__init__.py +0 -0
- honeycomb/_generated/api/auth/get_auth.py +172 -0
- honeycomb/_generated/api/auth/get_v2_auth.py +168 -0
- honeycomb/_generated/api/boards/__init__.py +0 -0
- honeycomb/_generated/api/boards/create_board.py +217 -0
- honeycomb/_generated/api/boards/create_board_view.py +237 -0
- honeycomb/_generated/api/boards/delete_board.py +191 -0
- honeycomb/_generated/api/boards/delete_board_view.py +210 -0
- honeycomb/_generated/api/boards/get_board.py +208 -0
- honeycomb/_generated/api/boards/get_board_view.py +214 -0
- honeycomb/_generated/api/boards/list_board_views.py +206 -0
- honeycomb/_generated/api/boards/list_boards.py +177 -0
- honeycomb/_generated/api/boards/update_board.py +238 -0
- honeycomb/_generated/api/boards/update_board_view.py +250 -0
- honeycomb/_generated/api/burn_alerts/__init__.py +0 -0
- honeycomb/_generated/api/burn_alerts/create_burn_alert.py +224 -0
- honeycomb/_generated/api/burn_alerts/delete_burn_alert.py +204 -0
- honeycomb/_generated/api/burn_alerts/get_burn_alert.py +208 -0
- honeycomb/_generated/api/burn_alerts/list_burn_alerts_by_slo.py +220 -0
- honeycomb/_generated/api/calculated_fields/__init__.py +0 -0
- honeycomb/_generated/api/calculated_fields/create_calculated_field.py +239 -0
- honeycomb/_generated/api/calculated_fields/delete_calculated_field.py +225 -0
- honeycomb/_generated/api/calculated_fields/get_calculated_field.py +207 -0
- honeycomb/_generated/api/calculated_fields/list_calculated_fields.py +252 -0
- honeycomb/_generated/api/calculated_fields/update_calculated_field.py +242 -0
- honeycomb/_generated/api/columns/__init__.py +0 -0
- honeycomb/_generated/api/columns/create_column.py +241 -0
- honeycomb/_generated/api/columns/delete_column.py +221 -0
- honeycomb/_generated/api/columns/get_column.py +206 -0
- honeycomb/_generated/api/columns/list_columns.py +256 -0
- honeycomb/_generated/api/columns/update_column.py +242 -0
- honeycomb/_generated/api/dataset_definitions/__init__.py +0 -0
- honeycomb/_generated/api/dataset_definitions/list_dataset_definitions.py +193 -0
- honeycomb/_generated/api/dataset_definitions/patch_dataset_definitions.py +235 -0
- honeycomb/_generated/api/datasets/__init__.py +0 -0
- honeycomb/_generated/api/datasets/create_dataset.py +227 -0
- honeycomb/_generated/api/datasets/delete_dataset.py +251 -0
- honeycomb/_generated/api/datasets/get_dataset.py +195 -0
- honeycomb/_generated/api/datasets/list_datasets.py +177 -0
- honeycomb/_generated/api/datasets/update_dataset.py +217 -0
- honeycomb/_generated/api/enhance/__init__.py +0 -0
- honeycomb/_generated/api/enhance/record_enhance_indexer_usage.py +231 -0
- honeycomb/_generated/api/environments/__init__.py +0 -0
- honeycomb/_generated/api/environments/create_environment.py +247 -0
- honeycomb/_generated/api/environments/delete_environment.py +245 -0
- honeycomb/_generated/api/environments/get_environment.py +213 -0
- honeycomb/_generated/api/environments/list_environments.py +245 -0
- honeycomb/_generated/api/environments/update_environment.py +254 -0
- honeycomb/_generated/api/events/__init__.py +0 -0
- honeycomb/_generated/api/events/create_event.py +269 -0
- honeycomb/_generated/api/events/create_events.py +314 -0
- honeycomb/_generated/api/key_management/__init__.py +0 -0
- honeycomb/_generated/api/key_management/create_api_key.py +286 -0
- honeycomb/_generated/api/key_management/delete_api_key.py +223 -0
- honeycomb/_generated/api/key_management/get_api_key.py +225 -0
- honeycomb/_generated/api/key_management/list_api_keys.py +281 -0
- honeycomb/_generated/api/key_management/update_api_key.py +270 -0
- honeycomb/_generated/api/kinesis_events/__init__.py +0 -0
- honeycomb/_generated/api/kinesis_events/create_kinesis_events.py +220 -0
- honeycomb/_generated/api/marker_settings/__init__.py +0 -0
- honeycomb/_generated/api/marker_settings/create_marker_setting.py +209 -0
- honeycomb/_generated/api/marker_settings/delete_marker_settings.py +194 -0
- honeycomb/_generated/api/marker_settings/list_marker_settings.py +186 -0
- honeycomb/_generated/api/marker_settings/update_marker_settings.py +230 -0
- honeycomb/_generated/api/markers/__init__.py +0 -0
- honeycomb/_generated/api/markers/create_marker.py +220 -0
- honeycomb/_generated/api/markers/create_marker_v2.py +253 -0
- honeycomb/_generated/api/markers/delete_marker.py +200 -0
- honeycomb/_generated/api/markers/get_marker.py +194 -0
- honeycomb/_generated/api/markers/update_marker.py +233 -0
- honeycomb/_generated/api/markers/update_marker_v2.py +262 -0
- honeycomb/_generated/api/pipelines/__init__.py +0 -0
- honeycomb/_generated/api/pipelines/get_pipeline_configuration.py +306 -0
- honeycomb/_generated/api/pipelines/record_pipeline_usage.py +244 -0
- honeycomb/_generated/api/pipelines/update_pipeline_configuration_rollout.py +261 -0
- honeycomb/_generated/api/queries/__init__.py +0 -0
- honeycomb/_generated/api/queries/create_query.py +224 -0
- honeycomb/_generated/api/queries/get_query.py +208 -0
- honeycomb/_generated/api/query_annotations/__init__.py +0 -0
- honeycomb/_generated/api/query_annotations/create_query_annotation.py +226 -0
- honeycomb/_generated/api/query_annotations/delete_query_annotation.py +198 -0
- honeycomb/_generated/api/query_annotations/get_query_annotation.py +202 -0
- honeycomb/_generated/api/query_annotations/list_query_annotations.py +217 -0
- honeycomb/_generated/api/query_annotations/update_query_annotation.py +237 -0
- honeycomb/_generated/api/query_data/__init__.py +0 -0
- honeycomb/_generated/api/query_data/create_query_result.py +247 -0
- honeycomb/_generated/api/query_data/get_query_result.py +208 -0
- honeycomb/_generated/api/recipients/__init__.py +0 -0
- honeycomb/_generated/api/recipients/create_recipient.py +317 -0
- honeycomb/_generated/api/recipients/delete_recipient.py +199 -0
- honeycomb/_generated/api/recipients/get_recipient.py +252 -0
- honeycomb/_generated/api/recipients/list_recipients.py +230 -0
- honeycomb/_generated/api/recipients/update_recipient.py +323 -0
- honeycomb/_generated/api/reporting/__init__.py +0 -0
- honeycomb/_generated/api/reporting/get_slo_history.py +218 -0
- honeycomb/_generated/api/service_maps/__init__.py +0 -0
- honeycomb/_generated/api/service_maps/create_map_dependency_request.py +252 -0
- honeycomb/_generated/api/service_maps/get_map_dependencies.py +265 -0
- honeycomb/_generated/api/sl_os/__init__.py +0 -0
- honeycomb/_generated/api/sl_os/create_slo.py +229 -0
- honeycomb/_generated/api/sl_os/delete_slo.py +210 -0
- honeycomb/_generated/api/sl_os/get_slo.py +256 -0
- honeycomb/_generated/api/sl_os/list_slos.py +210 -0
- honeycomb/_generated/api/sl_os/update_slo.py +242 -0
- honeycomb/_generated/api/triggers/__init__.py +0 -0
- honeycomb/_generated/api/triggers/create_trigger.py +250 -0
- honeycomb/_generated/api/triggers/delete_trigger.py +204 -0
- honeycomb/_generated/api/triggers/get_trigger.py +214 -0
- honeycomb/_generated/api/triggers/list_triggers.py +206 -0
- honeycomb/_generated/api/triggers/list_triggers_with_recipient.py +208 -0
- honeycomb/_generated/api/triggers/update_trigger.py +248 -0
- honeycomb/_generated/client.py +271 -0
- honeycomb/_generated/errors.py +14 -0
- honeycomb/_generated/models/__init__.py +561 -0
- honeycomb/_generated/models/api_key_create_request.py +78 -0
- honeycomb/_generated/models/api_key_create_request_data.py +130 -0
- honeycomb/_generated/models/api_key_create_request_data_relationships.py +78 -0
- honeycomb/_generated/models/api_key_create_request_data_type.py +7 -0
- honeycomb/_generated/models/api_key_list_response.py +112 -0
- honeycomb/_generated/models/api_key_object.py +189 -0
- honeycomb/_generated/models/api_key_object_links.py +74 -0
- honeycomb/_generated/models/api_key_object_relationships.py +150 -0
- honeycomb/_generated/models/api_key_object_type.py +7 -0
- honeycomb/_generated/models/api_key_response.py +78 -0
- honeycomb/_generated/models/api_key_update_request.py +104 -0
- honeycomb/_generated/models/auth.py +140 -0
- honeycomb/_generated/models/auth_api_key_access.py +154 -0
- honeycomb/_generated/models/auth_environment.py +82 -0
- honeycomb/_generated/models/auth_team.py +82 -0
- honeycomb/_generated/models/auth_type.py +8 -0
- honeycomb/_generated/models/auth_v2_response.py +108 -0
- honeycomb/_generated/models/auth_v2_response_data.py +122 -0
- honeycomb/_generated/models/auth_v2_response_data_attributes.py +141 -0
- honeycomb/_generated/models/auth_v2_response_data_attributes_key_type.py +7 -0
- honeycomb/_generated/models/auth_v2_response_data_attributes_timestamps.py +107 -0
- honeycomb/_generated/models/auth_v2_response_data_relationships.py +59 -0
- honeycomb/_generated/models/auth_v2_response_data_type.py +7 -0
- honeycomb/_generated/models/base_trigger.py +367 -0
- honeycomb/_generated/models/base_trigger_alert_type.py +8 -0
- honeycomb/_generated/models/base_trigger_baseline_details_type_0.py +92 -0
- honeycomb/_generated/models/base_trigger_baseline_details_type_0_offset_minutes.py +10 -0
- honeycomb/_generated/models/base_trigger_baseline_details_type_0_type.py +8 -0
- honeycomb/_generated/models/base_trigger_evaluation_schedule.py +83 -0
- honeycomb/_generated/models/base_trigger_evaluation_schedule_type.py +8 -0
- honeycomb/_generated/models/base_trigger_evaluation_schedule_window.py +103 -0
- honeycomb/_generated/models/base_trigger_evaluation_schedule_window_days_of_week_item.py +13 -0
- honeycomb/_generated/models/base_trigger_threshold.py +95 -0
- honeycomb/_generated/models/base_trigger_threshold_op.py +10 -0
- honeycomb/_generated/models/batch_event.py +110 -0
- honeycomb/_generated/models/board.py +276 -0
- honeycomb/_generated/models/board_layout_generation.py +8 -0
- honeycomb/_generated/models/board_links.py +74 -0
- honeycomb/_generated/models/board_panel_position.py +104 -0
- honeycomb/_generated/models/board_query_visualization_settings.py +141 -0
- honeycomb/_generated/models/board_query_visualization_settings_charts_item.py +113 -0
- honeycomb/_generated/models/board_query_visualization_settings_charts_item_chart_type.py +13 -0
- honeycomb/_generated/models/board_type.py +7 -0
- honeycomb/_generated/models/board_view_filter.py +93 -0
- honeycomb/_generated/models/board_view_filter_operation.py +22 -0
- honeycomb/_generated/models/board_view_response.py +111 -0
- honeycomb/_generated/models/budget_rate.py +189 -0
- honeycomb/_generated/models/budget_rate_alert_type.py +8 -0
- honeycomb/_generated/models/burn_alert_shared_params.py +136 -0
- honeycomb/_generated/models/calculated_field.py +117 -0
- honeycomb/_generated/models/configuration_key_attributes.py +140 -0
- honeycomb/_generated/models/configuration_key_attributes_key_type.py +7 -0
- honeycomb/_generated/models/configuration_key_attributes_timestamps.py +107 -0
- honeycomb/_generated/models/create_board_view_request.py +96 -0
- honeycomb/_generated/models/create_budget_rate_burn_alert_request.py +232 -0
- honeycomb/_generated/models/create_budget_rate_burn_alert_request_slo.py +74 -0
- honeycomb/_generated/models/create_column.py +149 -0
- honeycomb/_generated/models/create_column_type.py +11 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request.py +78 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data.py +90 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes.py +97 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data.py +88 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item.py +89 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item.py +89 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item.py +97 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum.py +102 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_aggregation_temporality.py +7 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item.py +105 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item.py +87 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item_value.py +73 -0
- honeycomb/_generated/models/create_enhance_indexer_usage_record_request_data_type.py +7 -0
- honeycomb/_generated/models/create_environment_request.py +78 -0
- honeycomb/_generated/models/create_environment_request_data.py +90 -0
- honeycomb/_generated/models/create_environment_request_data_attributes.py +102 -0
- honeycomb/_generated/models/create_environment_request_data_type.py +7 -0
- honeycomb/_generated/models/create_events_content_encoding.py +8 -0
- honeycomb/_generated/models/create_events_response_200_item.py +82 -0
- honeycomb/_generated/models/create_exhaustion_time_burn_alert_request.py +217 -0
- honeycomb/_generated/models/create_exhaustion_time_burn_alert_request_slo.py +74 -0
- honeycomb/_generated/models/create_map_dependencies_request.py +128 -0
- honeycomb/_generated/models/create_map_dependencies_response.py +97 -0
- honeycomb/_generated/models/create_map_dependencies_response_status.py +9 -0
- honeycomb/_generated/models/create_pipeline_health_record_request.py +78 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data.py +98 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes.py +88 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data.py +88 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item.py +89 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item.py +89 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item.py +97 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum.py +102 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_aggregation_temporality.py +7 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item.py +105 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item.py +87 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_attributes_usage_data_resource_metrics_item_scope_metrics_item_metrics_item_sum_datapoints_item_attributes_item_value.py +73 -0
- honeycomb/_generated/models/create_pipeline_health_record_request_data_type.py +7 -0
- honeycomb/_generated/models/create_query_result_request.py +118 -0
- honeycomb/_generated/models/dataset.py +183 -0
- honeycomb/_generated/models/dataset_creation_payload.py +93 -0
- honeycomb/_generated/models/dataset_definition_type_1.py +96 -0
- honeycomb/_generated/models/dataset_definition_type_1_column_type.py +8 -0
- honeycomb/_generated/models/dataset_definitions.py +599 -0
- honeycomb/_generated/models/dataset_relationship.py +79 -0
- honeycomb/_generated/models/dataset_relationship_data.py +82 -0
- honeycomb/_generated/models/dataset_relationship_data_type.py +7 -0
- honeycomb/_generated/models/dataset_settings.py +73 -0
- honeycomb/_generated/models/dataset_update_payload.py +105 -0
- honeycomb/_generated/models/dataset_update_payload_settings.py +73 -0
- honeycomb/_generated/models/detailed_error.py +115 -0
- honeycomb/_generated/models/email_recipient.py +160 -0
- honeycomb/_generated/models/email_recipient_details.py +71 -0
- honeycomb/_generated/models/email_recipient_type.py +7 -0
- honeycomb/_generated/models/environment.py +112 -0
- honeycomb/_generated/models/environment_attributes.py +140 -0
- honeycomb/_generated/models/environment_attributes_color_type_1.py +7 -0
- honeycomb/_generated/models/environment_attributes_settings.py +70 -0
- honeycomb/_generated/models/environment_color.py +16 -0
- honeycomb/_generated/models/environment_links.py +70 -0
- honeycomb/_generated/models/environment_list_response.py +112 -0
- honeycomb/_generated/models/environment_relationship.py +79 -0
- honeycomb/_generated/models/environment_relationship_data.py +82 -0
- honeycomb/_generated/models/environment_relationship_data_type.py +7 -0
- honeycomb/_generated/models/environment_response.py +78 -0
- honeycomb/_generated/models/environment_type.py +7 -0
- honeycomb/_generated/models/error.py +74 -0
- honeycomb/_generated/models/event.py +71 -0
- honeycomb/_generated/models/exhaustion_time.py +174 -0
- honeycomb/_generated/models/exhaustion_time_alert_type.py +8 -0
- honeycomb/_generated/models/exhaustion_time_burn_alert_list_response.py +198 -0
- honeycomb/_generated/models/exhaustion_time_burn_alert_list_response_slo.py +77 -0
- honeycomb/_generated/models/filter_op.py +22 -0
- honeycomb/_generated/models/get_map_dependencies_response.py +169 -0
- honeycomb/_generated/models/get_map_dependencies_response_status.py +9 -0
- honeycomb/_generated/models/having_calculate_op.py +29 -0
- honeycomb/_generated/models/having_op.py +12 -0
- honeycomb/_generated/models/included_resource.py +106 -0
- honeycomb/_generated/models/included_resource_attributes.py +62 -0
- honeycomb/_generated/models/ingest_key_attributes.py +153 -0
- honeycomb/_generated/models/ingest_key_attributes_key_type.py +7 -0
- honeycomb/_generated/models/ingest_key_attributes_permissions.py +74 -0
- honeycomb/_generated/models/ingest_key_attributes_timestamps.py +107 -0
- honeycomb/_generated/models/ingest_key_type.py +90 -0
- honeycomb/_generated/models/ingest_key_type_key_type.py +7 -0
- honeycomb/_generated/models/jsonapi_error_source.py +92 -0
- honeycomb/_generated/models/kinesis_event.py +111 -0
- honeycomb/_generated/models/kinesis_event_record.py +73 -0
- honeycomb/_generated/models/kinesis_response.py +91 -0
- honeycomb/_generated/models/list_api_keys_filtertype.py +8 -0
- honeycomb/_generated/models/map_dependency.py +118 -0
- honeycomb/_generated/models/map_node.py +97 -0
- honeycomb/_generated/models/map_node_type.py +7 -0
- honeycomb/_generated/models/marker.py +151 -0
- honeycomb/_generated/models/marker_create_request.py +78 -0
- honeycomb/_generated/models/marker_create_request_data.py +104 -0
- honeycomb/_generated/models/marker_create_request_data_attributes.py +110 -0
- honeycomb/_generated/models/marker_create_request_data_relationships.py +92 -0
- honeycomb/_generated/models/marker_create_request_data_type.py +7 -0
- honeycomb/_generated/models/marker_object.py +136 -0
- honeycomb/_generated/models/marker_object_attributes.py +146 -0
- honeycomb/_generated/models/marker_object_attributes_timestamps.py +107 -0
- honeycomb/_generated/models/marker_object_links.py +74 -0
- honeycomb/_generated/models/marker_object_relationships.py +111 -0
- honeycomb/_generated/models/marker_object_relationships_dataset.py +104 -0
- honeycomb/_generated/models/marker_object_relationships_dataset_data_type_0.py +94 -0
- honeycomb/_generated/models/marker_object_relationships_dataset_data_type_0_type.py +7 -0
- honeycomb/_generated/models/marker_object_type.py +7 -0
- honeycomb/_generated/models/marker_response.py +78 -0
- honeycomb/_generated/models/marker_setting.py +125 -0
- honeycomb/_generated/models/marker_update_request.py +78 -0
- honeycomb/_generated/models/marker_update_request_data.py +104 -0
- honeycomb/_generated/models/marker_update_request_data_attributes.py +111 -0
- honeycomb/_generated/models/marker_update_request_data_relationships.py +92 -0
- honeycomb/_generated/models/marker_update_request_data_type.py +7 -0
- honeycomb/_generated/models/ms_teams_recipient.py +161 -0
- honeycomb/_generated/models/ms_teams_recipient_details.py +80 -0
- honeycomb/_generated/models/ms_teams_recipient_type.py +7 -0
- honeycomb/_generated/models/ms_teams_workflow_recipient.py +161 -0
- honeycomb/_generated/models/ms_teams_workflow_recipient_details.py +80 -0
- honeycomb/_generated/models/ms_teams_workflow_recipient_type.py +7 -0
- honeycomb/_generated/models/notification_recipient.py +131 -0
- honeycomb/_generated/models/notification_recipient_details.py +117 -0
- honeycomb/_generated/models/notification_recipient_details_pagerduty_severity.py +10 -0
- honeycomb/_generated/models/notification_recipient_details_variables_item.py +81 -0
- honeycomb/_generated/models/pager_duty_recipient.py +160 -0
- honeycomb/_generated/models/pager_duty_recipient_details.py +79 -0
- honeycomb/_generated/models/pager_duty_recipient_type.py +7 -0
- honeycomb/_generated/models/pagination_links.py +80 -0
- honeycomb/_generated/models/payload_template.py +73 -0
- honeycomb/_generated/models/pipeline_configuration_response.py +112 -0
- honeycomb/_generated/models/pipeline_configuration_response_attributes.py +101 -0
- honeycomb/_generated/models/pipeline_configuration_response_attributes_configs_item.py +85 -0
- honeycomb/_generated/models/pipeline_configuration_response_links.py +73 -0
- honeycomb/_generated/models/pipeline_configuration_response_type.py +7 -0
- honeycomb/_generated/models/pipeline_configuration_rollout.py +112 -0
- honeycomb/_generated/models/pipeline_configuration_rollout_attributes.py +75 -0
- honeycomb/_generated/models/pipeline_configuration_rollout_attributes_status.py +12 -0
- honeycomb/_generated/models/pipeline_configuration_rollout_links.py +73 -0
- honeycomb/_generated/models/pipeline_configuration_rollout_type.py +7 -0
- honeycomb/_generated/models/preset_filter.py +78 -0
- honeycomb/_generated/models/query.py +346 -0
- honeycomb/_generated/models/query_annotation.py +166 -0
- honeycomb/_generated/models/query_annotation_source.py +8 -0
- honeycomb/_generated/models/query_calculated_fields_item.py +80 -0
- honeycomb/_generated/models/query_calculations_item.py +98 -0
- honeycomb/_generated/models/query_compare_time_offset_seconds.py +14 -0
- honeycomb/_generated/models/query_filter_combination.py +8 -0
- honeycomb/_generated/models/query_filters_item.py +126 -0
- honeycomb/_generated/models/query_havings_item.py +128 -0
- honeycomb/_generated/models/query_op.py +30 -0
- honeycomb/_generated/models/query_orders_item.py +115 -0
- honeycomb/_generated/models/query_orders_item_order.py +8 -0
- honeycomb/_generated/models/query_panel.py +114 -0
- honeycomb/_generated/models/query_panel_query_panel.py +143 -0
- honeycomb/_generated/models/query_panel_query_panel_query_style.py +9 -0
- honeycomb/_generated/models/query_result.py +130 -0
- honeycomb/_generated/models/query_result_details.py +156 -0
- honeycomb/_generated/models/query_result_details_data.py +188 -0
- honeycomb/_generated/models/query_result_details_links.py +85 -0
- honeycomb/_generated/models/query_result_links.py +85 -0
- honeycomb/_generated/models/query_results_data.py +89 -0
- honeycomb/_generated/models/query_results_data_data.py +71 -0
- honeycomb/_generated/models/query_results_series.py +97 -0
- honeycomb/_generated/models/recipient_properties.py +137 -0
- honeycomb/_generated/models/recipient_type.py +12 -0
- honeycomb/_generated/models/slack_recipient.py +160 -0
- honeycomb/_generated/models/slack_recipient_details.py +71 -0
- honeycomb/_generated/models/slack_recipient_type.py +7 -0
- honeycomb/_generated/models/slo.py +245 -0
- honeycomb/_generated/models/slo_create.py +245 -0
- honeycomb/_generated/models/slo_create_sli.py +75 -0
- honeycomb/_generated/models/slo_detailed_response.py +312 -0
- honeycomb/_generated/models/slo_detailed_response_status.py +10 -0
- honeycomb/_generated/models/slo_history.py +94 -0
- honeycomb/_generated/models/slo_history_request.py +93 -0
- honeycomb/_generated/models/slo_history_response.py +91 -0
- honeycomb/_generated/models/slo_panel.py +114 -0
- honeycomb/_generated/models/slo_panel_slo_panel.py +75 -0
- honeycomb/_generated/models/slo_sli.py +74 -0
- honeycomb/_generated/models/tag.py +79 -0
- honeycomb/_generated/models/team_relationship.py +78 -0
- honeycomb/_generated/models/team_relationship_team.py +78 -0
- honeycomb/_generated/models/team_relationship_team_data.py +82 -0
- honeycomb/_generated/models/team_relationship_team_data_type.py +7 -0
- honeycomb/_generated/models/template_variable_definition.py +81 -0
- honeycomb/_generated/models/text_panel.py +114 -0
- honeycomb/_generated/models/text_panel_text_panel.py +71 -0
- honeycomb/_generated/models/trigger_response.py +399 -0
- honeycomb/_generated/models/trigger_with_inline_query.py +390 -0
- honeycomb/_generated/models/trigger_with_inline_query_query.py +60 -0
- honeycomb/_generated/models/trigger_with_query_reference.py +376 -0
- honeycomb/_generated/models/update_board_view_request.py +107 -0
- honeycomb/_generated/models/update_environment_request.py +78 -0
- honeycomb/_generated/models/update_environment_request_data.py +98 -0
- honeycomb/_generated/models/update_environment_request_data_attributes.py +118 -0
- honeycomb/_generated/models/update_environment_request_data_attributes_settings.py +73 -0
- honeycomb/_generated/models/update_environment_request_data_type.py +7 -0
- honeycomb/_generated/models/update_exhaustion_time_burn_alert_request.py +202 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout.py +98 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_attributes.py +75 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_attributes_status.py +12 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request.py +78 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data.py +98 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_attributes.py +75 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_attributes_status.py +12 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_request_data_type.py +7 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_response.py +78 -0
- honeycomb/_generated/models/update_pipeline_configuration_rollout_type.py +7 -0
- honeycomb/_generated/models/user_relationship.py +78 -0
- honeycomb/_generated/models/user_relationship_data.py +82 -0
- honeycomb/_generated/models/user_relationship_data_type.py +7 -0
- honeycomb/_generated/models/validation_error.py +145 -0
- honeycomb/_generated/models/validation_error_type_detail_item.py +103 -0
- honeycomb/_generated/models/validation_error_type_detail_item_code.py +10 -0
- honeycomb/_generated/models/webhook_header.py +81 -0
- honeycomb/_generated/models/webhook_recipient.py +160 -0
- honeycomb/_generated/models/webhook_recipient_details.py +142 -0
- honeycomb/_generated/models/webhook_recipient_details_webhook_payloads.py +117 -0
- honeycomb/_generated/models/webhook_recipient_details_webhook_payloads_payload_templates.py +126 -0
- honeycomb/_generated/models/webhook_recipient_type.py +7 -0
- honeycomb/_generated/py.typed +1 -0
- honeycomb/_generated/types.py +46 -0
- honeycomb/auth.py +152 -0
- honeycomb/client.py +736 -0
- honeycomb/exceptions.py +236 -0
- honeycomb/models/__init__.py +157 -0
- honeycomb/models/api_keys.py +81 -0
- honeycomb/models/board_builder.py +387 -0
- honeycomb/models/boards.py +86 -0
- honeycomb/models/burn_alerts.py +124 -0
- honeycomb/models/columns.py +59 -0
- honeycomb/models/datasets.py +51 -0
- honeycomb/models/derived_columns.py +107 -0
- honeycomb/models/environments.py +106 -0
- honeycomb/models/events.py +35 -0
- honeycomb/models/marker_builder.py +136 -0
- honeycomb/models/markers.py +73 -0
- honeycomb/models/queries.py +210 -0
- honeycomb/models/query_annotations.py +63 -0
- honeycomb/models/query_builder.py +840 -0
- honeycomb/models/recipient_builder.py +248 -0
- honeycomb/models/recipients.py +43 -0
- honeycomb/models/service_map_dependencies.py +126 -0
- honeycomb/models/slo_builder.py +463 -0
- honeycomb/models/slos.py +66 -0
- honeycomb/models/tags_mixin.py +79 -0
- honeycomb/models/trigger_builder.py +561 -0
- honeycomb/models/triggers.py +208 -0
- honeycomb/resources/__init__.py +35 -0
- honeycomb/resources/_recipient_utils.py +156 -0
- honeycomb/resources/api_keys.py +303 -0
- honeycomb/resources/base.py +142 -0
- honeycomb/resources/boards.py +350 -0
- honeycomb/resources/burn_alerts.py +205 -0
- honeycomb/resources/columns.py +185 -0
- honeycomb/resources/datasets.py +163 -0
- honeycomb/resources/derived_columns.py +233 -0
- honeycomb/resources/environments.py +295 -0
- honeycomb/resources/events.py +156 -0
- honeycomb/resources/markers.py +334 -0
- honeycomb/resources/queries.py +256 -0
- honeycomb/resources/query_annotations.py +207 -0
- honeycomb/resources/query_results.py +886 -0
- honeycomb/resources/recipients.py +202 -0
- honeycomb/resources/service_map_dependencies.py +389 -0
- honeycomb/resources/slos.py +353 -0
- honeycomb/resources/triggers.py +284 -0
- honeycomb/tools/__init__.py +85 -0
- honeycomb/tools/__main__.py +204 -0
- honeycomb/tools/builders.py +512 -0
- honeycomb/tools/descriptions.py +523 -0
- honeycomb/tools/executor.py +860 -0
- honeycomb/tools/generator.py +2386 -0
- honeycomb/tools/schemas.py +184 -0
- honeycomb_api-0.1.0.dist-info/METADATA +451 -0
- honeycomb_api-0.1.0.dist-info/RECORD +453 -0
- honeycomb_api-0.1.0.dist-info/WHEEL +4 -0
- honeycomb_api-0.1.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,523 @@
|
|
|
1
|
+
"""Hand-crafted tool descriptions for Claude tool definitions.
|
|
2
|
+
|
|
3
|
+
Each description follows the quality requirements:
|
|
4
|
+
1. What it does (1 sentence)
|
|
5
|
+
2. When to use it (1 sentence)
|
|
6
|
+
3. Key parameters explained (1-2 sentences)
|
|
7
|
+
4. Important caveats/limitations (if any)
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
# ==============================================================================
|
|
11
|
+
# Triggers (Alerts)
|
|
12
|
+
# ==============================================================================
|
|
13
|
+
|
|
14
|
+
TRIGGER_DESCRIPTIONS = {
|
|
15
|
+
"honeycomb_list_triggers": (
|
|
16
|
+
"Lists all triggers (alerts) configured in a Honeycomb dataset. "
|
|
17
|
+
"Use this to discover existing alerting rules before creating new ones or when migrating from another observability platform. "
|
|
18
|
+
"Requires the dataset slug parameter to specify which dataset's triggers to retrieve. "
|
|
19
|
+
"Returns a list of trigger objects with their IDs, names, thresholds, and recipient configurations."
|
|
20
|
+
),
|
|
21
|
+
"honeycomb_get_trigger": (
|
|
22
|
+
"Retrieves detailed configuration for a specific trigger by ID. "
|
|
23
|
+
"Use this to inspect an existing trigger's query specification, threshold settings, frequency, and recipients before modifying or replicating it. "
|
|
24
|
+
"Requires both the dataset slug and trigger ID parameters. "
|
|
25
|
+
"Returns the complete trigger configuration including the query spec, threshold operator and value, evaluation frequency, and notification recipients."
|
|
26
|
+
),
|
|
27
|
+
"honeycomb_create_trigger": (
|
|
28
|
+
"Creates a new trigger (alert) that fires when query results cross a threshold. "
|
|
29
|
+
"Use this when setting up alerting rules for service health monitoring, error rates, latency thresholds, or when migrating Datadog monitors to Honeycomb. "
|
|
30
|
+
"Requires a dataset, query specification with calculations and filters, threshold operator and value, and evaluation frequency in seconds. "
|
|
31
|
+
"The query can be provided inline with calculations, filters, and time range. "
|
|
32
|
+
"IMPORTANT: Recipients can be provided inline using the 'recipients' array - each recipient needs 'type' (email/webhook/slack/pagerduty/msteams) and 'target' (email address/URL/channel). "
|
|
33
|
+
"Inline recipient creation is PREFERRED - create trigger and recipients in one call for efficiency. Alternatively, you can reference existing recipient IDs. "
|
|
34
|
+
"Note: Trigger queries have a maximum time_range of 3600 seconds (1 hour) and support only a single calculation."
|
|
35
|
+
),
|
|
36
|
+
"honeycomb_update_trigger": (
|
|
37
|
+
"Updates an existing trigger's configuration including its query, threshold, frequency, or recipients. "
|
|
38
|
+
"Use this to adjust alerting thresholds, change notification targets, or update query filters as service behavior evolves. "
|
|
39
|
+
"Requires the dataset slug, trigger ID, and the complete updated trigger configuration. "
|
|
40
|
+
"Note: This replaces the entire trigger configuration, so include all fields you want to preserve."
|
|
41
|
+
),
|
|
42
|
+
"honeycomb_delete_trigger": (
|
|
43
|
+
"Permanently deletes a trigger from Honeycomb. "
|
|
44
|
+
"Use this when decommissioning services, consolidating redundant alerts, or cleaning up test triggers. "
|
|
45
|
+
"Requires both the dataset slug and trigger ID. "
|
|
46
|
+
"Warning: This action cannot be undone. The trigger will stop firing immediately and historical alert data will be lost."
|
|
47
|
+
),
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
# ==============================================================================
|
|
51
|
+
# SLOs (Service Level Objectives)
|
|
52
|
+
# ==============================================================================
|
|
53
|
+
|
|
54
|
+
SLO_DESCRIPTIONS = {
|
|
55
|
+
"honeycomb_list_slos": (
|
|
56
|
+
"Lists all Service Level Objectives (SLOs) defined in a Honeycomb dataset. "
|
|
57
|
+
"Use this to discover existing SLOs, review service reliability targets, or before creating related burn alerts. "
|
|
58
|
+
"Requires the dataset slug parameter. "
|
|
59
|
+
"Returns a list of SLO objects with their IDs, names, target percentages, time periods, and SLI (Service Level Indicator) definitions."
|
|
60
|
+
),
|
|
61
|
+
"honeycomb_get_slo": (
|
|
62
|
+
"Retrieves detailed configuration for a specific SLO by ID. "
|
|
63
|
+
"Use this to inspect an SLO's target percentage, time period, SLI expression, and associated burn alerts. "
|
|
64
|
+
"Requires both the dataset slug and SLO ID. "
|
|
65
|
+
"Returns the complete SLO configuration including the derived column used for the SLI calculation."
|
|
66
|
+
),
|
|
67
|
+
"honeycomb_create_slo": (
|
|
68
|
+
"Creates a new Service Level Objective (SLO) to track reliability targets, with automatic derived column creation if needed. "
|
|
69
|
+
"IMPORTANT: Use this tool (not honeycomb_create_derived_column) when you want to create an SLO - it will create both the SLI derived column AND the SLO in one operation. "
|
|
70
|
+
"Use this when defining reliability targets for services, such as 99.9% availability or p99 latency targets. "
|
|
71
|
+
"Requires a dataset, SLO name, target (as percentage, per-million, or nines), time period in days, and an SLI definition. "
|
|
72
|
+
"For the SLI, provide an alias and optionally an expression - if expression is provided, a new derived column is created inline; if only alias is provided, it uses an existing derived column. "
|
|
73
|
+
"You can also add burn alerts inline to notify when error budget depletes too quickly. "
|
|
74
|
+
"Supports both single-dataset and multi-dataset SLOs."
|
|
75
|
+
),
|
|
76
|
+
"honeycomb_update_slo": (
|
|
77
|
+
"Updates an existing SLO's target percentage, time period, or SLI configuration. "
|
|
78
|
+
"Use this to adjust reliability targets as service requirements change or to associate different derived columns. "
|
|
79
|
+
"Requires the dataset slug, SLO ID, and the complete updated SLO configuration. "
|
|
80
|
+
"Note: This replaces the entire SLO configuration. To update burn alerts separately, use burn alert tools instead."
|
|
81
|
+
),
|
|
82
|
+
"honeycomb_delete_slo": (
|
|
83
|
+
"Permanently deletes an SLO from Honeycomb. "
|
|
84
|
+
"Use this when decommissioning services, consolidating reliability metrics, or removing test SLOs. "
|
|
85
|
+
"Requires both the dataset slug and SLO ID. "
|
|
86
|
+
"Warning: This action cannot be undone. Associated burn alerts will also be deleted."
|
|
87
|
+
),
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
# ==============================================================================
|
|
91
|
+
# Burn Alerts (SLO Budget Alerts)
|
|
92
|
+
# ==============================================================================
|
|
93
|
+
|
|
94
|
+
BURN_ALERT_DESCRIPTIONS = {
|
|
95
|
+
"honeycomb_list_burn_alerts": (
|
|
96
|
+
"Lists all burn alerts configured for a specific SLO. "
|
|
97
|
+
"Use this to discover existing error budget alerts before creating new ones or when reviewing SLO alerting configuration. "
|
|
98
|
+
"Requires both the dataset slug and SLO ID parameters. "
|
|
99
|
+
"Returns a list of burn alert objects with their IDs, alert types (exhaustion_time or budget_rate), thresholds, and recipients."
|
|
100
|
+
),
|
|
101
|
+
"honeycomb_get_burn_alert": (
|
|
102
|
+
"Retrieves detailed configuration for a specific burn alert by ID. "
|
|
103
|
+
"Use this to inspect an existing burn alert's threshold, alert type, and recipient configuration. "
|
|
104
|
+
"Requires both the dataset slug and burn alert ID. "
|
|
105
|
+
"Returns the complete burn alert configuration including the SLO it's attached to."
|
|
106
|
+
),
|
|
107
|
+
"honeycomb_create_burn_alert": (
|
|
108
|
+
"Creates a new burn alert that fires when an SLO's error budget is depleting too quickly. "
|
|
109
|
+
"Use this to get early warning when service reliability is degrading, before completely exhausting your error budget. "
|
|
110
|
+
"Requires a dataset, the SLO ID to attach to, alert type (exhaustion_time or budget_rate), and threshold value. "
|
|
111
|
+
"For exhaustion_time alerts, specify the threshold in minutes (fires when budget will be exhausted in X minutes). "
|
|
112
|
+
"For budget_rate alerts, specify threshold as percentage drop within a time window. "
|
|
113
|
+
"Recipients are OPTIONAL - omit them to create a silent alert, or include inline recipients "
|
|
114
|
+
"(type + target) to create and attach them automatically."
|
|
115
|
+
),
|
|
116
|
+
"honeycomb_update_burn_alert": (
|
|
117
|
+
"Updates an existing burn alert's threshold, recipients, or alert type. "
|
|
118
|
+
"Use this to adjust alerting sensitivity as you learn about your service's error budget consumption patterns. "
|
|
119
|
+
"Requires the dataset slug, burn alert ID, and the complete updated burn alert configuration. "
|
|
120
|
+
"Note: This replaces the entire burn alert configuration, so include all fields you want to preserve."
|
|
121
|
+
),
|
|
122
|
+
"honeycomb_delete_burn_alert": (
|
|
123
|
+
"Permanently deletes a burn alert from an SLO. "
|
|
124
|
+
"Use this when adjusting SLO alerting strategy or removing redundant burn alerts. "
|
|
125
|
+
"Requires both the dataset slug and burn alert ID. "
|
|
126
|
+
"Warning: This action cannot be undone. The alert will stop firing immediately."
|
|
127
|
+
),
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
# ==============================================================================
|
|
131
|
+
# Datasets
|
|
132
|
+
# ==============================================================================
|
|
133
|
+
|
|
134
|
+
DATASET_DESCRIPTIONS = {
|
|
135
|
+
"honeycomb_list_datasets": (
|
|
136
|
+
"Lists all datasets in your Honeycomb environment (no parameters required). "
|
|
137
|
+
"Use this to discover existing datasets before creating new ones, when setting up observability for a new service, or when migrating data from another platform. "
|
|
138
|
+
"This operation requires no parameters - it automatically lists all datasets you have access to. "
|
|
139
|
+
"Returns a list of dataset objects including their slugs, names, descriptions, and metadata like creation timestamps and column counts."
|
|
140
|
+
),
|
|
141
|
+
"honeycomb_get_dataset": (
|
|
142
|
+
"Retrieves detailed information about a specific dataset by its slug. "
|
|
143
|
+
"Use this to inspect a dataset's configuration including its name, description, JSON expansion settings, and usage statistics. "
|
|
144
|
+
"Requires the dataset slug parameter. "
|
|
145
|
+
"Returns the complete dataset configuration including creation timestamp, last written timestamp, and regular columns count."
|
|
146
|
+
),
|
|
147
|
+
"honeycomb_create_dataset": (
|
|
148
|
+
"Creates a new dataset to store telemetry data in Honeycomb. "
|
|
149
|
+
"Use this when setting up observability for a new service, creating test environments, or segmenting data by application or team. "
|
|
150
|
+
"Requires a name parameter which will be converted to a URL-safe slug. "
|
|
151
|
+
"Optional parameters include description for documentation and expand_json_depth (0-10) to automatically expand nested JSON fields into separate columns. "
|
|
152
|
+
"The dataset slug will be automatically generated from the name and used for API operations."
|
|
153
|
+
),
|
|
154
|
+
"honeycomb_update_dataset": (
|
|
155
|
+
"Updates an existing dataset's name, description, or JSON expansion settings. "
|
|
156
|
+
"Use this to correct dataset metadata, add documentation, or adjust JSON parsing behavior as your schema evolves. "
|
|
157
|
+
"Requires the dataset slug and the complete updated configuration. "
|
|
158
|
+
"Note: The slug itself cannot be changed. Changing expand_json_depth only affects new events, not existing data."
|
|
159
|
+
),
|
|
160
|
+
"honeycomb_delete_dataset": (
|
|
161
|
+
"Permanently deletes a dataset and all its data from Honeycomb. "
|
|
162
|
+
"Use this when decommissioning services, cleaning up test datasets, or consolidating data storage. "
|
|
163
|
+
"Requires the dataset slug parameter. "
|
|
164
|
+
"Warning: This action cannot be undone. All events, columns, queries, triggers, and SLOs in this dataset will be permanently deleted."
|
|
165
|
+
),
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
# ==============================================================================
|
|
169
|
+
# Columns
|
|
170
|
+
# ==============================================================================
|
|
171
|
+
|
|
172
|
+
COLUMN_DESCRIPTIONS = {
|
|
173
|
+
"honeycomb_list_columns": (
|
|
174
|
+
"Lists all columns defined in a dataset's schema. "
|
|
175
|
+
"Use this to discover available fields for querying, understand your data structure, or validate that new columns are being sent correctly. "
|
|
176
|
+
"Requires the dataset slug parameter. "
|
|
177
|
+
"Returns a list of column objects including their IDs, key names, types (string, integer, float, boolean), descriptions, hidden status, and timestamps."
|
|
178
|
+
),
|
|
179
|
+
"honeycomb_get_column": (
|
|
180
|
+
"Retrieves detailed information about a specific column by its ID. "
|
|
181
|
+
"Use this to inspect a column's configuration including its data type, visibility, description, and usage statistics. "
|
|
182
|
+
"Requires both the dataset slug and column ID parameters. "
|
|
183
|
+
"Returns the complete column configuration including creation timestamp, last update timestamp, and last written timestamp."
|
|
184
|
+
),
|
|
185
|
+
"honeycomb_create_column": (
|
|
186
|
+
"Creates a new column in a dataset's schema. "
|
|
187
|
+
"Use this to pre-define columns before sending data, add metadata like descriptions, or create hidden columns for internal fields. "
|
|
188
|
+
"Requires the dataset slug and key_name (the column identifier). "
|
|
189
|
+
"Optional parameters include type (string, integer, float, boolean - defaults to string), description for documentation, and hidden flag to exclude from autocomplete. "
|
|
190
|
+
"Columns are automatically created when new fields appear in events, but pre-defining them allows you to set type and visibility."
|
|
191
|
+
),
|
|
192
|
+
"honeycomb_update_column": (
|
|
193
|
+
"Updates an existing column's description, type, or visibility settings. "
|
|
194
|
+
"Use this to add documentation to columns, change data types, or hide internal debugging fields from query builders. "
|
|
195
|
+
"Requires the dataset slug, column ID, and the complete updated column configuration. "
|
|
196
|
+
"Note: Changing the type doesn't convert existing data, it only affects how the column is displayed and queried in the UI."
|
|
197
|
+
),
|
|
198
|
+
"honeycomb_delete_column": (
|
|
199
|
+
"Permanently deletes a column from a dataset's schema. "
|
|
200
|
+
"Use this when cleaning up unused columns or removing fields that are no longer being sent. "
|
|
201
|
+
"Requires both the dataset slug and column ID parameters. "
|
|
202
|
+
"Warning: This action cannot be undone. The column definition will be removed, but existing event data containing this field is preserved."
|
|
203
|
+
),
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
# ==============================================================================
|
|
207
|
+
# Recipients
|
|
208
|
+
# ==============================================================================
|
|
209
|
+
|
|
210
|
+
RECIPIENT_DESCRIPTIONS = {
|
|
211
|
+
"honeycomb_list_recipients": (
|
|
212
|
+
"Lists all notification recipients configured in your Honeycomb environment (no parameters required). "
|
|
213
|
+
"Use this to discover existing notification targets before creating triggers, avoid duplicate recipients, or audit alerting destinations. "
|
|
214
|
+
"This operation requires no parameters - it automatically lists all recipients across all types (email, Slack, PagerDuty, webhooks, MS Teams). "
|
|
215
|
+
"Returns a list of recipient objects including their IDs, types, and configuration details."
|
|
216
|
+
),
|
|
217
|
+
"honeycomb_get_recipient": (
|
|
218
|
+
"Retrieves detailed configuration for a specific recipient by ID. "
|
|
219
|
+
"Use this to inspect a recipient's type and delivery details before updating it or when troubleshooting notification issues. "
|
|
220
|
+
"Requires the recipient ID parameter. "
|
|
221
|
+
"Returns the complete recipient configuration including type-specific details like email addresses, Slack channels, or webhook URLs."
|
|
222
|
+
),
|
|
223
|
+
"honeycomb_create_recipient": (
|
|
224
|
+
"Creates a new notification recipient for alert delivery. "
|
|
225
|
+
"Use this when setting up alerting for triggers or burn alerts, adding new on-call notification channels, or migrating alert destinations from another platform. "
|
|
226
|
+
"Requires a type (email, slack, pagerduty, webhook, msteams) and type-specific details object. "
|
|
227
|
+
"For email: provide 'email_address'. For Slack: provide 'channel'. For PagerDuty: provide 'routing_key'. For webhooks: provide 'url' and optionally 'secret'. "
|
|
228
|
+
"Recipients can be referenced by ID when creating or updating triggers and burn alerts."
|
|
229
|
+
),
|
|
230
|
+
"honeycomb_update_recipient": (
|
|
231
|
+
"Updates an existing recipient's configuration including its type or delivery details. "
|
|
232
|
+
"Use this to change notification destinations, update Slack channels, rotate webhook secrets, or fix incorrect email addresses. "
|
|
233
|
+
"Requires the recipient ID and the complete updated recipient configuration. "
|
|
234
|
+
"Note: This replaces the entire recipient configuration, so include all fields you want to preserve."
|
|
235
|
+
),
|
|
236
|
+
"honeycomb_delete_recipient": (
|
|
237
|
+
"Permanently deletes a recipient from Honeycomb. "
|
|
238
|
+
"Use this when removing unused notification channels, cleaning up test recipients, or decommissioning alert destinations. "
|
|
239
|
+
"Requires the recipient ID parameter. "
|
|
240
|
+
"Warning: This action cannot be undone. Any triggers or burn alerts using this recipient will have it removed from their notification list."
|
|
241
|
+
),
|
|
242
|
+
"honeycomb_get_recipient_triggers": (
|
|
243
|
+
"Retrieves all triggers that are configured to send notifications to a specific recipient. "
|
|
244
|
+
"Use this before deleting a recipient to understand impact, when auditing alert routing, or troubleshooting why notifications aren't being sent. "
|
|
245
|
+
"Requires the recipient ID parameter. "
|
|
246
|
+
"Returns a list of trigger objects that reference this recipient, showing which datasets and alerts would be affected by changes."
|
|
247
|
+
),
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
# ==============================================================================
|
|
251
|
+
# Derived Columns
|
|
252
|
+
# ==============================================================================
|
|
253
|
+
|
|
254
|
+
DERIVED_COLUMN_DESCRIPTIONS = {
|
|
255
|
+
"honeycomb_list_derived_columns": (
|
|
256
|
+
"Lists all derived columns (calculated fields) in a dataset. "
|
|
257
|
+
"Use this to discover existing calculated fields before creating new ones, understand available computed metrics, or audit data transformations. "
|
|
258
|
+
"Requires the dataset slug parameter (use '__all__' to list environment-wide derived columns). "
|
|
259
|
+
"Returns a list of derived column objects including their IDs, aliases, expressions, and descriptions."
|
|
260
|
+
),
|
|
261
|
+
"honeycomb_get_derived_column": (
|
|
262
|
+
"Retrieves detailed configuration for a specific derived column by ID. "
|
|
263
|
+
"Use this to inspect a derived column's expression syntax, alias, and description before modifying it. "
|
|
264
|
+
"Requires both the dataset slug and derived column ID parameters. "
|
|
265
|
+
"Returns the complete derived column configuration including the calculation expression and metadata."
|
|
266
|
+
),
|
|
267
|
+
"honeycomb_create_derived_column": (
|
|
268
|
+
"Creates a new standalone derived column that calculates values from event fields using expressions. "
|
|
269
|
+
"Use this for general-purpose computed metrics, data normalization, or calculations that will be used in multiple queries. "
|
|
270
|
+
"NOTE: If you are creating a derived column specifically for an SLO, use honeycomb_create_slo instead with an inline SLI expression - it creates both in one operation. "
|
|
271
|
+
"Requires the dataset slug (use '__all__' for environment-wide), an alias (the column name), and an expression using Honeycomb's query language. "
|
|
272
|
+
"Common expression functions include IF() for conditionals, EQUALS/LT/GT for comparisons, and field references with $ prefix (e.g., $status_code). "
|
|
273
|
+
"Optional description parameter documents the column's purpose for team members."
|
|
274
|
+
),
|
|
275
|
+
"honeycomb_update_derived_column": (
|
|
276
|
+
"Updates an existing derived column's alias, expression, or description. "
|
|
277
|
+
"Use this to fix calculation logic, rename computed fields, or improve documentation as your understanding evolves. "
|
|
278
|
+
"Requires the dataset slug, derived column ID, and the complete updated configuration. "
|
|
279
|
+
"Note: Changing the expression only affects new queries - existing query results are not recalculated."
|
|
280
|
+
),
|
|
281
|
+
"honeycomb_delete_derived_column": (
|
|
282
|
+
"Permanently deletes a derived column from a dataset. "
|
|
283
|
+
"Use this when removing unused calculated fields or cleaning up temporary analysis columns. "
|
|
284
|
+
"Requires both the dataset slug and derived column ID parameters. "
|
|
285
|
+
"Warning: This action cannot be undone. SLOs, triggers, or queries using this derived column may break if they reference it."
|
|
286
|
+
),
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
# ==============================================================================
|
|
290
|
+
# Queries
|
|
291
|
+
# ==============================================================================
|
|
292
|
+
|
|
293
|
+
QUERY_DESCRIPTIONS = {
|
|
294
|
+
"honeycomb_create_query": (
|
|
295
|
+
"Creates a new saved query in a dataset that can be reused in boards, analysis, or referenced by ID. "
|
|
296
|
+
"Use this to save frequently-used queries, create queries for dashboard panels, or prepare queries for trigger definitions. "
|
|
297
|
+
"Requires the dataset slug and query specification including time_range and calculations. "
|
|
298
|
+
"Optional annotation_name parameter creates the query with a display name for easier identification in the UI. "
|
|
299
|
+
"The query specification supports multiple calculations (unlike triggers which allow only one), filters, breakdowns, orders, havings, and limits for comprehensive data analysis."
|
|
300
|
+
),
|
|
301
|
+
"honeycomb_get_query": (
|
|
302
|
+
"Retrieves a saved query's configuration by its ID. "
|
|
303
|
+
"Use this to inspect an existing query's calculations, filters, time range, and other settings before modifying it or using it as a template. "
|
|
304
|
+
"Requires both the dataset slug and query ID parameters. "
|
|
305
|
+
"Returns the complete query specification including all calculation definitions, filter conditions, breakdown fields, and ordering rules."
|
|
306
|
+
),
|
|
307
|
+
"honeycomb_run_query": (
|
|
308
|
+
"Creates a saved query, executes it, and returns results with automatic polling until completion. "
|
|
309
|
+
"Use this for ad-hoc data analysis, investigating issues, or when you want both a saved query and immediate results in one operation. "
|
|
310
|
+
"Requires the dataset slug (or '__all__' for environment-wide queries) and query specification (time_range, calculations, optional filters/breakdowns/orders/havings/limit). "
|
|
311
|
+
"This tool performs two operations: first creates a permanent saved query, then executes it with polling and returns the query results including data rows and metadata. "
|
|
312
|
+
"Supports all query features including multiple calculations (COUNT, AVG, SUM, MIN, MAX, P50-P99, HEATMAP, RATE_*), complex filters, breakdowns, ordering, HAVING clauses, and result limits."
|
|
313
|
+
),
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
# ==============================================================================
|
|
317
|
+
# Boards
|
|
318
|
+
# ==============================================================================
|
|
319
|
+
|
|
320
|
+
BOARD_DESCRIPTIONS = {
|
|
321
|
+
"honeycomb_list_boards": (
|
|
322
|
+
"Lists all boards (dashboards) in your Honeycomb environment (no parameters required). "
|
|
323
|
+
"Use this to discover existing dashboards before creating new ones, audit dashboard organization, or find boards to update. "
|
|
324
|
+
"This operation requires no parameters - it automatically lists all boards you have access to. "
|
|
325
|
+
"Returns a list of board objects including their IDs, names, descriptions, panel configurations, and layout settings."
|
|
326
|
+
),
|
|
327
|
+
"honeycomb_get_board": (
|
|
328
|
+
"Retrieves detailed configuration for a specific board by its ID. "
|
|
329
|
+
"Use this to inspect a board's panel layout, query configurations, SLO displays, and text content before modifying it. "
|
|
330
|
+
"Requires the board ID parameter. "
|
|
331
|
+
"Returns the complete board configuration including all panel definitions, layout mode (auto or manual), tags, and links to visualizations."
|
|
332
|
+
),
|
|
333
|
+
"honeycomb_create_board": (
|
|
334
|
+
"Creates a new board (dashboard) with inline query panels, SLO panels, and text panels in a single operation. "
|
|
335
|
+
"Use this to build comprehensive dashboards for service monitoring, create SRE views, or consolidate related visualizations. "
|
|
336
|
+
"Requires a name and supports inline_query_panels (array of query definitions that will be created automatically), text_panels (markdown content), and slo_panels (SLO IDs). "
|
|
337
|
+
"Each inline query panel needs a name, dataset, time_range, and calculations - optionally include filters, breakdowns, orders, and limit. "
|
|
338
|
+
"Layout defaults to auto-layout (Honeycomb arranges panels) but supports manual layout with explicit positioning. "
|
|
339
|
+
"The tool orchestrates: creating all inline queries with annotations, assembling panel configurations, and creating the board with all panels in one API call."
|
|
340
|
+
),
|
|
341
|
+
"honeycomb_update_board": (
|
|
342
|
+
"Updates an existing board's name, description, or panel configuration. "
|
|
343
|
+
"Use this to add new panels, reorder visualizations, update board metadata, or reorganize dashboards as monitoring needs evolve. "
|
|
344
|
+
"Requires the board ID and the complete updated board configuration. "
|
|
345
|
+
"Note: This replaces the entire board configuration, so include all panels you want to preserve."
|
|
346
|
+
),
|
|
347
|
+
"honeycomb_delete_board": (
|
|
348
|
+
"Permanently deletes a board from Honeycomb. "
|
|
349
|
+
"Use this when removing outdated dashboards, cleaning up test boards, or consolidating overlapping views. "
|
|
350
|
+
"Requires the board ID parameter. "
|
|
351
|
+
"Warning: This action cannot be undone. The board and its panel configurations will be permanently deleted, but the underlying queries and SLOs are preserved."
|
|
352
|
+
),
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
# ==============================================================================
|
|
356
|
+
# Markers
|
|
357
|
+
# ==============================================================================
|
|
358
|
+
|
|
359
|
+
MARKER_DESCRIPTIONS = {
|
|
360
|
+
"honeycomb_list_markers": (
|
|
361
|
+
"Lists all markers (event annotations) in a dataset. "
|
|
362
|
+
"Use this to view deployment history, configuration changes, incidents, or other significant events marked on your data. "
|
|
363
|
+
"Requires the dataset slug parameter. "
|
|
364
|
+
"Returns a list of marker objects including their IDs, messages, types, timestamps, colors, and URLs."
|
|
365
|
+
),
|
|
366
|
+
"honeycomb_create_marker": (
|
|
367
|
+
"Creates a new marker to annotate your data with significant events like deployments, configuration changes, or incidents. "
|
|
368
|
+
"Use this to track deployments, mark maintenance windows, document configuration changes, or flag incidents for correlation with metrics. "
|
|
369
|
+
"Requires dataset slug (or '__all__' for environment-wide), message, and type parameters. "
|
|
370
|
+
"Optional color parameter (hex code like '#FF5733') can be provided for visual customization - if the marker setting for that type doesn't exist, it should be created first. "
|
|
371
|
+
"Optional start_time and end_time (Unix timestamps) create time-range markers, otherwise defaults to current time as a point marker."
|
|
372
|
+
),
|
|
373
|
+
"honeycomb_update_marker": (
|
|
374
|
+
"Updates an existing marker's message, type, timestamps, or URL. "
|
|
375
|
+
"Use this to correct marker details, update deployment notes, or adjust time ranges for maintenance windows. "
|
|
376
|
+
"Requires the dataset slug, marker ID, and updated marker configuration. "
|
|
377
|
+
"Note: Colors are controlled by marker settings, not directly on markers."
|
|
378
|
+
),
|
|
379
|
+
"honeycomb_delete_marker": (
|
|
380
|
+
"Permanently deletes a marker from a dataset. "
|
|
381
|
+
"Use this when removing incorrect markers, cleaning up test annotations, or removing outdated event tracking. "
|
|
382
|
+
"Requires both the dataset slug and marker ID parameters. "
|
|
383
|
+
"Warning: This action cannot be undone. The marker will be removed from all visualizations."
|
|
384
|
+
),
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
# ==============================================================================
|
|
388
|
+
# Marker Settings
|
|
389
|
+
# ==============================================================================
|
|
390
|
+
|
|
391
|
+
MARKER_SETTING_DESCRIPTIONS = {
|
|
392
|
+
"honeycomb_list_marker_settings": (
|
|
393
|
+
"Lists all marker type-to-color mappings for a dataset. "
|
|
394
|
+
"Use this as the primary way to view all marker settings, see which marker types have custom colors, or audit marker visualization configuration. "
|
|
395
|
+
"Requires the dataset slug parameter (or '__all__' for environment-wide settings). "
|
|
396
|
+
"Returns a list of all marker settings showing type names (e.g., 'deploy', 'incident') and their associated hex color codes."
|
|
397
|
+
),
|
|
398
|
+
"honeycomb_get_marker_setting": (
|
|
399
|
+
"Retrieves a specific marker setting by its ID. "
|
|
400
|
+
"Use this rarely when you need a specific setting by ID - prefer list_marker_settings to view all settings. "
|
|
401
|
+
"Requires both the dataset slug and setting ID parameters. "
|
|
402
|
+
"Returns the marker setting configuration including type name and color code."
|
|
403
|
+
),
|
|
404
|
+
"honeycomb_create_marker_setting": (
|
|
405
|
+
"Creates a new marker type-to-color mapping. "
|
|
406
|
+
"Use this to assign colors to marker types for visual consistency (e.g., deployments in green, incidents in red). "
|
|
407
|
+
"Requires the dataset slug (or '__all__' for environment-wide), marker type name, and hex color code (e.g., '#00FF00'). "
|
|
408
|
+
"Once created, all markers of this type will display in the specified color on graphs and timelines."
|
|
409
|
+
),
|
|
410
|
+
"honeycomb_update_marker_setting": (
|
|
411
|
+
"Updates an existing marker setting's type or color. "
|
|
412
|
+
"Use this to change marker colors for better visual distinction or rename marker types. "
|
|
413
|
+
"Requires the dataset slug, setting ID, and updated configuration (type and color). "
|
|
414
|
+
"The color change applies immediately to all existing and future markers of this type."
|
|
415
|
+
),
|
|
416
|
+
"honeycomb_delete_marker_setting": (
|
|
417
|
+
"Permanently deletes a marker setting. "
|
|
418
|
+
"Use this when removing unused marker types or resetting color customizations. "
|
|
419
|
+
"Requires both the dataset slug and setting ID parameters. "
|
|
420
|
+
"Warning: Existing markers of this type will lose their custom color and revert to default visualization."
|
|
421
|
+
),
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
# ==============================================================================
|
|
425
|
+
# Events
|
|
426
|
+
# ==============================================================================
|
|
427
|
+
|
|
428
|
+
EVENT_DESCRIPTIONS = {
|
|
429
|
+
"honeycomb_send_event": (
|
|
430
|
+
"Sends a SINGLE telemetry event to a Honeycomb dataset. Use ONLY for one-off events or testing. "
|
|
431
|
+
"STRUCTURE: Flat - parameters are 'dataset' (string) and 'data' (object with key-value pairs) provided directly at top level. "
|
|
432
|
+
"Example: {dataset: 'api-logs', data: {status_code: 200, endpoint: '/api/users'}}. "
|
|
433
|
+
"For 2+ events, you MUST use honeycomb_send_batch_events instead. "
|
|
434
|
+
"Optional parameters: timestamp (Unix seconds), samplerate (integer). "
|
|
435
|
+
"IMPORTANT: This is for SINGLE events only - batch tool is required for multiple events."
|
|
436
|
+
),
|
|
437
|
+
"honeycomb_send_batch_events": (
|
|
438
|
+
"Sends MULTIPLE telemetry events to a Honeycomb dataset in a single API call (preferred for 2+ events). "
|
|
439
|
+
"STRUCTURE: Nested - requires 'dataset' (string) and 'events' (array) where EACH event object has a 'data' field. "
|
|
440
|
+
"Example: {dataset: 'api-logs', events: [{data: {status_code: 200}}, {data: {status_code: 201}}]}. "
|
|
441
|
+
"CRITICAL: The 'events' parameter is REQUIRED and must be an ARRAY of event objects. Each event MUST have a 'data' field containing key-value pairs. "
|
|
442
|
+
"Per-event optional fields: 'time' (ISO8601 string like '2024-01-15T10:30:00Z'), 'samplerate' (integer). "
|
|
443
|
+
"Use this for efficient bulk data ingestion, application logs, traces, or metrics. "
|
|
444
|
+
"Returns status for each event, allowing identification and retry of failed events."
|
|
445
|
+
),
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
# ==============================================================================
|
|
449
|
+
# Service Map Dependencies
|
|
450
|
+
# ==============================================================================
|
|
451
|
+
|
|
452
|
+
SERVICE_MAP_DESCRIPTIONS = {
|
|
453
|
+
"honeycomb_query_service_map": (
|
|
454
|
+
"Queries service dependencies and relationships from distributed trace data with automatic polling and pagination. "
|
|
455
|
+
"Use this to discover service-to-service call patterns, identify dependencies, visualize system architecture, or debug cross-service issues. "
|
|
456
|
+
"Requires a time range specification (time_range in seconds, or start_time/end_time as Unix timestamps). "
|
|
457
|
+
"Optional filters parameter allows narrowing to specific services by name. "
|
|
458
|
+
"This tool performs create + poll + paginate operations automatically: creates async query, polls until ready, fetches all pages of results (up to 64K dependencies). "
|
|
459
|
+
"Warning: Large time ranges may return thousands of dependencies across hundreds of API pages - use max_pages parameter to limit."
|
|
460
|
+
),
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
# Combined mapping of all descriptions
|
|
464
|
+
ALL_DESCRIPTIONS = {
|
|
465
|
+
**TRIGGER_DESCRIPTIONS,
|
|
466
|
+
**SLO_DESCRIPTIONS,
|
|
467
|
+
**BURN_ALERT_DESCRIPTIONS,
|
|
468
|
+
**DATASET_DESCRIPTIONS,
|
|
469
|
+
**COLUMN_DESCRIPTIONS,
|
|
470
|
+
**RECIPIENT_DESCRIPTIONS,
|
|
471
|
+
**DERIVED_COLUMN_DESCRIPTIONS,
|
|
472
|
+
**QUERY_DESCRIPTIONS,
|
|
473
|
+
**BOARD_DESCRIPTIONS,
|
|
474
|
+
**MARKER_DESCRIPTIONS,
|
|
475
|
+
**MARKER_SETTING_DESCRIPTIONS,
|
|
476
|
+
**EVENT_DESCRIPTIONS,
|
|
477
|
+
**SERVICE_MAP_DESCRIPTIONS,
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
def get_description(tool_name: str) -> str:
|
|
482
|
+
"""Get the hand-crafted description for a tool.
|
|
483
|
+
|
|
484
|
+
Args:
|
|
485
|
+
tool_name: The tool name (e.g., "honeycomb_create_trigger")
|
|
486
|
+
|
|
487
|
+
Returns:
|
|
488
|
+
The description string
|
|
489
|
+
|
|
490
|
+
Raises:
|
|
491
|
+
KeyError: If tool name not found
|
|
492
|
+
"""
|
|
493
|
+
if tool_name not in ALL_DESCRIPTIONS:
|
|
494
|
+
raise KeyError(
|
|
495
|
+
f"No description found for tool '{tool_name}'. "
|
|
496
|
+
f"Available tools: {', '.join(sorted(ALL_DESCRIPTIONS.keys()))}"
|
|
497
|
+
)
|
|
498
|
+
return ALL_DESCRIPTIONS[tool_name]
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
def validate_description(description: str, min_length: int = 50) -> None:
|
|
502
|
+
"""Validate a description meets quality requirements.
|
|
503
|
+
|
|
504
|
+
Args:
|
|
505
|
+
description: The description to validate
|
|
506
|
+
min_length: Minimum character count (default 50)
|
|
507
|
+
|
|
508
|
+
Raises:
|
|
509
|
+
ValueError: If description is invalid
|
|
510
|
+
"""
|
|
511
|
+
if not description:
|
|
512
|
+
raise ValueError("Description cannot be empty")
|
|
513
|
+
|
|
514
|
+
if len(description) < min_length:
|
|
515
|
+
raise ValueError(
|
|
516
|
+
f"Description must be at least {min_length} characters (got {len(description)})"
|
|
517
|
+
)
|
|
518
|
+
|
|
519
|
+
# Check for placeholder text
|
|
520
|
+
placeholders = ["TODO", "TBD", "FIXME", "XXX"]
|
|
521
|
+
for placeholder in placeholders:
|
|
522
|
+
if placeholder in description.upper():
|
|
523
|
+
raise ValueError(f"Description contains placeholder text: {placeholder}")
|