@runsnative/mcp-server 0.9.0 → 0.9.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/dist/tools/spotlight.js +15 -8
- package/package.json +1 -1
package/dist/tools/spotlight.js
CHANGED
|
@@ -2,20 +2,27 @@ import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
|
|
|
2
2
|
import { postWorkerApi, getLinkedPairId } from '../bridge-client.js';
|
|
3
3
|
export const SPOTLIGHT_TOOL = {
|
|
4
4
|
name: 'spotlight',
|
|
5
|
-
description: "Point at something on the user's linked runsnative.org tab — a spotlight ring settles on
|
|
5
|
+
description: "Point at something on the user's linked runsnative.org tab — a spotlight ring settles on an " +
|
|
6
6
|
'element while the rest of the page dims (non-modal, they can still interact). Use to SHOW rather than ' +
|
|
7
|
-
'describe: "show me where X lives", "highlight the Y control".
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
'
|
|
11
|
-
'
|
|
7
|
+
'describe: "show me where X lives", "highlight the Y control". Most targets come from `resolve_target`: ' +
|
|
8
|
+
'describe the element, get scored candidates, pass the chosen one\'s "instance:<handle>" here — resolve ' +
|
|
9
|
+
'and spotlight in the same breath, since handles are live-page state and do not survive navigation. A ' +
|
|
10
|
+
'marker capture ("Circle for AI") yields the same handle form. Pre-authored data-tour contract anchors ' +
|
|
11
|
+
'also work, but almost nothing on this site carries one — call `resolve_target` rather than guessing an ' +
|
|
12
|
+
'anchor name. An anchor may take a route prefix to point across pages: "/compare/#gathering-g-1" ' +
|
|
13
|
+
'navigates the tab there first. Optional message shows a small card by the ring. Requires an active ' +
|
|
14
|
+
'linked session (call link_session first); fully reversible — the ring dismisses on "Got it", Escape, ' +
|
|
15
|
+
'or navigation.',
|
|
12
16
|
inputSchema: {
|
|
13
17
|
type: 'object',
|
|
14
18
|
properties: {
|
|
15
19
|
target: {
|
|
16
20
|
type: 'string',
|
|
17
|
-
description: '
|
|
18
|
-
'
|
|
21
|
+
description: 'Element to point at. Normally an "instance:<handle>" from `resolve_target` (or from a marker ' +
|
|
22
|
+
'capture). A data-tour contract anchor also works where the page defines one — bare ' +
|
|
23
|
+
'("gathering-g-1") points on the current page, "/route#anchor" ("/compare/#gathering-g-1") ' +
|
|
24
|
+
'points across pages, navigating there first. Anchors are rare; prefer `resolve_target` over ' +
|
|
25
|
+
'guessing a name.',
|
|
19
26
|
},
|
|
20
27
|
message: {
|
|
21
28
|
type: 'string',
|