/** * Copyright (c) 2025-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { TelemetryService } from '@finos/legend-application'; import { type V1_LiteAccessRequest, type V1_PendingTaskRecord, type V1_EntitlementsLakehouseEnvironmentType } from '@finos/legend-graph'; import { MarketplaceSearchMode } from './LegendMarketplaceSearchMode.js'; import { type DATAPRODUCT_TYPE, type MarketplaceUserSession } from '@finos/legend-extension-dsl-data-product'; export declare enum LEGEND_MARKETPLACE_PAGE { HOME_PAGE = "Home Page", SEARCH_RESULTS_PAGE = "Search Results Page", LAKEHOUSE_ACCESS_PAGE = "Lakehouse Access Page", TERMINALS_ADDONS_PAGE = "Terminals and Add-ons Page", YOUR_ORDERS_PAGE = "Your Orders Page", SUBSCRIPTIONS_PAGE = "Subscriptions Page" } export declare enum TERMINAL_SEARCH_LOCATION { MAIN_CATALOG = "Main Catalog", ADDONS_POPUP = "Add-ons Popup" } export declare enum CONTRACT_ACTION { APPROVED = "approved", DENIED = "denied" } export declare enum ICON_TOOLBAR_TYPE { USER = "User Icon", HELP = "Help Icon" } type MarketplaceDataProductOrigin_TelemetryData = { type: DATAPRODUCT_TYPE; groupId?: string | undefined; artifactId?: string | undefined; versionId?: string | undefined; path?: string | undefined; }; type MarketplaceDataProduct_TelemetryData = { origin?: MarketplaceDataProductOrigin_TelemetryData | undefined; dataProductId?: string | undefined; deploymentId?: number | undefined; name?: string | undefined; environmentClassification?: V1_EntitlementsLakehouseEnvironmentType | undefined; }; export declare class LegendMarketplaceTelemetryHelper { private static getOrCreateUserSession; private static updateSearchSessionId; static clearSearchSessionId(): MarketplaceUserSession; private static updateEventId; static logEvent_ClickingDataProductCard(telemetryService: TelemetryService, dataProductData: MarketplaceDataProduct_TelemetryData, clickedFrom: LEGEND_MARKETPLACE_PAGE): void; static logEvent_SearchQuery(telemetryService: TelemetryService, query: string | undefined, useProducerSearch: boolean, searchedFrom: LEGEND_MARKETPLACE_PAGE, useFieldSearch?: boolean): void; static logEvent_ActionDataContracts(telemetryService: TelemetryService, selectedContracts: V1_PendingTaskRecord[], pendingTaskContracts: V1_LiteAccessRequest[] | undefined, action: CONTRACT_ACTION, actionTakenBy: string, errors: string[] | undefined): void; static logEvent_LoadDataProduct(telemetryService: TelemetryService, dataProductData: MarketplaceDataProduct_TelemetryData, error: string | undefined): void; static logEvent_LoadSDLCDataProduct(telemetryService: TelemetryService, dataProductData: MarketplaceDataProduct_TelemetryData, error: string | undefined): void; static logEvent_LoadTerminal(telemetryService: TelemetryService, terminalId: string, error: string | undefined): void; static logEvent_LoadLegacyDataProduct(telemetryService: TelemetryService, groupId: string, artifactId: string, versionId: string, path: string, error: string | undefined): void; static logEvent_ClickHeadertab(telemetryService: TelemetryService, tabTitle: string): void; private static readonly TOGGLE_SEARCH_MODE_EVENT; /** * Logs a search-mode switch on the search bar's settings menu. Each mode keeps * its own event name (existing telemetry dashboards key on them), selected here * via {@link TOGGLE_SEARCH_MODE_EVENT} instead of one near-identical method per mode. */ static logEvent_ToggleSearchMode(telemetryService: TelemetryService, mode: MarketplaceSearchMode, isEnabled: boolean): void; static logEvent_ToggleThemeMode(telemetryService: TelemetryService, isDarkMode: boolean): void; static logEvent_ToggleViewMode(telemetryService: TelemetryService, viewMode: string): void; static logEvent_ToggleServicesViewMode(telemetryService: TelemetryService, viewMode: string): void; static logEvent_ClickToolbarMenu(telemetryService: TelemetryService, iconSource: ICON_TOOLBAR_TYPE, menuTitle: string): void; static logEvent_SearchAutosuggestSelection(telemetryService: TelemetryService, query: string, suggestionType: string): void; static logEvent_DismissHomePageBanner(telemetryService: TelemetryService, bannerId: string): void; static logEvent_SubmitFeedback(telemetryService: TelemetryService, originPage: string, rating: number): void; static logEvent_ClickQueryDataProduct(telemetryService: TelemetryService, groupId: string, artifactId: string, versionId: string, path: string, executionContextKey: string): void; static logEvent_ClickOpenServiceQuery(telemetryService: TelemetryService, groupId: string, artifactId: string, versionId: string, servicePath: string): void; static logEvent_ClickQuickStartExtensionTab(telemetryService: TelemetryService, groupId: string, artifactId: string, versionId: string, path: string, tabKey: string, executableTitle: string): void; static logEvent_ApplySearchFilter(telemetryService: TelemetryService, filterType: string, filterValue: string, action: 'select' | 'deselect', searchQuery: string | undefined): void; static logEvent_ClearSearchFilters(telemetryService: TelemetryService, searchQuery: string | undefined): void; static logEvent_ShowAllDataProducts(telemetryService: TelemetryService, searchQuery: string | undefined): void; static logEvent_SearchServices(telemetryService: TelemetryService, query: string): void; static logEvent_SortServices(telemetryService: TelemetryService, sortValue: string): void; static logEvent_FilterServices(telemetryService: TelemetryService, filterType: string, filterValue: string, action: 'add' | 'remove' | 'clear'): void; static logEvent_ClickServiceCard(telemetryService: TelemetryService, pattern: string, title: string): void; static logEvent_AIAgentStart(telemetryService: TelemetryService, fromSearch: boolean): void; static logEvent_ChangeIntelligenceCatalogType(telemetryService: TelemetryService, catalogType: string): void; static logEvent_SearchIntelligenceCatalog(telemetryService: TelemetryService, query: string, catalogType: string): void; static logEvent_ClickIntelligenceCatalogViewMore(telemetryService: TelemetryService, catalogType: string): void; static logEvent_ClickIntelligenceCatalogRetry(telemetryService: TelemetryService): void; static logEvent_ChangeIntelligenceCatalogPage(telemetryService: TelemetryService, page: number): void; static logEvent_ChangeIntelligenceCatalogPageSize(telemetryService: TelemetryService, itemsPerPage: number): void; static logEvent_ToggleIntelligenceCatalogVendorFilter(telemetryService: TelemetryService, vendor: string, selected: boolean): void; static logEvent_ClearIntelligenceCatalogFilters(telemetryService: TelemetryService): void; static logEvent_ShowAllIntelligenceCatalogVendors(telemetryService: TelemetryService, expanded: boolean): void; static logEvent_ClickAIAgentBackToCatalog(telemetryService: TelemetryService): void; static logEvent_ClickMcpServerBack(telemetryService: TelemetryService, mcpServerName: string): void; static logEvent_ClickMcpServerCopy(telemetryService: TelemetryService, mcpServerName: string, field: string): void; static logEvent_ClickMcpServerSupportLink(telemetryService: TelemetryService, mcpServerName: string, linkType: string): void; static logEvent_ClickMcpServerRetry(telemetryService: TelemetryService, mcpServerName: string): void; static logEvent_ExpandMcpServerTool(telemetryService: TelemetryService, mcpServerName: string, toolName: string): void; static logEvent_ExpandMcpServerGroundingRules(telemetryService: TelemetryService, mcpServerName: string, toolName: string): void; static logEvent_ViewMcpServer(telemetryService: TelemetryService, mcpServerName: string): void; static logEvent_AIAgentQuestionAsked(telemetryService: TelemetryService, questionLength: number, isFollowUp: boolean, scopeCount: number): void; static logEvent_AIAgentResponseReceived(telemetryService: TelemetryService, outcome: string, rowCount: number, durationInSeconds: number): void; static logEvent_AIAgentScopeAdded(telemetryService: TelemetryService, scopeCount: number): void; static logEvent_AIAgentScopeRemoved(telemetryService: TelemetryService, scopeCount: number): void; static logEvent_AIAgentSuggestedQueryClicked(telemetryService: TelemetryService): void; static logEvent_AIAgentClearChat(telemetryService: TelemetryService): void; static logEvent_AIAgentCopySql(telemetryService: TelemetryService): void; static logEvent_ViewTerminalsAddonsPage(telemetryService: TelemetryService, isTargetUser: boolean): void; static logEvent_TerminalsAddonsSearch(telemetryService: TelemetryService, query: string, searchLocation: TERMINAL_SEARCH_LOCATION, filterTab: string, isTargetUser: boolean): void; static logEvent_TerminalsAddonsFilterTab(telemetryService: TelemetryService, tab: string): void; static logEvent_SelectTargetUser(telemetryService: TelemetryService, isTargetUser: boolean): void; static logEvent_ClickTerminalAddonCard(telemetryService: TelemetryService, productId: string | number, productName: string, providerName: string, itemType: string, searchLocation: TERMINAL_SEARCH_LOCATION): void; static logEvent_AddTerminalAddonToCart(telemetryService: TelemetryService, productId: string | number, productName: string, providerName: string, itemType: string, addedFrom: TERMINAL_SEARCH_LOCATION, isTargetUser: boolean): void; static logEvent_OpenAddonsPopup(telemetryService: TelemetryService, terminalProductName: string, providerName: string, totalAddonCount: number | null): void; static logEvent_AddonsPopupSearch(telemetryService: TelemetryService, query: string, terminalProductName: string): void; static logEvent_AddonsPopupSort(telemetryService: TelemetryService, sortOrder: string): void; static logEvent_AddonsPopupPaginate(telemetryService: TelemetryService, page: number): void; static logEvent_ToggleTerminalSubscriptions(telemetryService: TelemetryService, isExpanded: boolean, isTargetUser: boolean): void; static logEvent_ViewOrderProfileDetails(telemetryService: TelemetryService, profileName: string): void; static logEvent_AddOrderProfileToCart(telemetryService: TelemetryService, profileName: string, isMultiselect: boolean, isTargetUser: boolean): void; static logEvent_SubmitOrder(telemetryService: TelemetryService, itemCount: number, totalCost: number, isTargetUser: boolean, businessReason: string): void; static logEvent_ViewYourOrdersPage(telemetryService: TelemetryService): void; static logEvent_ClickOrderEtaskLink(telemetryService: TelemetryService, orderId: string): void; static logEvent_AdvancedSearchOrders(telemetryService: TelemetryService, hasOrderedBy: boolean, hasOrderedFor: boolean, status: string, isLastDaysDefaulted: boolean): void; static logEvent_ClearAdvancedOrderSearch(telemetryService: TelemetryService): void; static logEvent_PaginateAdvancedOrderSearch(telemetryService: TelemetryService, offset: number, pageSize: number): void; static logEvent_ChangeAdvancedOrderSearchPageSize(telemetryService: TelemetryService, pageSize: number): void; static logEvent_ToggleAllOrders(telemetryService: TelemetryService, isExpanded: boolean): void; static logEvent_ViewSubscriptionsPage(telemetryService: TelemetryService, isTargetUser: boolean): void; static logEvent_AIAgentGeneratePython(telemetryService: TelemetryService): void; static logEvent_AIAgentCopyPython(telemetryService: TelemetryService): void; static logEvent_AIAgentOpenInDataCube(telemetryService: TelemetryService): void; } export {}; //# sourceMappingURL=LegendMarketplaceTelemetryHelper.d.ts.map