diff --git a/packages/console-extension/src/index.ts b/packages/console-extension/src/index.ts index f678a26098a8..90de8373cbf1 100644 --- a/packages/console-extension/src/index.ts +++ b/packages/console-extension/src/index.ts @@ -179,7 +179,8 @@ async function activateConsole( let baseUrl = PageConfig.getBaseUrl(); for (let name in specs.kernelspecs) { let rank = name === specs.default ? 0 : Infinity; - let kernelIconUrl = specs.kernelspecs[name].resources['logo-64x64']; + const spec = specs.kernelspecs[name]; + let kernelIconUrl = spec.resources['logo-64x64']; if (kernelIconUrl) { let index = kernelIconUrl.indexOf('kernelspecs'); kernelIconUrl = URLExt.join(baseUrl, kernelIconUrl.slice(index)); @@ -190,7 +191,8 @@ async function activateConsole( args: { isLauncher: true, kernelPreference: { name } }, category: 'Console', rank, - kernelIconUrl + kernelIconUrl, + metadata: spec.metadata }) ); } diff --git a/packages/launcher/src/index.tsx b/packages/launcher/src/index.tsx index d201fcf00795..1a446ed57197 100644 --- a/packages/launcher/src/index.tsx +++ b/packages/launcher/src/index.tsx @@ -339,6 +339,12 @@ export namespace ILauncher { * spec. */ kernelIconUrl?: string; + + /** + * Metadata about the item. This can be used by the launcher to + * affect how the item is displayed. + */ + metadata?: ReadonlyJSONObject; } } diff --git a/packages/notebook-extension/src/index.ts b/packages/notebook-extension/src/index.ts index f92810219a49..3bea4362aab2 100644 --- a/packages/notebook-extension/src/index.ts +++ b/packages/notebook-extension/src/index.ts @@ -722,7 +722,8 @@ function activateNotebookHandler( for (let name in specs.kernelspecs) { let rank = name === specs.default ? 0 : Infinity; - let kernelIconUrl = specs.kernelspecs[name].resources['logo-64x64']; + const spec = specs.kernelspecs[name]; + let kernelIconUrl = spec.resources['logo-64x64']; if (kernelIconUrl) { let index = kernelIconUrl.indexOf('kernelspecs'); kernelIconUrl = URLExt.join(baseUrl, kernelIconUrl.slice(index)); @@ -733,7 +734,8 @@ function activateNotebookHandler( args: { isLauncher: true, kernelName: name }, category: 'Notebook', rank, - kernelIconUrl + kernelIconUrl, + metadata: spec.metadata }) ); }