Download src/services/cloud-funnel-analytics.ts from SaylorTwift/openhands: direct link, hf CLI and curl.
- Browser
- Download file 1.66 kB
-
https://huggingface.co/SaylorTwift/openhands/resolve/main/src/services/cloud-funnel-analytics.ts
- Command line
-
hf download hf://SaylorTwift/openhands/src/services/cloud-funnel-analytics.ts
-
curl -L -o cloud-funnel-analytics.ts https://huggingface.co/SaylorTwift/openhands/resolve/main/src/services/cloud-funnel-analytics.ts
1.66 kB
| import { AGENT_CANVAS_CLIENT_SOURCE } from "#/api/client-source"; | |
| import { getBackendTelemetryProperties } from "#/services/telemetry-context"; | |
| import { trackEvent } from "#/services/telemetry"; | |
| export type CloudConnectionSource = | |
| | "onboarding" | |
| | "add_backend_modal" | |
| | "manage_backends_modal" | |
| | "cloud_auto_connect"; | |
| const CLOUD_CONVERSATION_READY_INSERT_ID_PREFIX = `${AGENT_CANVAS_CLIENT_SOURCE}:cloud_conversation_ready`; | |
| function trackCloudFunnelEvent( | |
| event: string, | |
| properties: Record<string, unknown>, | |
| ): void { | |
| void trackEvent(event, properties); | |
| } | |
| function cloudLoginBackendContext() { | |
| return getBackendTelemetryProperties({ | |
| backendKind: "cloud", | |
| connectionMethod: "cloud_login", | |
| }); | |
| } | |
| function cloudConversationBackendContext() { | |
| return getBackendTelemetryProperties({ | |
| backendKind: "cloud", | |
| }); | |
| } | |
| export function trackCloudDeviceAuthorizationStarted( | |
| _host: string, | |
| source?: CloudConnectionSource, | |
| ): void { | |
| trackCloudFunnelEvent("cloud_device_authorization_started", { | |
| ...cloudLoginBackendContext(), | |
| source, | |
| }); | |
| } | |
| export function trackCloudDeviceAuthorizationSucceeded( | |
| _host: string, | |
| source?: CloudConnectionSource, | |
| ): void { | |
| trackCloudFunnelEvent("cloud_device_authorization_succeeded", { | |
| ...cloudLoginBackendContext(), | |
| source, | |
| }); | |
| } | |
| export function trackCloudConversationReady( | |
| taskId: string, | |
| conversationId: string, | |
| ): void { | |
| trackCloudFunnelEvent("cloud_conversation_ready", { | |
| ...cloudConversationBackendContext(), | |
| $insert_id: `${CLOUD_CONVERSATION_READY_INSERT_ID_PREFIX}:${taskId}`, | |
| task_id: taskId, | |
| conversation_id: conversationId, | |
| }); | |
| } | |