Module: AssistantChat::Broadcaster

Extended by:
ActiveSupport::Concern
Includes:
BroadcasterRendering, BroadcasterStreaming, IconHelper
Included in:
AssistantChatWorker
Defined in:
app/services/assistant_chat/broadcaster.rb

Overview

Service object: broadcaster.

Constant Summary collapse

STATUS_BROADCAST_INTERVAL =

Status broadcast interval.

0.3
TOOL_DISPLAY_NAMES =

Recognised tool display names.

{
  'execute_sql' => 'Querying database',
  'describe_available_data' => 'Checking schema',
  'semantic_search' => 'Searching content',
  'search_products' => 'Searching products',
  'browse_product_line' => 'Browsing product line',
  'get_product' => 'Loading product details',
  'list_product_lines' => 'Listing product lines',
  'list_blog_posts' => 'Searching blog posts',
  'get_blog_post' => 'Loading blog post',
  'create_blog_post' => 'Creating blog post',
  'update_blog_post' => 'Updating blog post',
  'edit_blog_post' => 'Editing blog post',
  'remove_embed' => 'Removing embed',
  'replace_embed' => 'Replacing embed',
  'move_embed' => 'Moving embed',
  'insert_blog_section' => 'Inserting section',
  'list_blog_tags' => 'Loading tags',
  'find_faqs' => 'Searching FAQs',
  'create_faq' => 'Creating FAQ',
  'search_images' => 'Searching images',
  'find_link_opportunities' => 'Finding link opportunities',
  'find_call_recordings' => 'Searching call recordings',
  'ga4_top_pages' => 'Checking GA4 pages',
  'ga4_page_metrics' => 'Loading page metrics',
  'ga4_traffic_sources' => 'Checking traffic sources',
  'ga4_run_report' => 'Running GA4 report',
  'gsc_search_analytics' => 'Querying Search Console',
  'gsc_page_metrics' => 'Loading search metrics',
  'gsc_page_queries' => 'Loading search queries',
  'ahrefs_overview' => 'Checking Ahrefs overview',
  'ahrefs_top_pages' => 'Loading top pages',
  'ahrefs_organic_keywords' => 'Loading keyword rankings',
  'seo_get_page' => 'Loading SEO page data',
  'seo_refresh_page' => 'Refreshing SEO data',
  'seo_link_gaps' => 'Analyzing link gaps',
  'seo_inbound_links' => 'Checking inbound links',
  'seo_outbound_links' => 'Checking outbound links',
  'seo_get_action_items' => 'Loading SEO action items',
  'seo_action_items' => 'Loading SEO action items',
  'seo_update_action_item' => 'Updating action item',
  'seo_batch_update_action_items' => 'Batch updating action items',
  'seo_page_report' => 'Running SEO page report',
  'insert_faqs' => 'Embedding FAQs',
  'fetch_url' => 'Fetching web page',
  'search_brain' => 'Checking knowledge base',
  'propose_brain_entry' => 'Learning new rule',
  'list_my_conversations' => 'Browsing conversations',
  'search_my_conversations' => 'Searching conversations',
  'declare_plan' => 'Planning approach',
  'mark_step_complete' => 'Updating progress',
  'list_schemas' => 'Listing schemas',
  'list_objects' => 'Listing tables',
  'get_object_details' => 'Loading table details',
  'find_employee' => 'Looking up employee',
  'get_team_availability' => 'Checking team availability',
  'get_pipeline_summary' => 'Loading pipeline data',
  'get_rep_workload' => 'Checking rep workload',
  'get_rep_performance' => 'Loading performance data',
  'get_recent_calls' => 'Loading call records'
}.freeze
TOOLS_WITH_SUMMARIES =

Tools with summaries. Suffix match — the SQL/describe tools are emitted as
app_db_execute_sql, versions_db_execute_sql, etc. via PostgresChatToolBuilder
prefixing, so the broadcaster strips known prefixes before lookup. See
BroadcasterRendering#humanize_tool_name and BroadcasterStreaming#broadcast_tool_result_summary.

%w[
  seo_batch_update_action_items seo_get_action_items edit_blog_post insert_faqs create_faq
  execute_sql describe_available_data
].freeze
TOOL_PREFIXES =

Tool-name prefixes injected by PostgresChatToolBuilder so multiple databases
(production, versions) can expose distinct copies of the same logical tools.
The broadcaster strips these so display names and per-tool argument/result
formatters work without duplicating every prefixed variant in the dicts.

%w[app_db_ versions_db_].freeze

Constants included from IconHelper

IconHelper::CUSTOM_ICON_MAP, IconHelper::CUSTOM_SVG_DIR, IconHelper::DEFAULT_FAMILY

Method Summary

Methods included from IconHelper

#account_nav_icon, #fa_icon, #star_rating_html