{"version":3,"sources":["../../../packages/core/rpc/sme-extension/rpc-sme-extension-model.ts"],"names":[],"mappings":"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","file":"rpc-sme-extension-model.d.ts","sourcesContent":["import { EnvironmentModuleEntryPoint, EnvironmentModuleEntryPointType } from '../../manifest/environment-modules';\r\nimport { RpcBaseData } from '../rpc-base';\r\n\r\n/**\r\n * RPC extension request name and version.\r\n */\r\nexport class RpcSmeExtensionRequestKey {\r\n    public static command = 'SmeExtensionRequest';\r\n    public static version = '0.1.0';\r\n}\r\n\r\n/**\r\n * RPC extension response name and version.\r\n */\r\nexport class RpcSmeExtensionResponseKey {\r\n    public static command = 'SmeExtensionResponse';\r\n    public static version = '0.1.0';\r\n}\r\n\r\n/**\r\n * Rpc Version spec data.\r\n */\r\nexport interface VersionSpecData {\r\n    /**\r\n     * The minimum version.\r\n     */\r\n    minVersion: string;\r\n\r\n    /**\r\n     * Whether or not minimum is inclusive.\r\n     */\r\n    isMinInclusive: boolean;\r\n\r\n    /**\r\n     * The maximum version.\r\n     */\r\n    maxVersion: string;\r\n\r\n    /**\r\n     * Whether or not the maximum is inclusive.\r\n     */\r\n    isMaxInclusive: boolean;\r\n}\r\n\r\n/**\r\n * Rpc extension data.\r\n */\r\nexport interface SmeExtensionData {\r\n    /**\r\n     * The extension id.\r\n     */\r\n    id: string;\r\n\r\n    /**\r\n     * The version of the extension.\r\n     */\r\n    version: string;\r\n\r\n    /**\r\n     * The authors of the extension.\r\n     */\r\n    authors: string[];\r\n\r\n    /**\r\n     * The owners of the extension.\r\n     */\r\n    owners: string[];\r\n\r\n    /**\r\n     * The title of the extension.\r\n     */\r\n    title: string;\r\n\r\n    /**\r\n     * Summary of the extension.\r\n     */\r\n    summary: string;\r\n\r\n    /**\r\n     * The description of the extension.\r\n     */\r\n    description: string;\r\n\r\n    /**\r\n     * Release notes.\r\n     */\r\n    releaseNotes: string;\r\n\r\n    /**\r\n     * Icon of the extension.\r\n     */\r\n    iconUrl: string;\r\n\r\n    /**\r\n     * The published date.\r\n     */\r\n    published: Date;\r\n\r\n    /**\r\n     * Whether or not this is the latest extension.\r\n     */\r\n    isLatestVersion: boolean;\r\n\r\n    /**\r\n     * Tags of the extension.\r\n     */\r\n    tags: string[];\r\n\r\n    /**\r\n     * Status of the extension.\r\n     */\r\n    status: string;\r\n\r\n    /**\r\n     * Display title.\r\n     */\r\n    displayTitle: string;\r\n\r\n    /**\r\n     * Flat owner list.\r\n     */\r\n    flatOwnerList: string;\r\n\r\n    /**\r\n     * Flat author list.\r\n     */\r\n    flatAuthorList: string;\r\n\r\n    /**\r\n     * Installed version.\r\n     */\r\n    installedVersion: string;\r\n\r\n    /**\r\n     * All available versions.\r\n     */\r\n    availableVersions: string[];\r\n\r\n    /**\r\n     * Project url.\r\n     */\r\n    projectUrl: string;\r\n\r\n    /**\r\n     * License url.\r\n     */\r\n    licenseUrl: string;\r\n\r\n    /**\r\n     * Copyright information.\r\n     */\r\n    copyright: string;\r\n\r\n    /**\r\n     * Package source.\r\n     */\r\n    packageSource: string;\r\n\r\n    /**\r\n     * Display status.\r\n     */\r\n    displayStatus: string;\r\n\r\n    /**\r\n     * Compatible gateway versions.\r\n     */\r\n    compatibleGatewayVersions: VersionSpecData;\r\n\r\n    /**\r\n     * Whether or not the extension is compatible with the gateway.\r\n     */\r\n    isCompatibleWithGateway: boolean;\r\n    /**\r\n     * Available extension status.\r\n     */\r\n    availableExtensionStatus?: number;\r\n    /**\r\n     * Update label.\r\n     */\r\n    updateLabel?: string;\r\n\r\n    /**\r\n     * Icon path.\r\n     */\r\n    icon?: string;\r\n\r\n    /**\r\n     * Manifest object.\r\n     */\r\n    manifest?: any;\r\n\r\n    /**\r\n     * Pre-processed icon coming from an extension catalog.\r\n     */\r\n    icon_catalog?: string;\r\n\r\n    /**\r\n     * icon display classes for sme-icons\r\n     */\r\n    iconClasses?: string[];\r\n}\r\n\r\n/**\r\n * Request payload for getting extension data, includes a flagging indicating whether or not extension data is available\r\n */\r\nexport interface SmeExtensionPayload {\r\n    /**\r\n     * Status indicating whether extensions are loaded (if false, update status cannot be determined)\r\n     */\r\n    extensionsLoaded: boolean;\r\n\r\n    /**\r\n     * All extensions\r\n     */\r\n    extensions: SmeExtensionData[];\r\n}\r\n\r\n/**\r\n * SME extensions status set.\r\n */\r\nexport interface SmeExtensions {\r\n    /**\r\n     * available extensions\r\n     */\r\n    availableExtensions: SmeExtensionData[];\r\n    /**\r\n     * installed extensions\r\n     */\r\n    installedExtensions: SmeExtensionData[];\r\n    /**\r\n     * Extensions with invalid metadata (e.g. a version that could not be parsed)\r\n     */\r\n    invalidExtensions?: SmeExtensionData[];\r\n}\r\n\r\n/**\r\n * The condition to search to further narrowing done.\r\n */\r\nexport interface SmeExtensionSearchCondition {\r\n    /**\r\n     * The solution ID.\r\n     */\r\n    targetSolutionId: string;\r\n\r\n    /**\r\n     * The communication target names.\r\n     */\r\n    targetNames: string[];\r\n\r\n    /**\r\n     * The connections.\r\n     */\r\n    targetConnections: {\r\n        /**\r\n         * The identity of connection.\r\n         */\r\n        id: string;\r\n\r\n        /**\r\n         * The type of connection.\r\n         */\r\n        type: string;\r\n\r\n        /**\r\n         * The name of connection.\r\n         */\r\n        name: string;\r\n    }[];\r\n\r\n    /**\r\n     * Validate with the requirements on manifest.\r\n     */\r\n    validationRequired: boolean;\r\n\r\n    /**\r\n     * Search feed even a module was installed already.\r\n     * (optional and default is false.)\r\n     */\r\n    searchFeedForUpgradable?: boolean;\r\n}\r\n\r\n/**\r\n * The extension search options.\r\n */\r\nexport interface SmeExtensionSearchOptions {\r\n    /**\r\n     * The type of extension to search for. Currently only snap-in is supported.\r\n     */\r\n    extensionTypes: EnvironmentModuleEntryPointType[];\r\n\r\n    /**\r\n     * The condition of extension to search.\r\n     */\r\n    condition: SmeExtensionSearchCondition;\r\n\r\n    /**\r\n     * The flag indicating if query should be retried. Default uses cache.\r\n     */\r\n    retry?: boolean;\r\n}\r\n\r\n/**\r\n * Extended Entry point information that includes package information.\r\n */\r\nexport interface SmeExtensionEntryPoint extends EnvironmentModuleEntryPoint {\r\n    /**\r\n     * The package information from the feed.\r\n     */\r\n    extensionData?: SmeExtensionData;\r\n}\r\n\r\n/**\r\n * Defines the result for extension find responses\r\n */\r\nexport interface SmeExtensionFindResult {\r\n    /**\r\n     * Indicates if an extension instance was found\r\n     */\r\n    found: boolean;\r\n\r\n    /**\r\n     * Indicates if an extension package is installed when 'found' property is true.\r\n     */\r\n    installed?: boolean;\r\n\r\n    /**\r\n     * Indicates if an extension live package is upgradable when 'found' and 'installed' properties are true.\r\n     */\r\n    upgradable?: boolean;\r\n\r\n    /**\r\n     * The entry points found matching query\r\n     */\r\n    entryPoints?: SmeExtensionEntryPoint[];\r\n\r\n    /**\r\n     * The entry points found upgradable from live feed.\r\n     */\r\n    entryPointsUpgradeable?: SmeExtensionEntryPoint[];\r\n}\r\n\r\n/**\r\n * Defines the search result.\r\n */\r\nexport interface SmeExtensionEntries {\r\n    /**\r\n     * The entry points.\r\n     */\r\n    entryPoints: SmeExtensionEntryPoint[];\r\n\r\n    /**\r\n     * The entry points found upgradable from live feed.\r\n     */\r\n    entryPointsUpgradeable?: SmeExtensionEntryPoint[];\r\n\r\n    /**\r\n     * The state of validation.\r\n     */\r\n    conditionValidated: boolean;\r\n\r\n    /**\r\n     * The installed state.\r\n     */\r\n    installed: boolean;\r\n\r\n    /**\r\n     * The upgradable statue.\r\n     */\r\n    upgradable: boolean;\r\n}\r\n\r\n/**\r\n * The extension update status.\r\n */\r\nexport interface ExtensionUpdateStatus {\r\n    /**\r\n     * Status indicating whether extensions are loaded (if false, update status cannot be determined)\r\n     */\r\n    extensionsLoaded: boolean;\r\n     /**\r\n     * Status if extension update available.\r\n     */\r\n    isExtensionUpdateAvailable: boolean;\r\n\r\n    /**\r\n     * Status if user is administrator of the gateway.\r\n     */\r\n    isUserAdmin: boolean;\r\n}\r\n\r\n/**\r\n * The RPC SME extension request packet.\r\n */\r\nexport interface RpcSmeExtensionRequest extends RpcBaseData {\r\n    /**\r\n     * Request specific Id to track completion.\r\n     */\r\n    requestId: string;\r\n\r\n    /**\r\n     * The request type.\r\n     */\r\n    requestType: RpcSmeExtensionRequestType;\r\n\r\n    /**\r\n     * The extension configuration if any.\r\n     */\r\n    extensionConfiguration?: RpcSmeExtensionConfiguration;\r\n\r\n    /**\r\n     * The extension entry points find options if any.\r\n     */\r\n    extensionSearchOptions?: SmeExtensionSearchOptions;\r\n}\r\n\r\n/**\r\n * The PRC SME extension update status.\r\n */\r\nexport interface RpcSmeExtensionUpdateStatus {\r\n    /**\r\n     * Request specific Id to track completion.\r\n     */\r\n    requestId: string;\r\n\r\n    /**\r\n     * The update status.\r\n     */\r\n    status: ExtensionUpdateStatus;\r\n\r\n    /**\r\n     * Error if any\r\n     */\r\n    error?: string;\r\n}\r\n\r\n/**\r\n * The RPC SME extension request type.\r\n */\r\nexport enum RpcSmeExtensionRequestType {\r\n    /**\r\n     * request is for available extensions\r\n     */\r\n    Available = 'available',\r\n\r\n    /**\r\n     * request is for installed extensions\r\n     */\r\n    Installed = 'installed',\r\n\r\n    /**\r\n     * request is for all extensions\r\n     */\r\n    All = 'all',\r\n\r\n    /**\r\n     * request is to install an extension\r\n     */\r\n    InstallExtension = 'installExtension',\r\n\r\n    /**\r\n     * request is for update status of extensions.\r\n     */\r\n    UpdateStatus = 'updateStatus',\r\n\r\n    /**\r\n     * request for searching entry points with search options.\r\n     */\r\n    SearchEntryPoints = 'searchEntryPoints'\r\n}\r\n\r\n/**\r\n * Sme Extension operation/action RPC message result.\r\n */\r\nexport interface RpcSmeExtensionRequestResult {\r\n    /**\r\n     * Request specific Id to track completion.\r\n     */\r\n    requestId: string;\r\n\r\n    /**\r\n     * Sme Extensions\r\n     */\r\n    extensions: SmeExtensions;\r\n\r\n    /**\r\n     * Sme Extension entry points find result.\r\n     */\r\n    findResult?: SmeExtensionFindResult;\r\n\r\n    /**\r\n     * Error if any\r\n     */\r\n    error?: string;\r\n}\r\n\r\n/**\r\n * The RPC SME extension configuration to install.\r\n */\r\nexport interface RpcSmeExtensionConfiguration {\r\n    /**\r\n     * name of the extension to install.\r\n     */\r\n    extensionName: string;\r\n\r\n    /**\r\n     * version of the extension to install.\r\n     * if none is specified, the latest will be installed.\r\n     */\r\n    extensionVersion?: string;\r\n\r\n    /**\r\n     * The location of feed from which to install the extension.\r\n     */\r\n    packageFeed?: string;\r\n}\r\n"]}