This PR adds LLM instrumentation on langfuse for ai-editor feature ## Type of change New feature (non-breaking change which adds functionality) Needs langfuse account and env vars to be set ## How Has This Been Tested? I configured personal langfuse credentials and instrumented the app, traces can be seen in langfuse. each conversation is one session. <img width="1683" height="714" alt="image" src="https://github.com/user-attachments/assets/3fcba1c9-63cf-44b9-a355-fd6608691559" /> <img width="1446" height="172" alt="image" src="https://github.com/user-attachments/assets/dfa6e98f-4741-4e04-9a9e-078d1f01e97b" /> ## Checklist: - [x ] My code follows the style guidelines of this project - [ x] I have performed a self-review of my code - [ x] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --------- Co-authored-by: aakashb95 <aakash@chatwoot.com> Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com> Co-authored-by: Pranav <pranav@chatwoot.com>
57 lines
1.4 KiB
Ruby
57 lines
1.4 KiB
Ruby
module Enterprise::SuperAdmin::AppConfigsController
|
|
private
|
|
|
|
def allowed_configs
|
|
return super if ChatwootHub.pricing_plan == 'community'
|
|
|
|
case @config
|
|
when 'custom_branding'
|
|
@allowed_configs = custom_branding_options
|
|
when 'internal'
|
|
@allowed_configs = internal_config_options
|
|
when 'captain'
|
|
@allowed_configs = captain_config_options
|
|
when 'saml'
|
|
@allowed_configs = saml_config_options
|
|
else
|
|
super
|
|
end
|
|
end
|
|
|
|
def custom_branding_options
|
|
%w[
|
|
LOGO_THUMBNAIL
|
|
LOGO
|
|
LOGO_DARK
|
|
BRAND_NAME
|
|
INSTALLATION_NAME
|
|
BRAND_URL
|
|
WIDGET_BRAND_URL
|
|
TERMS_URL
|
|
PRIVACY_URL
|
|
DISPLAY_MANIFEST
|
|
]
|
|
end
|
|
|
|
def internal_config_options
|
|
%w[CHATWOOT_INBOX_TOKEN CHATWOOT_INBOX_HMAC_KEY ANALYTICS_TOKEN CLEARBIT_API_KEY DASHBOARD_SCRIPTS INACTIVE_WHATSAPP_NUMBERS BLOCKED_EMAIL_DOMAINS
|
|
SKIP_INCOMING_BCC_PROCESSING CAPTAIN_CLOUD_PLAN_LIMITS ACCOUNT_SECURITY_NOTIFICATION_WEBHOOK_URL CHATWOOT_INSTANCE_ADMIN_EMAIL
|
|
OG_IMAGE_CDN_URL OG_IMAGE_CLIENT_REF CLOUDFLARE_API_KEY CLOUDFLARE_ZONE_ID
|
|
OTEL_PROVIDER LANGFUSE_PUBLIC_KEY LANGFUSE_SECRET_KEY LANGFUSE_BASE_URL]
|
|
end
|
|
|
|
def captain_config_options
|
|
%w[
|
|
CAPTAIN_OPEN_AI_API_KEY
|
|
CAPTAIN_OPEN_AI_MODEL
|
|
CAPTAIN_OPEN_AI_ENDPOINT
|
|
CAPTAIN_EMBEDDING_MODEL
|
|
CAPTAIN_FIRECRAWL_API_KEY
|
|
]
|
|
end
|
|
|
|
def saml_config_options
|
|
%w[ENABLE_SAML_SSO_LOGIN]
|
|
end
|
|
end
|