refactor: name the view tool show_in_gods_eye_view

The tool and its panel now say "Show in God's Eye View" rather than
"show on the globe", in tool names, descriptions, server instructions and
docs.
This commit is contained in:
Sameh Khamis committed 2026-10-02 15:21:36 -07:00
1 parent 216a75ac71
commit 47ef168815
12 files changed
+48 -44

No files matched your search

+9 -9
View File
@@ -77,16 +77,16 @@ function appBase(services) {
}
}
export const showOnGlobe = defineTool({
name: 'show_on_globe',
title: 'Show on the globe',
export const showInGodsEyeView = defineTool({
name: 'show_in_gods_eye_view',
title: "Show in God's Eye View",
description:
"Shows a view of God's Eye View's globe: in clients that display apps, " +
'the live globe in the conversation; everywhere, a link that opens it. ' +
'Pass the view another answer returned, or describe one: an area framed from above ' +
'or a camera position, with chosen data layers, visual style and map, ' +
'optionally following an aircraft or satellite and with marks drawn on ' +
'the globe.',
"Shows a view in God's Eye View: in clients that display apps, the live " +
"God's Eye View globe in the conversation; everywhere, a link that opens " +
'it. Pass the view another answer returned, or describe one: an area ' +
'framed from above or a camera position, with chosen data layers, visual ' +
'style and map, optionally following an aircraft or satellite and with ' +
'marks drawn on the map.',
inputSchema: {
type: 'object',
properties: VIEW_ARGUMENTS,
+9 -9
View File
@@ -7,7 +7,7 @@ test('links open the app looking straight down on the area', async () => {
tools: coreTools,
services: { app: { baseUrl: 'https://maps.example/view?x=1' } },
});
const result = await catalog.call('show_on_globe', {
const result = await catalog.call('show_in_gods_eye_view', {
area: { lat: 30.2672, lon: -97.7431, radius_km: 5 },
});
const url = new URL(result.data.url);
@@ -35,11 +35,11 @@ test('altitude is bounded for tiny and planet-sized areas', async () => {
tools: coreTools,
services: { app: { baseUrl: 'http://localhost:4173/' } },
});
const tiny = await catalog.call('show_on_globe', {
const tiny = await catalog.call('show_in_gods_eye_view', {
area: { lat: 0, lon: 0, radius_km: 0.1 },
});
assert.equal(tiny.data.view.camera.altitude_m, 500);
const world = await catalog.call('show_on_globe', {
const world = await catalog.call('show_in_gods_eye_view', {
area: { bbox: [-180, -85, 180, 85] },
});
assert.equal(world.data.view.camera.altitude_m, 15000000);
@@ -48,7 +48,7 @@ test('altitude is bounded for tiny and planet-sized areas', async () => {
services: { app: { baseUrl: 'not a url' } },
});
await assert.rejects(
broken.call('show_on_globe', {
broken.call('show_in_gods_eye_view', {
area: { lat: 0, lon: 0, radius_km: 1 },
}),
(error) => error.code === 'unavailable',
@@ -61,7 +61,7 @@ test('links turn on the requested layers with the app share-link codec', async (
tools: coreTools,
services: { app: { baseUrl: 'http://localhost:4173/' } },
});
const result = await catalog.call('show_on_globe', {
const result = await catalog.call('show_in_gods_eye_view', {
area: { lat: 30.27, lon: -97.74, radius_km: 10 },
layers: ['earthquakes', 'flights', 'flights'],
});
@@ -72,7 +72,7 @@ test('links turn on the requested layers with the app share-link codec', async (
'flights',
]);
await assert.rejects(
catalog.call('show_on_globe', {
catalog.call('show_in_gods_eye_view', {
area: { lat: 0, lon: 0, radius_km: 1 },
layers: ['not-a-layer'],
}),
@@ -86,7 +86,7 @@ test('links carry a camera, style, map and an entity to follow', async () => {
tools: coreTools,
services: { app: { baseUrl: 'http://localhost:4173/' } },
});
const result = await catalog.call('show_on_globe', {
const result = await catalog.call('show_in_gods_eye_view', {
area: { lat: 25, lon: 121, radius_km: 200 },
camera: { pitch_deg: -40, heading_deg: 350 },
layers: ['ais-live-vessels'],
@@ -103,13 +103,13 @@ test('links carry a camera, style, map and an entity to follow', async () => {
id: 'ae1234',
});
assert.equal(result.data.view.camera.pitch_deg, -40);
const camera = await catalog.call('show_on_globe', {
const camera = await catalog.call('show_in_gods_eye_view', {
camera: { lat: 48.8584, lon: 2.2945, altitude_m: 1200, pitch_deg: -30 },
});
assert.equal(camera.data.view.camera.altitude_m, 1200);
assert.match(camera.summary, /^Open 48\.858, 2\.295 in God's Eye View: /);
await assert.rejects(
catalog.call('show_on_globe', { layers: ['flights'] }),
catalog.call('show_in_gods_eye_view', { layers: ['flights'] }),
/Give a view, an area, or a camera with lat and lon/,
);
});