UNPKG

@sussudio/base

Version:

Internal APIs for VS Code's utilities and user interface building blocks.

219 lines (217 loc) 6.81 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IStringDictionary } from './collections.mjs'; export interface IBuiltInExtension { readonly name: string; readonly version: string; readonly repo: string; readonly metadata: any; } export type ConfigurationSyncStore = { url: string; insidersUrl: string; stableUrl: string; canSwitch: boolean; authenticationProviders: IStringDictionary<{ scopes: string[]; }>; }; export type ExtensionUntrustedWorkspaceSupport = { readonly default?: boolean | 'limited'; readonly override?: boolean | 'limited'; }; export type ExtensionVirtualWorkspaceSupport = { readonly default?: boolean; readonly override?: boolean; }; export interface IProductConfiguration { readonly version: string; readonly date?: string; readonly quality?: string; readonly commit?: string; readonly nameShort: string; readonly nameLong: string; readonly win32AppUserModelId?: string; readonly win32MutexName?: string; readonly win32RegValueName?: string; readonly applicationName: string; readonly embedderIdentifier?: string; readonly urlProtocol: string; readonly dataFolderName: string; readonly builtInExtensions?: IBuiltInExtension[]; readonly downloadUrl?: string; readonly updateUrl?: string; readonly webEndpointUrlTemplate?: string; readonly webviewContentExternalBaseUrlTemplate?: string; readonly target?: string; readonly settingsSearchBuildId?: number; readonly settingsSearchUrl?: string; readonly tasConfig?: { endpoint: string; telemetryEventName: string; featuresTelemetryPropertyName: string; assignmentContextTelemetryPropertyName: string; }; readonly experimentsUrl?: string; readonly extensionsGallery?: { readonly serviceUrl: string; readonly servicePPEUrl?: string; readonly searchUrl?: string; readonly itemUrl: string; readonly publisherUrl: string; readonly resourceUrlTemplate: string; readonly controlUrl: string; readonly nlsBaseUrl: string; }; readonly extensionTips?: { [id: string]: string; }; readonly extensionImportantTips?: IStringDictionary<ImportantExtensionTip>; readonly configBasedExtensionTips?: { [id: string]: IConfigBasedExtensionTip; }; readonly exeBasedExtensionTips?: { [id: string]: IExeBasedExtensionTip; }; readonly remoteExtensionTips?: { [remoteName: string]: IRemoteExtensionTip; }; readonly extensionKeywords?: { [extension: string]: readonly string[]; }; readonly keymapExtensionTips?: readonly string[]; readonly webExtensionTips?: readonly string[]; readonly languageExtensionTips?: readonly string[]; readonly trustedExtensionUrlPublicKeys?: { [id: string]: string[]; }; readonly trustedExtensionAuthAccess?: readonly string[]; readonly crashReporter?: { readonly companyName: string; readonly productName: string; }; readonly removeTelemetryMachineId?: boolean; readonly enabledTelemetryLevels?: { error: boolean; usage: boolean; }; readonly enableTelemetry?: boolean; readonly openToWelcomeMainPage?: boolean; readonly aiConfig?: { readonly ariaKey: string; }; readonly sendASmile?: { readonly reportIssueUrl: string; readonly requestFeatureUrl: string; }; readonly documentationUrl?: string; readonly releaseNotesUrl?: string; readonly keyboardShortcutsUrlMac?: string; readonly keyboardShortcutsUrlLinux?: string; readonly keyboardShortcutsUrlWin?: string; readonly introductoryVideosUrl?: string; readonly tipsAndTricksUrl?: string; readonly newsletterSignupUrl?: string; readonly twitterUrl?: string; readonly requestFeatureUrl?: string; readonly reportIssueUrl?: string; readonly reportMarketplaceIssueUrl?: string; readonly licenseUrl?: string; readonly privacyStatementUrl?: string; readonly showTelemetryOptOut?: boolean; readonly serverGreeting?: string[]; readonly serverLicense?: string[]; readonly serverLicensePrompt?: string; readonly serverApplicationName: string; readonly serverDataFolderName?: string; readonly tunnelApplicationName?: string; readonly tunnelApplicationConfig?: ITunnelApplicationConfig; readonly npsSurveyUrl?: string; readonly cesSurveyUrl?: string; readonly surveys?: readonly ISurveyData[]; readonly checksums?: { [path: string]: string; }; readonly checksumFailMoreInfoUrl?: string; readonly appCenter?: IAppCenterConfiguration; readonly portable?: string; readonly extensionKind?: { readonly [extensionId: string]: ('ui' | 'workspace' | 'web')[]; }; readonly extensionPointExtensionKind?: { readonly [extensionPointId: string]: ('ui' | 'workspace' | 'web')[]; }; readonly extensionSyncedKeys?: { readonly [extensionId: string]: string[]; }; readonly extensionEnabledApiProposals?: { readonly [extensionId: string]: string[]; }; readonly extensionUntrustedWorkspaceSupport?: { readonly [extensionId: string]: ExtensionUntrustedWorkspaceSupport; }; readonly extensionVirtualWorkspacesSupport?: { readonly [extensionId: string]: ExtensionVirtualWorkspaceSupport; }; readonly msftInternalDomains?: string[]; readonly linkProtectionTrustedDomains?: readonly string[]; readonly 'configurationSync.store'?: ConfigurationSyncStore; readonly 'editSessions.store'?: Omit<ConfigurationSyncStore, 'insidersUrl' | 'stableUrl'>; readonly darwinUniversalAssetId?: string; } export interface ITunnelApplicationConfig { authenticationProviders: IStringDictionary<{ scopes: string[]; }>; editorWebUrl: string; extension: IRemoteExtensionTip; } export type ImportantExtensionTip = { name: string; languages?: string[]; pattern?: string; isExtensionPack?: boolean; whenNotInstalled?: string[]; }; export interface IAppCenterConfiguration { readonly 'win32-ia32': string; readonly 'win32-x64': string; readonly 'linux-x64': string; readonly darwin: string; } export interface IConfigBasedExtensionTip { configPath: string; configName: string; configScheme?: string; recommendations: IStringDictionary<{ name: string; remotes?: string[]; important?: boolean; isExtensionPack?: boolean; whenNotInstalled?: string[]; }>; } export interface IExeBasedExtensionTip { friendlyName: string; windowsPath?: string; important?: boolean; recommendations: IStringDictionary<{ name: string; important?: boolean; isExtensionPack?: boolean; whenNotInstalled?: string[]; }>; } export interface IRemoteExtensionTip { friendlyName: string; extensionId: string; } export interface ISurveyData { surveyId: string; surveyUrl: string; languageId: string; editCount: number; userProbability: number; }