Merge pull request #919 from bilawalsidhu/feat/export-globe-panel

feat: export the globe panel for MCP servers
This commit is contained in:
Sameh Khamis authored and GitHub committed 2026-10-03 21:24:41 -07:00
commit 88b8406073
5 files changed
+37 -2

No files matched your search

+1
View File
@@ -255,6 +255,7 @@
"./sources/map-features": "./src/sources/overpassFeatures.js",
"./tools": "./src/tools/index.js",
"./tools/mcp": "./src/tools/mcp/index.js",
"./tools/panel": "./src/tools/panel.js",
"./tools/services": "./src/tools/services.js",
"./view": "./src/view/index.js"
}
+9
View File
@@ -3168,6 +3168,15 @@
],
"external": []
},
"tools-panel": {
"exports": ["./tools/panel"],
"modules": [
"src/tools/panel.js",
"src/tools/globePanel.js",
"src/app/globePanelRuntime.js"
],
"external": []
},
"tools-services": {
"exports": ["./tools/services"],
"modules": [
+4 -2
View File
@@ -7,8 +7,10 @@ import {
coreTools,
catalogForSurface,
} from '../../src/tools/index.js';
import { panelRuntime } from '../../src/app/globePanelRuntime.js';
import { createGlobePanelResource } from '../../src/tools/globePanel.js';
import {
createGlobePanelResource,
panelRuntime,
} from '../../src/tools/panel.js';
import { createMcpServer } from '../../src/tools/mcp/index.js';
import { DEFAULT_API_BASE, createLocalToolServices } from './services.js';
+11
View File
@@ -122,3 +122,14 @@ test('a view that only follows an aircraft is framed where the aircraft is', asy
/not reported now/.test(error.message),
);
});
test('the package exports the panel resource and its runtime together', async () => {
const panel = await import('gods-eye-view/tools/panel');
const resource = panel.createGlobePanelResource({
runtime: panel.panelRuntime,
panelKey: 'key',
});
assert.equal(resource.uri, panel.GLOBE_PANEL_URI);
assert.equal(panel.PANEL_BASE, '/panel/');
assert.match(resource.text, /panelRuntime|function/);
});
+12
View File
@@ -0,0 +1,12 @@
/**
* The MCP Apps globe panel for MCP servers that compose Core's tools: the
* panel resource and the script its page runs. A server serves the panel
* build at PANEL_BASE and passes the same key to the resource and to the
* tool services (see src/tools/services.js).
*/
export {
GLOBE_PANEL_URI,
PANEL_BASE,
createGlobePanelResource,
} from './globePanel.js';
export { panelRuntime } from '../app/globePanelRuntime.js';