@looker/extension-sdk 24.14.0 → 24.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +3 -3
- package/lib/connect/extension_host_api.js.map +1 -1
- package/lib/esm/connect/extension_host_api.js.map +1 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/sdk/extension_sdk.js +2 -4
- package/lib/esm/sdk/extension_sdk.js.map +1 -1
- package/lib/esm/sdk/sdk_connection.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -11
- package/lib/index.js.map +1 -1
- package/lib/sdk/extension_sdk.d.ts +1 -1
- package/lib/sdk/extension_sdk.js +2 -4
- package/lib/sdk/extension_sdk.js.map +1 -1
- package/lib/sdk/sdk_connection.d.ts +1 -2
- package/lib/sdk/sdk_connection.js.map +1 -1
- package/package.json +4 -9
- package/lib/esm/sdk/extension_sdk_40.js +0 -9
- package/lib/esm/sdk/extension_sdk_40.js.map +0 -1
- package/lib/sdk/extension_sdk_40.d.ts +0 -5
- package/lib/sdk/extension_sdk_40.js +0 -16
- package/lib/sdk/extension_sdk_40.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [24.16.1](https://github.com/looker-open-source/sdk-codegen/compare/extension-sdk-v24.16.0...extension-sdk-v24.16.1) (2024-09-14)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* fix release 24.16.2 ([#1505](https://github.com/looker-open-source/sdk-codegen/issues/1505)) ([1cd1806](https://github.com/looker-open-source/sdk-codegen/commit/1cd180615901d2daf1fb112b41f2a72d2caacf61))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Dependencies
|
|
17
|
+
|
|
18
|
+
* The following workspace dependencies were updated
|
|
19
|
+
* dependencies
|
|
20
|
+
* @looker/sdk bumped from 24.16.0 to 24.16.1
|
|
21
|
+
* @looker/sdk-rtl bumped from 21.6.2 to 21.6.3
|
|
22
|
+
|
|
23
|
+
## [24.16.0](https://github.com/looker-open-source/sdk-codegen/compare/extension-sdk-v24.14.0...extension-sdk-v24.16.0) (2024-09-11)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* Remove the requests package from the TypeScript SDK ([#1491](https://github.com/looker-open-source/sdk-codegen/issues/1491)) ([670377c](https://github.com/looker-open-source/sdk-codegen/commit/670377c46a546bbd8dcc6679b8aeb041da1b4670)), closes [#1439](https://github.com/looker-open-source/sdk-codegen/issues/1439)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Dependencies
|
|
32
|
+
|
|
33
|
+
* The following workspace dependencies were updated
|
|
34
|
+
* dependencies
|
|
35
|
+
* @looker/sdk bumped from 24.14.0 to 24.16.0
|
|
36
|
+
* @looker/sdk-rtl bumped from 21.6.1 to 21.6.2
|
|
37
|
+
|
|
8
38
|
## [24.14.0](https://github.com/looker-open-source/sdk-codegen/compare/extension-sdk-v24.12.1...extension-sdk-v24.14.0) (2024-08-12)
|
|
9
39
|
|
|
10
40
|
|
package/README.md
CHANGED
|
@@ -31,14 +31,14 @@ The Extension SDK must establish a connection with its host before further funct
|
|
|
31
31
|
```ts
|
|
32
32
|
import {
|
|
33
33
|
connectExtensionHost,
|
|
34
|
-
|
|
34
|
+
LookerExtensionSDK,
|
|
35
35
|
} from '@looker/extension-sdk';
|
|
36
36
|
(async () => {
|
|
37
37
|
// This `extensionSDK` can perform extension-specific actions
|
|
38
38
|
const extensionSdk = await connectExtensionHost();
|
|
39
39
|
// This `coreSDK` is an automatically credentialed variant of the standard Looker Core SDK for performing API calls
|
|
40
|
-
const
|
|
41
|
-
const result = await
|
|
40
|
+
const sdk = LookerExtensionSDK.createClient(extensionSdk);
|
|
41
|
+
const result = await sdk.me();
|
|
42
42
|
const name = result.ok ? result.value.display_name : 'Unknown';
|
|
43
43
|
|
|
44
44
|
// DO OTHER THINGS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension_host_api.js","names":["_intersects","_interopRequireDefault","require","_util","_visualization_sdk","_tile_sdk","_fetch_proxy","_types","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_defineProperty","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EXTENSION_SDK_VERSION","exports","ExtensionHostApiImpl","constructor","configuration","_configuration","chattyHost","setInitialRoute","hostChangedRoute","visualizationDataReceivedCallback","tileHostDataChangedCallback","isDashboardMountSupported","_this$_lookerHostData","_this$lookerHostData","_this$lookerHostData2","_this$lookerHostData3","_lookerHostData","extensionDashboardTileEnabled","lookerHostData","mountPoint","MountPoint","dashboardTile","dashboardVisualization","dashboardTilePopup","visualizationSDK","_visualizationSDK","VisualizationSDKImpl","tileSDK","_tileSDK","TileSDKImpl","handleNotification","message","type","ExtensionNotificationType","ROUTE_CHANGED","payload","route","routeState","VISUALIZATION_DATA","updateVisData","TILE_HOST_DATA","tileHostDataChanged","INITIALIZE","standalone","contextData","errorMessage","requiredLookerVersion","lookerVersion","verifyLookerVersion","logError","extensionSdkVersion","Error","concat","createSecretKeyTag","keyName","match","extensionId","replace","verifyHostConnection","_this","sendAndReceive","ExtensionRequestType","VERIFY_HOST","invokeCoreSdk","httpMethod","path","params","body","authenticator","options","apiVersion","_this2","INVOKE_CORE_SDK","invokeCoreSdkRaw","_this3","RAW_INVOKE_CORE_SDK","updateTitle","title","send","UPDATE_TITLE","updateLocation","url","state","target","UPDATE_LOCATION","spartanLogout","SPARTAN_LOGOUT","openBrowserWindow","closeHostPopovers","CLOSE_HOST_POPOVERS","clientRouteChanged","localStorageSetItem","name","_arguments","_this4","length","LOCAL_STORAGE","localStorageGetItem","_this5","localStorageRemoveItem","_this6","clipboardWrite","_this7","CLIPBOARD","userAttributeSetItem","_arguments2","_this8","USER_ATTRIBUTE","userAttributeGetItem","_this9","userAttributeResetItem","_this10","getContextData","JSON","parse","saveContextData","context","_this11","stringify","CONTEXT_DATA","refreshContextData","_this12","track","trackAction","attributes","TRACK_ACTION","errorEvent","filename","lineno","colno","ERROR_EVENT","toString","unloaded","EXTENSION_UNLOADED","createFetchProxy","baseUrl","init","responseBodyType","FetchProxyImpl","fetchProxy","resource","_this13","INVOKE_EXTERNAL_API","serverProxy","_this14","oauth2Authenticate","authEndpoint","authParameters","_arguments3","_this15","validateAuthParameters","signal","AbortController","oauth2ExchangeCodeForToken","_this16","rendered","failureMessage","RENDERED","_this17","messagePayload","chattyPayload","ExtensionEvent","EXTENSION_API_REQUEST","values","version","intersects","client_id","redirect_uri","response_type"],"sources":["../../src/connect/extension_host_api.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { ChattyHostConnection, Options } from '@looker/chatty';\nimport intersects from 'semver/ranges/intersects';\nimport { logError } from '../util';\nimport type {\n VisualizationDataReceivedCallback,\n VisualizationSDK,\n VisualizationSDKInternal,\n} from './visualization';\nimport { VisualizationSDKImpl } from './visualization/visualization_sdk';\nimport type {\n TileHostDataChangedCallback,\n TileSDK,\n TileSDKInternal,\n} from './tile';\nimport { TileSDKImpl } from './tile/tile_sdk';\nimport { FetchProxyImpl } from './fetch_proxy';\nimport type {\n ApiVersion,\n ExtensionHostApi,\n ExtensionHostApiConfiguration,\n ExtensionInitializationResponse,\n ExtensionNotification,\n FetchCustomParameters,\n FetchResponseBodyType,\n LookerHostData,\n} from './types';\nimport {\n ExtensionEvent,\n ExtensionNotificationType,\n ExtensionRequestType,\n MountPoint,\n} from './types';\n\nexport const EXTENSION_SDK_VERSION = '0.10.5';\n\nexport class ExtensionHostApiImpl implements ExtensionHostApi {\n private _configuration: ExtensionHostApiConfiguration;\n private _lookerHostData?: Readonly<LookerHostData>;\n private chattyHost: ChattyHostConnection;\n private setInitialRoute?: (route: string, routeState?: any) => void;\n private hostChangedRoute?: (route: string, routeState?: any) => void;\n private visualizationDataReceivedCallback?: VisualizationDataReceivedCallback;\n private tileHostDataChangedCallback?: TileHostDataChangedCallback;\n private _visualizationSDK?: VisualizationSDKInternal;\n private _tileSDK?: TileSDKInternal;\n\n private contextData?: string;\n\n constructor(configuration: ExtensionHostApiConfiguration) {\n this._configuration = configuration;\n const {\n chattyHost,\n setInitialRoute,\n hostChangedRoute,\n visualizationDataReceivedCallback,\n tileHostDataChangedCallback,\n } = this._configuration;\n this.chattyHost = chattyHost;\n this.setInitialRoute = setInitialRoute;\n this.hostChangedRoute = hostChangedRoute;\n this.visualizationDataReceivedCallback = visualizationDataReceivedCallback;\n this.tileHostDataChangedCallback = tileHostDataChangedCallback;\n }\n\n get isDashboardMountSupported(): boolean {\n return (\n !!this._lookerHostData?.extensionDashboardTileEnabled &&\n (this.lookerHostData?.mountPoint === MountPoint.dashboardTile ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardVisualization ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardTilePopup)\n );\n }\n\n get visualizationSDK(): VisualizationSDK {\n if (!this._visualizationSDK) {\n this._visualizationSDK = new VisualizationSDKImpl(this);\n }\n return this._visualizationSDK;\n }\n\n get tileSDK(): TileSDK {\n if (!this._tileSDK) {\n this._tileSDK = new TileSDKImpl(this);\n }\n return this._tileSDK;\n }\n\n get lookerHostData() {\n return this._lookerHostData;\n }\n\n handleNotification(\n message: ExtensionNotification\n ): ExtensionInitializationResponse | undefined {\n const { type } = message;\n switch (type) {\n case ExtensionNotificationType.ROUTE_CHANGED: {\n const { payload } = message;\n if (this.hostChangedRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.hostChangedRoute(route, routeState);\n }\n }\n return undefined;\n }\n case ExtensionNotificationType.VISUALIZATION_DATA: {\n const { payload } = message;\n (this.visualizationSDK as VisualizationSDKInternal).updateVisData(\n payload\n );\n if (this.visualizationDataReceivedCallback) {\n this.visualizationDataReceivedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.TILE_HOST_DATA: {\n const { payload } = message;\n (this.tileSDK as TileSDKInternal).tileHostDataChanged(payload);\n if (this.tileHostDataChangedCallback) {\n this.tileHostDataChangedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.INITIALIZE: {\n const { payload } = message;\n const lookerHostData = payload || {};\n if (!lookerHostData.mountPoint) {\n lookerHostData.mountPoint = MountPoint.standalone;\n }\n this._lookerHostData = lookerHostData;\n this.contextData = lookerHostData.contextData;\n let errorMessage;\n if (\n this._configuration.requiredLookerVersion &&\n lookerHostData.lookerVersion\n ) {\n errorMessage = this.verifyLookerVersion(\n this._configuration.requiredLookerVersion\n );\n if (errorMessage) {\n logError(errorMessage);\n }\n }\n if (this.setInitialRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.setInitialRoute(route, routeState);\n }\n }\n return {\n extensionSdkVersion: EXTENSION_SDK_VERSION,\n errorMessage,\n };\n }\n default:\n logError('Unrecognized extension notification', message);\n throw new Error(`Unrecognized extension notification type ${type}`);\n }\n }\n\n createSecretKeyTag(keyName: string): string {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (!keyName.match(/^[A-Za-z0-9_.]+$/)) {\n throw new Error('Unsupported characters in key name');\n }\n return `{{${(this._lookerHostData as LookerHostData).extensionId.replace(\n /::|-/g,\n '_'\n )}_${keyName}}}`;\n }\n\n async verifyHostConnection() {\n return this.sendAndReceive(ExtensionRequestType.VERIFY_HOST);\n }\n\n async invokeCoreSdk(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n authenticator?: any,\n options?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n authenticator,\n options,\n apiVersion,\n });\n }\n\n async invokeCoreSdkRaw(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.RAW_INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n apiVersion,\n });\n }\n\n updateTitle(title: string) {\n this.send(ExtensionRequestType.UPDATE_TITLE, { title });\n }\n\n updateLocation(url: string, state?: any, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, { url, state, target });\n }\n\n spartanLogout() {\n this.send(ExtensionRequestType.SPARTAN_LOGOUT);\n }\n\n openBrowserWindow(url: string, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, {\n url,\n undefined,\n target: target || '_blank',\n });\n }\n\n closeHostPopovers() {\n this.send(ExtensionRequestType.CLOSE_HOST_POPOVERS);\n }\n\n clientRouteChanged(route: string, routeState?: any) {\n this.send(ExtensionRequestType.ROUTE_CHANGED, {\n route,\n routeState,\n });\n }\n\n async localStorageSetItem(name: string, value = ''): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageSetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async localStorageGetItem(name: string): Promise<string | null> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageGetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'get',\n name,\n });\n }\n\n async localStorageRemoveItem(name: string): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageRemoveItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'remove',\n name,\n });\n }\n\n async clipboardWrite(value: string): Promise<void> {\n const errorMessage = this.verifyLookerVersion('>=21.7');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.CLIPBOARD, {\n type: 'write',\n value,\n });\n }\n\n async userAttributeSetItem(name: string, value = ''): Promise<boolean> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async userAttributeGetItem(name: string): Promise<string | null> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'get',\n name,\n });\n }\n\n async userAttributeResetItem(name: string): Promise<void> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'reset',\n name,\n });\n }\n\n getContextData() {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (this.contextData) {\n return JSON.parse(this.contextData);\n } else {\n return undefined;\n }\n }\n\n async saveContextData(context: any): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n let contextData: string | undefined;\n if (context) {\n try {\n contextData = JSON.stringify(context);\n } catch (err) {\n return Promise.reject(new Error('context cannot be serialized'));\n }\n } else {\n contextData = undefined;\n }\n await this.sendAndReceive(ExtensionRequestType.CONTEXT_DATA, {\n type: 'save',\n contextData,\n });\n return this.getContextData();\n }\n\n async refreshContextData(): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n this.contextData = await this.sendAndReceive(\n ExtensionRequestType.CONTEXT_DATA,\n {\n type: 'refresh',\n }\n );\n return this.getContextData();\n }\n\n track(name: string, trackAction: string, attributes?: Record<string, any>) {\n this.send(ExtensionRequestType.TRACK_ACTION, {\n name,\n trackAction,\n attributes,\n });\n }\n\n error(errorEvent: ErrorEvent) {\n if (this._lookerHostData) {\n const { message, filename, lineno, colno, error } = errorEvent || {};\n this.send(ExtensionRequestType.ERROR_EVENT, {\n message,\n filename,\n lineno,\n colno,\n error: error && error.toString ? error.toString() : error,\n });\n } else {\n logError(\n 'Unhandled error but Looker host connection not established',\n errorEvent\n );\n }\n }\n\n unloaded() {\n this.send(ExtensionRequestType.EXTENSION_UNLOADED, {});\n }\n\n createFetchProxy(\n baseUrl?: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n return new FetchProxyImpl(this, baseUrl, init, responseBodyType);\n }\n\n async fetchProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Fetch proxy support added to Looker 7.9\n const errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'fetch',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async serverProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Server proxy support added to Looker 7.11\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'server-proxy',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async oauth2Authenticate(\n authEndpoint: string,\n authParameters: Record<string, string>,\n httpMethod = 'POST'\n ) {\n // oauth2Authenticate proxy support added to Looker 7.9\n let errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n errorMessage = this.validateAuthParameters(authParameters);\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(\n ExtensionRequestType.INVOKE_EXTERNAL_API,\n {\n type: 'oauth2_authenticate',\n payload: {\n authEndpoint,\n authParameters,\n httpMethod,\n },\n },\n // Adding the signal disables the default timeout\n { signal: new AbortController().signal }\n );\n }\n\n async oauth2ExchangeCodeForToken(\n authEndpoint: string,\n authParameters: Record<string, string>\n ) {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'oauth2_exchange_code',\n payload: {\n authEndpoint,\n authParameters,\n },\n });\n }\n\n rendered(failureMessage?: string) {\n this.send(ExtensionRequestType.RENDERED, { failureMessage });\n }\n\n async sendAndReceive(\n type: string,\n payload?: any,\n options?: Options\n ): Promise<any> {\n if (!this._lookerHostData) {\n return Promise.reject(\n new Error('Looker host connection not established')\n );\n }\n const messagePayload = {\n type,\n payload,\n };\n const chattyPayload = options\n ? [messagePayload, options]\n : [messagePayload];\n return this.chattyHost\n .sendAndReceive(ExtensionEvent.EXTENSION_API_REQUEST, ...chattyPayload)\n .then((values) => values[0]);\n }\n\n send(type: string, payload?: any) {\n if (!this._lookerHostData) {\n throw new Error('Looker host connection not established');\n }\n this.chattyHost.send(ExtensionEvent.EXTENSION_API_REQUEST, {\n type,\n payload,\n });\n }\n\n private verifyLookerVersion(version: string): string | undefined {\n // Default version to 7.0 as that's the first Looker version that officially\n // supported extensions. Version 6.24 has some support for extensions but most\n // likely will fail before reaching this point\n const lookerVersion = this._lookerHostData\n ? this._lookerHostData.lookerVersion || '7.0'\n : '7.0';\n if (!this._lookerHostData || !intersects(version, lookerVersion, true)) {\n return `Extension requires Looker version ${version}, got ${lookerVersion}`;\n }\n return undefined;\n }\n\n private validateAuthParameters(authParameters: Record<string, string>) {\n if (!authParameters.client_id) {\n return 'client_id missing';\n }\n if (authParameters.redirect_uri) {\n return 'redirect_uri must NOT be included';\n }\n if (\n authParameters.response_type !== 'token' &&\n authParameters.response_type !== 'id_token' &&\n authParameters.response_type !== 'code'\n ) {\n return `invalid response_type, must be token, id_token or code, ${authParameters.response_type}`;\n }\n return undefined;\n }\n}\n"],"mappings":";;;;;;AA2BA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAMA,IAAAE,kBAAA,GAAAF,OAAA;AAMA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAWA,IAAAK,MAAA,GAAAL,OAAA;AAKiB,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAAA,SAAAC,gBAAAzB,GAAA,EAAAS,GAAA,EAAAG,KAAA,IAAAH,GAAA,GAAAiB,cAAA,CAAAjB,GAAA,OAAAA,GAAA,IAAAT,GAAA,IAAA2B,MAAA,CAAAC,cAAA,CAAA5B,GAAA,EAAAS,GAAA,IAAAG,KAAA,EAAAA,KAAA,EAAAiB,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAA/B,GAAA,CAAAS,GAAA,IAAAG,KAAA,WAAAZ,GAAA;AAAA,SAAA0B,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEV,IAAMW,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,QAAQ;AAEtC,MAAME,oBAAoB,CAA6B;EAa5DC,WAAWA,CAACC,aAA4C,EAAE;IAAAtB,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACxD,IAAI,CAACuB,cAAc,GAAGD,aAAa;IACnC,IAAM;MACJE,UAAU;MACVC,eAAe;MACfC,gBAAgB;MAChBC,iCAAiC;MACjCC;IACF,CAAC,GAAG,IAAI,CAACL,cAAc;IACvB,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACC,iCAAiC,GAAGA,iCAAiC;IAC1E,IAAI,CAACC,2BAA2B,GAAGA,2BAA2B;EAChE;EAEA,IAAIC,yBAAyBA,CAAA,EAAY;IAAA,IAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IACvC,OACE,CAAC,GAAAH,qBAAA,GAAC,IAAI,CAACI,eAAe,cAAAJ,qBAAA,eAApBA,qBAAA,CAAsBK,6BAA6B,MACpD,EAAAJ,oBAAA,OAAI,CAACK,cAAc,cAAAL,oBAAA,uBAAnBA,oBAAA,CAAqBM,UAAU,MAAKC,iBAAU,CAACC,aAAa,IAC3D,EAAAP,qBAAA,OAAI,CAACI,cAAc,cAAAJ,qBAAA,uBAAnBA,qBAAA,CAAqBK,UAAU,MAAKC,iBAAU,CAACE,sBAAsB,IACrE,EAAAP,qBAAA,OAAI,CAACG,cAAc,cAAAH,qBAAA,uBAAnBA,qBAAA,CAAqBI,UAAU,MAAKC,iBAAU,CAACG,kBAAkB,CAAC;EAExE;EAEA,IAAIC,gBAAgBA,CAAA,EAAqB;IACvC,IAAI,CAAC,IAAI,CAACC,iBAAiB,EAAE;MAC3B,IAAI,CAACA,iBAAiB,GAAG,IAAIC,uCAAoB,CAAC,IAAI,CAAC;IACzD;IACA,OAAO,IAAI,CAACD,iBAAiB;EAC/B;EAEA,IAAIE,OAAOA,CAAA,EAAY;IACrB,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAClB,IAAI,CAACA,QAAQ,GAAG,IAAIC,qBAAW,CAAC,IAAI,CAAC;IACvC;IACA,OAAO,IAAI,CAACD,QAAQ;EACtB;EAEA,IAAIV,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACF,eAAe;EAC7B;EAEAc,kBAAkBA,CAChBC,OAA8B,EACe;IAC7C,IAAM;MAAEC;IAAK,CAAC,GAAGD,OAAO;IACxB,QAAQC,IAAI;MACV,KAAKC,gCAAyB,CAACC,aAAa;QAAE;UAC5C,IAAM;YAAEC;UAAQ,CAAC,GAAGJ,OAAO;UAC3B,IAAI,IAAI,CAACvB,gBAAgB,IAAI2B,OAAO,EAAE;YACpC,IAAM;cAAEC,KAAK,EAALA,MAAK;cAAEC,UAAU,EAAVA;YAAW,CAAC,GAAGF,OAAO;YACrC,IAAIC,MAAK,EAAE;cACT,IAAI,CAAC5B,gBAAgB,CAAC4B,MAAK,EAAEC,WAAU,CAAC;YAC1C;UACF;UACA,OAAOxD,SAAS;QAClB;MACA,KAAKoD,gCAAyB,CAACK,kBAAkB;QAAE;UACjD,IAAM;YAAEH,OAAO,EAAPA;UAAQ,CAAC,GAAGJ,OAAO;UAC1B,IAAI,CAACP,gBAAgB,CAA8Be,aAAa,CAC/DJ,QACF,CAAC;UACD,IAAI,IAAI,CAAC1B,iCAAiC,EAAE;YAC1C,IAAI,CAACA,iCAAiC,CAAC0B,QAAO,CAAC;UACjD;UACA,OAAOtD,SAAS;QAClB;MACA,KAAKoD,gCAAyB,CAACO,cAAc;QAAE;UAC7C,IAAM;YAAEL,OAAO,EAAPA;UAAQ,CAAC,GAAGJ,OAAO;UAC1B,IAAI,CAACJ,OAAO,CAAqBc,mBAAmB,CAACN,SAAO,CAAC;UAC9D,IAAI,IAAI,CAACzB,2BAA2B,EAAE;YACpC,IAAI,CAACA,2BAA2B,CAACyB,SAAO,CAAC;UAC3C;UACA,OAAOtD,SAAS;QAClB;MACA,KAAKoD,gCAAyB,CAACS,UAAU;QAAE;UACzC,IAAM;YAAEP,OAAO,EAAPA;UAAQ,CAAC,GAAGJ,OAAO;UAC3B,IAAMb,cAAc,GAAGiB,SAAO,IAAI,CAAC,CAAC;UACpC,IAAI,CAACjB,cAAc,CAACC,UAAU,EAAE;YAC9BD,cAAc,CAACC,UAAU,GAAGC,iBAAU,CAACuB,UAAU;UACnD;UACA,IAAI,CAAC3B,eAAe,GAAGE,cAAc;UACrC,IAAI,CAAC0B,WAAW,GAAG1B,cAAc,CAAC0B,WAAW;UAC7C,IAAIC,YAAY;UAChB,IACE,IAAI,CAACxC,cAAc,CAACyC,qBAAqB,IACzC5B,cAAc,CAAC6B,aAAa,EAC5B;YACAF,YAAY,GAAG,IAAI,CAACG,mBAAmB,CACrC,IAAI,CAAC3C,cAAc,CAACyC,qBACtB,CAAC;YACD,IAAID,YAAY,EAAE;cAChB,IAAAI,cAAQ,EAACJ,YAAY,CAAC;YACxB;UACF;UACA,IAAI,IAAI,CAACtC,eAAe,IAAI4B,SAAO,EAAE;YACnC,IAAM;cAAEC,KAAK,EAALA,OAAK;cAAEC,UAAU,EAAVA;YAAW,CAAC,GAAGF,SAAO;YACrC,IAAIC,OAAK,EAAE;cACT,IAAI,CAAC7B,eAAe,CAAC6B,OAAK,EAAEC,YAAU,CAAC;YACzC;UACF;UACA,OAAO;YACLa,mBAAmB,EAAElD,qBAAqB;YAC1C6C;UACF,CAAC;QACH;MACA;QACE,IAAAI,cAAQ,EAAC,qCAAqC,EAAElB,OAAO,CAAC;QACxD,MAAM,IAAIoB,KAAK,6CAAAC,MAAA,CAA6CpB,IAAI,CAAE,CAAC;IACvE;EACF;EAEAqB,kBAAkBA,CAACC,OAAe,EAAU;IAC1C,IAAMT,YAAY,GAAG,IAAI,CAACG,mBAAmB,CAAC,QAAQ,CAAC;IACvD,IAAIH,YAAY,EAAE;MAChB,MAAM,IAAIM,KAAK,CAACN,YAAY,CAAC;IAC/B;IACA,IAAI,CAACS,OAAO,CAACC,KAAK,CAAC,kBAAkB,CAAC,EAAE;MACtC,MAAM,IAAIJ,KAAK,CAAC,oCAAoC,CAAC;IACvD;IACA,YAAAC,MAAA,CAAa,IAAI,CAACpC,eAAe,CAAoBwC,WAAW,CAACC,OAAO,CACtE,OAAO,EACP,GACF,CAAC,OAAAL,MAAA,CAAIE,OAAO;EACd;EAEMI,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,KAAA;IAAA,OAAArF,iBAAA;MAC3B,OAAOqF,KAAI,CAACC,cAAc,CAACC,2BAAoB,CAACC,WAAW,CAAC;IAAC;EAC/D;EAEMC,aAAaA,CACjBC,UAAkB,EAClBC,IAAY,EACZC,MAAY,EACZC,IAAU,EACVC,aAAmB,EACnBC,OAAa,EACbC,UAAuB,EACT;IAAA,IAAAC,MAAA;IAAA,OAAAjG,iBAAA;MACd,OAAOiG,MAAI,CAACX,cAAc,CAACC,2BAAoB,CAACW,eAAe,EAAE;QAC/DR,UAAU;QACVC,IAAI;QACJC,MAAM;QACNC,IAAI;QACJC,aAAa;QACbC,OAAO;QACPC;MACF,CAAC,CAAC;IAAC;EACL;EAEMG,gBAAgBA,CACpBT,UAAkB,EAClBC,IAAY,EACZC,MAAY,EACZC,IAAU,EACVG,UAAuB,EACT;IAAA,IAAAI,MAAA;IAAA,OAAApG,iBAAA;MACd,OAAOoG,MAAI,CAACd,cAAc,CAACC,2BAAoB,CAACc,mBAAmB,EAAE;QACnEX,UAAU;QACVC,IAAI;QACJC,MAAM;QACNC,IAAI;QACJG;MACF,CAAC,CAAC;IAAC;EACL;EAEAM,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACC,IAAI,CAACjB,2BAAoB,CAACkB,YAAY,EAAE;MAAEF;IAAM,CAAC,CAAC;EACzD;EAEAG,cAAcA,CAACC,GAAW,EAAEC,KAAW,EAAEC,MAAe,EAAE;IACxD,IAAI,CAACL,IAAI,CAACjB,2BAAoB,CAACuB,eAAe,EAAE;MAAEH,GAAG;MAAEC,KAAK;MAAEC;IAAO,CAAC,CAAC;EACzE;EAEAE,aAAaA,CAAA,EAAG;IACd,IAAI,CAACP,IAAI,CAACjB,2BAAoB,CAACyB,cAAc,CAAC;EAChD;EAEAC,iBAAiBA,CAACN,GAAW,EAAEE,MAAe,EAAE;IAC9C,IAAI,CAACL,IAAI,CAACjB,2BAAoB,CAACuB,eAAe,EAAE;MAC9CH,GAAG;MACHpG,SAAS;MACTsG,MAAM,EAAEA,MAAM,IAAI;IACpB,CAAC,CAAC;EACJ;EAEAK,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACV,IAAI,CAACjB,2BAAoB,CAAC4B,mBAAmB,CAAC;EACrD;EAEAC,kBAAkBA,CAACtD,KAAa,EAAEC,UAAgB,EAAE;IAClD,IAAI,CAACyC,IAAI,CAACjB,2BAAoB,CAAC3B,aAAa,EAAE;MAC5CE,KAAK;MACLC;IACF,CAAC,CAAC;EACJ;EAEMsD,mBAAmBA,CAACC,IAAY,EAAgC;IAAA,IAAAC,UAAA,GAAAnH,SAAA;MAAAoH,MAAA;IAAA,OAAAxH,iBAAA;MAAA,IAA9BL,KAAK,GAAA4H,UAAA,CAAAE,MAAA,QAAAF,UAAA,QAAAhH,SAAA,GAAAgH,UAAA,MAAG,EAAE;MAChD,IAAIC,MAAI,CAAC9E,eAAe,IAAI,CAAC8E,MAAI,CAAC9E,eAAe,CAAC+B,aAAa,EAAE;QAC/D,OAAO3E,OAAO,CAACT,MAAM,CACnB,IAAIwF,KAAK,CACP,8DACF,CACF,CAAC;MACH;MACA,OAAO2C,MAAI,CAAClC,cAAc,CAACC,2BAAoB,CAACmC,aAAa,EAAE;QAC7DhE,IAAI,EAAE,KAAK;QACX4D,IAAI;QACJ3H;MACF,CAAC,CAAC;IAAC;EACL;EAEMgI,mBAAmBA,CAACL,IAAY,EAA0B;IAAA,IAAAM,MAAA;IAAA,OAAA5H,iBAAA;MAC9D,IAAI4H,MAAI,CAAClF,eAAe,IAAI,CAACkF,MAAI,CAAClF,eAAe,CAAC+B,aAAa,EAAE;QAC/D,OAAO3E,OAAO,CAACT,MAAM,CACnB,IAAIwF,KAAK,CACP,8DACF,CACF,CAAC;MACH;MACA,OAAO+C,MAAI,CAACtC,cAAc,CAACC,2BAAoB,CAACmC,aAAa,EAAE;QAC7DhE,IAAI,EAAE,KAAK;QACX4D;MACF,CAAC,CAAC;IAAC;EACL;EAEMO,sBAAsBA,CAACP,IAAY,EAAoB;IAAA,IAAAQ,MAAA;IAAA,OAAA9H,iBAAA;MAC3D,IAAI8H,MAAI,CAACpF,eAAe,IAAI,CAACoF,MAAI,CAACpF,eAAe,CAAC+B,aAAa,EAAE;QAC/D,OAAO3E,OAAO,CAACT,MAAM,CACnB,IAAIwF,KAAK,CACP,iEACF,CACF,CAAC;MACH;MACA,OAAOiD,MAAI,CAACxC,cAAc,CAACC,2BAAoB,CAACmC,aAAa,EAAE;QAC7DhE,IAAI,EAAE,QAAQ;QACd4D;MACF,CAAC,CAAC;IAAC;EACL;EAEMS,cAAcA,CAACpI,KAAa,EAAiB;IAAA,IAAAqI,MAAA;IAAA,OAAAhI,iBAAA;MACjD,IAAMuE,YAAY,GAAGyD,MAAI,CAACtD,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAOyD,MAAI,CAAC1C,cAAc,CAACC,2BAAoB,CAAC0C,SAAS,EAAE;QACzDvE,IAAI,EAAE,OAAO;QACb/D;MACF,CAAC,CAAC;IAAC;EACL;EAEMuI,oBAAoBA,CAACZ,IAAY,EAAgC;IAAA,IAAAa,WAAA,GAAA/H,SAAA;MAAAgI,MAAA;IAAA,OAAApI,iBAAA;MAAA,IAA9BL,KAAK,GAAAwI,WAAA,CAAAV,MAAA,QAAAU,WAAA,QAAA5H,SAAA,GAAA4H,WAAA,MAAG,EAAE;MAEjD,IAAM5D,YAAY,GAAG6D,MAAI,CAAC1D,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAO6D,MAAI,CAAC9C,cAAc,CAACC,2BAAoB,CAAC8C,cAAc,EAAE;QAC9D3E,IAAI,EAAE,KAAK;QACX4D,IAAI;QACJ3H;MACF,CAAC,CAAC;IAAC;EACL;EAEM2I,oBAAoBA,CAAChB,IAAY,EAA0B;IAAA,IAAAiB,MAAA;IAAA,OAAAvI,iBAAA;MAE/D,IAAMuE,YAAY,GAAGgE,MAAI,CAAC7D,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAOgE,MAAI,CAACjD,cAAc,CAACC,2BAAoB,CAAC8C,cAAc,EAAE;QAC9D3E,IAAI,EAAE,KAAK;QACX4D;MACF,CAAC,CAAC;IAAC;EACL;EAEMkB,sBAAsBA,CAAClB,IAAY,EAAiB;IAAA,IAAAmB,OAAA;IAAA,OAAAzI,iBAAA;MAExD,IAAMuE,YAAY,GAAGkE,OAAI,CAAC/D,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAOkE,OAAI,CAACnD,cAAc,CAACC,2BAAoB,CAAC8C,cAAc,EAAE;QAC9D3E,IAAI,EAAE,OAAO;QACb4D;MACF,CAAC,CAAC;IAAC;EACL;EAEAoB,cAAcA,CAAA,EAAG;IACf,IAAMnE,YAAY,GAAG,IAAI,CAACG,mBAAmB,CAAC,QAAQ,CAAC;IACvD,IAAIH,YAAY,EAAE;MAChB,MAAM,IAAIM,KAAK,CAACN,YAAY,CAAC;IAC/B;IACA,IAAI,IAAI,CAACD,WAAW,EAAE;MACpB,OAAOqE,IAAI,CAACC,KAAK,CAAC,IAAI,CAACtE,WAAW,CAAC;IACrC,CAAC,MAAM;MACL,OAAO/D,SAAS;IAClB;EACF;EAEMsI,eAAeA,CAACC,OAAY,EAAgB;IAAA,IAAAC,OAAA;IAAA,OAAA/I,iBAAA;MAChD,IAAMuE,YAAY,GAAGwE,OAAI,CAACrE,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,IAAID,WAA+B;MACnC,IAAIwE,OAAO,EAAE;QACX,IAAI;UACFxE,WAAW,GAAGqE,IAAI,CAACK,SAAS,CAACF,OAAO,CAAC;QACvC,CAAC,CAAC,OAAOxI,GAAG,EAAE;UACZ,OAAOR,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClE;MACF,CAAC,MAAM;QACLP,WAAW,GAAG/D,SAAS;MACzB;MACA,MAAMwI,OAAI,CAACzD,cAAc,CAACC,2BAAoB,CAAC0D,YAAY,EAAE;QAC3DvF,IAAI,EAAE,MAAM;QACZY;MACF,CAAC,CAAC;MACF,OAAOyE,OAAI,CAACL,cAAc,CAAC,CAAC;IAAC;EAC/B;EAEMQ,kBAAkBA,CAAA,EAAiB;IAAA,IAAAC,OAAA;IAAA,OAAAnJ,iBAAA;MACvC,IAAMuE,YAAY,GAAG4E,OAAI,CAACzE,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA4E,OAAI,CAAC7E,WAAW,SAAS6E,OAAI,CAAC7D,cAAc,CAC1CC,2BAAoB,CAAC0D,YAAY,EACjC;QACEvF,IAAI,EAAE;MACR,CACF,CAAC;MACD,OAAOyF,OAAI,CAACT,cAAc,CAAC,CAAC;IAAC;EAC/B;EAEAU,KAAKA,CAAC9B,IAAY,EAAE+B,WAAmB,EAAEC,UAAgC,EAAE;IACzE,IAAI,CAAC9C,IAAI,CAACjB,2BAAoB,CAACgE,YAAY,EAAE;MAC3CjC,IAAI;MACJ+B,WAAW;MACXC;IACF,CAAC,CAAC;EACJ;EAEA1J,KAAKA,CAAC4J,UAAsB,EAAE;IAC5B,IAAI,IAAI,CAAC9G,eAAe,EAAE;MACxB,IAAM;QAAEe,OAAO;QAAEgG,QAAQ;QAAEC,MAAM;QAAEC,KAAK;QAAE/J;MAAM,CAAC,GAAG4J,UAAU,IAAI,CAAC,CAAC;MACpE,IAAI,CAAChD,IAAI,CAACjB,2BAAoB,CAACqE,WAAW,EAAE;QAC1CnG,OAAO;QACPgG,QAAQ;QACRC,MAAM;QACNC,KAAK;QACL/J,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAACiK,QAAQ,GAAGjK,KAAK,CAACiK,QAAQ,CAAC,CAAC,GAAGjK;MACtD,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAA+E,cAAQ,EACN,4DAA4D,EAC5D6E,UACF,CAAC;IACH;EACF;EAEAM,QAAQA,CAAA,EAAG;IACT,IAAI,CAACtD,IAAI,CAACjB,2BAAoB,CAACwE,kBAAkB,EAAE,CAAC,CAAC,CAAC;EACxD;EAEAC,gBAAgBA,CACdC,OAAgB,EAChBC,IAA4B,EAC5BC,gBAAwC,EACxC;IACA,OAAO,IAAIC,2BAAc,CAAC,IAAI,EAAEH,OAAO,EAAEC,IAAI,EAAEC,gBAAgB,CAAC;EAClE;EAEME,UAAUA,CACdC,QAAgB,EAChBJ,IAA4B,EAC5BC,gBAAwC,EACxC;IAAA,IAAAI,OAAA;IAAA,OAAAvK,iBAAA;MAEA,IAAMuE,YAAY,GAAGgG,OAAI,CAAC7F,mBAAmB,CAAC,OAAO,CAAC;MACtD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAOgG,OAAI,CAACjF,cAAc,CAACC,2BAAoB,CAACiF,mBAAmB,EAAE;QACnE9G,IAAI,EAAE,OAAO;QACbG,OAAO,EAAE;UACPyG,QAAQ;UACRJ,IAAI;UACJC;QACF;MACF,CAAC,CAAC;IAAC;EACL;EAEMM,WAAWA,CACfH,QAAgB,EAChBJ,IAA4B,EAC5BC,gBAAwC,EACxC;IAAA,IAAAO,OAAA;IAAA,OAAA1K,iBAAA;MAEA,IAAMuE,YAAY,GAAGmG,OAAI,CAAChG,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAOmG,OAAI,CAACpF,cAAc,CAACC,2BAAoB,CAACiF,mBAAmB,EAAE;QACnE9G,IAAI,EAAE,cAAc;QACpBG,OAAO,EAAE;UACPyG,QAAQ;UACRJ,IAAI;UACJC;QACF;MACF,CAAC,CAAC;IAAC;EACL;EAEMQ,kBAAkBA,CACtBC,YAAoB,EACpBC,cAAsC,EAEtC;IAAA,IAAAC,WAAA,GAAA1K,SAAA;MAAA2K,OAAA;IAAA,OAAA/K,iBAAA;MAAA,IADA0F,UAAU,GAAAoF,WAAA,CAAArD,MAAA,QAAAqD,WAAA,QAAAvK,SAAA,GAAAuK,WAAA,MAAG,MAAM;MAGnB,IAAIvG,YAAY,GAAGwG,OAAI,CAACrG,mBAAmB,CAAC,OAAO,CAAC;MACpD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACAA,YAAY,GAAGwG,OAAI,CAACC,sBAAsB,CAACH,cAAc,CAAC;MAC1D,IAAItG,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAOwG,OAAI,CAACzF,cAAc,CACxBC,2BAAoB,CAACiF,mBAAmB,EACxC;QACE9G,IAAI,EAAE,qBAAqB;QAC3BG,OAAO,EAAE;UACP+G,YAAY;UACZC,cAAc;UACdnF;QACF;MACF,CAAC,EAED;QAAEuF,MAAM,EAAE,IAAIC,eAAe,CAAC,CAAC,CAACD;MAAO,CACzC,CAAC;IAAC;EACJ;EAEME,0BAA0BA,CAC9BP,YAAoB,EACpBC,cAAsC,EACtC;IAAA,IAAAO,OAAA;IAAA,OAAApL,iBAAA;MACA,IAAMuE,YAAY,GAAG6G,OAAI,CAAC1G,mBAAmB,CAAC,QAAQ,CAAC;MACvD,IAAIH,YAAY,EAAE;QAChB,OAAOzE,OAAO,CAACT,MAAM,CAAC,IAAIwF,KAAK,CAACN,YAAY,CAAC,CAAC;MAChD;MACA,OAAO6G,OAAI,CAAC9F,cAAc,CAACC,2BAAoB,CAACiF,mBAAmB,EAAE;QACnE9G,IAAI,EAAE,sBAAsB;QAC5BG,OAAO,EAAE;UACP+G,YAAY;UACZC;QACF;MACF,CAAC,CAAC;IAAC;EACL;EAEAQ,QAAQA,CAACC,cAAuB,EAAE;IAChC,IAAI,CAAC9E,IAAI,CAACjB,2BAAoB,CAACgG,QAAQ,EAAE;MAAED;IAAe,CAAC,CAAC;EAC9D;EAEMhG,cAAcA,CAClB5B,IAAY,EACZG,OAAa,EACbkC,OAAiB,EACH;IAAA,IAAAyF,OAAA;IAAA,OAAAxL,iBAAA;MACd,IAAI,CAACwL,OAAI,CAAC9I,eAAe,EAAE;QACzB,OAAO5C,OAAO,CAACT,MAAM,CACnB,IAAIwF,KAAK,CAAC,wCAAwC,CACpD,CAAC;MACH;MACA,IAAM4G,cAAc,GAAG;QACrB/H,IAAI;QACJG;MACF,CAAC;MACD,IAAM6H,aAAa,GAAG3F,OAAO,GACzB,CAAC0F,cAAc,EAAE1F,OAAO,CAAC,GACzB,CAAC0F,cAAc,CAAC;MACpB,OAAOD,OAAI,CAACxJ,UAAU,CACnBsD,cAAc,CAACqG,qBAAc,CAACC,qBAAqB,EAAE,GAAGF,aAAa,CAAC,CACtE3L,IAAI,CAAE8L,MAAM,IAAKA,MAAM,CAAC,CAAC,CAAC,CAAC;IAAC;EACjC;EAEArF,IAAIA,CAAC9C,IAAY,EAAEG,OAAa,EAAE;IAChC,IAAI,CAAC,IAAI,CAACnB,eAAe,EAAE;MACzB,MAAM,IAAImC,KAAK,CAAC,wCAAwC,CAAC;IAC3D;IACA,IAAI,CAAC7C,UAAU,CAACwE,IAAI,CAACmF,qBAAc,CAACC,qBAAqB,EAAE;MACzDlI,IAAI;MACJG;IACF,CAAC,CAAC;EACJ;EAEQa,mBAAmBA,CAACoH,OAAe,EAAsB;IAI/D,IAAMrH,aAAa,GAAG,IAAI,CAAC/B,eAAe,GACtC,IAAI,CAACA,eAAe,CAAC+B,aAAa,IAAI,KAAK,GAC3C,KAAK;IACT,IAAI,CAAC,IAAI,CAAC/B,eAAe,IAAI,CAAC,IAAAqJ,mBAAU,EAACD,OAAO,EAAErH,aAAa,EAAE,IAAI,CAAC,EAAE;MACtE,4CAAAK,MAAA,CAA4CgH,OAAO,YAAAhH,MAAA,CAASL,aAAa;IAC3E;IACA,OAAOlE,SAAS;EAClB;EAEQyK,sBAAsBA,CAACH,cAAsC,EAAE;IACrE,IAAI,CAACA,cAAc,CAACmB,SAAS,EAAE;MAC7B,OAAO,mBAAmB;IAC5B;IACA,IAAInB,cAAc,CAACoB,YAAY,EAAE;MAC/B,OAAO,mCAAmC;IAC5C;IACA,IACEpB,cAAc,CAACqB,aAAa,KAAK,OAAO,IACxCrB,cAAc,CAACqB,aAAa,KAAK,UAAU,IAC3CrB,cAAc,CAACqB,aAAa,KAAK,MAAM,EACvC;MACA,kEAAApH,MAAA,CAAkE+F,cAAc,CAACqB,aAAa;IAChG;IACA,OAAO3L,SAAS;EAClB;AACF;AAACoB,OAAA,CAAAC,oBAAA,GAAAA,oBAAA"}
|
|
1
|
+
{"version":3,"file":"extension_host_api.js","names":["_intersects","_interopRequireDefault","require","_util","_visualization_sdk","_tile_sdk","_fetch_proxy","_types","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_defineProperty","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","EXTENSION_SDK_VERSION","exports","ExtensionHostApiImpl","constructor","configuration","_configuration","chattyHost","setInitialRoute","hostChangedRoute","visualizationDataReceivedCallback","tileHostDataChangedCallback","isDashboardMountSupported","_this$_lookerHostData","_this$lookerHostData","_this$lookerHostData2","_this$lookerHostData3","_lookerHostData","extensionDashboardTileEnabled","lookerHostData","mountPoint","MountPoint","dashboardTile","dashboardVisualization","dashboardTilePopup","visualizationSDK","_visualizationSDK","VisualizationSDKImpl","tileSDK","_tileSDK","TileSDKImpl","handleNotification","message","type","ExtensionNotificationType","ROUTE_CHANGED","payload","route","routeState","VISUALIZATION_DATA","updateVisData","TILE_HOST_DATA","tileHostDataChanged","INITIALIZE","standalone","contextData","errorMessage","requiredLookerVersion","lookerVersion","verifyLookerVersion","logError","extensionSdkVersion","Error","concat","createSecretKeyTag","keyName","match","extensionId","replace","verifyHostConnection","_this","sendAndReceive","ExtensionRequestType","VERIFY_HOST","invokeCoreSdk","httpMethod","path","params","body","authenticator","options","apiVersion","_this2","INVOKE_CORE_SDK","invokeCoreSdkRaw","_this3","RAW_INVOKE_CORE_SDK","updateTitle","title","send","UPDATE_TITLE","updateLocation","url","state","target","UPDATE_LOCATION","spartanLogout","SPARTAN_LOGOUT","openBrowserWindow","closeHostPopovers","CLOSE_HOST_POPOVERS","clientRouteChanged","localStorageSetItem","name","_arguments","_this4","length","LOCAL_STORAGE","localStorageGetItem","_this5","localStorageRemoveItem","_this6","clipboardWrite","_this7","CLIPBOARD","userAttributeSetItem","_arguments2","_this8","USER_ATTRIBUTE","userAttributeGetItem","_this9","userAttributeResetItem","_this10","getContextData","JSON","parse","saveContextData","context","_this11","stringify","CONTEXT_DATA","refreshContextData","_this12","track","trackAction","attributes","TRACK_ACTION","errorEvent","filename","lineno","colno","ERROR_EVENT","toString","unloaded","EXTENSION_UNLOADED","createFetchProxy","baseUrl","init","responseBodyType","FetchProxyImpl","fetchProxy","resource","_this13","INVOKE_EXTERNAL_API","serverProxy","_this14","oauth2Authenticate","authEndpoint","authParameters","_arguments3","_this15","validateAuthParameters","signal","AbortController","oauth2ExchangeCodeForToken","_this16","rendered","failureMessage","RENDERED","_this17","messagePayload","chattyPayload","ExtensionEvent","EXTENSION_API_REQUEST","values","version","intersects","client_id","redirect_uri","response_type"],"sources":["../../src/connect/extension_host_api.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { ChattyHostConnection, Options } from '@looker/chatty';\nimport intersects from 'semver/ranges/intersects';\nimport { logError } from '../util';\nimport type {\n VisualizationDataReceivedCallback,\n VisualizationSDK,\n VisualizationSDKInternal,\n} from './visualization';\nimport { VisualizationSDKImpl } from './visualization/visualization_sdk';\nimport type {\n TileHostDataChangedCallback,\n TileSDK,\n TileSDKInternal,\n} from './tile';\nimport { TileSDKImpl } from './tile/tile_sdk';\nimport { FetchProxyImpl } from './fetch_proxy';\nimport type {\n ApiVersion,\n ExtensionHostApi,\n ExtensionHostApiConfiguration,\n ExtensionInitializationResponse,\n ExtensionNotification,\n FetchCustomParameters,\n FetchResponseBodyType,\n LookerHostData,\n} from './types';\nimport {\n ExtensionEvent,\n ExtensionNotificationType,\n ExtensionRequestType,\n MountPoint,\n} from './types';\n\nexport const EXTENSION_SDK_VERSION = '0.10.5';\n\nexport class ExtensionHostApiImpl implements ExtensionHostApi {\n private _configuration: ExtensionHostApiConfiguration;\n private _lookerHostData?: Readonly<LookerHostData>;\n private chattyHost: ChattyHostConnection;\n private setInitialRoute?: (route: string, routeState?: any) => void;\n private hostChangedRoute?: (route: string, routeState?: any) => void;\n private visualizationDataReceivedCallback?: VisualizationDataReceivedCallback;\n private tileHostDataChangedCallback?: TileHostDataChangedCallback;\n private _visualizationSDK?: VisualizationSDKInternal;\n private _tileSDK?: TileSDKInternal;\n\n private contextData?: string;\n\n constructor(configuration: ExtensionHostApiConfiguration) {\n this._configuration = configuration;\n const {\n chattyHost,\n setInitialRoute,\n hostChangedRoute,\n visualizationDataReceivedCallback,\n tileHostDataChangedCallback,\n } = this._configuration;\n this.chattyHost = chattyHost;\n this.setInitialRoute = setInitialRoute;\n this.hostChangedRoute = hostChangedRoute;\n this.visualizationDataReceivedCallback = visualizationDataReceivedCallback;\n this.tileHostDataChangedCallback = tileHostDataChangedCallback;\n }\n\n get isDashboardMountSupported(): boolean {\n return (\n !!this._lookerHostData?.extensionDashboardTileEnabled &&\n (this.lookerHostData?.mountPoint === MountPoint.dashboardTile ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardVisualization ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardTilePopup)\n );\n }\n\n get visualizationSDK(): VisualizationSDK {\n if (!this._visualizationSDK) {\n this._visualizationSDK = new VisualizationSDKImpl(this);\n }\n return this._visualizationSDK;\n }\n\n get tileSDK(): TileSDK {\n if (!this._tileSDK) {\n this._tileSDK = new TileSDKImpl(this);\n }\n return this._tileSDK;\n }\n\n get lookerHostData() {\n return this._lookerHostData;\n }\n\n handleNotification(\n message: ExtensionNotification\n ): ExtensionInitializationResponse | undefined {\n const { type } = message;\n switch (type) {\n case ExtensionNotificationType.ROUTE_CHANGED: {\n const { payload } = message;\n if (this.hostChangedRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.hostChangedRoute(route, routeState);\n }\n }\n return undefined;\n }\n case ExtensionNotificationType.VISUALIZATION_DATA: {\n const { payload } = message;\n (this.visualizationSDK as VisualizationSDKInternal).updateVisData(\n payload\n );\n if (this.visualizationDataReceivedCallback) {\n this.visualizationDataReceivedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.TILE_HOST_DATA: {\n const { payload } = message;\n (this.tileSDK as TileSDKInternal).tileHostDataChanged(payload);\n if (this.tileHostDataChangedCallback) {\n this.tileHostDataChangedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.INITIALIZE: {\n const { payload } = message;\n const lookerHostData = payload || {};\n if (!lookerHostData.mountPoint) {\n lookerHostData.mountPoint = MountPoint.standalone;\n }\n this._lookerHostData = lookerHostData;\n this.contextData = lookerHostData.contextData;\n let errorMessage;\n if (\n this._configuration.requiredLookerVersion &&\n lookerHostData.lookerVersion\n ) {\n errorMessage = this.verifyLookerVersion(\n this._configuration.requiredLookerVersion\n );\n if (errorMessage) {\n logError(errorMessage);\n }\n }\n if (this.setInitialRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.setInitialRoute(route, routeState);\n }\n }\n return {\n extensionSdkVersion: EXTENSION_SDK_VERSION,\n errorMessage,\n };\n }\n default:\n logError('Unrecognized extension notification', message);\n throw new Error(`Unrecognized extension notification type ${type}`);\n }\n }\n\n createSecretKeyTag(keyName: string): string {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (!keyName.match(/^[A-Za-z0-9_.]+$/)) {\n throw new Error('Unsupported characters in key name');\n }\n return `{{${(this._lookerHostData as LookerHostData).extensionId.replace(\n /::|-/g,\n '_'\n )}_${keyName}}}`;\n }\n\n async verifyHostConnection() {\n return this.sendAndReceive(ExtensionRequestType.VERIFY_HOST);\n }\n\n async invokeCoreSdk(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n authenticator?: any,\n options?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n authenticator,\n options,\n apiVersion,\n });\n }\n\n async invokeCoreSdkRaw(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.RAW_INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n apiVersion,\n });\n }\n\n updateTitle(title: string) {\n this.send(ExtensionRequestType.UPDATE_TITLE, { title });\n }\n\n updateLocation(url: string, state?: any, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, { url, state, target });\n }\n\n spartanLogout() {\n this.send(ExtensionRequestType.SPARTAN_LOGOUT);\n }\n\n openBrowserWindow(url: string, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, {\n url,\n undefined,\n target: target || '_blank',\n });\n }\n\n closeHostPopovers() {\n this.send(ExtensionRequestType.CLOSE_HOST_POPOVERS);\n }\n\n clientRouteChanged(route: string, routeState?: any) {\n this.send(ExtensionRequestType.ROUTE_CHANGED, {\n route,\n routeState,\n });\n }\n\n async localStorageSetItem(name: string, value = ''): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageSetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async localStorageGetItem(name: string): Promise<string | null> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageGetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'get',\n name,\n });\n }\n\n async localStorageRemoveItem(name: string): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageRemoveItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'remove',\n name,\n });\n }\n\n async clipboardWrite(value: string): Promise<void> {\n const errorMessage = this.verifyLookerVersion('>=21.7');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.CLIPBOARD, {\n type: 'write',\n value,\n });\n }\n\n async userAttributeSetItem(name: string, value = ''): Promise<boolean> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async userAttributeGetItem(name: string): Promise<string | null> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'get',\n name,\n });\n }\n\n async userAttributeResetItem(name: string): Promise<void> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'reset',\n name,\n });\n }\n\n getContextData() {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (this.contextData) {\n return JSON.parse(this.contextData);\n } else {\n return undefined;\n }\n }\n\n async saveContextData(context: any): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n let contextData: string | undefined;\n if (context) {\n try {\n contextData = JSON.stringify(context);\n } catch (err) {\n return Promise.reject(new Error('context cannot be serialized'));\n }\n } else {\n contextData = undefined;\n }\n await this.sendAndReceive(ExtensionRequestType.CONTEXT_DATA, {\n type: 'save',\n contextData,\n });\n return this.getContextData();\n }\n\n async refreshContextData(): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n this.contextData = await this.sendAndReceive(\n ExtensionRequestType.CONTEXT_DATA,\n {\n type: 'refresh',\n }\n );\n return this.getContextData();\n }\n\n track(name: string, trackAction: string, attributes?: Record<string, any>) {\n this.send(ExtensionRequestType.TRACK_ACTION, {\n name,\n trackAction,\n attributes,\n });\n }\n\n error(errorEvent: ErrorEvent) {\n if (this._lookerHostData) {\n const { message, filename, lineno, colno, error } = errorEvent || {};\n this.send(ExtensionRequestType.ERROR_EVENT, {\n message,\n filename,\n lineno,\n colno,\n error: error && error.toString ? error.toString() : error,\n });\n } else {\n logError(\n 'Unhandled error but Looker host connection not established',\n errorEvent\n );\n }\n }\n\n unloaded() {\n this.send(ExtensionRequestType.EXTENSION_UNLOADED, {});\n }\n\n createFetchProxy(\n baseUrl?: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n return new FetchProxyImpl(this, baseUrl, init, responseBodyType);\n }\n\n async fetchProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Fetch proxy support added to Looker 7.9\n const errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'fetch',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async serverProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Server proxy support added to Looker 7.11\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'server-proxy',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async oauth2Authenticate(\n authEndpoint: string,\n authParameters: Record<string, string>,\n httpMethod = 'POST'\n ) {\n // oauth2Authenticate proxy support added to Looker 7.9\n let errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n errorMessage = this.validateAuthParameters(authParameters);\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(\n ExtensionRequestType.INVOKE_EXTERNAL_API,\n {\n type: 'oauth2_authenticate',\n payload: {\n authEndpoint,\n authParameters,\n httpMethod,\n },\n },\n // Adding the signal disables the default timeout\n { signal: new AbortController().signal }\n );\n }\n\n async oauth2ExchangeCodeForToken(\n authEndpoint: string,\n authParameters: Record<string, string>\n ) {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'oauth2_exchange_code',\n payload: {\n authEndpoint,\n authParameters,\n },\n });\n }\n\n rendered(failureMessage?: string) {\n this.send(ExtensionRequestType.RENDERED, { failureMessage });\n }\n\n async sendAndReceive(\n type: string,\n payload?: any,\n options?: Options\n ): Promise<any> {\n if (!this._lookerHostData) {\n return Promise.reject(\n new Error('Looker host connection not established')\n );\n }\n const messagePayload = {\n type,\n payload,\n };\n const chattyPayload = options\n ? [messagePayload, options]\n : [messagePayload];\n return this.chattyHost\n .sendAndReceive(ExtensionEvent.EXTENSION_API_REQUEST, ...chattyPayload)\n .then(values => values[0]);\n }\n\n send(type: string, payload?: any) {\n if (!this._lookerHostData) {\n throw new Error('Looker host connection not established');\n }\n this.chattyHost.send(ExtensionEvent.EXTENSION_API_REQUEST, {\n type,\n payload,\n });\n }\n\n private verifyLookerVersion(version: string): string | undefined {\n // Default version to 7.0 as that's the first Looker version that officially\n // supported extensions. Version 6.24 has some support for extensions but most\n // likely will fail before reaching this point\n const lookerVersion = this._lookerHostData\n ? this._lookerHostData.lookerVersion || '7.0'\n : '7.0';\n if (!this._lookerHostData || !intersects(version, lookerVersion, true)) {\n return `Extension requires Looker version ${version}, got ${lookerVersion}`;\n }\n return undefined;\n }\n\n private validateAuthParameters(authParameters: Record<string, string>) {\n if (!authParameters.client_id) {\n return 'client_id missing';\n }\n if (authParameters.redirect_uri) {\n return 'redirect_uri must NOT be included';\n }\n if (\n authParameters.response_type !== 'token' &&\n authParameters.response_type !== 'id_token' &&\n authParameters.response_type !== 'code'\n ) {\n return `invalid response_type, must be token, id_token or code, ${authParameters.response_type}`;\n }\n return undefined;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension_host_api.js","names":["intersects","logError","VisualizationSDKImpl","TileSDKImpl","FetchProxyImpl","ExtensionEvent","ExtensionNotificationType","ExtensionRequestType","MountPoint","EXTENSION_SDK_VERSION","ExtensionHostApiImpl","constructor","configuration","_defineProperty","_configuration","chattyHost","setInitialRoute","hostChangedRoute","visualizationDataReceivedCallback","tileHostDataChangedCallback","isDashboardMountSupported","_this$_lookerHostData","_this$lookerHostData","_this$lookerHostData2","_this$lookerHostData3","_lookerHostData","extensionDashboardTileEnabled","lookerHostData","mountPoint","dashboardTile","dashboardVisualization","dashboardTilePopup","visualizationSDK","_visualizationSDK","tileSDK","_tileSDK","handleNotification","message","type","ROUTE_CHANGED","payload","route","routeState","undefined","VISUALIZATION_DATA","updateVisData","TILE_HOST_DATA","tileHostDataChanged","INITIALIZE","standalone","contextData","errorMessage","requiredLookerVersion","lookerVersion","verifyLookerVersion","extensionSdkVersion","Error","concat","createSecretKeyTag","keyName","match","extensionId","replace","verifyHostConnection","_this","_asyncToGenerator","sendAndReceive","VERIFY_HOST","invokeCoreSdk","httpMethod","path","params","body","authenticator","options","apiVersion","_this2","INVOKE_CORE_SDK","invokeCoreSdkRaw","_this3","RAW_INVOKE_CORE_SDK","updateTitle","title","send","UPDATE_TITLE","updateLocation","url","state","target","UPDATE_LOCATION","spartanLogout","SPARTAN_LOGOUT","openBrowserWindow","closeHostPopovers","CLOSE_HOST_POPOVERS","clientRouteChanged","localStorageSetItem","name","_arguments","arguments","_this4","value","length","Promise","reject","LOCAL_STORAGE","localStorageGetItem","_this5","localStorageRemoveItem","_this6","clipboardWrite","_this7","CLIPBOARD","userAttributeSetItem","_arguments2","_this8","USER_ATTRIBUTE","userAttributeGetItem","_this9","userAttributeResetItem","_this10","getContextData","JSON","parse","saveContextData","context","_this11","stringify","err","CONTEXT_DATA","refreshContextData","_this12","track","trackAction","attributes","TRACK_ACTION","error","errorEvent","filename","lineno","colno","ERROR_EVENT","toString","unloaded","EXTENSION_UNLOADED","createFetchProxy","baseUrl","init","responseBodyType","fetchProxy","resource","_this13","INVOKE_EXTERNAL_API","serverProxy","_this14","oauth2Authenticate","authEndpoint","authParameters","_arguments3","_this15","validateAuthParameters","signal","AbortController","oauth2ExchangeCodeForToken","_this16","rendered","failureMessage","RENDERED","_this17","messagePayload","chattyPayload","EXTENSION_API_REQUEST","then","values","version","client_id","redirect_uri","response_type"],"sources":["../../../src/connect/extension_host_api.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { ChattyHostConnection, Options } from '@looker/chatty';\nimport intersects from 'semver/ranges/intersects';\nimport { logError } from '../util';\nimport type {\n VisualizationDataReceivedCallback,\n VisualizationSDK,\n VisualizationSDKInternal,\n} from './visualization';\nimport { VisualizationSDKImpl } from './visualization/visualization_sdk';\nimport type {\n TileHostDataChangedCallback,\n TileSDK,\n TileSDKInternal,\n} from './tile';\nimport { TileSDKImpl } from './tile/tile_sdk';\nimport { FetchProxyImpl } from './fetch_proxy';\nimport type {\n ApiVersion,\n ExtensionHostApi,\n ExtensionHostApiConfiguration,\n ExtensionInitializationResponse,\n ExtensionNotification,\n FetchCustomParameters,\n FetchResponseBodyType,\n LookerHostData,\n} from './types';\nimport {\n ExtensionEvent,\n ExtensionNotificationType,\n ExtensionRequestType,\n MountPoint,\n} from './types';\n\nexport const EXTENSION_SDK_VERSION = '0.10.5';\n\nexport class ExtensionHostApiImpl implements ExtensionHostApi {\n private _configuration: ExtensionHostApiConfiguration;\n private _lookerHostData?: Readonly<LookerHostData>;\n private chattyHost: ChattyHostConnection;\n private setInitialRoute?: (route: string, routeState?: any) => void;\n private hostChangedRoute?: (route: string, routeState?: any) => void;\n private visualizationDataReceivedCallback?: VisualizationDataReceivedCallback;\n private tileHostDataChangedCallback?: TileHostDataChangedCallback;\n private _visualizationSDK?: VisualizationSDKInternal;\n private _tileSDK?: TileSDKInternal;\n\n private contextData?: string;\n\n constructor(configuration: ExtensionHostApiConfiguration) {\n this._configuration = configuration;\n const {\n chattyHost,\n setInitialRoute,\n hostChangedRoute,\n visualizationDataReceivedCallback,\n tileHostDataChangedCallback,\n } = this._configuration;\n this.chattyHost = chattyHost;\n this.setInitialRoute = setInitialRoute;\n this.hostChangedRoute = hostChangedRoute;\n this.visualizationDataReceivedCallback = visualizationDataReceivedCallback;\n this.tileHostDataChangedCallback = tileHostDataChangedCallback;\n }\n\n get isDashboardMountSupported(): boolean {\n return (\n !!this._lookerHostData?.extensionDashboardTileEnabled &&\n (this.lookerHostData?.mountPoint === MountPoint.dashboardTile ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardVisualization ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardTilePopup)\n );\n }\n\n get visualizationSDK(): VisualizationSDK {\n if (!this._visualizationSDK) {\n this._visualizationSDK = new VisualizationSDKImpl(this);\n }\n return this._visualizationSDK;\n }\n\n get tileSDK(): TileSDK {\n if (!this._tileSDK) {\n this._tileSDK = new TileSDKImpl(this);\n }\n return this._tileSDK;\n }\n\n get lookerHostData() {\n return this._lookerHostData;\n }\n\n handleNotification(\n message: ExtensionNotification\n ): ExtensionInitializationResponse | undefined {\n const { type } = message;\n switch (type) {\n case ExtensionNotificationType.ROUTE_CHANGED: {\n const { payload } = message;\n if (this.hostChangedRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.hostChangedRoute(route, routeState);\n }\n }\n return undefined;\n }\n case ExtensionNotificationType.VISUALIZATION_DATA: {\n const { payload } = message;\n (this.visualizationSDK as VisualizationSDKInternal).updateVisData(\n payload\n );\n if (this.visualizationDataReceivedCallback) {\n this.visualizationDataReceivedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.TILE_HOST_DATA: {\n const { payload } = message;\n (this.tileSDK as TileSDKInternal).tileHostDataChanged(payload);\n if (this.tileHostDataChangedCallback) {\n this.tileHostDataChangedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.INITIALIZE: {\n const { payload } = message;\n const lookerHostData = payload || {};\n if (!lookerHostData.mountPoint) {\n lookerHostData.mountPoint = MountPoint.standalone;\n }\n this._lookerHostData = lookerHostData;\n this.contextData = lookerHostData.contextData;\n let errorMessage;\n if (\n this._configuration.requiredLookerVersion &&\n lookerHostData.lookerVersion\n ) {\n errorMessage = this.verifyLookerVersion(\n this._configuration.requiredLookerVersion\n );\n if (errorMessage) {\n logError(errorMessage);\n }\n }\n if (this.setInitialRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.setInitialRoute(route, routeState);\n }\n }\n return {\n extensionSdkVersion: EXTENSION_SDK_VERSION,\n errorMessage,\n };\n }\n default:\n logError('Unrecognized extension notification', message);\n throw new Error(`Unrecognized extension notification type ${type}`);\n }\n }\n\n createSecretKeyTag(keyName: string): string {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (!keyName.match(/^[A-Za-z0-9_.]+$/)) {\n throw new Error('Unsupported characters in key name');\n }\n return `{{${(this._lookerHostData as LookerHostData).extensionId.replace(\n /::|-/g,\n '_'\n )}_${keyName}}}`;\n }\n\n async verifyHostConnection() {\n return this.sendAndReceive(ExtensionRequestType.VERIFY_HOST);\n }\n\n async invokeCoreSdk(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n authenticator?: any,\n options?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n authenticator,\n options,\n apiVersion,\n });\n }\n\n async invokeCoreSdkRaw(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.RAW_INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n apiVersion,\n });\n }\n\n updateTitle(title: string) {\n this.send(ExtensionRequestType.UPDATE_TITLE, { title });\n }\n\n updateLocation(url: string, state?: any, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, { url, state, target });\n }\n\n spartanLogout() {\n this.send(ExtensionRequestType.SPARTAN_LOGOUT);\n }\n\n openBrowserWindow(url: string, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, {\n url,\n undefined,\n target: target || '_blank',\n });\n }\n\n closeHostPopovers() {\n this.send(ExtensionRequestType.CLOSE_HOST_POPOVERS);\n }\n\n clientRouteChanged(route: string, routeState?: any) {\n this.send(ExtensionRequestType.ROUTE_CHANGED, {\n route,\n routeState,\n });\n }\n\n async localStorageSetItem(name: string, value = ''): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageSetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async localStorageGetItem(name: string): Promise<string | null> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageGetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'get',\n name,\n });\n }\n\n async localStorageRemoveItem(name: string): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageRemoveItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'remove',\n name,\n });\n }\n\n async clipboardWrite(value: string): Promise<void> {\n const errorMessage = this.verifyLookerVersion('>=21.7');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.CLIPBOARD, {\n type: 'write',\n value,\n });\n }\n\n async userAttributeSetItem(name: string, value = ''): Promise<boolean> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async userAttributeGetItem(name: string): Promise<string | null> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'get',\n name,\n });\n }\n\n async userAttributeResetItem(name: string): Promise<void> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'reset',\n name,\n });\n }\n\n getContextData() {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (this.contextData) {\n return JSON.parse(this.contextData);\n } else {\n return undefined;\n }\n }\n\n async saveContextData(context: any): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n let contextData: string | undefined;\n if (context) {\n try {\n contextData = JSON.stringify(context);\n } catch (err) {\n return Promise.reject(new Error('context cannot be serialized'));\n }\n } else {\n contextData = undefined;\n }\n await this.sendAndReceive(ExtensionRequestType.CONTEXT_DATA, {\n type: 'save',\n contextData,\n });\n return this.getContextData();\n }\n\n async refreshContextData(): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n this.contextData = await this.sendAndReceive(\n ExtensionRequestType.CONTEXT_DATA,\n {\n type: 'refresh',\n }\n );\n return this.getContextData();\n }\n\n track(name: string, trackAction: string, attributes?: Record<string, any>) {\n this.send(ExtensionRequestType.TRACK_ACTION, {\n name,\n trackAction,\n attributes,\n });\n }\n\n error(errorEvent: ErrorEvent) {\n if (this._lookerHostData) {\n const { message, filename, lineno, colno, error } = errorEvent || {};\n this.send(ExtensionRequestType.ERROR_EVENT, {\n message,\n filename,\n lineno,\n colno,\n error: error && error.toString ? error.toString() : error,\n });\n } else {\n logError(\n 'Unhandled error but Looker host connection not established',\n errorEvent\n );\n }\n }\n\n unloaded() {\n this.send(ExtensionRequestType.EXTENSION_UNLOADED, {});\n }\n\n createFetchProxy(\n baseUrl?: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n return new FetchProxyImpl(this, baseUrl, init, responseBodyType);\n }\n\n async fetchProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Fetch proxy support added to Looker 7.9\n const errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'fetch',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async serverProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Server proxy support added to Looker 7.11\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'server-proxy',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async oauth2Authenticate(\n authEndpoint: string,\n authParameters: Record<string, string>,\n httpMethod = 'POST'\n ) {\n // oauth2Authenticate proxy support added to Looker 7.9\n let errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n errorMessage = this.validateAuthParameters(authParameters);\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(\n ExtensionRequestType.INVOKE_EXTERNAL_API,\n {\n type: 'oauth2_authenticate',\n payload: {\n authEndpoint,\n authParameters,\n httpMethod,\n },\n },\n // Adding the signal disables the default timeout\n { signal: new AbortController().signal }\n );\n }\n\n async oauth2ExchangeCodeForToken(\n authEndpoint: string,\n authParameters: Record<string, string>\n ) {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'oauth2_exchange_code',\n payload: {\n authEndpoint,\n authParameters,\n },\n });\n }\n\n rendered(failureMessage?: string) {\n this.send(ExtensionRequestType.RENDERED, { failureMessage });\n }\n\n async sendAndReceive(\n type: string,\n payload?: any,\n options?: Options\n ): Promise<any> {\n if (!this._lookerHostData) {\n return Promise.reject(\n new Error('Looker host connection not established')\n );\n }\n const messagePayload = {\n type,\n payload,\n };\n const chattyPayload = options\n ? [messagePayload, options]\n : [messagePayload];\n return this.chattyHost\n .sendAndReceive(ExtensionEvent.EXTENSION_API_REQUEST, ...chattyPayload)\n .then((values) => values[0]);\n }\n\n send(type: string, payload?: any) {\n if (!this._lookerHostData) {\n throw new Error('Looker host connection not established');\n }\n this.chattyHost.send(ExtensionEvent.EXTENSION_API_REQUEST, {\n type,\n payload,\n });\n }\n\n private verifyLookerVersion(version: string): string | undefined {\n // Default version to 7.0 as that's the first Looker version that officially\n // supported extensions. Version 6.24 has some support for extensions but most\n // likely will fail before reaching this point\n const lookerVersion = this._lookerHostData\n ? this._lookerHostData.lookerVersion || '7.0'\n : '7.0';\n if (!this._lookerHostData || !intersects(version, lookerVersion, true)) {\n return `Extension requires Looker version ${version}, got ${lookerVersion}`;\n }\n return undefined;\n }\n\n private validateAuthParameters(authParameters: Record<string, string>) {\n if (!authParameters.client_id) {\n return 'client_id missing';\n }\n if (authParameters.redirect_uri) {\n return 'redirect_uri must NOT be included';\n }\n if (\n authParameters.response_type !== 'token' &&\n authParameters.response_type !== 'id_token' &&\n authParameters.response_type !== 'code'\n ) {\n return `invalid response_type, must be token, id_token or code, ${authParameters.response_type}`;\n }\n return undefined;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extension_host_api.js","names":["intersects","logError","VisualizationSDKImpl","TileSDKImpl","FetchProxyImpl","ExtensionEvent","ExtensionNotificationType","ExtensionRequestType","MountPoint","EXTENSION_SDK_VERSION","ExtensionHostApiImpl","constructor","configuration","_defineProperty","_configuration","chattyHost","setInitialRoute","hostChangedRoute","visualizationDataReceivedCallback","tileHostDataChangedCallback","isDashboardMountSupported","_this$_lookerHostData","_this$lookerHostData","_this$lookerHostData2","_this$lookerHostData3","_lookerHostData","extensionDashboardTileEnabled","lookerHostData","mountPoint","dashboardTile","dashboardVisualization","dashboardTilePopup","visualizationSDK","_visualizationSDK","tileSDK","_tileSDK","handleNotification","message","type","ROUTE_CHANGED","payload","route","routeState","undefined","VISUALIZATION_DATA","updateVisData","TILE_HOST_DATA","tileHostDataChanged","INITIALIZE","standalone","contextData","errorMessage","requiredLookerVersion","lookerVersion","verifyLookerVersion","extensionSdkVersion","Error","concat","createSecretKeyTag","keyName","match","extensionId","replace","verifyHostConnection","_this","_asyncToGenerator","sendAndReceive","VERIFY_HOST","invokeCoreSdk","httpMethod","path","params","body","authenticator","options","apiVersion","_this2","INVOKE_CORE_SDK","invokeCoreSdkRaw","_this3","RAW_INVOKE_CORE_SDK","updateTitle","title","send","UPDATE_TITLE","updateLocation","url","state","target","UPDATE_LOCATION","spartanLogout","SPARTAN_LOGOUT","openBrowserWindow","closeHostPopovers","CLOSE_HOST_POPOVERS","clientRouteChanged","localStorageSetItem","name","_arguments","arguments","_this4","value","length","Promise","reject","LOCAL_STORAGE","localStorageGetItem","_this5","localStorageRemoveItem","_this6","clipboardWrite","_this7","CLIPBOARD","userAttributeSetItem","_arguments2","_this8","USER_ATTRIBUTE","userAttributeGetItem","_this9","userAttributeResetItem","_this10","getContextData","JSON","parse","saveContextData","context","_this11","stringify","err","CONTEXT_DATA","refreshContextData","_this12","track","trackAction","attributes","TRACK_ACTION","error","errorEvent","filename","lineno","colno","ERROR_EVENT","toString","unloaded","EXTENSION_UNLOADED","createFetchProxy","baseUrl","init","responseBodyType","fetchProxy","resource","_this13","INVOKE_EXTERNAL_API","serverProxy","_this14","oauth2Authenticate","authEndpoint","authParameters","_arguments3","_this15","validateAuthParameters","signal","AbortController","oauth2ExchangeCodeForToken","_this16","rendered","failureMessage","RENDERED","_this17","messagePayload","chattyPayload","EXTENSION_API_REQUEST","then","values","version","client_id","redirect_uri","response_type"],"sources":["../../../src/connect/extension_host_api.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { ChattyHostConnection, Options } from '@looker/chatty';\nimport intersects from 'semver/ranges/intersects';\nimport { logError } from '../util';\nimport type {\n VisualizationDataReceivedCallback,\n VisualizationSDK,\n VisualizationSDKInternal,\n} from './visualization';\nimport { VisualizationSDKImpl } from './visualization/visualization_sdk';\nimport type {\n TileHostDataChangedCallback,\n TileSDK,\n TileSDKInternal,\n} from './tile';\nimport { TileSDKImpl } from './tile/tile_sdk';\nimport { FetchProxyImpl } from './fetch_proxy';\nimport type {\n ApiVersion,\n ExtensionHostApi,\n ExtensionHostApiConfiguration,\n ExtensionInitializationResponse,\n ExtensionNotification,\n FetchCustomParameters,\n FetchResponseBodyType,\n LookerHostData,\n} from './types';\nimport {\n ExtensionEvent,\n ExtensionNotificationType,\n ExtensionRequestType,\n MountPoint,\n} from './types';\n\nexport const EXTENSION_SDK_VERSION = '0.10.5';\n\nexport class ExtensionHostApiImpl implements ExtensionHostApi {\n private _configuration: ExtensionHostApiConfiguration;\n private _lookerHostData?: Readonly<LookerHostData>;\n private chattyHost: ChattyHostConnection;\n private setInitialRoute?: (route: string, routeState?: any) => void;\n private hostChangedRoute?: (route: string, routeState?: any) => void;\n private visualizationDataReceivedCallback?: VisualizationDataReceivedCallback;\n private tileHostDataChangedCallback?: TileHostDataChangedCallback;\n private _visualizationSDK?: VisualizationSDKInternal;\n private _tileSDK?: TileSDKInternal;\n\n private contextData?: string;\n\n constructor(configuration: ExtensionHostApiConfiguration) {\n this._configuration = configuration;\n const {\n chattyHost,\n setInitialRoute,\n hostChangedRoute,\n visualizationDataReceivedCallback,\n tileHostDataChangedCallback,\n } = this._configuration;\n this.chattyHost = chattyHost;\n this.setInitialRoute = setInitialRoute;\n this.hostChangedRoute = hostChangedRoute;\n this.visualizationDataReceivedCallback = visualizationDataReceivedCallback;\n this.tileHostDataChangedCallback = tileHostDataChangedCallback;\n }\n\n get isDashboardMountSupported(): boolean {\n return (\n !!this._lookerHostData?.extensionDashboardTileEnabled &&\n (this.lookerHostData?.mountPoint === MountPoint.dashboardTile ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardVisualization ||\n this.lookerHostData?.mountPoint === MountPoint.dashboardTilePopup)\n );\n }\n\n get visualizationSDK(): VisualizationSDK {\n if (!this._visualizationSDK) {\n this._visualizationSDK = new VisualizationSDKImpl(this);\n }\n return this._visualizationSDK;\n }\n\n get tileSDK(): TileSDK {\n if (!this._tileSDK) {\n this._tileSDK = new TileSDKImpl(this);\n }\n return this._tileSDK;\n }\n\n get lookerHostData() {\n return this._lookerHostData;\n }\n\n handleNotification(\n message: ExtensionNotification\n ): ExtensionInitializationResponse | undefined {\n const { type } = message;\n switch (type) {\n case ExtensionNotificationType.ROUTE_CHANGED: {\n const { payload } = message;\n if (this.hostChangedRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.hostChangedRoute(route, routeState);\n }\n }\n return undefined;\n }\n case ExtensionNotificationType.VISUALIZATION_DATA: {\n const { payload } = message;\n (this.visualizationSDK as VisualizationSDKInternal).updateVisData(\n payload\n );\n if (this.visualizationDataReceivedCallback) {\n this.visualizationDataReceivedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.TILE_HOST_DATA: {\n const { payload } = message;\n (this.tileSDK as TileSDKInternal).tileHostDataChanged(payload);\n if (this.tileHostDataChangedCallback) {\n this.tileHostDataChangedCallback(payload);\n }\n return undefined;\n }\n case ExtensionNotificationType.INITIALIZE: {\n const { payload } = message;\n const lookerHostData = payload || {};\n if (!lookerHostData.mountPoint) {\n lookerHostData.mountPoint = MountPoint.standalone;\n }\n this._lookerHostData = lookerHostData;\n this.contextData = lookerHostData.contextData;\n let errorMessage;\n if (\n this._configuration.requiredLookerVersion &&\n lookerHostData.lookerVersion\n ) {\n errorMessage = this.verifyLookerVersion(\n this._configuration.requiredLookerVersion\n );\n if (errorMessage) {\n logError(errorMessage);\n }\n }\n if (this.setInitialRoute && payload) {\n const { route, routeState } = payload;\n if (route) {\n this.setInitialRoute(route, routeState);\n }\n }\n return {\n extensionSdkVersion: EXTENSION_SDK_VERSION,\n errorMessage,\n };\n }\n default:\n logError('Unrecognized extension notification', message);\n throw new Error(`Unrecognized extension notification type ${type}`);\n }\n }\n\n createSecretKeyTag(keyName: string): string {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (!keyName.match(/^[A-Za-z0-9_.]+$/)) {\n throw new Error('Unsupported characters in key name');\n }\n return `{{${(this._lookerHostData as LookerHostData).extensionId.replace(\n /::|-/g,\n '_'\n )}_${keyName}}}`;\n }\n\n async verifyHostConnection() {\n return this.sendAndReceive(ExtensionRequestType.VERIFY_HOST);\n }\n\n async invokeCoreSdk(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n authenticator?: any,\n options?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n authenticator,\n options,\n apiVersion,\n });\n }\n\n async invokeCoreSdkRaw(\n httpMethod: string,\n path: string,\n params?: any,\n body?: any,\n apiVersion?: ApiVersion\n ): Promise<any> {\n return this.sendAndReceive(ExtensionRequestType.RAW_INVOKE_CORE_SDK, {\n httpMethod,\n path,\n params,\n body,\n apiVersion,\n });\n }\n\n updateTitle(title: string) {\n this.send(ExtensionRequestType.UPDATE_TITLE, { title });\n }\n\n updateLocation(url: string, state?: any, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, { url, state, target });\n }\n\n spartanLogout() {\n this.send(ExtensionRequestType.SPARTAN_LOGOUT);\n }\n\n openBrowserWindow(url: string, target?: string) {\n this.send(ExtensionRequestType.UPDATE_LOCATION, {\n url,\n undefined,\n target: target || '_blank',\n });\n }\n\n closeHostPopovers() {\n this.send(ExtensionRequestType.CLOSE_HOST_POPOVERS);\n }\n\n clientRouteChanged(route: string, routeState?: any) {\n this.send(ExtensionRequestType.ROUTE_CHANGED, {\n route,\n routeState,\n });\n }\n\n async localStorageSetItem(name: string, value = ''): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageSetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async localStorageGetItem(name: string): Promise<string | null> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageGetItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'get',\n name,\n });\n }\n\n async localStorageRemoveItem(name: string): Promise<boolean> {\n if (this._lookerHostData && !this._lookerHostData.lookerVersion) {\n return Promise.reject(\n new Error(\n 'localStorageRemoveItem not supported by the current Looker host'\n )\n );\n }\n return this.sendAndReceive(ExtensionRequestType.LOCAL_STORAGE, {\n type: 'remove',\n name,\n });\n }\n\n async clipboardWrite(value: string): Promise<void> {\n const errorMessage = this.verifyLookerVersion('>=21.7');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.CLIPBOARD, {\n type: 'write',\n value,\n });\n }\n\n async userAttributeSetItem(name: string, value = ''): Promise<boolean> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'set',\n name,\n value,\n });\n }\n\n async userAttributeGetItem(name: string): Promise<string | null> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'get',\n name,\n });\n }\n\n async userAttributeResetItem(name: string): Promise<void> {\n // User attributes added in Looker version 7.13, updated in 7.15\n const errorMessage = this.verifyLookerVersion('>=7.15');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.USER_ATTRIBUTE, {\n type: 'reset',\n name,\n });\n }\n\n getContextData() {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n throw new Error(errorMessage);\n }\n if (this.contextData) {\n return JSON.parse(this.contextData);\n } else {\n return undefined;\n }\n }\n\n async saveContextData(context: any): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n let contextData: string | undefined;\n if (context) {\n try {\n contextData = JSON.stringify(context);\n } catch (err) {\n return Promise.reject(new Error('context cannot be serialized'));\n }\n } else {\n contextData = undefined;\n }\n await this.sendAndReceive(ExtensionRequestType.CONTEXT_DATA, {\n type: 'save',\n contextData,\n });\n return this.getContextData();\n }\n\n async refreshContextData(): Promise<any> {\n const errorMessage = this.verifyLookerVersion('>=7.13');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n this.contextData = await this.sendAndReceive(\n ExtensionRequestType.CONTEXT_DATA,\n {\n type: 'refresh',\n }\n );\n return this.getContextData();\n }\n\n track(name: string, trackAction: string, attributes?: Record<string, any>) {\n this.send(ExtensionRequestType.TRACK_ACTION, {\n name,\n trackAction,\n attributes,\n });\n }\n\n error(errorEvent: ErrorEvent) {\n if (this._lookerHostData) {\n const { message, filename, lineno, colno, error } = errorEvent || {};\n this.send(ExtensionRequestType.ERROR_EVENT, {\n message,\n filename,\n lineno,\n colno,\n error: error && error.toString ? error.toString() : error,\n });\n } else {\n logError(\n 'Unhandled error but Looker host connection not established',\n errorEvent\n );\n }\n }\n\n unloaded() {\n this.send(ExtensionRequestType.EXTENSION_UNLOADED, {});\n }\n\n createFetchProxy(\n baseUrl?: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n return new FetchProxyImpl(this, baseUrl, init, responseBodyType);\n }\n\n async fetchProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Fetch proxy support added to Looker 7.9\n const errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'fetch',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async serverProxy(\n resource: string,\n init?: FetchCustomParameters,\n responseBodyType?: FetchResponseBodyType\n ) {\n // Server proxy support added to Looker 7.11\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'server-proxy',\n payload: {\n resource,\n init,\n responseBodyType,\n },\n });\n }\n\n async oauth2Authenticate(\n authEndpoint: string,\n authParameters: Record<string, string>,\n httpMethod = 'POST'\n ) {\n // oauth2Authenticate proxy support added to Looker 7.9\n let errorMessage = this.verifyLookerVersion('>=7.9');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n errorMessage = this.validateAuthParameters(authParameters);\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(\n ExtensionRequestType.INVOKE_EXTERNAL_API,\n {\n type: 'oauth2_authenticate',\n payload: {\n authEndpoint,\n authParameters,\n httpMethod,\n },\n },\n // Adding the signal disables the default timeout\n { signal: new AbortController().signal }\n );\n }\n\n async oauth2ExchangeCodeForToken(\n authEndpoint: string,\n authParameters: Record<string, string>\n ) {\n const errorMessage = this.verifyLookerVersion('>=7.11');\n if (errorMessage) {\n return Promise.reject(new Error(errorMessage));\n }\n return this.sendAndReceive(ExtensionRequestType.INVOKE_EXTERNAL_API, {\n type: 'oauth2_exchange_code',\n payload: {\n authEndpoint,\n authParameters,\n },\n });\n }\n\n rendered(failureMessage?: string) {\n this.send(ExtensionRequestType.RENDERED, { failureMessage });\n }\n\n async sendAndReceive(\n type: string,\n payload?: any,\n options?: Options\n ): Promise<any> {\n if (!this._lookerHostData) {\n return Promise.reject(\n new Error('Looker host connection not established')\n );\n }\n const messagePayload = {\n type,\n payload,\n };\n const chattyPayload = options\n ? [messagePayload, options]\n : [messagePayload];\n return this.chattyHost\n .sendAndReceive(ExtensionEvent.EXTENSION_API_REQUEST, ...chattyPayload)\n .then(values => values[0]);\n }\n\n send(type: string, payload?: any) {\n if (!this._lookerHostData) {\n throw new Error('Looker host connection not established');\n }\n this.chattyHost.send(ExtensionEvent.EXTENSION_API_REQUEST, {\n type,\n payload,\n });\n }\n\n private verifyLookerVersion(version: string): string | undefined {\n // Default version to 7.0 as that's the first Looker version that officially\n // supported extensions. Version 6.24 has some support for extensions but most\n // likely will fail before reaching this point\n const lookerVersion = this._lookerHostData\n ? this._lookerHostData.lookerVersion || '7.0'\n : '7.0';\n if (!this._lookerHostData || !intersects(version, lookerVersion, true)) {\n return `Extension requires Looker version ${version}, got ${lookerVersion}`;\n }\n return undefined;\n }\n\n private validateAuthParameters(authParameters: Record<string, string>) {\n if (!authParameters.client_id) {\n return 'client_id missing';\n }\n if (authParameters.redirect_uri) {\n return 'redirect_uri must NOT be included';\n }\n if (\n authParameters.response_type !== 'token' &&\n authParameters.response_type !== 'id_token' &&\n authParameters.response_type !== 'code'\n ) {\n return `invalid response_type, must be token, id_token or code, ${authParameters.response_type}`;\n }\n return undefined;\n }\n}\n"],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -4,7 +4,6 @@ export * from './connect/visualization/types';
|
|
|
4
4
|
export * from './connect/tile/types';
|
|
5
5
|
export * from './connect/types';
|
|
6
6
|
export * from './sdk/extension_sdk';
|
|
7
|
-
export * from './sdk/extension_sdk_40';
|
|
8
7
|
export * from './sdk/sdk_connection';
|
|
9
8
|
export * from './util/logger';
|
|
10
9
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport * from './connect/connect_extension_host';\nexport * from './connect/global_listener';\nexport * from './connect/visualization/types';\nexport * from './connect/tile/types';\nexport * from './connect/types';\nexport * from './sdk/extension_sdk';\nexport * from './sdk/
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport * from './connect/connect_extension_host';\nexport * from './connect/global_listener';\nexport * from './connect/visualization/types';\nexport * from './connect/tile/types';\nexport * from './connect/types';\nexport * from './sdk/extension_sdk';\nexport * from './sdk/sdk_connection';\nexport * from './util/logger';\n"],"mappings":"AA0BA,cAAc,kCAAkC;AAChD,cAAc,2BAA2B;AACzC,cAAc,+BAA+B;AAC7C,cAAc,sBAAsB;AACpC,cAAc,iBAAiB;AAC/B,cAAc,qBAAqB;AACnC,cAAc,sBAAsB;AACpC,cAAc,eAAe"}
|
|
@@ -2,11 +2,9 @@ import { Looker40SDK, LookerExtensionSDK as _LookerExtensionSDK } from '@looker/
|
|
|
2
2
|
import { ApiVersion } from '../connect';
|
|
3
3
|
import { SdkConnection } from './sdk_connection';
|
|
4
4
|
export class LookerExtensionSDK {
|
|
5
|
-
static create40Client(hostConnection) {
|
|
6
|
-
return _LookerExtensionSDK.createClient(new SdkConnection(hostConnection, ApiVersion.sdk40), Looker40SDK);
|
|
7
|
-
}
|
|
8
5
|
static createClient(hostConnection) {
|
|
9
|
-
|
|
6
|
+
var sdk = new SdkConnection(hostConnection, ApiVersion.sdk40);
|
|
7
|
+
return _LookerExtensionSDK.createClient(sdk, Looker40SDK);
|
|
10
8
|
}
|
|
11
9
|
}
|
|
12
10
|
//# sourceMappingURL=extension_sdk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension_sdk.js","names":["Looker40SDK","LookerExtensionSDK","_LookerExtensionSDK","ApiVersion","SdkConnection","
|
|
1
|
+
{"version":3,"file":"extension_sdk.js","names":["Looker40SDK","LookerExtensionSDK","_LookerExtensionSDK","ApiVersion","SdkConnection","createClient","hostConnection","sdk","sdk40"],"sources":["../../../src/sdk/extension_sdk.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport {\n Looker40SDK,\n LookerExtensionSDK as _LookerExtensionSDK,\n} from '@looker/sdk';\nimport type { ExtensionHostApi } from '../connect';\nimport { ApiVersion } from '../connect';\n\nimport { SdkConnection } from './sdk_connection';\n\nexport class LookerExtensionSDK {\n /**\n * Creates a [[LookerSDK]] 4.0 object.\n */\n static createClient(hostConnection: ExtensionHostApi): Looker40SDK {\n const sdk = new SdkConnection(hostConnection, ApiVersion.sdk40);\n return _LookerExtensionSDK.createClient(sdk, Looker40SDK);\n }\n}\n\nexport type LookerExtensionSDK40 = LookerExtensionSDK;\n"],"mappings":"AA0BA,SACEA,WAAW,EACXC,kBAAkB,IAAIC,mBAAmB,QACpC,aAAa;AAEpB,SAASC,UAAU,QAAQ,YAAY;AAEvC,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,OAAO,MAAMH,kBAAkB,CAAC;EAI9B,OAAOI,YAAYA,CAACC,cAAgC,EAAe;IACjE,IAAMC,GAAG,GAAG,IAAIH,aAAa,CAACE,cAAc,EAAEH,UAAU,CAACK,KAAK,CAAC;IAC/D,OAAON,mBAAmB,CAACG,YAAY,CAACE,GAAG,EAAEP,WAAW,CAAC;EAC3D;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk_connection.js","names":["SdkConnection","constructor","hostConnection","apiVersion","request","httpMethod","path","body","params","_authenticator","options","_this","_asyncToGenerator","invokeCoreSdk","undefined","rawRequest","_options","_this2","invokeCoreSdkRaw","stream","_callback","_method","_path","_queryParams","_body","Promise","reject","Error"],"sources":["../../../src/sdk/sdk_connection.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type {
|
|
1
|
+
{"version":3,"file":"sdk_connection.js","names":["SdkConnection","constructor","hostConnection","apiVersion","request","httpMethod","path","body","params","_authenticator","options","_this","_asyncToGenerator","invokeCoreSdk","undefined","rawRequest","_options","_this2","invokeCoreSdkRaw","stream","_callback","_method","_path","_queryParams","_body","Promise","reject","Error"],"sources":["../../../src/sdk/sdk_connection.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type {\n Authenticator,\n HttpMethod,\n IHostConnection,\n ITransportSettings,\n Values,\n} from '@looker/sdk-rtl';\n\nimport type { ApiVersion, ExtensionHostApi } from '../connect';\n\nexport class SdkConnection implements IHostConnection {\n constructor(\n private hostConnection: ExtensionHostApi,\n private apiVersion: ApiVersion\n ) {}\n\n async request(\n httpMethod: string,\n path: string,\n body?: any,\n params?: any,\n _authenticator?: any,\n options?: any\n ): Promise<any> {\n return this.hostConnection.invokeCoreSdk(\n httpMethod,\n path,\n params,\n body,\n undefined,\n options,\n this.apiVersion\n );\n }\n\n async rawRequest(\n httpMethod: string,\n path: string,\n body?: any,\n params?: any,\n _authenticator?: Authenticator,\n _options?: Partial<ITransportSettings>\n ): Promise<any> {\n return this.hostConnection.invokeCoreSdkRaw(\n httpMethod,\n path,\n params,\n body,\n this.apiVersion\n );\n }\n\n async stream<T>(\n _callback: (response: Response) => Promise<T>,\n _method: HttpMethod,\n _path: string,\n _queryParams?: Values,\n _body?: any,\n _authenticator?: Authenticator,\n _options?: Partial<ITransportSettings>\n ): Promise<any> {\n return Promise.reject(new Error('Not implemented'));\n }\n}\n"],"mappings":";;AAoCA,OAAO,MAAMA,aAAa,CAA4B;EACpDC,WAAWA,CACDC,cAAgC,EAChCC,UAAsB,EAC9B;IAAA,KAFQD,cAAgC,GAAhCA,cAAgC;IAAA,KAChCC,UAAsB,GAAtBA,UAAsB;EAC7B;EAEGC,OAAOA,CACXC,UAAkB,EAClBC,IAAY,EACZC,IAAU,EACVC,MAAY,EACZC,cAAoB,EACpBC,OAAa,EACC;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MACd,OAAOD,KAAI,CAACT,cAAc,CAACW,aAAa,CACtCR,UAAU,EACVC,IAAI,EACJE,MAAM,EACND,IAAI,EACJO,SAAS,EACTJ,OAAO,EACPC,KAAI,CAACR,UACP,CAAC;IAAC;EACJ;EAEMY,UAAUA,CACdV,UAAkB,EAClBC,IAAY,EACZC,IAAU,EACVC,MAAY,EACZC,cAA8B,EAC9BO,QAAsC,EACxB;IAAA,IAAAC,MAAA;IAAA,OAAAL,iBAAA;MACd,OAAOK,MAAI,CAACf,cAAc,CAACgB,gBAAgB,CACzCb,UAAU,EACVC,IAAI,EACJE,MAAM,EACND,IAAI,EACJU,MAAI,CAACd,UACP,CAAC;IAAC;EACJ;EAEMgB,MAAMA,CACVC,SAA6C,EAC7CC,OAAmB,EACnBC,KAAa,EACbC,YAAqB,EACrBC,KAAW,EACXf,cAA8B,EAC9BO,QAAsC,EACxB;IAAA,OAAAJ,iBAAA;MACd,OAAOa,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAAC;EACtD;AACF"}
|
package/lib/index.d.ts
CHANGED
|
@@ -4,6 +4,5 @@ export * from './connect/visualization/types';
|
|
|
4
4
|
export * from './connect/tile/types';
|
|
5
5
|
export * from './connect/types';
|
|
6
6
|
export * from './sdk/extension_sdk';
|
|
7
|
-
export * from './sdk/extension_sdk_40';
|
|
8
7
|
export * from './sdk/sdk_connection';
|
|
9
8
|
export * from './util/logger';
|
package/lib/index.js
CHANGED
|
@@ -69,17 +69,6 @@ Object.keys(_extension_sdk).forEach(function (key) {
|
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
71
|
});
|
|
72
|
-
var _extension_sdk_ = require("./sdk/extension_sdk_40");
|
|
73
|
-
Object.keys(_extension_sdk_).forEach(function (key) {
|
|
74
|
-
if (key === "default" || key === "__esModule") return;
|
|
75
|
-
if (key in exports && exports[key] === _extension_sdk_[key]) return;
|
|
76
|
-
Object.defineProperty(exports, key, {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
get: function get() {
|
|
79
|
-
return _extension_sdk_[key];
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
72
|
var _sdk_connection = require("./sdk/sdk_connection");
|
|
84
73
|
Object.keys(_sdk_connection).forEach(function (key) {
|
|
85
74
|
if (key === "default" || key === "__esModule") return;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_connect_extension_host","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_global_listener","_types","_types2","_types3","_extension_sdk","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_connect_extension_host","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_global_listener","_types","_types2","_types3","_extension_sdk","_sdk_connection","_logger"],"sources":["../src/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport * from './connect/connect_extension_host';\nexport * from './connect/global_listener';\nexport * from './connect/visualization/types';\nexport * from './connect/tile/types';\nexport * from './connect/types';\nexport * from './sdk/extension_sdk';\nexport * from './sdk/sdk_connection';\nexport * from './util/logger';\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Looker40SDK } from '@looker/sdk';
|
|
2
2
|
import type { ExtensionHostApi } from '../connect';
|
|
3
3
|
export declare class LookerExtensionSDK {
|
|
4
|
-
static create40Client(hostConnection: ExtensionHostApi): Looker40SDK;
|
|
5
4
|
static createClient(hostConnection: ExtensionHostApi): Looker40SDK;
|
|
6
5
|
}
|
|
6
|
+
export type LookerExtensionSDK40 = LookerExtensionSDK;
|
package/lib/sdk/extension_sdk.js
CHANGED
|
@@ -8,11 +8,9 @@ var _sdk = require("@looker/sdk");
|
|
|
8
8
|
var _connect = require("../connect");
|
|
9
9
|
var _sdk_connection = require("./sdk_connection");
|
|
10
10
|
class LookerExtensionSDK {
|
|
11
|
-
static create40Client(hostConnection) {
|
|
12
|
-
return _sdk.LookerExtensionSDK.createClient(new _sdk_connection.SdkConnection(hostConnection, _connect.ApiVersion.sdk40), _sdk.Looker40SDK);
|
|
13
|
-
}
|
|
14
11
|
static createClient(hostConnection) {
|
|
15
|
-
|
|
12
|
+
var sdk = new _sdk_connection.SdkConnection(hostConnection, _connect.ApiVersion.sdk40);
|
|
13
|
+
return _sdk.LookerExtensionSDK.createClient(sdk, _sdk.Looker40SDK);
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
16
|
exports.LookerExtensionSDK = LookerExtensionSDK;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension_sdk.js","names":["_sdk","require","_connect","_sdk_connection","LookerExtensionSDK","
|
|
1
|
+
{"version":3,"file":"extension_sdk.js","names":["_sdk","require","_connect","_sdk_connection","LookerExtensionSDK","createClient","hostConnection","sdk","SdkConnection","ApiVersion","sdk40","_LookerExtensionSDK","Looker40SDK","exports"],"sources":["../../src/sdk/extension_sdk.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport {\n Looker40SDK,\n LookerExtensionSDK as _LookerExtensionSDK,\n} from '@looker/sdk';\nimport type { ExtensionHostApi } from '../connect';\nimport { ApiVersion } from '../connect';\n\nimport { SdkConnection } from './sdk_connection';\n\nexport class LookerExtensionSDK {\n /**\n * Creates a [[LookerSDK]] 4.0 object.\n */\n static createClient(hostConnection: ExtensionHostApi): Looker40SDK {\n const sdk = new SdkConnection(hostConnection, ApiVersion.sdk40);\n return _LookerExtensionSDK.createClient(sdk, Looker40SDK);\n }\n}\n\nexport type LookerExtensionSDK40 = LookerExtensionSDK;\n"],"mappings":";;;;;;AA0BA,IAAAA,IAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAEO,MAAMG,kBAAkB,CAAC;EAI9B,OAAOC,YAAYA,CAACC,cAAgC,EAAe;IACjE,IAAMC,GAAG,GAAG,IAAIC,6BAAa,CAACF,cAAc,EAAEG,mBAAU,CAACC,KAAK,CAAC;IAC/D,OAAOC,uBAAmB,CAACN,YAAY,CAACE,GAAG,EAAEK,gBAAW,CAAC;EAC3D;AACF;AAACC,OAAA,CAAAT,kBAAA,GAAAA,kBAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Readable } from 'readable-stream';
|
|
2
1
|
import type { Authenticator, HttpMethod, IHostConnection, ITransportSettings, Values } from '@looker/sdk-rtl';
|
|
3
2
|
import type { ApiVersion, ExtensionHostApi } from '../connect';
|
|
4
3
|
export declare class SdkConnection implements IHostConnection {
|
|
@@ -7,5 +6,5 @@ export declare class SdkConnection implements IHostConnection {
|
|
|
7
6
|
constructor(hostConnection: ExtensionHostApi, apiVersion: ApiVersion);
|
|
8
7
|
request(httpMethod: string, path: string, body?: any, params?: any, _authenticator?: any, options?: any): Promise<any>;
|
|
9
8
|
rawRequest(httpMethod: string, path: string, body?: any, params?: any, _authenticator?: Authenticator, _options?: Partial<ITransportSettings>): Promise<any>;
|
|
10
|
-
stream<T>(_callback: (
|
|
9
|
+
stream<T>(_callback: (response: Response) => Promise<T>, _method: HttpMethod, _path: string, _queryParams?: Values, _body?: any, _authenticator?: Authenticator, _options?: Partial<ITransportSettings>): Promise<any>;
|
|
11
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk_connection.js","names":["SdkConnection","constructor","hostConnection","apiVersion","request","httpMethod","path","body","params","_authenticator","options","_this","_asyncToGenerator","invokeCoreSdk","undefined","rawRequest","_options","_this2","invokeCoreSdkRaw","stream","_callback","_method","_path","_queryParams","_body","Promise","reject","Error","exports"],"sources":["../../src/sdk/sdk_connection.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type {
|
|
1
|
+
{"version":3,"file":"sdk_connection.js","names":["SdkConnection","constructor","hostConnection","apiVersion","request","httpMethod","path","body","params","_authenticator","options","_this","_asyncToGenerator","invokeCoreSdk","undefined","rawRequest","_options","_this2","invokeCoreSdkRaw","stream","_callback","_method","_path","_queryParams","_body","Promise","reject","Error","exports"],"sources":["../../src/sdk/sdk_connection.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type {\n Authenticator,\n HttpMethod,\n IHostConnection,\n ITransportSettings,\n Values,\n} from '@looker/sdk-rtl';\n\nimport type { ApiVersion, ExtensionHostApi } from '../connect';\n\nexport class SdkConnection implements IHostConnection {\n constructor(\n private hostConnection: ExtensionHostApi,\n private apiVersion: ApiVersion\n ) {}\n\n async request(\n httpMethod: string,\n path: string,\n body?: any,\n params?: any,\n _authenticator?: any,\n options?: any\n ): Promise<any> {\n return this.hostConnection.invokeCoreSdk(\n httpMethod,\n path,\n params,\n body,\n undefined,\n options,\n this.apiVersion\n );\n }\n\n async rawRequest(\n httpMethod: string,\n path: string,\n body?: any,\n params?: any,\n _authenticator?: Authenticator,\n _options?: Partial<ITransportSettings>\n ): Promise<any> {\n return this.hostConnection.invokeCoreSdkRaw(\n httpMethod,\n path,\n params,\n body,\n this.apiVersion\n );\n }\n\n async stream<T>(\n _callback: (response: Response) => Promise<T>,\n _method: HttpMethod,\n _path: string,\n _queryParams?: Values,\n _body?: any,\n _authenticator?: Authenticator,\n _options?: Partial<ITransportSettings>\n ): Promise<any> {\n return Promise.reject(new Error('Not implemented'));\n }\n}\n"],"mappings":";;;;;;;;AAoCO,MAAMA,aAAa,CAA4B;EACpDC,WAAWA,CACDC,cAAgC,EAChCC,UAAsB,EAC9B;IAAA,KAFQD,cAAgC,GAAhCA,cAAgC;IAAA,KAChCC,UAAsB,GAAtBA,UAAsB;EAC7B;EAEGC,OAAOA,CACXC,UAAkB,EAClBC,IAAY,EACZC,IAAU,EACVC,MAAY,EACZC,cAAoB,EACpBC,OAAa,EACC;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MACd,OAAOD,KAAI,CAACT,cAAc,CAACW,aAAa,CACtCR,UAAU,EACVC,IAAI,EACJE,MAAM,EACND,IAAI,EACJO,SAAS,EACTJ,OAAO,EACPC,KAAI,CAACR,UACP,CAAC;IAAC;EACJ;EAEMY,UAAUA,CACdV,UAAkB,EAClBC,IAAY,EACZC,IAAU,EACVC,MAAY,EACZC,cAA8B,EAC9BO,QAAsC,EACxB;IAAA,IAAAC,MAAA;IAAA,OAAAL,iBAAA;MACd,OAAOK,MAAI,CAACf,cAAc,CAACgB,gBAAgB,CACzCb,UAAU,EACVC,IAAI,EACJE,MAAM,EACND,IAAI,EACJU,MAAI,CAACd,UACP,CAAC;IAAC;EACJ;EAEMgB,MAAMA,CACVC,SAA6C,EAC7CC,OAAmB,EACnBC,KAAa,EACbC,YAAqB,EACrBC,KAAW,EACXf,cAA8B,EAC9BO,QAAsC,EACxB;IAAA,OAAAJ,iBAAA;MACd,OAAOa,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAAC;EACtD;AACF;AAACC,OAAA,CAAA5B,aAAA,GAAAA,aAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@looker/extension-sdk",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.16.1",
|
|
4
4
|
"description": "Looker Extension SDK",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -34,23 +34,18 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://github.com/looker-open-source/sdk-codegen/tree/master/packages/extension-sdk",
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/request": "2.48.12",
|
|
38
|
-
"@types/request-promise-native": "1.0.21",
|
|
39
37
|
"@types/semver": "^7.3.4"
|
|
40
38
|
},
|
|
41
39
|
"dependencies": {
|
|
42
40
|
"@looker/chatty": "2.3.9",
|
|
43
|
-
"@looker/sdk": "24.
|
|
44
|
-
"@looker/sdk-rtl": "21.6.
|
|
41
|
+
"@looker/sdk": "24.16.1",
|
|
42
|
+
"@looker/sdk-rtl": "21.6.3",
|
|
45
43
|
"deepmerge": "^4.2.2",
|
|
46
|
-
"readable-stream": "^3.4.0",
|
|
47
|
-
"request": "^2.88.0",
|
|
48
|
-
"request-promise-native": "^1.0.8",
|
|
49
44
|
"semver": "^7.3.4"
|
|
50
45
|
},
|
|
51
46
|
"keywords": [
|
|
52
47
|
"Looker",
|
|
53
48
|
"extension-sdk"
|
|
54
49
|
],
|
|
55
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "f95fdcebe3e11b4cf1c7d07e26a6b8a153bd074f"
|
|
56
51
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Looker40SDK, LookerExtensionSDK as _LookerExtensionSDK } from '@looker/sdk';
|
|
2
|
-
import { ApiVersion } from '../connect';
|
|
3
|
-
import { SdkConnection } from './sdk_connection';
|
|
4
|
-
export class LookerExtensionSDK40 {
|
|
5
|
-
static createClient(hostConnection) {
|
|
6
|
-
return _LookerExtensionSDK.createClient(new SdkConnection(hostConnection, ApiVersion.sdk40), Looker40SDK);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=extension_sdk_40.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension_sdk_40.js","names":["Looker40SDK","LookerExtensionSDK","_LookerExtensionSDK","ApiVersion","SdkConnection","LookerExtensionSDK40","createClient","hostConnection","sdk40"],"sources":["../../../src/sdk/extension_sdk_40.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport {\n Looker40SDK,\n LookerExtensionSDK as _LookerExtensionSDK,\n} from '@looker/sdk';\nimport type { ExtensionHostApi } from '../connect';\nimport { ApiVersion } from '../connect';\n\nimport { SdkConnection } from './sdk_connection';\n\nexport class LookerExtensionSDK40 {\n /**\n * Create an SDK client that uses SDK 4.0\n * @param hostConnection extension host API\n */\n static createClient(hostConnection: ExtensionHostApi): Looker40SDK {\n return _LookerExtensionSDK.createClient(\n new SdkConnection(hostConnection, ApiVersion.sdk40),\n Looker40SDK\n );\n }\n}\n"],"mappings":"AA0BA,SACEA,WAAW,EACXC,kBAAkB,IAAIC,mBAAmB,QACpC,aAAa;AAEpB,SAASC,UAAU,QAAQ,YAAY;AAEvC,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,OAAO,MAAMC,oBAAoB,CAAC;EAKhC,OAAOC,YAAYA,CAACC,cAAgC,EAAe;IACjE,OAAOL,mBAAmB,CAACI,YAAY,CACrC,IAAIF,aAAa,CAACG,cAAc,EAAEJ,UAAU,CAACK,KAAK,CAAC,EACnDR,WACF,CAAC;EACH;AACF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.LookerExtensionSDK40 = void 0;
|
|
7
|
-
var _sdk = require("@looker/sdk");
|
|
8
|
-
var _connect = require("../connect");
|
|
9
|
-
var _sdk_connection = require("./sdk_connection");
|
|
10
|
-
class LookerExtensionSDK40 {
|
|
11
|
-
static createClient(hostConnection) {
|
|
12
|
-
return _sdk.LookerExtensionSDK.createClient(new _sdk_connection.SdkConnection(hostConnection, _connect.ApiVersion.sdk40), _sdk.Looker40SDK);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.LookerExtensionSDK40 = LookerExtensionSDK40;
|
|
16
|
-
//# sourceMappingURL=extension_sdk_40.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension_sdk_40.js","names":["_sdk","require","_connect","_sdk_connection","LookerExtensionSDK40","createClient","hostConnection","_LookerExtensionSDK","SdkConnection","ApiVersion","sdk40","Looker40SDK","exports"],"sources":["../../src/sdk/extension_sdk_40.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport {\n Looker40SDK,\n LookerExtensionSDK as _LookerExtensionSDK,\n} from '@looker/sdk';\nimport type { ExtensionHostApi } from '../connect';\nimport { ApiVersion } from '../connect';\n\nimport { SdkConnection } from './sdk_connection';\n\nexport class LookerExtensionSDK40 {\n /**\n * Create an SDK client that uses SDK 4.0\n * @param hostConnection extension host API\n */\n static createClient(hostConnection: ExtensionHostApi): Looker40SDK {\n return _LookerExtensionSDK.createClient(\n new SdkConnection(hostConnection, ApiVersion.sdk40),\n Looker40SDK\n );\n }\n}\n"],"mappings":";;;;;;AA0BA,IAAAA,IAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAEO,MAAMG,oBAAoB,CAAC;EAKhC,OAAOC,YAAYA,CAACC,cAAgC,EAAe;IACjE,OAAOC,uBAAmB,CAACF,YAAY,CACrC,IAAIG,6BAAa,CAACF,cAAc,EAAEG,mBAAU,CAACC,KAAK,CAAC,EACnDC,gBACF,CAAC;EACH;AACF;AAACC,OAAA,CAAAR,oBAAA,GAAAA,oBAAA"}
|