UNPKG

@shopify/cli-kit

Version:

A set of utilities, interfaces, and models that are common across all the platform features

151 lines (150 loc) 7.58 kB
import { JsonMap } from '../../private/common/json.js'; import { DeepRequired } from '../common/ts/deep-required.js'; export { DeepRequired }; type Optional<T> = T | null; export declare const MONORAIL_COMMAND_TOPIC = "app_cli3_command/1.18"; export interface Schemas { [MONORAIL_COMMAND_TOPIC]: { sensitive: { args: string; error_message?: Optional<string>; app_name?: Optional<string>; metadata?: Optional<string>; store_fqdn?: Optional<string>; cmd_all_environment_flags?: Optional<string>; cmd_dev_tunnel_custom?: Optional<string>; env_plugin_installed_all?: Optional<string>; }; public: { business_platform_id?: Optional<number>; partner_id?: Optional<number>; command: string; project_type?: Optional<string>; time_start: number; time_end: number; total_time: number; success: boolean; api_key?: Optional<string>; cli_version: string; uname: string; ruby_version: string; node_version: string; is_employee: boolean; store_fqdn_hash?: Optional<string>; user_id: string; cmd_all_alias_used?: Optional<string>; cmd_all_launcher?: Optional<string>; cmd_all_path_override?: Optional<boolean>; cmd_all_path_override_hash?: Optional<string>; cmd_all_plugin?: Optional<string>; cmd_all_topic?: Optional<string>; cmd_all_verbose?: Optional<boolean>; cmd_all_exit?: Optional<string>; cmd_all_force?: Optional<boolean>; cmd_all_last_graphql_request_id?: Optional<string>; cmd_all_timing_network_ms?: Optional<number>; cmd_all_timing_prompts_ms?: Optional<number>; cmd_all_timing_active_ms?: Optional<number>; cmd_extensions_binary_from_source?: Optional<boolean>; cmd_scaffold_required_auth?: Optional<boolean>; cmd_scaffold_template_custom?: Optional<boolean>; cmd_scaffold_template_flavor?: Optional<string>; cmd_scaffold_type?: Optional<string>; cmd_scaffold_type_category?: Optional<string>; cmd_scaffold_type_gated?: Optional<boolean>; cmd_scaffold_type_owner?: Optional<string>; cmd_scaffold_used_prompts_for_type?: Optional<boolean>; cmd_app_dependency_installation_skipped?: Optional<boolean>; cmd_app_reset_used?: Optional<boolean>; cmd_app_linked_config_used?: Optional<boolean>; cmd_app_linked_config_name?: Optional<string>; cmd_app_linked_config_git_tracked?: Optional<boolean>; cmd_app_all_configs_any?: Optional<boolean>; cmd_app_all_configs_clients?: Optional<string>; cmd_app_linked_config_source?: Optional<string>; cmd_app_linked_config_uses_cli_managed_urls?: Optional<boolean>; cmd_app_warning_api_key_deprecation_displayed?: Optional<boolean>; cmd_app_deployment_mode?: Optional<string>; cmd_dev_tunnel_type?: Optional<string>; cmd_dev_tunnel_custom_hash?: Optional<string>; cmd_dev_urls_updated?: Optional<boolean>; cmd_dev_preview_url_opened?: Optional<boolean>; cmd_dev_graphiql_opened?: Optional<boolean>; cmd_dev_dev_preview_toggle_used?: Optional<boolean>; cmd_create_app_template?: Optional<string>; cmd_create_app_template_url?: Optional<string>; cmd_deploy_flag_message_used?: Optional<boolean>; cmd_deploy_flag_version_used?: Optional<boolean>; cmd_deploy_flag_source_url_used?: Optional<boolean>; cmd_deploy_confirm_new_registrations?: Optional<number>; cmd_deploy_confirm_updated_registrations?: Optional<number>; cmd_deploy_confirm_removed_registrations?: Optional<number>; cmd_deploy_confirm_cancelled?: Optional<boolean>; cmd_deploy_confirm_time_to_complete_ms?: Optional<number>; cmd_deploy_prompt_upgrade_to_unified_displayed?: Optional<boolean>; cmd_deploy_prompt_upgrade_to_unified_response?: Optional<string>; cmd_deploy_confirm_include_config_used?: Optional<boolean>; cmd_deploy_include_config_used?: Optional<boolean>; cmd_deploy_config_modules_breakdown?: Optional<string>; cmd_deploy_config_modules_updated?: Optional<string>; cmd_deploy_config_modules_added?: Optional<string>; cmd_deploy_config_modules_deleted?: Optional<string>; cmd_release_confirm_cancelled?: Optional<boolean>; app_extensions_any?: Optional<boolean>; app_extensions_breakdown?: Optional<string>; app_extensions_count?: Optional<number>; app_extensions_custom_layout?: Optional<boolean>; app_extensions_function_any?: Optional<boolean>; app_extensions_function_count?: Optional<number>; app_extensions_function_custom_layout?: Optional<boolean>; app_extensions_theme_any?: Optional<boolean>; app_extensions_theme_count?: Optional<number>; app_extensions_theme_custom_layout?: Optional<boolean>; app_extensions_ui_any?: Optional<boolean>; app_extensions_ui_count?: Optional<number>; app_extensions_ui_custom_layout?: Optional<boolean>; app_name_hash?: Optional<string>; app_path_hash?: Optional<string>; app_scopes?: Optional<string>; app_web_backend_any?: Optional<boolean>; app_web_backend_count?: Optional<number>; app_web_custom_layout?: Optional<boolean>; app_web_framework?: Optional<string>; app_web_frontend_any?: Optional<boolean>; app_web_frontend_count?: Optional<number>; env_ci?: Optional<boolean>; env_ci_platform?: Optional<string>; env_device_id?: Optional<string>; env_package_manager?: Optional<string>; env_package_manager_workspaces?: Optional<boolean>; env_plugin_installed_any_custom?: Optional<boolean>; env_plugin_installed_shopify?: Optional<string>; env_shell?: Optional<string>; env_web_ide?: Optional<string>; env_cloud?: Optional<string>; env_is_global?: Optional<boolean>; env_auth_method?: Optional<string>; }; }; [schemaId: string]: { sensitive: JsonMap; public: JsonMap; }; } export type MonorailEventPublic = DeepRequired<Schemas[typeof MONORAIL_COMMAND_TOPIC]['public']>; export type MonorailEventSensitive = Schemas[typeof MONORAIL_COMMAND_TOPIC]['sensitive']; type MonorailResult = { type: 'ok'; } | { type: 'error'; message: string; }; /** * Publishes an event to Monorail. * * @param schemaId - The schema ID of the event to publish. * @param publicData - The public data to publish. * @param sensitiveData - The sensitive data to publish. * @returns A result indicating whether the event was successfully published. */ export declare function publishMonorailEvent<TSchemaId extends keyof Schemas, TPayload extends Schemas[TSchemaId]>(schemaId: TSchemaId, publicData: TPayload['public'], sensitiveData: TPayload['sensitive']): Promise<MonorailResult>;