@metamask/device-mcp 0.1.0
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 +34 -0
- package/README.md +266 -0
- package/dist/backends/adb-backend.cjs +442 -0
- package/dist/backends/adb-backend.cjs.map +1 -0
- package/dist/backends/adb-backend.d.cts +35 -0
- package/dist/backends/adb-backend.d.cts.map +1 -0
- package/dist/backends/adb-backend.d.mts +35 -0
- package/dist/backends/adb-backend.d.mts.map +1 -0
- package/dist/backends/adb-backend.mjs +436 -0
- package/dist/backends/adb-backend.mjs.map +1 -0
- package/dist/backends/appium-backend.cjs +518 -0
- package/dist/backends/appium-backend.cjs.map +1 -0
- package/dist/backends/appium-backend.d.cts +36 -0
- package/dist/backends/appium-backend.d.cts.map +1 -0
- package/dist/backends/appium-backend.d.mts +36 -0
- package/dist/backends/appium-backend.d.mts.map +1 -0
- package/dist/backends/appium-backend.mjs +512 -0
- package/dist/backends/appium-backend.mjs.map +1 -0
- package/dist/backends/idb-backend.cjs +442 -0
- package/dist/backends/idb-backend.cjs.map +1 -0
- package/dist/backends/idb-backend.d.cts +35 -0
- package/dist/backends/idb-backend.d.cts.map +1 -0
- package/dist/backends/idb-backend.d.mts +35 -0
- package/dist/backends/idb-backend.d.mts.map +1 -0
- package/dist/backends/idb-backend.mjs +436 -0
- package/dist/backends/idb-backend.mjs.map +1 -0
- package/dist/backends/index.cjs +134 -0
- package/dist/backends/index.cjs.map +1 -0
- package/dist/backends/index.d.cts +16 -0
- package/dist/backends/index.d.cts.map +1 -0
- package/dist/backends/index.d.mts +16 -0
- package/dist/backends/index.d.mts.map +1 -0
- package/dist/backends/index.mjs +126 -0
- package/dist/backends/index.mjs.map +1 -0
- package/dist/backends/session-file.cjs +62 -0
- package/dist/backends/session-file.cjs.map +1 -0
- package/dist/backends/session-file.d.cts +24 -0
- package/dist/backends/session-file.d.cts.map +1 -0
- package/dist/backends/session-file.d.mts +24 -0
- package/dist/backends/session-file.d.mts.map +1 -0
- package/dist/backends/session-file.mjs +59 -0
- package/dist/backends/session-file.mjs.map +1 -0
- package/dist/backends/types.cjs +3 -0
- package/dist/backends/types.cjs.map +1 -0
- package/dist/backends/types.d.cts +93 -0
- package/dist/backends/types.d.cts.map +1 -0
- package/dist/backends/types.d.mts +93 -0
- package/dist/backends/types.d.mts.map +1 -0
- package/dist/backends/types.mjs +2 -0
- package/dist/backends/types.mjs.map +1 -0
- package/dist/backends/webdriver-client.cjs +167 -0
- package/dist/backends/webdriver-client.cjs.map +1 -0
- package/dist/backends/webdriver-client.d.cts +55 -0
- package/dist/backends/webdriver-client.d.cts.map +1 -0
- package/dist/backends/webdriver-client.d.mts +55 -0
- package/dist/backends/webdriver-client.d.mts.map +1 -0
- package/dist/backends/webdriver-client.mjs +162 -0
- package/dist/backends/webdriver-client.mjs.map +1 -0
- package/dist/cli/device-mcp.cjs +20 -0
- package/dist/cli/device-mcp.cjs.map +1 -0
- package/dist/cli/device-mcp.d.cts +3 -0
- package/dist/cli/device-mcp.d.cts.map +1 -0
- package/dist/cli/device-mcp.d.mts +3 -0
- package/dist/cli/device-mcp.d.mts.map +1 -0
- package/dist/cli/device-mcp.mjs +18 -0
- package/dist/cli/device-mcp.mjs.map +1 -0
- package/dist/index.cjs +9 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +5 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +5 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -0
- package/dist/server.cjs +43 -0
- package/dist/server.cjs.map +1 -0
- package/dist/server.d.cts +4 -0
- package/dist/server.d.cts.map +1 -0
- package/dist/server.d.mts +4 -0
- package/dist/server.d.mts.map +1 -0
- package/dist/server.mjs +40 -0
- package/dist/server.mjs.map +1 -0
- package/dist/tools/alert-text.cjs +25 -0
- package/dist/tools/alert-text.cjs.map +1 -0
- package/dist/tools/alert-text.d.cts +4 -0
- package/dist/tools/alert-text.d.cts.map +1 -0
- package/dist/tools/alert-text.d.mts +4 -0
- package/dist/tools/alert-text.d.mts.map +1 -0
- package/dist/tools/alert-text.mjs +22 -0
- package/dist/tools/alert-text.mjs.map +1 -0
- package/dist/tools/app-state.cjs +40 -0
- package/dist/tools/app-state.cjs.map +1 -0
- package/dist/tools/app-state.d.cts +4 -0
- package/dist/tools/app-state.d.cts.map +1 -0
- package/dist/tools/app-state.d.mts +4 -0
- package/dist/tools/app-state.d.mts.map +1 -0
- package/dist/tools/app-state.mjs +37 -0
- package/dist/tools/app-state.mjs.map +1 -0
- package/dist/tools/clipboard.cjs +42 -0
- package/dist/tools/clipboard.cjs.map +1 -0
- package/dist/tools/clipboard.d.cts +4 -0
- package/dist/tools/clipboard.d.cts.map +1 -0
- package/dist/tools/clipboard.d.mts +4 -0
- package/dist/tools/clipboard.d.mts.map +1 -0
- package/dist/tools/clipboard.mjs +39 -0
- package/dist/tools/clipboard.mjs.map +1 -0
- package/dist/tools/close-app.cjs +25 -0
- package/dist/tools/close-app.cjs.map +1 -0
- package/dist/tools/close-app.d.cts +4 -0
- package/dist/tools/close-app.d.cts.map +1 -0
- package/dist/tools/close-app.d.mts +4 -0
- package/dist/tools/close-app.d.mts.map +1 -0
- package/dist/tools/close-app.mjs +22 -0
- package/dist/tools/close-app.mjs.map +1 -0
- package/dist/tools/context.cjs +52 -0
- package/dist/tools/context.cjs.map +1 -0
- package/dist/tools/context.d.cts +4 -0
- package/dist/tools/context.d.cts.map +1 -0
- package/dist/tools/context.d.mts +4 -0
- package/dist/tools/context.d.mts.map +1 -0
- package/dist/tools/context.mjs +49 -0
- package/dist/tools/context.mjs.map +1 -0
- package/dist/tools/device-info.cjs +34 -0
- package/dist/tools/device-info.cjs.map +1 -0
- package/dist/tools/device-info.d.cts +4 -0
- package/dist/tools/device-info.d.cts.map +1 -0
- package/dist/tools/device-info.d.mts +4 -0
- package/dist/tools/device-info.d.mts.map +1 -0
- package/dist/tools/device-info.mjs +31 -0
- package/dist/tools/device-info.mjs.map +1 -0
- package/dist/tools/dismiss-alert.cjs +34 -0
- package/dist/tools/dismiss-alert.cjs.map +1 -0
- package/dist/tools/dismiss-alert.d.cts +4 -0
- package/dist/tools/dismiss-alert.d.cts.map +1 -0
- package/dist/tools/dismiss-alert.d.mts +4 -0
- package/dist/tools/dismiss-alert.d.mts.map +1 -0
- package/dist/tools/dismiss-alert.mjs +31 -0
- package/dist/tools/dismiss-alert.mjs.map +1 -0
- package/dist/tools/dismiss-keyboard.cjs +23 -0
- package/dist/tools/dismiss-keyboard.cjs.map +1 -0
- package/dist/tools/dismiss-keyboard.d.cts +4 -0
- package/dist/tools/dismiss-keyboard.d.cts.map +1 -0
- package/dist/tools/dismiss-keyboard.d.mts +4 -0
- package/dist/tools/dismiss-keyboard.d.mts.map +1 -0
- package/dist/tools/dismiss-keyboard.mjs +20 -0
- package/dist/tools/dismiss-keyboard.mjs.map +1 -0
- package/dist/tools/generate-locators.cjs +33 -0
- package/dist/tools/generate-locators.cjs.map +1 -0
- package/dist/tools/generate-locators.d.cts +4 -0
- package/dist/tools/generate-locators.d.cts.map +1 -0
- package/dist/tools/generate-locators.d.mts +4 -0
- package/dist/tools/generate-locators.d.mts.map +1 -0
- package/dist/tools/generate-locators.mjs +30 -0
- package/dist/tools/generate-locators.mjs.map +1 -0
- package/dist/tools/index.cjs +50 -0
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.cts +24 -0
- package/dist/tools/index.d.cts.map +1 -0
- package/dist/tools/index.d.mts +24 -0
- package/dist/tools/index.d.mts.map +1 -0
- package/dist/tools/index.mjs +24 -0
- package/dist/tools/index.mjs.map +1 -0
- package/dist/tools/logs.cjs +48 -0
- package/dist/tools/logs.cjs.map +1 -0
- package/dist/tools/logs.d.cts +4 -0
- package/dist/tools/logs.d.cts.map +1 -0
- package/dist/tools/logs.d.mts +4 -0
- package/dist/tools/logs.d.mts.map +1 -0
- package/dist/tools/logs.mjs +45 -0
- package/dist/tools/logs.mjs.map +1 -0
- package/dist/tools/long-press.cjs +38 -0
- package/dist/tools/long-press.cjs.map +1 -0
- package/dist/tools/long-press.d.cts +4 -0
- package/dist/tools/long-press.d.cts.map +1 -0
- package/dist/tools/long-press.d.mts +4 -0
- package/dist/tools/long-press.d.mts.map +1 -0
- package/dist/tools/long-press.mjs +35 -0
- package/dist/tools/long-press.mjs.map +1 -0
- package/dist/tools/open-app.cjs +26 -0
- package/dist/tools/open-app.cjs.map +1 -0
- package/dist/tools/open-app.d.cts +4 -0
- package/dist/tools/open-app.d.cts.map +1 -0
- package/dist/tools/open-app.d.mts +4 -0
- package/dist/tools/open-app.d.mts.map +1 -0
- package/dist/tools/open-app.mjs +23 -0
- package/dist/tools/open-app.mjs.map +1 -0
- package/dist/tools/press-button.cjs +30 -0
- package/dist/tools/press-button.cjs.map +1 -0
- package/dist/tools/press-button.d.cts +4 -0
- package/dist/tools/press-button.d.cts.map +1 -0
- package/dist/tools/press-button.d.mts +4 -0
- package/dist/tools/press-button.d.mts.map +1 -0
- package/dist/tools/press-button.mjs +27 -0
- package/dist/tools/press-button.mjs.map +1 -0
- package/dist/tools/screen-recording.cjs +46 -0
- package/dist/tools/screen-recording.cjs.map +1 -0
- package/dist/tools/screen-recording.d.cts +4 -0
- package/dist/tools/screen-recording.d.cts.map +1 -0
- package/dist/tools/screen-recording.d.mts +4 -0
- package/dist/tools/screen-recording.d.mts.map +1 -0
- package/dist/tools/screen-recording.mjs +43 -0
- package/dist/tools/screen-recording.mjs.map +1 -0
- package/dist/tools/screenshot.cjs +42 -0
- package/dist/tools/screenshot.cjs.map +1 -0
- package/dist/tools/screenshot.d.cts +4 -0
- package/dist/tools/screenshot.d.cts.map +1 -0
- package/dist/tools/screenshot.d.mts +4 -0
- package/dist/tools/screenshot.d.mts.map +1 -0
- package/dist/tools/screenshot.mjs +39 -0
- package/dist/tools/screenshot.mjs.map +1 -0
- package/dist/tools/scroll-to-element.cjs +56 -0
- package/dist/tools/scroll-to-element.cjs.map +1 -0
- package/dist/tools/scroll-to-element.d.cts +4 -0
- package/dist/tools/scroll-to-element.d.cts.map +1 -0
- package/dist/tools/scroll-to-element.d.mts +4 -0
- package/dist/tools/scroll-to-element.d.mts.map +1 -0
- package/dist/tools/scroll-to-element.mjs +53 -0
- package/dist/tools/scroll-to-element.mjs.map +1 -0
- package/dist/tools/shared.cjs +11 -0
- package/dist/tools/shared.cjs.map +1 -0
- package/dist/tools/shared.d.cts +8 -0
- package/dist/tools/shared.d.cts.map +1 -0
- package/dist/tools/shared.d.mts +8 -0
- package/dist/tools/shared.d.mts.map +1 -0
- package/dist/tools/shared.mjs +8 -0
- package/dist/tools/shared.mjs.map +1 -0
- package/dist/tools/snapshot.cjs +37 -0
- package/dist/tools/snapshot.cjs.map +1 -0
- package/dist/tools/snapshot.d.cts +4 -0
- package/dist/tools/snapshot.d.cts.map +1 -0
- package/dist/tools/snapshot.d.mts +4 -0
- package/dist/tools/snapshot.d.mts.map +1 -0
- package/dist/tools/snapshot.mjs +34 -0
- package/dist/tools/snapshot.mjs.map +1 -0
- package/dist/tools/swipe.cjs +39 -0
- package/dist/tools/swipe.cjs.map +1 -0
- package/dist/tools/swipe.d.cts +4 -0
- package/dist/tools/swipe.d.cts.map +1 -0
- package/dist/tools/swipe.d.mts +4 -0
- package/dist/tools/swipe.d.mts.map +1 -0
- package/dist/tools/swipe.mjs +36 -0
- package/dist/tools/swipe.mjs.map +1 -0
- package/dist/tools/tap-coordinates.cjs +27 -0
- package/dist/tools/tap-coordinates.cjs.map +1 -0
- package/dist/tools/tap-coordinates.d.cts +4 -0
- package/dist/tools/tap-coordinates.d.cts.map +1 -0
- package/dist/tools/tap-coordinates.d.mts +4 -0
- package/dist/tools/tap-coordinates.d.mts.map +1 -0
- package/dist/tools/tap-coordinates.mjs +24 -0
- package/dist/tools/tap-coordinates.mjs.map +1 -0
- package/dist/tools/tap-element.cjs +46 -0
- package/dist/tools/tap-element.cjs.map +1 -0
- package/dist/tools/tap-element.d.cts +4 -0
- package/dist/tools/tap-element.d.cts.map +1 -0
- package/dist/tools/tap-element.d.mts +4 -0
- package/dist/tools/tap-element.d.mts.map +1 -0
- package/dist/tools/tap-element.mjs +43 -0
- package/dist/tools/tap-element.mjs.map +1 -0
- package/dist/tools/type-text.cjs +32 -0
- package/dist/tools/type-text.cjs.map +1 -0
- package/dist/tools/type-text.d.cts +4 -0
- package/dist/tools/type-text.d.cts.map +1 -0
- package/dist/tools/type-text.d.mts +4 -0
- package/dist/tools/type-text.d.mts.map +1 -0
- package/dist/tools/type-text.mjs +29 -0
- package/dist/tools/type-text.mjs.map +1 -0
- package/dist/tools/wait-for.cjs +51 -0
- package/dist/tools/wait-for.cjs.map +1 -0
- package/dist/tools/wait-for.d.cts +4 -0
- package/dist/tools/wait-for.d.cts.map +1 -0
- package/dist/tools/wait-for.d.mts +4 -0
- package/dist/tools/wait-for.d.mts.map +1 -0
- package/dist/tools/wait-for.mjs +48 -0
- package/dist/tools/wait-for.mjs.map +1 -0
- package/dist/tools/window-size.cjs +29 -0
- package/dist/tools/window-size.cjs.map +1 -0
- package/dist/tools/window-size.d.cts +4 -0
- package/dist/tools/window-size.d.cts.map +1 -0
- package/dist/tools/window-size.d.mts +4 -0
- package/dist/tools/window-size.d.mts.map +1 -0
- package/dist/tools/window-size.mjs +26 -0
- package/dist/tools/window-size.mjs.map +1 -0
- package/dist/utils/alert-labels.cjs +26 -0
- package/dist/utils/alert-labels.cjs.map +1 -0
- package/dist/utils/alert-labels.d.cts +3 -0
- package/dist/utils/alert-labels.d.cts.map +1 -0
- package/dist/utils/alert-labels.d.mts +3 -0
- package/dist/utils/alert-labels.d.mts.map +1 -0
- package/dist/utils/alert-labels.mjs +23 -0
- package/dist/utils/alert-labels.mjs.map +1 -0
- package/dist/utils/element.cjs +212 -0
- package/dist/utils/element.cjs.map +1 -0
- package/dist/utils/element.d.cts +24 -0
- package/dist/utils/element.d.cts.map +1 -0
- package/dist/utils/element.d.mts +24 -0
- package/dist/utils/element.d.mts.map +1 -0
- package/dist/utils/element.mjs +203 -0
- package/dist/utils/element.mjs.map +1 -0
- package/dist/utils/exec.cjs +57 -0
- package/dist/utils/exec.cjs.map +1 -0
- package/dist/utils/exec.d.cts +23 -0
- package/dist/utils/exec.d.cts.map +1 -0
- package/dist/utils/exec.d.mts +23 -0
- package/dist/utils/exec.d.mts.map +1 -0
- package/dist/utils/exec.mjs +52 -0
- package/dist/utils/exec.mjs.map +1 -0
- package/dist/utils/platform.cjs +93 -0
- package/dist/utils/platform.cjs.map +1 -0
- package/dist/utils/platform.d.cts +8 -0
- package/dist/utils/platform.d.cts.map +1 -0
- package/dist/utils/platform.d.mts +8 -0
- package/dist/utils/platform.d.mts.map +1 -0
- package/dist/utils/platform.mjs +90 -0
- package/dist/utils/platform.mjs.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.mts","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAE1D,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CAqDN"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { errorResult } from "./shared.mjs";
|
|
3
|
+
export function registerContextTool(server, backend) {
|
|
4
|
+
server.registerTool('device_context', {
|
|
5
|
+
title: 'Context',
|
|
6
|
+
description: 'List or switch between app contexts (NATIVE_APP, WEBVIEW_*, etc.). ' +
|
|
7
|
+
'Use action=list to see available contexts, action=switch to change. ' +
|
|
8
|
+
'WebView context switching requires the Appium backend.',
|
|
9
|
+
inputSchema: {
|
|
10
|
+
action: z
|
|
11
|
+
.enum(['list', 'switch'])
|
|
12
|
+
.describe('Action: list available contexts or switch to one'),
|
|
13
|
+
context: z
|
|
14
|
+
.string()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe('Context name to switch to (required for action=switch)'),
|
|
17
|
+
},
|
|
18
|
+
}, async ({ action, context }) => {
|
|
19
|
+
try {
|
|
20
|
+
if (action === 'list') {
|
|
21
|
+
const contexts = await backend.getContexts();
|
|
22
|
+
return {
|
|
23
|
+
content: [
|
|
24
|
+
{
|
|
25
|
+
type: 'text',
|
|
26
|
+
text: `Available contexts:\n${contexts.map((c) => ` - ${c}`).join('\n')}`,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (!context) {
|
|
32
|
+
return errorResult(new Error('context is required when action is "switch"'));
|
|
33
|
+
}
|
|
34
|
+
await backend.setContext(context);
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: 'text',
|
|
39
|
+
text: `Switched to context: ${context}`,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
return errorResult(error);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.mjs","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,YAAY;AAExB,OAAO,EAAE,WAAW,EAAE,qBAAoB;AAG1C,MAAM,UAAU,mBAAmB,CACjC,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,qEAAqE;YACrE,sEAAsE;YACtE,wDAAwD;QAC1D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;iBACxB,QAAQ,CAAC,kDAAkD,CAAC;YAC/D,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;SACtE;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC7C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,wBAAwB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;yBAC3E;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,WAAW,CAChB,IAAI,KAAK,CAAC,6CAA6C,CAAC,CACzD,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,wBAAwB,OAAO,EAAE;qBACxC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { z } from 'zod';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\n\nexport function registerContextTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_context',\n {\n title: 'Context',\n description:\n 'List or switch between app contexts (NATIVE_APP, WEBVIEW_*, etc.). ' +\n 'Use action=list to see available contexts, action=switch to change. ' +\n 'WebView context switching requires the Appium backend.',\n inputSchema: {\n action: z\n .enum(['list', 'switch'])\n .describe('Action: list available contexts or switch to one'),\n context: z\n .string()\n .optional()\n .describe('Context name to switch to (required for action=switch)'),\n },\n },\n async ({ action, context }) => {\n try {\n if (action === 'list') {\n const contexts = await backend.getContexts();\n return {\n content: [\n {\n type: 'text' as const,\n text: `Available contexts:\\n${contexts.map((c) => ` - ${c}`).join('\\n')}`,\n },\n ],\n };\n }\n\n if (!context) {\n return errorResult(\n new Error('context is required when action is \"switch\"'),\n );\n }\n\n await backend.setContext(context);\n return {\n content: [\n {\n type: 'text' as const,\n text: `Switched to context: ${context}`,\n },\n ],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerDeviceInfoTool = registerDeviceInfoTool;
|
|
4
|
+
const shared_js_1 = require("./shared.cjs");
|
|
5
|
+
function registerDeviceInfoTool(server, backend) {
|
|
6
|
+
server.registerTool('device_info', {
|
|
7
|
+
title: 'Device Info',
|
|
8
|
+
description: 'Get information about the connected device: platform, name, OS version, device ID.',
|
|
9
|
+
inputSchema: {},
|
|
10
|
+
annotations: { readOnlyHint: true },
|
|
11
|
+
}, async () => {
|
|
12
|
+
try {
|
|
13
|
+
const info = await backend.getDeviceInfo();
|
|
14
|
+
return {
|
|
15
|
+
content: [
|
|
16
|
+
{
|
|
17
|
+
type: 'text',
|
|
18
|
+
text: [
|
|
19
|
+
`Platform: ${info.platform}`,
|
|
20
|
+
`Device: ${info.name}`,
|
|
21
|
+
`OS: ${info.osVersion}`,
|
|
22
|
+
`ID: ${info.deviceId}`,
|
|
23
|
+
`State: ${info.state}`,
|
|
24
|
+
].join('\n'),
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return (0, shared_js_1.errorResult)(error);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=device-info.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-info.cjs","sourceRoot":"","sources":["../../src/tools/device-info.ts"],"names":[],"mappings":";;AAKA,wDAmCC;AAtCD,4CAA0C;AAG1C,SAAgB,sBAAsB,CACpC,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,oFAAoF;QACtF,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,aAAa,IAAI,CAAC,QAAQ,EAAE;4BAC5B,WAAW,IAAI,CAAC,IAAI,EAAE;4BACtB,OAAO,IAAI,CAAC,SAAS,EAAE;4BACvB,OAAO,IAAI,CAAC,QAAQ,EAAE;4BACtB,UAAU,IAAI,CAAC,KAAK,EAAE;yBACvB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\n\nexport function registerDeviceInfoTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_info',\n {\n title: 'Device Info',\n description:\n 'Get information about the connected device: platform, name, OS version, device ID.',\n inputSchema: {},\n annotations: { readOnlyHint: true },\n },\n async () => {\n try {\n const info = await backend.getDeviceInfo();\n return {\n content: [\n {\n type: 'text' as const,\n text: [\n `Platform: ${info.platform}`,\n `Device: ${info.name}`,\n `OS: ${info.osVersion}`,\n `ID: ${info.deviceId}`,\n `State: ${info.state}`,\n ].join('\\n'),\n },\n ],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.cjs";
|
|
3
|
+
export declare function registerDeviceInfoTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=device-info.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-info.d.cts","sourceRoot":"","sources":["../../src/tools/device-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAGzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAE1D,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CAgCN"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.mjs";
|
|
3
|
+
export declare function registerDeviceInfoTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=device-info.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-info.d.mts","sourceRoot":"","sources":["../../src/tools/device-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAGzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAE1D,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CAgCN"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { errorResult } from "./shared.mjs";
|
|
2
|
+
export function registerDeviceInfoTool(server, backend) {
|
|
3
|
+
server.registerTool('device_info', {
|
|
4
|
+
title: 'Device Info',
|
|
5
|
+
description: 'Get information about the connected device: platform, name, OS version, device ID.',
|
|
6
|
+
inputSchema: {},
|
|
7
|
+
annotations: { readOnlyHint: true },
|
|
8
|
+
}, async () => {
|
|
9
|
+
try {
|
|
10
|
+
const info = await backend.getDeviceInfo();
|
|
11
|
+
return {
|
|
12
|
+
content: [
|
|
13
|
+
{
|
|
14
|
+
type: 'text',
|
|
15
|
+
text: [
|
|
16
|
+
`Platform: ${info.platform}`,
|
|
17
|
+
`Device: ${info.name}`,
|
|
18
|
+
`OS: ${info.osVersion}`,
|
|
19
|
+
`ID: ${info.deviceId}`,
|
|
20
|
+
`State: ${info.state}`,
|
|
21
|
+
].join('\n'),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return errorResult(error);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=device-info.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-info.mjs","sourceRoot":"","sources":["../../src/tools/device-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,qBAAoB;AAG1C,MAAM,UAAU,sBAAsB,CACpC,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,oFAAoF;QACtF,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACJ,aAAa,IAAI,CAAC,QAAQ,EAAE;4BAC5B,WAAW,IAAI,CAAC,IAAI,EAAE;4BACtB,OAAO,IAAI,CAAC,SAAS,EAAE;4BACvB,OAAO,IAAI,CAAC,QAAQ,EAAE;4BACtB,UAAU,IAAI,CAAC,KAAK,EAAE;yBACvB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\n\nexport function registerDeviceInfoTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_info',\n {\n title: 'Device Info',\n description:\n 'Get information about the connected device: platform, name, OS version, device ID.',\n inputSchema: {},\n annotations: { readOnlyHint: true },\n },\n async () => {\n try {\n const info = await backend.getDeviceInfo();\n return {\n content: [\n {\n type: 'text' as const,\n text: [\n `Platform: ${info.platform}`,\n `Device: ${info.name}`,\n `OS: ${info.osVersion}`,\n `ID: ${info.deviceId}`,\n `State: ${info.state}`,\n ].join('\\n'),\n },\n ],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerDismissAlertTool = registerDismissAlertTool;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const shared_js_1 = require("./shared.cjs");
|
|
6
|
+
function registerDismissAlertTool(server, backend) {
|
|
7
|
+
server.registerTool('device_dismiss_alert', {
|
|
8
|
+
title: 'Dismiss Alert',
|
|
9
|
+
description: 'Accept or dismiss a system alert or permission dialog. ' +
|
|
10
|
+
'Use accept=true for "Allow"/"OK", accept=false for "Deny"/"Cancel". ' +
|
|
11
|
+
'Check device_snapshot first to confirm an alert is present.',
|
|
12
|
+
inputSchema: {
|
|
13
|
+
accept: zod_1.z
|
|
14
|
+
.boolean()
|
|
15
|
+
.describe('true to accept (Allow/OK), false to dismiss (Deny/Cancel)'),
|
|
16
|
+
},
|
|
17
|
+
}, async ({ accept }) => {
|
|
18
|
+
try {
|
|
19
|
+
await backend.dismissAlert(accept);
|
|
20
|
+
return {
|
|
21
|
+
content: [
|
|
22
|
+
{
|
|
23
|
+
type: 'text',
|
|
24
|
+
text: `Alert ${accept ? 'accepted' : 'dismissed'}`,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return (0, shared_js_1.errorResult)(error);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=dismiss-alert.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-alert.cjs","sourceRoot":"","sources":["../../src/tools/dismiss-alert.ts"],"names":[],"mappings":";;AAMA,4DAoCC;AAzCD,6BAAwB;AAExB,4CAA0C;AAG1C,SAAgB,wBAAwB,CACtC,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,yDAAyD;YACzD,sEAAsE;YACtE,6DAA6D;QAC/D,WAAW,EAAE;YACX,MAAM,EAAE,OAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,CACP,2DAA2D,CAC5D;SACJ;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,SAAS,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE;qBACnD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { z } from 'zod';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\n\nexport function registerDismissAlertTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_dismiss_alert',\n {\n title: 'Dismiss Alert',\n description:\n 'Accept or dismiss a system alert or permission dialog. ' +\n 'Use accept=true for \"Allow\"/\"OK\", accept=false for \"Deny\"/\"Cancel\". ' +\n 'Check device_snapshot first to confirm an alert is present.',\n inputSchema: {\n accept: z\n .boolean()\n .describe(\n 'true to accept (Allow/OK), false to dismiss (Deny/Cancel)',\n ),\n },\n },\n async ({ accept }) => {\n try {\n await backend.dismissAlert(accept);\n return {\n content: [\n {\n type: 'text' as const,\n text: `Alert ${accept ? 'accepted' : 'dismissed'}`,\n },\n ],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.cjs";
|
|
3
|
+
export declare function registerDismissAlertTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=dismiss-alert.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-alert.d.cts","sourceRoot":"","sources":["../../src/tools/dismiss-alert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAE1D,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CAiCN"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.mjs";
|
|
3
|
+
export declare function registerDismissAlertTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=dismiss-alert.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-alert.d.mts","sourceRoot":"","sources":["../../src/tools/dismiss-alert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAE1D,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CAiCN"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { errorResult } from "./shared.mjs";
|
|
3
|
+
export function registerDismissAlertTool(server, backend) {
|
|
4
|
+
server.registerTool('device_dismiss_alert', {
|
|
5
|
+
title: 'Dismiss Alert',
|
|
6
|
+
description: 'Accept or dismiss a system alert or permission dialog. ' +
|
|
7
|
+
'Use accept=true for "Allow"/"OK", accept=false for "Deny"/"Cancel". ' +
|
|
8
|
+
'Check device_snapshot first to confirm an alert is present.',
|
|
9
|
+
inputSchema: {
|
|
10
|
+
accept: z
|
|
11
|
+
.boolean()
|
|
12
|
+
.describe('true to accept (Allow/OK), false to dismiss (Deny/Cancel)'),
|
|
13
|
+
},
|
|
14
|
+
}, async ({ accept }) => {
|
|
15
|
+
try {
|
|
16
|
+
await backend.dismissAlert(accept);
|
|
17
|
+
return {
|
|
18
|
+
content: [
|
|
19
|
+
{
|
|
20
|
+
type: 'text',
|
|
21
|
+
text: `Alert ${accept ? 'accepted' : 'dismissed'}`,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return errorResult(error);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=dismiss-alert.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-alert.mjs","sourceRoot":"","sources":["../../src/tools/dismiss-alert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,YAAY;AAExB,OAAO,EAAE,WAAW,EAAE,qBAAoB;AAG1C,MAAM,UAAU,wBAAwB,CACtC,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,yDAAyD;YACzD,sEAAsE;YACtE,6DAA6D;QAC/D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,CACP,2DAA2D,CAC5D;SACJ;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,SAAS,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE;qBACnD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { z } from 'zod';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\n\nexport function registerDismissAlertTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_dismiss_alert',\n {\n title: 'Dismiss Alert',\n description:\n 'Accept or dismiss a system alert or permission dialog. ' +\n 'Use accept=true for \"Allow\"/\"OK\", accept=false for \"Deny\"/\"Cancel\". ' +\n 'Check device_snapshot first to confirm an alert is present.',\n inputSchema: {\n accept: z\n .boolean()\n .describe(\n 'true to accept (Allow/OK), false to dismiss (Deny/Cancel)',\n ),\n },\n },\n async ({ accept }) => {\n try {\n await backend.dismissAlert(accept);\n return {\n content: [\n {\n type: 'text' as const,\n text: `Alert ${accept ? 'accepted' : 'dismissed'}`,\n },\n ],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerDismissKeyboardTool = registerDismissKeyboardTool;
|
|
4
|
+
const shared_js_1 = require("./shared.cjs");
|
|
5
|
+
function registerDismissKeyboardTool(server, backend) {
|
|
6
|
+
server.registerTool('device_dismiss_keyboard', {
|
|
7
|
+
title: 'Dismiss Keyboard',
|
|
8
|
+
description: 'Hide the on-screen keyboard. Call after typing to reveal elements ' +
|
|
9
|
+
'that may be obscured by the keyboard.',
|
|
10
|
+
inputSchema: {},
|
|
11
|
+
}, async () => {
|
|
12
|
+
try {
|
|
13
|
+
await backend.dismissKeyboard();
|
|
14
|
+
return {
|
|
15
|
+
content: [{ type: 'text', text: 'Keyboard dismissed' }],
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
return (0, shared_js_1.errorResult)(error);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=dismiss-keyboard.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-keyboard.cjs","sourceRoot":"","sources":["../../src/tools/dismiss-keyboard.ts"],"names":[],"mappings":";;AAKA,kEAwBC;AA3BD,4CAA0C;AAG1C,SAAgB,2BAA2B,CACzC,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,oEAAoE;YACpE,uCAAuC;QACzC,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;aACjE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\n\nexport function registerDismissKeyboardTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_dismiss_keyboard',\n {\n title: 'Dismiss Keyboard',\n description:\n 'Hide the on-screen keyboard. Call after typing to reveal elements ' +\n 'that may be obscured by the keyboard.',\n inputSchema: {},\n },\n async () => {\n try {\n await backend.dismissKeyboard();\n return {\n content: [{ type: 'text' as const, text: 'Keyboard dismissed' }],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.cjs";
|
|
3
|
+
export declare function registerDismissKeyboardTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=dismiss-keyboard.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-keyboard.d.cts","sourceRoot":"","sources":["../../src/tools/dismiss-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAGzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAE1D,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CAqBN"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.mjs";
|
|
3
|
+
export declare function registerDismissKeyboardTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=dismiss-keyboard.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-keyboard.d.mts","sourceRoot":"","sources":["../../src/tools/dismiss-keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAGzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAE1D,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CAqBN"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { errorResult } from "./shared.mjs";
|
|
2
|
+
export function registerDismissKeyboardTool(server, backend) {
|
|
3
|
+
server.registerTool('device_dismiss_keyboard', {
|
|
4
|
+
title: 'Dismiss Keyboard',
|
|
5
|
+
description: 'Hide the on-screen keyboard. Call after typing to reveal elements ' +
|
|
6
|
+
'that may be obscured by the keyboard.',
|
|
7
|
+
inputSchema: {},
|
|
8
|
+
}, async () => {
|
|
9
|
+
try {
|
|
10
|
+
await backend.dismissKeyboard();
|
|
11
|
+
return {
|
|
12
|
+
content: [{ type: 'text', text: 'Keyboard dismissed' }],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
return errorResult(error);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=dismiss-keyboard.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-keyboard.mjs","sourceRoot":"","sources":["../../src/tools/dismiss-keyboard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,qBAAoB;AAG1C,MAAM,UAAU,2BAA2B,CACzC,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,oEAAoE;YACpE,uCAAuC;QACzC,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;aACjE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\n\nexport function registerDismissKeyboardTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_dismiss_keyboard',\n {\n title: 'Dismiss Keyboard',\n description:\n 'Hide the on-screen keyboard. Call after typing to reveal elements ' +\n 'that may be obscured by the keyboard.',\n inputSchema: {},\n },\n async () => {\n try {\n await backend.dismissKeyboard();\n return {\n content: [{ type: 'text' as const, text: 'Keyboard dismissed' }],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerGenerateLocatorsTool = registerGenerateLocatorsTool;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const shared_js_1 = require("./shared.cjs");
|
|
6
|
+
const element_js_1 = require("../utils/element.cjs");
|
|
7
|
+
function registerGenerateLocatorsTool(server, backend) {
|
|
8
|
+
server.registerTool('device_generate_locators', {
|
|
9
|
+
title: 'Generate Locators',
|
|
10
|
+
description: 'Generate ranked locator suggestions for all interactive elements on the current screen. ' +
|
|
11
|
+
'Each element gets a prioritized list: identifier (testID/resource-id) > label > text > type. ' +
|
|
12
|
+
'Use this after healing to find the correct selector for updating test source code.',
|
|
13
|
+
inputSchema: zod_1.z.object({}).shape,
|
|
14
|
+
annotations: { readOnlyHint: true },
|
|
15
|
+
}, async () => {
|
|
16
|
+
try {
|
|
17
|
+
const snapshot = await backend.snapshot();
|
|
18
|
+
const locators = (0, element_js_1.generateLocators)(snapshot.hierarchy);
|
|
19
|
+
return {
|
|
20
|
+
content: [
|
|
21
|
+
{
|
|
22
|
+
type: 'text',
|
|
23
|
+
text: `Found ${locators.length} interactive elements on ${snapshot.platform}:\n\n${(0, element_js_1.formatLocators)(locators)}`,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return (0, shared_js_1.errorResult)(error);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=generate-locators.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-locators.cjs","sourceRoot":"","sources":["../../src/tools/generate-locators.ts"],"names":[],"mappings":";;AAOA,oEAgCC;AAtCD,6BAAwB;AAExB,4CAA0C;AAE1C,qDAAuE;AAEvE,SAAgB,4BAA4B,CAC1C,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,0FAA0F;YAC1F,+FAA+F;YAC/F,oFAAoF;QACtF,WAAW,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK;QAC/B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAA,6BAAgB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,4BAA4B,QAAQ,CAAC,QAAQ,QAAQ,IAAA,2BAAc,EAAC,QAAQ,CAAC,EAAE;qBAC9G;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { z } from 'zod';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\nimport { generateLocators, formatLocators } from '../utils/element.js';\n\nexport function registerGenerateLocatorsTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_generate_locators',\n {\n title: 'Generate Locators',\n description:\n 'Generate ranked locator suggestions for all interactive elements on the current screen. ' +\n 'Each element gets a prioritized list: identifier (testID/resource-id) > label > text > type. ' +\n 'Use this after healing to find the correct selector for updating test source code.',\n inputSchema: z.object({}).shape,\n annotations: { readOnlyHint: true },\n },\n async () => {\n try {\n const snapshot = await backend.snapshot();\n const locators = generateLocators(snapshot.hierarchy);\n return {\n content: [\n {\n type: 'text' as const,\n text: `Found ${locators.length} interactive elements on ${snapshot.platform}:\\n\\n${formatLocators(locators)}`,\n },\n ],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.cjs";
|
|
3
|
+
export declare function registerGenerateLocatorsTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=generate-locators.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-locators.d.cts","sourceRoot":"","sources":["../../src/tools/generate-locators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAG1D,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CA6BN"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { DeviceBackend } from "../backends/types.mjs";
|
|
3
|
+
export declare function registerGenerateLocatorsTool(server: McpServer, backend: DeviceBackend): void;
|
|
4
|
+
//# sourceMappingURL=generate-locators.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-locators.d.mts","sourceRoot":"","sources":["../../src/tools/generate-locators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gDAAgD;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA6B;AAG1D,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,GACrB,IAAI,CA6BN"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { errorResult } from "./shared.mjs";
|
|
3
|
+
import { generateLocators, formatLocators } from "../utils/element.mjs";
|
|
4
|
+
export function registerGenerateLocatorsTool(server, backend) {
|
|
5
|
+
server.registerTool('device_generate_locators', {
|
|
6
|
+
title: 'Generate Locators',
|
|
7
|
+
description: 'Generate ranked locator suggestions for all interactive elements on the current screen. ' +
|
|
8
|
+
'Each element gets a prioritized list: identifier (testID/resource-id) > label > text > type. ' +
|
|
9
|
+
'Use this after healing to find the correct selector for updating test source code.',
|
|
10
|
+
inputSchema: z.object({}).shape,
|
|
11
|
+
annotations: { readOnlyHint: true },
|
|
12
|
+
}, async () => {
|
|
13
|
+
try {
|
|
14
|
+
const snapshot = await backend.snapshot();
|
|
15
|
+
const locators = generateLocators(snapshot.hierarchy);
|
|
16
|
+
return {
|
|
17
|
+
content: [
|
|
18
|
+
{
|
|
19
|
+
type: 'text',
|
|
20
|
+
text: `Found ${locators.length} interactive elements on ${snapshot.platform}:\n\n${formatLocators(locators)}`,
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return errorResult(error);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=generate-locators.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-locators.mjs","sourceRoot":"","sources":["../../src/tools/generate-locators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,YAAY;AAExB,OAAO,EAAE,WAAW,EAAE,qBAAoB;AAE1C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,6BAA4B;AAEvE,MAAM,UAAU,4BAA4B,CAC1C,MAAiB,EACjB,OAAsB;IAEtB,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,0FAA0F;YAC1F,+FAA+F;YAC/F,oFAAoF;QACtF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK;QAC/B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,4BAA4B,QAAQ,CAAC,QAAQ,QAAQ,cAAc,CAAC,QAAQ,CAAC,EAAE;qBAC9G;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { z } from 'zod';\n\nimport { errorResult } from './shared.js';\nimport type { DeviceBackend } from '../backends/types.js';\nimport { generateLocators, formatLocators } from '../utils/element.js';\n\nexport function registerGenerateLocatorsTool(\n server: McpServer,\n backend: DeviceBackend,\n): void {\n server.registerTool(\n 'device_generate_locators',\n {\n title: 'Generate Locators',\n description:\n 'Generate ranked locator suggestions for all interactive elements on the current screen. ' +\n 'Each element gets a prioritized list: identifier (testID/resource-id) > label > text > type. ' +\n 'Use this after healing to find the correct selector for updating test source code.',\n inputSchema: z.object({}).shape,\n annotations: { readOnlyHint: true },\n },\n async () => {\n try {\n const snapshot = await backend.snapshot();\n const locators = generateLocators(snapshot.hierarchy);\n return {\n content: [\n {\n type: 'text' as const,\n text: `Found ${locators.length} interactive elements on ${snapshot.platform}:\\n\\n${formatLocators(locators)}`,\n },\n ],\n };\n } catch (error) {\n return errorResult(error);\n }\n },\n );\n}\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerGenerateLocatorsTool = exports.registerScreenRecordingTool = exports.registerClipboardTool = exports.registerContextTool = exports.registerWindowSizeTool = exports.registerAlertTextTool = exports.registerScrollToElementTool = exports.registerLogsTool = exports.registerDismissAlertTool = exports.registerDismissKeyboardTool = exports.registerPressButtonTool = exports.registerCloseAppTool = exports.registerOpenAppTool = exports.registerDeviceInfoTool = exports.registerAppStateTool = exports.registerWaitForTool = exports.registerLongPressTool = exports.registerSwipeTool = exports.registerTypeTool = exports.registerTapCoordinatesTool = exports.registerTapElementTool = exports.registerScreenshotTool = exports.registerSnapshotTool = void 0;
|
|
4
|
+
var snapshot_js_1 = require("./snapshot.cjs");
|
|
5
|
+
Object.defineProperty(exports, "registerSnapshotTool", { enumerable: true, get: function () { return snapshot_js_1.registerSnapshotTool; } });
|
|
6
|
+
var screenshot_js_1 = require("./screenshot.cjs");
|
|
7
|
+
Object.defineProperty(exports, "registerScreenshotTool", { enumerable: true, get: function () { return screenshot_js_1.registerScreenshotTool; } });
|
|
8
|
+
var tap_element_js_1 = require("./tap-element.cjs");
|
|
9
|
+
Object.defineProperty(exports, "registerTapElementTool", { enumerable: true, get: function () { return tap_element_js_1.registerTapElementTool; } });
|
|
10
|
+
var tap_coordinates_js_1 = require("./tap-coordinates.cjs");
|
|
11
|
+
Object.defineProperty(exports, "registerTapCoordinatesTool", { enumerable: true, get: function () { return tap_coordinates_js_1.registerTapCoordinatesTool; } });
|
|
12
|
+
var type_text_js_1 = require("./type-text.cjs");
|
|
13
|
+
Object.defineProperty(exports, "registerTypeTool", { enumerable: true, get: function () { return type_text_js_1.registerTypeTool; } });
|
|
14
|
+
var swipe_js_1 = require("./swipe.cjs");
|
|
15
|
+
Object.defineProperty(exports, "registerSwipeTool", { enumerable: true, get: function () { return swipe_js_1.registerSwipeTool; } });
|
|
16
|
+
var long_press_js_1 = require("./long-press.cjs");
|
|
17
|
+
Object.defineProperty(exports, "registerLongPressTool", { enumerable: true, get: function () { return long_press_js_1.registerLongPressTool; } });
|
|
18
|
+
var wait_for_js_1 = require("./wait-for.cjs");
|
|
19
|
+
Object.defineProperty(exports, "registerWaitForTool", { enumerable: true, get: function () { return wait_for_js_1.registerWaitForTool; } });
|
|
20
|
+
var app_state_js_1 = require("./app-state.cjs");
|
|
21
|
+
Object.defineProperty(exports, "registerAppStateTool", { enumerable: true, get: function () { return app_state_js_1.registerAppStateTool; } });
|
|
22
|
+
var device_info_js_1 = require("./device-info.cjs");
|
|
23
|
+
Object.defineProperty(exports, "registerDeviceInfoTool", { enumerable: true, get: function () { return device_info_js_1.registerDeviceInfoTool; } });
|
|
24
|
+
var open_app_js_1 = require("./open-app.cjs");
|
|
25
|
+
Object.defineProperty(exports, "registerOpenAppTool", { enumerable: true, get: function () { return open_app_js_1.registerOpenAppTool; } });
|
|
26
|
+
var close_app_js_1 = require("./close-app.cjs");
|
|
27
|
+
Object.defineProperty(exports, "registerCloseAppTool", { enumerable: true, get: function () { return close_app_js_1.registerCloseAppTool; } });
|
|
28
|
+
var press_button_js_1 = require("./press-button.cjs");
|
|
29
|
+
Object.defineProperty(exports, "registerPressButtonTool", { enumerable: true, get: function () { return press_button_js_1.registerPressButtonTool; } });
|
|
30
|
+
var dismiss_keyboard_js_1 = require("./dismiss-keyboard.cjs");
|
|
31
|
+
Object.defineProperty(exports, "registerDismissKeyboardTool", { enumerable: true, get: function () { return dismiss_keyboard_js_1.registerDismissKeyboardTool; } });
|
|
32
|
+
var dismiss_alert_js_1 = require("./dismiss-alert.cjs");
|
|
33
|
+
Object.defineProperty(exports, "registerDismissAlertTool", { enumerable: true, get: function () { return dismiss_alert_js_1.registerDismissAlertTool; } });
|
|
34
|
+
var logs_js_1 = require("./logs.cjs");
|
|
35
|
+
Object.defineProperty(exports, "registerLogsTool", { enumerable: true, get: function () { return logs_js_1.registerLogsTool; } });
|
|
36
|
+
var scroll_to_element_js_1 = require("./scroll-to-element.cjs");
|
|
37
|
+
Object.defineProperty(exports, "registerScrollToElementTool", { enumerable: true, get: function () { return scroll_to_element_js_1.registerScrollToElementTool; } });
|
|
38
|
+
var alert_text_js_1 = require("./alert-text.cjs");
|
|
39
|
+
Object.defineProperty(exports, "registerAlertTextTool", { enumerable: true, get: function () { return alert_text_js_1.registerAlertTextTool; } });
|
|
40
|
+
var window_size_js_1 = require("./window-size.cjs");
|
|
41
|
+
Object.defineProperty(exports, "registerWindowSizeTool", { enumerable: true, get: function () { return window_size_js_1.registerWindowSizeTool; } });
|
|
42
|
+
var context_js_1 = require("./context.cjs");
|
|
43
|
+
Object.defineProperty(exports, "registerContextTool", { enumerable: true, get: function () { return context_js_1.registerContextTool; } });
|
|
44
|
+
var clipboard_js_1 = require("./clipboard.cjs");
|
|
45
|
+
Object.defineProperty(exports, "registerClipboardTool", { enumerable: true, get: function () { return clipboard_js_1.registerClipboardTool; } });
|
|
46
|
+
var screen_recording_js_1 = require("./screen-recording.cjs");
|
|
47
|
+
Object.defineProperty(exports, "registerScreenRecordingTool", { enumerable: true, get: function () { return screen_recording_js_1.registerScreenRecordingTool; } });
|
|
48
|
+
var generate_locators_js_1 = require("./generate-locators.cjs");
|
|
49
|
+
Object.defineProperty(exports, "registerGenerateLocatorsTool", { enumerable: true, get: function () { return generate_locators_js_1.registerGenerateLocatorsTool; } });
|
|
50
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,8CAAqD;AAA5C,mHAAA,oBAAoB,OAAA;AAC7B,kDAAyD;AAAhD,uHAAA,sBAAsB,OAAA;AAC/B,oDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAC/B,4DAAkE;AAAzD,gIAAA,0BAA0B,OAAA;AACnC,gDAAkD;AAAzC,gHAAA,gBAAgB,OAAA;AACzB,wCAA+C;AAAtC,6GAAA,iBAAiB,OAAA;AAC1B,kDAAwD;AAA/C,sHAAA,qBAAqB,OAAA;AAC9B,8CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,gDAAsD;AAA7C,oHAAA,oBAAoB,OAAA;AAC7B,oDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAC/B,8CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,gDAAsD;AAA7C,oHAAA,oBAAoB,OAAA;AAC7B,sDAA4D;AAAnD,0HAAA,uBAAuB,OAAA;AAChC,8DAAoE;AAA3D,kIAAA,2BAA2B,OAAA;AACpC,wDAA8D;AAArD,4HAAA,wBAAwB,OAAA;AACjC,sCAA6C;AAApC,2GAAA,gBAAgB,OAAA;AACzB,gEAAqE;AAA5D,mIAAA,2BAA2B,OAAA;AACpC,kDAAwD;AAA/C,sHAAA,qBAAqB,OAAA;AAC9B,oDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAC/B,4CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAC5B,gDAAuD;AAA9C,qHAAA,qBAAqB,OAAA;AAC9B,8DAAoE;AAA3D,kIAAA,2BAA2B,OAAA;AACpC,gEAAsE;AAA7D,oIAAA,4BAA4B,OAAA","sourcesContent":["export { registerSnapshotTool } from './snapshot.js';\nexport { registerScreenshotTool } from './screenshot.js';\nexport { registerTapElementTool } from './tap-element.js';\nexport { registerTapCoordinatesTool } from './tap-coordinates.js';\nexport { registerTypeTool } from './type-text.js';\nexport { registerSwipeTool } from './swipe.js';\nexport { registerLongPressTool } from './long-press.js';\nexport { registerWaitForTool } from './wait-for.js';\nexport { registerAppStateTool } from './app-state.js';\nexport { registerDeviceInfoTool } from './device-info.js';\nexport { registerOpenAppTool } from './open-app.js';\nexport { registerCloseAppTool } from './close-app.js';\nexport { registerPressButtonTool } from './press-button.js';\nexport { registerDismissKeyboardTool } from './dismiss-keyboard.js';\nexport { registerDismissAlertTool } from './dismiss-alert.js';\nexport { registerLogsTool } from './logs.js';\nexport { registerScrollToElementTool } from './scroll-to-element.js';\nexport { registerAlertTextTool } from './alert-text.js';\nexport { registerWindowSizeTool } from './window-size.js';\nexport { registerContextTool } from './context.js';\nexport { registerClipboardTool } from './clipboard.js';\nexport { registerScreenRecordingTool } from './screen-recording.js';\nexport { registerGenerateLocatorsTool } from './generate-locators.js';\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { registerSnapshotTool } from "./snapshot.cjs";
|
|
2
|
+
export { registerScreenshotTool } from "./screenshot.cjs";
|
|
3
|
+
export { registerTapElementTool } from "./tap-element.cjs";
|
|
4
|
+
export { registerTapCoordinatesTool } from "./tap-coordinates.cjs";
|
|
5
|
+
export { registerTypeTool } from "./type-text.cjs";
|
|
6
|
+
export { registerSwipeTool } from "./swipe.cjs";
|
|
7
|
+
export { registerLongPressTool } from "./long-press.cjs";
|
|
8
|
+
export { registerWaitForTool } from "./wait-for.cjs";
|
|
9
|
+
export { registerAppStateTool } from "./app-state.cjs";
|
|
10
|
+
export { registerDeviceInfoTool } from "./device-info.cjs";
|
|
11
|
+
export { registerOpenAppTool } from "./open-app.cjs";
|
|
12
|
+
export { registerCloseAppTool } from "./close-app.cjs";
|
|
13
|
+
export { registerPressButtonTool } from "./press-button.cjs";
|
|
14
|
+
export { registerDismissKeyboardTool } from "./dismiss-keyboard.cjs";
|
|
15
|
+
export { registerDismissAlertTool } from "./dismiss-alert.cjs";
|
|
16
|
+
export { registerLogsTool } from "./logs.cjs";
|
|
17
|
+
export { registerScrollToElementTool } from "./scroll-to-element.cjs";
|
|
18
|
+
export { registerAlertTextTool } from "./alert-text.cjs";
|
|
19
|
+
export { registerWindowSizeTool } from "./window-size.cjs";
|
|
20
|
+
export { registerContextTool } from "./context.cjs";
|
|
21
|
+
export { registerClipboardTool } from "./clipboard.cjs";
|
|
22
|
+
export { registerScreenRecordingTool } from "./screen-recording.cjs";
|
|
23
|
+
export { registerGenerateLocatorsTool } from "./generate-locators.cjs";
|
|
24
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAsB;AACrD,OAAO,EAAE,sBAAsB,EAAE,yBAAwB;AACzD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,0BAA0B,EAAE,8BAA6B;AAClE,OAAO,EAAE,gBAAgB,EAAE,wBAAuB;AAClD,OAAO,EAAE,iBAAiB,EAAE,oBAAmB;AAC/C,OAAO,EAAE,qBAAqB,EAAE,yBAAwB;AACxD,OAAO,EAAE,mBAAmB,EAAE,uBAAsB;AACpD,OAAO,EAAE,oBAAoB,EAAE,wBAAuB;AACtD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,mBAAmB,EAAE,uBAAsB;AACpD,OAAO,EAAE,oBAAoB,EAAE,wBAAuB;AACtD,OAAO,EAAE,uBAAuB,EAAE,2BAA0B;AAC5D,OAAO,EAAE,2BAA2B,EAAE,+BAA8B;AACpE,OAAO,EAAE,wBAAwB,EAAE,4BAA2B;AAC9D,OAAO,EAAE,gBAAgB,EAAE,mBAAkB;AAC7C,OAAO,EAAE,2BAA2B,EAAE,gCAA+B;AACrE,OAAO,EAAE,qBAAqB,EAAE,yBAAwB;AACxD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,mBAAmB,EAAE,sBAAqB;AACnD,OAAO,EAAE,qBAAqB,EAAE,wBAAuB;AACvD,OAAO,EAAE,2BAA2B,EAAE,+BAA8B;AACpE,OAAO,EAAE,4BAA4B,EAAE,gCAA+B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { registerSnapshotTool } from "./snapshot.mjs";
|
|
2
|
+
export { registerScreenshotTool } from "./screenshot.mjs";
|
|
3
|
+
export { registerTapElementTool } from "./tap-element.mjs";
|
|
4
|
+
export { registerTapCoordinatesTool } from "./tap-coordinates.mjs";
|
|
5
|
+
export { registerTypeTool } from "./type-text.mjs";
|
|
6
|
+
export { registerSwipeTool } from "./swipe.mjs";
|
|
7
|
+
export { registerLongPressTool } from "./long-press.mjs";
|
|
8
|
+
export { registerWaitForTool } from "./wait-for.mjs";
|
|
9
|
+
export { registerAppStateTool } from "./app-state.mjs";
|
|
10
|
+
export { registerDeviceInfoTool } from "./device-info.mjs";
|
|
11
|
+
export { registerOpenAppTool } from "./open-app.mjs";
|
|
12
|
+
export { registerCloseAppTool } from "./close-app.mjs";
|
|
13
|
+
export { registerPressButtonTool } from "./press-button.mjs";
|
|
14
|
+
export { registerDismissKeyboardTool } from "./dismiss-keyboard.mjs";
|
|
15
|
+
export { registerDismissAlertTool } from "./dismiss-alert.mjs";
|
|
16
|
+
export { registerLogsTool } from "./logs.mjs";
|
|
17
|
+
export { registerScrollToElementTool } from "./scroll-to-element.mjs";
|
|
18
|
+
export { registerAlertTextTool } from "./alert-text.mjs";
|
|
19
|
+
export { registerWindowSizeTool } from "./window-size.mjs";
|
|
20
|
+
export { registerContextTool } from "./context.mjs";
|
|
21
|
+
export { registerClipboardTool } from "./clipboard.mjs";
|
|
22
|
+
export { registerScreenRecordingTool } from "./screen-recording.mjs";
|
|
23
|
+
export { registerGenerateLocatorsTool } from "./generate-locators.mjs";
|
|
24
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAsB;AACrD,OAAO,EAAE,sBAAsB,EAAE,yBAAwB;AACzD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,0BAA0B,EAAE,8BAA6B;AAClE,OAAO,EAAE,gBAAgB,EAAE,wBAAuB;AAClD,OAAO,EAAE,iBAAiB,EAAE,oBAAmB;AAC/C,OAAO,EAAE,qBAAqB,EAAE,yBAAwB;AACxD,OAAO,EAAE,mBAAmB,EAAE,uBAAsB;AACpD,OAAO,EAAE,oBAAoB,EAAE,wBAAuB;AACtD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,mBAAmB,EAAE,uBAAsB;AACpD,OAAO,EAAE,oBAAoB,EAAE,wBAAuB;AACtD,OAAO,EAAE,uBAAuB,EAAE,2BAA0B;AAC5D,OAAO,EAAE,2BAA2B,EAAE,+BAA8B;AACpE,OAAO,EAAE,wBAAwB,EAAE,4BAA2B;AAC9D,OAAO,EAAE,gBAAgB,EAAE,mBAAkB;AAC7C,OAAO,EAAE,2BAA2B,EAAE,gCAA+B;AACrE,OAAO,EAAE,qBAAqB,EAAE,yBAAwB;AACxD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,mBAAmB,EAAE,sBAAqB;AACnD,OAAO,EAAE,qBAAqB,EAAE,wBAAuB;AACvD,OAAO,EAAE,2BAA2B,EAAE,+BAA8B;AACpE,OAAO,EAAE,4BAA4B,EAAE,gCAA+B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { registerSnapshotTool } from "./snapshot.mjs";
|
|
2
|
+
export { registerScreenshotTool } from "./screenshot.mjs";
|
|
3
|
+
export { registerTapElementTool } from "./tap-element.mjs";
|
|
4
|
+
export { registerTapCoordinatesTool } from "./tap-coordinates.mjs";
|
|
5
|
+
export { registerTypeTool } from "./type-text.mjs";
|
|
6
|
+
export { registerSwipeTool } from "./swipe.mjs";
|
|
7
|
+
export { registerLongPressTool } from "./long-press.mjs";
|
|
8
|
+
export { registerWaitForTool } from "./wait-for.mjs";
|
|
9
|
+
export { registerAppStateTool } from "./app-state.mjs";
|
|
10
|
+
export { registerDeviceInfoTool } from "./device-info.mjs";
|
|
11
|
+
export { registerOpenAppTool } from "./open-app.mjs";
|
|
12
|
+
export { registerCloseAppTool } from "./close-app.mjs";
|
|
13
|
+
export { registerPressButtonTool } from "./press-button.mjs";
|
|
14
|
+
export { registerDismissKeyboardTool } from "./dismiss-keyboard.mjs";
|
|
15
|
+
export { registerDismissAlertTool } from "./dismiss-alert.mjs";
|
|
16
|
+
export { registerLogsTool } from "./logs.mjs";
|
|
17
|
+
export { registerScrollToElementTool } from "./scroll-to-element.mjs";
|
|
18
|
+
export { registerAlertTextTool } from "./alert-text.mjs";
|
|
19
|
+
export { registerWindowSizeTool } from "./window-size.mjs";
|
|
20
|
+
export { registerContextTool } from "./context.mjs";
|
|
21
|
+
export { registerClipboardTool } from "./clipboard.mjs";
|
|
22
|
+
export { registerScreenRecordingTool } from "./screen-recording.mjs";
|
|
23
|
+
export { registerGenerateLocatorsTool } from "./generate-locators.mjs";
|
|
24
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,uBAAsB;AACrD,OAAO,EAAE,sBAAsB,EAAE,yBAAwB;AACzD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,0BAA0B,EAAE,8BAA6B;AAClE,OAAO,EAAE,gBAAgB,EAAE,wBAAuB;AAClD,OAAO,EAAE,iBAAiB,EAAE,oBAAmB;AAC/C,OAAO,EAAE,qBAAqB,EAAE,yBAAwB;AACxD,OAAO,EAAE,mBAAmB,EAAE,uBAAsB;AACpD,OAAO,EAAE,oBAAoB,EAAE,wBAAuB;AACtD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,mBAAmB,EAAE,uBAAsB;AACpD,OAAO,EAAE,oBAAoB,EAAE,wBAAuB;AACtD,OAAO,EAAE,uBAAuB,EAAE,2BAA0B;AAC5D,OAAO,EAAE,2BAA2B,EAAE,+BAA8B;AACpE,OAAO,EAAE,wBAAwB,EAAE,4BAA2B;AAC9D,OAAO,EAAE,gBAAgB,EAAE,mBAAkB;AAC7C,OAAO,EAAE,2BAA2B,EAAE,gCAA+B;AACrE,OAAO,EAAE,qBAAqB,EAAE,yBAAwB;AACxD,OAAO,EAAE,sBAAsB,EAAE,0BAAyB;AAC1D,OAAO,EAAE,mBAAmB,EAAE,sBAAqB;AACnD,OAAO,EAAE,qBAAqB,EAAE,wBAAuB;AACvD,OAAO,EAAE,2BAA2B,EAAE,+BAA8B;AACpE,OAAO,EAAE,4BAA4B,EAAE,gCAA+B","sourcesContent":["export { registerSnapshotTool } from './snapshot.js';\nexport { registerScreenshotTool } from './screenshot.js';\nexport { registerTapElementTool } from './tap-element.js';\nexport { registerTapCoordinatesTool } from './tap-coordinates.js';\nexport { registerTypeTool } from './type-text.js';\nexport { registerSwipeTool } from './swipe.js';\nexport { registerLongPressTool } from './long-press.js';\nexport { registerWaitForTool } from './wait-for.js';\nexport { registerAppStateTool } from './app-state.js';\nexport { registerDeviceInfoTool } from './device-info.js';\nexport { registerOpenAppTool } from './open-app.js';\nexport { registerCloseAppTool } from './close-app.js';\nexport { registerPressButtonTool } from './press-button.js';\nexport { registerDismissKeyboardTool } from './dismiss-keyboard.js';\nexport { registerDismissAlertTool } from './dismiss-alert.js';\nexport { registerLogsTool } from './logs.js';\nexport { registerScrollToElementTool } from './scroll-to-element.js';\nexport { registerAlertTextTool } from './alert-text.js';\nexport { registerWindowSizeTool } from './window-size.js';\nexport { registerContextTool } from './context.js';\nexport { registerClipboardTool } from './clipboard.js';\nexport { registerScreenRecordingTool } from './screen-recording.js';\nexport { registerGenerateLocatorsTool } from './generate-locators.js';\n"]}
|