@roxybrowser/playwright 2.0.2-beta.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/README.md +115 -0
- package/dist/apiRequestContext.d.ts +52 -0
- package/dist/apiRequestContext.d.ts.map +1 -0
- package/dist/apiRequestContext.js +632 -0
- package/dist/apiRequestContext.js.map +1 -0
- package/dist/ariaSnapshot.d.ts +38 -0
- package/dist/ariaSnapshot.d.ts.map +1 -0
- package/dist/ariaSnapshot.js +1137 -0
- package/dist/ariaSnapshot.js.map +1 -0
- package/dist/assertions.d.ts +2 -0
- package/dist/assertions.d.ts.map +1 -0
- package/dist/assertions.js +6 -0
- package/dist/assertions.js.map +1 -0
- package/dist/bin/roxybrowser-mcp.d.ts +3 -0
- package/dist/bin/roxybrowser-mcp.d.ts.map +1 -0
- package/dist/bin/roxybrowser-mcp.js +7 -0
- package/dist/bin/roxybrowser-mcp.js.map +1 -0
- package/dist/browser.d.ts +15 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +67 -0
- package/dist/browser.js.map +1 -0
- package/dist/browserContext.d.ts +156 -0
- package/dist/browserContext.d.ts.map +1 -0
- package/dist/browserContext.js +1129 -0
- package/dist/browserContext.js.map +1 -0
- package/dist/browserContextClock.d.ts +54 -0
- package/dist/browserContextClock.d.ts.map +1 -0
- package/dist/browserContextClock.js +147 -0
- package/dist/browserContextClock.js.map +1 -0
- package/dist/browserType.d.ts +16 -0
- package/dist/browserType.d.ts.map +1 -0
- package/dist/browserType.js +68 -0
- package/dist/browserType.js.map +1 -0
- package/dist/bundle.d.ts +20 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +20 -0
- package/dist/bundle.js.map +1 -0
- package/dist/clock.d.ts +43 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +70 -0
- package/dist/clock.js.map +1 -0
- package/dist/elementHandle.d.ts +100 -0
- package/dist/elementHandle.d.ts.map +1 -0
- package/dist/elementHandle.js +423 -0
- package/dist/elementHandle.js.map +1 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +19 -0
- package/dist/errors.js.map +1 -0
- package/dist/evaluation.d.ts +4 -0
- package/dist/evaluation.d.ts.map +1 -0
- package/dist/evaluation.js +9 -0
- package/dist/evaluation.js.map +1 -0
- package/dist/frame.d.ts +139 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +451 -0
- package/dist/frame.js.map +1 -0
- package/dist/httpHeaders.d.ts +6 -0
- package/dist/httpHeaders.d.ts.map +1 -0
- package/dist/httpHeaders.js +23 -0
- package/dist/httpHeaders.js.map +1 -0
- package/dist/human/controller.d.ts +15 -0
- package/dist/human/controller.d.ts.map +1 -0
- package/dist/human/controller.js +67 -0
- package/dist/human/controller.js.map +1 -0
- package/dist/human/profile.d.ts +5 -0
- package/dist/human/profile.d.ts.map +1 -0
- package/dist/human/profile.js +50 -0
- package/dist/human/profile.js.map +1 -0
- package/dist/human/types.d.ts +28 -0
- package/dist/human/types.d.ts.map +1 -0
- package/dist/human/types.js +2 -0
- package/dist/human/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/inputFiles.d.ts +18 -0
- package/dist/inputFiles.d.ts.map +1 -0
- package/dist/inputFiles.js +192 -0
- package/dist/inputFiles.js.map +1 -0
- package/dist/jsHandle.d.ts +32 -0
- package/dist/jsHandle.d.ts.map +1 -0
- package/dist/jsHandle.js +148 -0
- package/dist/jsHandle.js.map +1 -0
- package/dist/locator.d.ts +190 -0
- package/dist/locator.d.ts.map +1 -0
- package/dist/locator.js +883 -0
- package/dist/locator.js.map +1 -0
- package/dist/locatorSelectors.d.ts +11 -0
- package/dist/locatorSelectors.d.ts.map +1 -0
- package/dist/locatorSelectors.js +50 -0
- package/dist/locatorSelectors.js.map +1 -0
- package/dist/mcp/backend/common.d.ts +4 -0
- package/dist/mcp/backend/common.d.ts.map +1 -0
- package/dist/mcp/backend/common.js +40 -0
- package/dist/mcp/backend/common.js.map +1 -0
- package/dist/mcp/backend/connect.d.ts +10 -0
- package/dist/mcp/backend/connect.d.ts.map +1 -0
- package/dist/mcp/backend/connect.js +30 -0
- package/dist/mcp/backend/connect.js.map +1 -0
- package/dist/mcp/backend/console.d.ts +13 -0
- package/dist/mcp/backend/console.d.ts.map +1 -0
- package/dist/mcp/backend/console.js +36 -0
- package/dist/mcp/backend/console.js.map +1 -0
- package/dist/mcp/backend/context.d.ts +27 -0
- package/dist/mcp/backend/context.d.ts.map +1 -0
- package/dist/mcp/backend/context.js +33 -0
- package/dist/mcp/backend/context.js.map +1 -0
- package/dist/mcp/backend/dialogs.d.ts +7 -0
- package/dist/mcp/backend/dialogs.d.ts.map +1 -0
- package/dist/mcp/backend/dialogs.js +24 -0
- package/dist/mcp/backend/dialogs.js.map +1 -0
- package/dist/mcp/backend/evaluate.d.ts +9 -0
- package/dist/mcp/backend/evaluate.d.ts.map +1 -0
- package/dist/mcp/backend/evaluate.js +31 -0
- package/dist/mcp/backend/evaluate.js.map +1 -0
- package/dist/mcp/backend/files.d.ts +9 -0
- package/dist/mcp/backend/files.d.ts.map +1 -0
- package/dist/mcp/backend/files.js +39 -0
- package/dist/mcp/backend/files.js.map +1 -0
- package/dist/mcp/backend/keyboard.d.ts +22 -0
- package/dist/mcp/backend/keyboard.d.ts.map +1 -0
- package/dist/mcp/backend/keyboard.js +67 -0
- package/dist/mcp/backend/keyboard.js.map +1 -0
- package/dist/mcp/backend/navigate.d.ts +4 -0
- package/dist/mcp/backend/navigate.d.ts.map +1 -0
- package/dist/mcp/backend/navigate.js +82 -0
- package/dist/mcp/backend/navigate.js.map +1 -0
- package/dist/mcp/backend/network.d.ts +17 -0
- package/dist/mcp/backend/network.d.ts.map +1 -0
- package/dist/mcp/backend/network.js +144 -0
- package/dist/mcp/backend/network.js.map +1 -0
- package/dist/mcp/backend/response.d.ts +26 -0
- package/dist/mcp/backend/response.d.ts.map +1 -0
- package/dist/mcp/backend/response.js +109 -0
- package/dist/mcp/backend/response.js.map +1 -0
- package/dist/mcp/backend/runCode.d.ts +6 -0
- package/dist/mcp/backend/runCode.d.ts.map +1 -0
- package/dist/mcp/backend/runCode.js +20 -0
- package/dist/mcp/backend/runCode.js.map +1 -0
- package/dist/mcp/backend/screenshot.d.ts +13 -0
- package/dist/mcp/backend/screenshot.d.ts.map +1 -0
- package/dist/mcp/backend/screenshot.js +37 -0
- package/dist/mcp/backend/screenshot.js.map +1 -0
- package/dist/mcp/backend/snapshot.d.ts +70 -0
- package/dist/mcp/backend/snapshot.d.ts.map +1 -0
- package/dist/mcp/backend/snapshot.js +185 -0
- package/dist/mcp/backend/snapshot.js.map +1 -0
- package/dist/mcp/backend/tab.d.ts +72 -0
- package/dist/mcp/backend/tab.d.ts.map +1 -0
- package/dist/mcp/backend/tab.js +99 -0
- package/dist/mcp/backend/tab.js.map +1 -0
- package/dist/mcp/backend/tabs.d.ts +13 -0
- package/dist/mcp/backend/tabs.d.ts.map +1 -0
- package/dist/mcp/backend/tabs.js +44 -0
- package/dist/mcp/backend/tabs.js.map +1 -0
- package/dist/mcp/backend/tool.d.ts +52 -0
- package/dist/mcp/backend/tool.d.ts.map +1 -0
- package/dist/mcp/backend/tool.js +28 -0
- package/dist/mcp/backend/tool.js.map +1 -0
- package/dist/mcp/backend/tools.d.ts +4 -0
- package/dist/mcp/backend/tools.d.ts.map +1 -0
- package/dist/mcp/backend/tools.js +30 -0
- package/dist/mcp/backend/tools.js.map +1 -0
- package/dist/mcp/connectedBrowser.d.ts +3 -0
- package/dist/mcp/connectedBrowser.d.ts.map +1 -0
- package/dist/mcp/connectedBrowser.js +2153 -0
- package/dist/mcp/connectedBrowser.js.map +1 -0
- package/dist/mcp/errors.d.ts +6 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +12 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/format.d.ts +12 -0
- package/dist/mcp/format.d.ts.map +1 -0
- package/dist/mcp/format.js +48 -0
- package/dist/mcp/format.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/output.d.ts +7 -0
- package/dist/mcp/output.d.ts.map +1 -0
- package/dist/mcp/output.js +39 -0
- package/dist/mcp/output.js.map +1 -0
- package/dist/mcp/runtime.d.ts +122 -0
- package/dist/mcp/runtime.d.ts.map +1 -0
- package/dist/mcp/runtime.js +524 -0
- package/dist/mcp/runtime.js.map +1 -0
- package/dist/mcp/schemas.d.ts +61 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +41 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +117 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/snapshot.d.ts +3 -0
- package/dist/mcp/snapshot.d.ts.map +1 -0
- package/dist/mcp/snapshot.js +3 -0
- package/dist/mcp/snapshot.js.map +1 -0
- package/dist/mcp/tool.d.ts +19 -0
- package/dist/mcp/tool.d.ts.map +1 -0
- package/dist/mcp/tool.js +10 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/mcp/tools/common.d.ts +6 -0
- package/dist/mcp/tools/common.d.ts.map +1 -0
- package/dist/mcp/tools/common.js +34 -0
- package/dist/mcp/tools/common.js.map +1 -0
- package/dist/mcp/tools/connect.d.ts +6 -0
- package/dist/mcp/tools/connect.d.ts.map +1 -0
- package/dist/mcp/tools/connect.js +28 -0
- package/dist/mcp/tools/connect.js.map +1 -0
- package/dist/mcp/tools/console.d.ts +6 -0
- package/dist/mcp/tools/console.d.ts.map +1 -0
- package/dist/mcp/tools/console.js +36 -0
- package/dist/mcp/tools/console.js.map +1 -0
- package/dist/mcp/tools/dialog.d.ts +6 -0
- package/dist/mcp/tools/dialog.d.ts.map +1 -0
- package/dist/mcp/tools/dialog.js +22 -0
- package/dist/mcp/tools/dialog.js.map +1 -0
- package/dist/mcp/tools/evaluate.d.ts +6 -0
- package/dist/mcp/tools/evaluate.d.ts.map +1 -0
- package/dist/mcp/tools/evaluate.js +31 -0
- package/dist/mcp/tools/evaluate.js.map +1 -0
- package/dist/mcp/tools/form.d.ts +6 -0
- package/dist/mcp/tools/form.d.ts.map +1 -0
- package/dist/mcp/tools/form.js +129 -0
- package/dist/mcp/tools/form.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +7 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/keyboard.d.ts +3 -0
- package/dist/mcp/tools/keyboard.d.ts.map +1 -0
- package/dist/mcp/tools/keyboard.js +44 -0
- package/dist/mcp/tools/keyboard.js.map +1 -0
- package/dist/mcp/tools/mouse.d.ts +3 -0
- package/dist/mcp/tools/mouse.d.ts.map +1 -0
- package/dist/mcp/tools/mouse.js +89 -0
- package/dist/mcp/tools/mouse.js.map +1 -0
- package/dist/mcp/tools/navigate.d.ts +6 -0
- package/dist/mcp/tools/navigate.d.ts.map +1 -0
- package/dist/mcp/tools/navigate.js +74 -0
- package/dist/mcp/tools/navigate.js.map +1 -0
- package/dist/mcp/tools/network.d.ts +6 -0
- package/dist/mcp/tools/network.d.ts.map +1 -0
- package/dist/mcp/tools/network.js +142 -0
- package/dist/mcp/tools/network.js.map +1 -0
- package/dist/mcp/tools/runCode.d.ts +6 -0
- package/dist/mcp/tools/runCode.d.ts.map +1 -0
- package/dist/mcp/tools/runCode.js +24 -0
- package/dist/mcp/tools/runCode.js.map +1 -0
- package/dist/mcp/tools/screenshot.d.ts +6 -0
- package/dist/mcp/tools/screenshot.d.ts.map +1 -0
- package/dist/mcp/tools/screenshot.js +46 -0
- package/dist/mcp/tools/screenshot.js.map +1 -0
- package/dist/mcp/tools/snapshot.d.ts +6 -0
- package/dist/mcp/tools/snapshot.d.ts.map +1 -0
- package/dist/mcp/tools/snapshot.js +56 -0
- package/dist/mcp/tools/snapshot.js.map +1 -0
- package/dist/mcp/tools/tabs.d.ts +6 -0
- package/dist/mcp/tools/tabs.d.ts.map +1 -0
- package/dist/mcp/tools/tabs.js +34 -0
- package/dist/mcp/tools/tabs.js.map +1 -0
- package/dist/mcp/transports/http.d.ts +3 -0
- package/dist/mcp/transports/http.d.ts.map +1 -0
- package/dist/mcp/transports/http.js +134 -0
- package/dist/mcp/transports/http.js.map +1 -0
- package/dist/mcp/transports/inMemory.d.ts +3 -0
- package/dist/mcp/transports/inMemory.d.ts.map +1 -0
- package/dist/mcp/transports/inMemory.js +18 -0
- package/dist/mcp/transports/inMemory.js.map +1 -0
- package/dist/mcp/transports/stdio.d.ts +3 -0
- package/dist/mcp/transports/stdio.d.ts.map +1 -0
- package/dist/mcp/transports/stdio.js +16 -0
- package/dist/mcp/transports/stdio.js.map +1 -0
- package/dist/mcp/types.d.ts +193 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/navigationResult.d.ts +10 -0
- package/dist/navigationResult.d.ts.map +1 -0
- package/dist/navigationResult.js +15 -0
- package/dist/navigationResult.js.map +1 -0
- package/dist/page.d.ts +907 -0
- package/dist/page.d.ts.map +1 -0
- package/dist/page.js +6385 -0
- package/dist/page.js.map +1 -0
- package/dist/pageApiReport.d.ts +31 -0
- package/dist/pageApiReport.d.ts.map +1 -0
- package/dist/pageApiReport.js +218 -0
- package/dist/pageApiReport.js.map +1 -0
- package/dist/pageResponse.d.ts +18 -0
- package/dist/pageResponse.d.ts.map +1 -0
- package/dist/pageResponse.js +23 -0
- package/dist/pageResponse.js.map +1 -0
- package/dist/processCleanup.d.ts +8 -0
- package/dist/processCleanup.d.ts.map +1 -0
- package/dist/processCleanup.js +413 -0
- package/dist/processCleanup.js.map +1 -0
- package/dist/protocol/adapter.d.ts +406 -0
- package/dist/protocol/adapter.d.ts.map +1 -0
- package/dist/protocol/adapter.js +8 -0
- package/dist/protocol/adapter.js.map +1 -0
- package/dist/protocol/bidi/backend.d.ts +8 -0
- package/dist/protocol/bidi/backend.d.ts.map +1 -0
- package/dist/protocol/bidi/backend.js +3616 -0
- package/dist/protocol/bidi/backend.js.map +1 -0
- package/dist/protocol/bidi/client.d.ts +104 -0
- package/dist/protocol/bidi/client.d.ts.map +1 -0
- package/dist/protocol/bidi/client.js +228 -0
- package/dist/protocol/bidi/client.js.map +1 -0
- package/dist/protocol/capabilities.d.ts +11 -0
- package/dist/protocol/capabilities.d.ts.map +1 -0
- package/dist/protocol/capabilities.js +2 -0
- package/dist/protocol/capabilities.js.map +1 -0
- package/dist/protocol/cdp/backend.d.ts +24 -0
- package/dist/protocol/cdp/backend.d.ts.map +1 -0
- package/dist/protocol/cdp/backend.js +8428 -0
- package/dist/protocol/cdp/backend.js.map +1 -0
- package/dist/protocol/evaluate.d.ts +2 -0
- package/dist/protocol/evaluate.d.ts.map +1 -0
- package/dist/protocol/evaluate.js +14 -0
- package/dist/protocol/evaluate.js.map +1 -0
- package/dist/protocol/evaluationSerializer.d.ts +6 -0
- package/dist/protocol/evaluationSerializer.d.ts.map +1 -0
- package/dist/protocol/evaluationSerializer.js +234 -0
- package/dist/protocol/evaluationSerializer.js.map +1 -0
- package/dist/protocol/keyboardInput.d.ts +34 -0
- package/dist/protocol/keyboardInput.d.ts.map +1 -0
- package/dist/protocol/keyboardInput.js +246 -0
- package/dist/protocol/keyboardInput.js.map +1 -0
- package/dist/protocol/routing.d.ts +40 -0
- package/dist/protocol/routing.d.ts.map +1 -0
- package/dist/protocol/routing.js +2 -0
- package/dist/protocol/routing.js.map +1 -0
- package/dist/protocol/selectorRuntime.d.ts +30 -0
- package/dist/protocol/selectorRuntime.d.ts.map +1 -0
- package/dist/protocol/selectorRuntime.js +1814 -0
- package/dist/protocol/selectorRuntime.js.map +1 -0
- package/dist/protocol/webdriver-classic/backend.d.ts +6 -0
- package/dist/protocol/webdriver-classic/backend.d.ts.map +1 -0
- package/dist/protocol/webdriver-classic/backend.js +158 -0
- package/dist/protocol/webdriver-classic/backend.js.map +1 -0
- package/dist/routeHandler.d.ts +15 -0
- package/dist/routeHandler.d.ts.map +1 -0
- package/dist/routeHandler.js +2 -0
- package/dist/routeHandler.js.map +1 -0
- package/dist/roxybrowser.bundle.js +78236 -0
- package/dist/roxybrowser.bundle.js.map +1 -0
- package/dist/screencast.d.ts +57 -0
- package/dist/screencast.d.ts.map +1 -0
- package/dist/screencast.js +155 -0
- package/dist/screencast.js.map +1 -0
- package/dist/screencastActions.d.ts +2 -0
- package/dist/screencastActions.d.ts.map +1 -0
- package/dist/screencastActions.js +183 -0
- package/dist/screencastActions.js.map +1 -0
- package/dist/screencastOverlay.d.ts +3 -0
- package/dist/screencastOverlay.d.ts.map +1 -0
- package/dist/screencastOverlay.js +119 -0
- package/dist/screencastOverlay.js.map +1 -0
- package/dist/screenshotOptions.d.ts +26 -0
- package/dist/screenshotOptions.d.ts.map +1 -0
- package/dist/screenshotOptions.js +171 -0
- package/dist/screenshotOptions.js.map +1 -0
- package/dist/screenshotPreparation.d.ts +21 -0
- package/dist/screenshotPreparation.d.ts.map +1 -0
- package/dist/screenshotPreparation.js +199 -0
- package/dist/screenshotPreparation.js.map +1 -0
- package/dist/selectOptionValues.d.ts +10 -0
- package/dist/selectOptionValues.d.ts.map +1 -0
- package/dist/selectOptionValues.js +60 -0
- package/dist/selectOptionValues.js.map +1 -0
- package/dist/selectors.d.ts +3 -0
- package/dist/selectors.d.ts.map +1 -0
- package/dist/selectors.js +287 -0
- package/dist/selectors.js.map +1 -0
- package/dist/types/api.d.ts +2164 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +2 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/events.d.ts +158 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +2 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/options.d.ts +263 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/options.js +2 -0
- package/dist/types/options.js.map +1 -0
- package/dist/urlMatch.d.ts +19 -0
- package/dist/urlMatch.d.ts.map +1 -0
- package/dist/urlMatch.js +183 -0
- package/dist/urlMatch.js.map +1 -0
- package/dist/utilityScriptSerializers.d.ts +61 -0
- package/dist/utilityScriptSerializers.d.ts.map +1 -0
- package/dist/utilityScriptSerializers.js +297 -0
- package/dist/utilityScriptSerializers.js.map +1 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.d.ts +2 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.d.ts.map +1 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.js +207 -0
- package/dist/vendor/playwright/ariaSnapshotEvaluate.js.map +1 -0
- package/dist/vendor/playwright/generated/clockSource.d.ts +9 -0
- package/dist/vendor/playwright/generated/clockSource.d.ts.map +1 -0
- package/dist/vendor/playwright/generated/clockSource.js +9 -0
- package/dist/vendor/playwright/generated/clockSource.js.map +1 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.d.ts +9 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.d.ts.map +1 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.js +9 -0
- package/dist/vendor/playwright/generated/injectedScriptSource.js.map +1 -0
- package/dist/video.d.ts +39 -0
- package/dist/video.d.ts.map +1 -0
- package/dist/video.js +235 -0
- package/dist/video.js.map +1 -0
- package/dist/waitForSelector.d.ts +7 -0
- package/dist/waitForSelector.d.ts.map +1 -0
- package/dist/waitForSelector.js +23 -0
- package/dist/waitForSelector.js.map +1 -0
- package/dist/worker.d.ts +45 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +192 -0
- package/dist/worker.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { defineTool, textResult } from "../tool.js";
|
|
3
|
+
import { formatTabs, formatTabsWithOptionalSnapshot } from "../format.js";
|
|
4
|
+
const tabs = defineTool({
|
|
5
|
+
schema: {
|
|
6
|
+
name: "browser_tabs",
|
|
7
|
+
title: "Browser Tabs",
|
|
8
|
+
description: "List, create, select, and close browser tabs for the current MCP browser session.",
|
|
9
|
+
inputSchema: z.object({
|
|
10
|
+
action: z.enum(["list", "new", "select", "close"]),
|
|
11
|
+
index: z.number().int().nonnegative().optional(),
|
|
12
|
+
url: z.string().url().optional()
|
|
13
|
+
})
|
|
14
|
+
},
|
|
15
|
+
handle: async (args, runtime) => {
|
|
16
|
+
if (args.action === "list") {
|
|
17
|
+
const tabList = await runtime.listTabs();
|
|
18
|
+
return textResult(formatTabs(tabList));
|
|
19
|
+
}
|
|
20
|
+
if (args.action === "new") {
|
|
21
|
+
const result = await runtime.newTab(args.url);
|
|
22
|
+
return textResult(formatTabsWithOptionalSnapshot(result.tabs, result.snapshot));
|
|
23
|
+
}
|
|
24
|
+
if (args.action === "select") {
|
|
25
|
+
const result = await runtime.selectTab(args.index);
|
|
26
|
+
return textResult(formatTabsWithOptionalSnapshot(result.tabs, result.snapshot));
|
|
27
|
+
}
|
|
28
|
+
// close
|
|
29
|
+
const result = await runtime.closeTab(args.index);
|
|
30
|
+
return textResult(formatTabsWithOptionalSnapshot(result.tabs, result.snapshot));
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
export default [tabs];
|
|
34
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/mcp/tools/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,IAAI,GAAG,UAAU,CAAC;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,mFAAmF;QAChG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;YAChD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;KACH;IACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,UAAU,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YAC7D,OAAO,UAAU,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,QAAQ;QACR,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClF,CAAC;CACF,CAAC,CAAC;AAEH,eAAe,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,wBAAwB,EAExB,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AAmCrB,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CA6HnC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { createServer } from "node:http";
|
|
3
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
4
|
+
import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
+
import { createRoxyBrowserMcpServer } from "../server.js";
|
|
6
|
+
async function readJsonBody(req) {
|
|
7
|
+
const chunks = [];
|
|
8
|
+
for await (const chunk of req) {
|
|
9
|
+
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
10
|
+
}
|
|
11
|
+
if (chunks.length === 0) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
return JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
15
|
+
}
|
|
16
|
+
function sendJsonRpcError(res, statusCode, message) {
|
|
17
|
+
res.statusCode = statusCode;
|
|
18
|
+
res.setHeader("content-type", "application/json");
|
|
19
|
+
res.end(JSON.stringify({
|
|
20
|
+
jsonrpc: "2.0",
|
|
21
|
+
error: {
|
|
22
|
+
code: -32000,
|
|
23
|
+
message
|
|
24
|
+
},
|
|
25
|
+
id: null
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
export async function startRoxyBrowserMcpHttp(options) {
|
|
29
|
+
const host = options.host ?? "127.0.0.1";
|
|
30
|
+
const path = options.path ?? "/mcp";
|
|
31
|
+
const prototypeBundle = createRoxyBrowserMcpServer(options);
|
|
32
|
+
const sessions = new Map();
|
|
33
|
+
const closeSession = async (sessionId) => {
|
|
34
|
+
const record = sessions.get(sessionId);
|
|
35
|
+
if (!record) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
sessions.delete(sessionId);
|
|
39
|
+
await record.bundle.close();
|
|
40
|
+
await record.transport.close();
|
|
41
|
+
};
|
|
42
|
+
const handleMcpRequest = async (req, res) => {
|
|
43
|
+
const sessionHeader = req.headers["mcp-session-id"];
|
|
44
|
+
const sessionId = Array.isArray(sessionHeader) ? sessionHeader[0] : sessionHeader;
|
|
45
|
+
const parsedBody = req.method === "POST" || req.method === "DELETE" ? await readJsonBody(req) : undefined;
|
|
46
|
+
let record = sessionId ? sessions.get(sessionId) : undefined;
|
|
47
|
+
if (!record) {
|
|
48
|
+
if (req.method === "POST" && !sessionId && isInitializeRequest(parsedBody)) {
|
|
49
|
+
const bundle = createRoxyBrowserMcpServer(options);
|
|
50
|
+
let createdTransport;
|
|
51
|
+
createdTransport = new StreamableHTTPServerTransport({
|
|
52
|
+
sessionIdGenerator: () => randomUUID(),
|
|
53
|
+
onsessioninitialized: (createdSessionId) => {
|
|
54
|
+
if (createdTransport) {
|
|
55
|
+
sessions.set(createdSessionId, {
|
|
56
|
+
bundle,
|
|
57
|
+
transport: createdTransport
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
createdTransport.onclose = () => {
|
|
63
|
+
const createdSessionId = createdTransport?.sessionId;
|
|
64
|
+
if (createdSessionId) {
|
|
65
|
+
void closeSession(createdSessionId);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
await bundle.server.connect(createdTransport);
|
|
69
|
+
await createdTransport.handleRequest(req, res, parsedBody);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
sendJsonRpcError(res, 400, "Bad Request: No valid MCP session is active for this request.");
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
await record.transport.handleRequest(req, res, parsedBody);
|
|
76
|
+
};
|
|
77
|
+
const httpServer = createServer(async (req, res) => {
|
|
78
|
+
try {
|
|
79
|
+
if (!req.url) {
|
|
80
|
+
res.statusCode = 404;
|
|
81
|
+
res.end("Not Found");
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const requestUrl = new URL(req.url, `http://${req.headers.host ?? host}`);
|
|
85
|
+
if (requestUrl.pathname === "/health" && req.method === "GET") {
|
|
86
|
+
res.statusCode = 200;
|
|
87
|
+
res.setHeader("content-type", "application/json");
|
|
88
|
+
res.end(JSON.stringify({ ok: true }));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (requestUrl.pathname !== path) {
|
|
92
|
+
res.statusCode = 404;
|
|
93
|
+
res.end("Not Found");
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (req.method === "GET" || req.method === "POST" || req.method === "DELETE") {
|
|
97
|
+
await handleMcpRequest(req, res);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
res.statusCode = 405;
|
|
101
|
+
res.end("Method Not Allowed");
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
if (!res.headersSent) {
|
|
105
|
+
sendJsonRpcError(res, 500, error instanceof Error ? error.message : "Internal server error");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
await new Promise((resolve, reject) => {
|
|
110
|
+
httpServer.once("error", reject);
|
|
111
|
+
httpServer.listen(options.port, host, () => {
|
|
112
|
+
httpServer.removeListener("error", reject);
|
|
113
|
+
resolve();
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
return {
|
|
117
|
+
server: prototypeBundle.server,
|
|
118
|
+
httpServer,
|
|
119
|
+
close: async () => {
|
|
120
|
+
await Promise.all(Array.from(sessions.keys()).map(async (sessionId) => closeSession(sessionId)));
|
|
121
|
+
await prototypeBundle.close();
|
|
122
|
+
await new Promise((resolve, reject) => {
|
|
123
|
+
httpServer.close((error) => {
|
|
124
|
+
if (error) {
|
|
125
|
+
reject(error);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
resolve();
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/mcp/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAY1D,KAAK,UAAU,YAAY,CAAC,GAAoB;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB,EAAE,UAAkB,EAAE,OAAe;IAChF,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,KAAK;YACZ,OAAO;SACR;QACD,EAAE,EAAE,IAAI;KACT,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAuC;IAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,MAAM,eAAe,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEtD,MAAM,YAAY,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAiB,EAAE;QAC1F,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAClF,MAAM,UAAU,GACd,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzF,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3E,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,gBAA2D,CAAC;gBAChE,gBAAgB,GAAG,IAAI,6BAA6B,CAAC;oBACnD,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,EAAE;wBACzC,IAAI,gBAAgB,EAAE,CAAC;4BACrB,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE;gCAC7B,MAAM;gCACN,SAAS,EAAE,gBAAgB;6BAC5B,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;iBACF,CAAC,CAAC;gBACH,gBAAgB,CAAC,OAAO,GAAG,GAAG,EAAE;oBAC9B,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,SAAS,CAAC;oBACrD,IAAI,gBAAgB,EAAE,CAAC;wBACrB,KAAK,YAAY,CAAC,gBAAgB,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,CAAC;gBAEF,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACzB,gBAA+D,CAChE,CAAC;gBACF,MAAM,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,+DAA+D,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QAED,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC9D,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACjC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7E,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,gBAAgB,CACd,GAAG,EACH,GAAG,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CACjE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YACzC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,UAAU;QACV,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACjG,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACzB,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,CAAC;wBACd,OAAO;oBACT,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CreateRoxyBrowserMcpServerOptions, RoxyBrowserMcpInMemoryBundle } from "../types.js";
|
|
2
|
+
export declare function createRoxyBrowserMcpInMemory(options?: CreateRoxyBrowserMcpServerOptions): Promise<RoxyBrowserMcpInMemoryBundle>;
|
|
3
|
+
//# sourceMappingURL=inMemory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inMemory.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/inMemory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iCAAiC,EACjC,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AAErB,wBAAsB,4BAA4B,CAChD,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,4BAA4B,CAAC,CAevC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
|
|
2
|
+
import { createRoxyBrowserMcpServer } from "../server.js";
|
|
3
|
+
export async function createRoxyBrowserMcpInMemory(options = {}) {
|
|
4
|
+
const bundle = createRoxyBrowserMcpServer(options);
|
|
5
|
+
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
6
|
+
await bundle.server.connect(serverTransport);
|
|
7
|
+
return {
|
|
8
|
+
server: bundle.server,
|
|
9
|
+
serverTransport,
|
|
10
|
+
clientTransport,
|
|
11
|
+
close: async () => {
|
|
12
|
+
await bundle.close();
|
|
13
|
+
await serverTransport.close();
|
|
14
|
+
await clientTransport.close();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=inMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inMemory.js","sourceRoot":"","sources":["../../../src/mcp/transports/inMemory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAM1D,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAA6C,EAAE;IAE/C,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAChF,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAA8D,CAAC,CAAC;IAE5F,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,eAAe;QACf,eAAe;QACf,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/stdio.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9F,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,yBAAyB,CAAC,CAapC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
2
|
+
import { createRoxyBrowserMcpServer } from "../server.js";
|
|
3
|
+
export async function startRoxyBrowserMcpStdio(options = {}) {
|
|
4
|
+
const bundle = createRoxyBrowserMcpServer(options);
|
|
5
|
+
const transport = new StdioServerTransport(options.stdin, options.stdout);
|
|
6
|
+
await bundle.server.connect(transport);
|
|
7
|
+
return {
|
|
8
|
+
server: bundle.server,
|
|
9
|
+
transport,
|
|
10
|
+
close: async () => {
|
|
11
|
+
await bundle.close();
|
|
12
|
+
await transport.close();
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/mcp/transports/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAA2C,EAAE;IAE7C,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAwD,CAAC,CAAC;IAEtF,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS;QACT,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import type { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
|
|
2
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import type { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import type { Server as HttpServer } from "node:http";
|
|
5
|
+
import type { Readable, Writable } from "node:stream";
|
|
6
|
+
export type RoxyMcpProtocol = "cdp" | "bidi";
|
|
7
|
+
export interface RoxyBrowserConnectArgs {
|
|
8
|
+
protocol: RoxyMcpProtocol;
|
|
9
|
+
endpoint: string;
|
|
10
|
+
browser?: "chromium" | "firefox";
|
|
11
|
+
}
|
|
12
|
+
export interface BrowserTab {
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
url: string;
|
|
16
|
+
active: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface BrowserSnapshot {
|
|
19
|
+
text: string;
|
|
20
|
+
refs: Record<string, string>;
|
|
21
|
+
title: string;
|
|
22
|
+
url: string;
|
|
23
|
+
console?: BrowserConsoleSummary | undefined;
|
|
24
|
+
consoleLink?: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
export interface BrowserConsoleSummary {
|
|
27
|
+
total: number;
|
|
28
|
+
errors: number;
|
|
29
|
+
warnings: number;
|
|
30
|
+
}
|
|
31
|
+
export interface BrowserConsoleEntry {
|
|
32
|
+
type: string;
|
|
33
|
+
text: string;
|
|
34
|
+
timestamp: number;
|
|
35
|
+
locationUrl?: string | undefined;
|
|
36
|
+
lineNumber?: number | undefined;
|
|
37
|
+
formattedText: string;
|
|
38
|
+
}
|
|
39
|
+
export interface BrowserNetworkRequest {
|
|
40
|
+
index: number;
|
|
41
|
+
requestId: string;
|
|
42
|
+
method: string;
|
|
43
|
+
url: string;
|
|
44
|
+
resourceType: string;
|
|
45
|
+
requestHeaders: Record<string, string>;
|
|
46
|
+
requestBody?: string | undefined;
|
|
47
|
+
status?: number | undefined;
|
|
48
|
+
statusText?: string | undefined;
|
|
49
|
+
responseHeaders?: Record<string, string> | undefined;
|
|
50
|
+
responseBody?: string | undefined;
|
|
51
|
+
failureText?: string | undefined;
|
|
52
|
+
mimeType?: string | undefined;
|
|
53
|
+
durationMs?: number | undefined;
|
|
54
|
+
}
|
|
55
|
+
export interface BrowserSnapshotTarget {
|
|
56
|
+
raw: string;
|
|
57
|
+
nodeToken?: string;
|
|
58
|
+
selector?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface BrowserSnapshotRequest {
|
|
61
|
+
target?: BrowserSnapshotTarget | undefined;
|
|
62
|
+
depth?: number | undefined;
|
|
63
|
+
boxes?: boolean | undefined;
|
|
64
|
+
}
|
|
65
|
+
export interface BrowserSnapshotToolArgs {
|
|
66
|
+
target?: string | undefined;
|
|
67
|
+
filename?: string | undefined;
|
|
68
|
+
depth?: number | undefined;
|
|
69
|
+
boxes?: boolean | undefined;
|
|
70
|
+
}
|
|
71
|
+
export interface ConnectedBrowserSession {
|
|
72
|
+
readonly protocol: RoxyMcpProtocol;
|
|
73
|
+
readonly browserName: "chromium" | "firefox";
|
|
74
|
+
version(): Promise<string>;
|
|
75
|
+
listTabs(): Promise<BrowserTab[]>;
|
|
76
|
+
newTab(url?: string): Promise<BrowserTab[]>;
|
|
77
|
+
selectTab(tabId: string): Promise<BrowserTab[]>;
|
|
78
|
+
closeTab(tabId: string): Promise<BrowserTab[]>;
|
|
79
|
+
snapshot(request?: BrowserSnapshotRequest): Promise<BrowserSnapshot>;
|
|
80
|
+
consoleMessages(level?: "error" | "warning" | "info" | "debug", all?: boolean): Promise<BrowserConsoleEntry[]>;
|
|
81
|
+
evaluate(expression: string, target?: ClickTarget): Promise<unknown>;
|
|
82
|
+
isFileInput(target: ClickTarget): Promise<boolean>;
|
|
83
|
+
click(target: ClickTarget, options: SessionClickOptions): Promise<void>;
|
|
84
|
+
drag(start: ClickTarget, end: ClickTarget, options: SessionDragOptions): Promise<void>;
|
|
85
|
+
drop(target: ClickTarget, payload: SessionDropOptions): Promise<void>;
|
|
86
|
+
hover(target: ClickTarget): Promise<void>;
|
|
87
|
+
navigate(url: string): Promise<void>;
|
|
88
|
+
type(target: ClickTarget, text: string, options?: SessionTypeOptions): Promise<void>;
|
|
89
|
+
pressKey(key: string, modifiers?: Array<"Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift">): Promise<void>;
|
|
90
|
+
selectOption(target: ClickTarget, values: string[]): Promise<string[]>;
|
|
91
|
+
check(target: ClickTarget, checked: boolean): Promise<void>;
|
|
92
|
+
goBack(): Promise<void>;
|
|
93
|
+
goForward(): Promise<void>;
|
|
94
|
+
resize(width: number, height: number): Promise<void>;
|
|
95
|
+
scroll(target: ClickTarget | null, deltaX: number, deltaY: number): Promise<void>;
|
|
96
|
+
screenshot(options?: SessionScreenshotOptions): Promise<{
|
|
97
|
+
data: string;
|
|
98
|
+
mimeType: "image/png" | "image/jpeg";
|
|
99
|
+
}>;
|
|
100
|
+
uploadFile(target: ClickTarget, filePaths: string[]): Promise<void>;
|
|
101
|
+
fillForm(fields: SessionFormField[]): Promise<void>;
|
|
102
|
+
handleDialog(accept: boolean, promptText?: string): Promise<void>;
|
|
103
|
+
networkRequests(): Promise<BrowserNetworkRequest[]>;
|
|
104
|
+
networkRequest(index: number): Promise<BrowserNetworkRequest | undefined>;
|
|
105
|
+
runCodeUnsafe(code: string): Promise<unknown>;
|
|
106
|
+
close(): Promise<void>;
|
|
107
|
+
}
|
|
108
|
+
export type ClickTarget = {
|
|
109
|
+
nodeToken: string;
|
|
110
|
+
} | {
|
|
111
|
+
selector: string;
|
|
112
|
+
};
|
|
113
|
+
export interface SessionClickOptions {
|
|
114
|
+
doubleClick?: boolean;
|
|
115
|
+
button?: "left" | "right" | "middle";
|
|
116
|
+
modifiers?: Array<"Alt" | "Control" | "ControlOrMeta" | "Meta" | "Shift">;
|
|
117
|
+
clickHoldMs: number;
|
|
118
|
+
}
|
|
119
|
+
export interface SessionTypeOptions {
|
|
120
|
+
submit?: boolean;
|
|
121
|
+
slowly?: boolean;
|
|
122
|
+
delayMs?: number;
|
|
123
|
+
}
|
|
124
|
+
export interface SessionDragOptions {
|
|
125
|
+
moveDelayMs: number;
|
|
126
|
+
holdDelayMs: number;
|
|
127
|
+
}
|
|
128
|
+
export interface SessionDropOptions {
|
|
129
|
+
paths?: string[] | undefined;
|
|
130
|
+
data?: Record<string, string> | undefined;
|
|
131
|
+
}
|
|
132
|
+
export interface SessionScreenshotOptions {
|
|
133
|
+
type?: "png" | "jpeg" | undefined;
|
|
134
|
+
fullPage?: boolean | undefined;
|
|
135
|
+
target?: ClickTarget | undefined;
|
|
136
|
+
}
|
|
137
|
+
export interface SessionFormField {
|
|
138
|
+
target: ClickTarget;
|
|
139
|
+
type: "textbox" | "checkbox" | "radio" | "combobox" | "slider";
|
|
140
|
+
value: string;
|
|
141
|
+
}
|
|
142
|
+
export type BrowserSessionFactory = (args: RoxyBrowserConnectArgs) => Promise<ConnectedBrowserSession>;
|
|
143
|
+
export type SnapshotMode = "full" | "none";
|
|
144
|
+
export interface CreateRoxyBrowserMcpServerOptions {
|
|
145
|
+
sessionFactory?: BrowserSessionFactory;
|
|
146
|
+
serverInfo?: {
|
|
147
|
+
name?: string;
|
|
148
|
+
version?: string;
|
|
149
|
+
};
|
|
150
|
+
snapshotMode?: SnapshotMode;
|
|
151
|
+
outputDir?: string;
|
|
152
|
+
}
|
|
153
|
+
export interface StartRoxyBrowserMcpHttpOptions extends CreateRoxyBrowserMcpServerOptions {
|
|
154
|
+
host?: string;
|
|
155
|
+
port: number;
|
|
156
|
+
path?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface StartRoxyBrowserMcpStdioOptions extends CreateRoxyBrowserMcpServerOptions {
|
|
159
|
+
stdin?: Readable;
|
|
160
|
+
stdout?: Writable;
|
|
161
|
+
}
|
|
162
|
+
export interface SnapshotCacheEntry {
|
|
163
|
+
tabId: string;
|
|
164
|
+
requestKey: string;
|
|
165
|
+
text: string;
|
|
166
|
+
refs: Record<string, string>;
|
|
167
|
+
title: string;
|
|
168
|
+
url: string;
|
|
169
|
+
console?: BrowserConsoleSummary | undefined;
|
|
170
|
+
consoleLink?: string | undefined;
|
|
171
|
+
}
|
|
172
|
+
export interface RoxyBrowserMcpServerBundle {
|
|
173
|
+
server: McpServer;
|
|
174
|
+
runtimeManager: import("./runtime.js").McpRuntimeManager;
|
|
175
|
+
close(): Promise<void>;
|
|
176
|
+
}
|
|
177
|
+
export interface RoxyBrowserMcpStdioBundle {
|
|
178
|
+
server: McpServer;
|
|
179
|
+
transport: StdioServerTransport;
|
|
180
|
+
close(): Promise<void>;
|
|
181
|
+
}
|
|
182
|
+
export interface RoxyBrowserMcpInMemoryBundle {
|
|
183
|
+
server: McpServer;
|
|
184
|
+
serverTransport: InMemoryTransport;
|
|
185
|
+
clientTransport: InMemoryTransport;
|
|
186
|
+
close(): Promise<void>;
|
|
187
|
+
}
|
|
188
|
+
export interface RoxyBrowserMcpHttpBundle {
|
|
189
|
+
server: McpServer;
|
|
190
|
+
httpServer: HttpServer;
|
|
191
|
+
close(): Promise<void>;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACrE,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/G,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChH,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,UAAU,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAAA;KAAE,CAAC,CAAC;IAChH,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,eAAe,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACpD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAC1E,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC1E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,IAAI,EAAE,sBAAsB,KACzB,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,iCAAiC;IAChD,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA+B,SAAQ,iCAAiC;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,+BAAgC,SAAQ,iCAAiC;IACxF,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,OAAO,cAAc,EAAE,iBAAiB,CAAC;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,oBAAoB,CAAC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,iBAAiB,CAAC;IACnC,eAAe,EAAE,iBAAiB,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Header } from "./types/options.js";
|
|
2
|
+
import type { PageNavigationResult } from "./types/api.js";
|
|
3
|
+
export declare function createNavigationResult(input: {
|
|
4
|
+
headers?: Header[];
|
|
5
|
+
ok?: boolean;
|
|
6
|
+
status?: number | null;
|
|
7
|
+
statusText?: string | null;
|
|
8
|
+
url: string;
|
|
9
|
+
}): PageNavigationResult;
|
|
10
|
+
//# sourceMappingURL=navigationResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationResult.d.ts","sourceRoot":"","sources":["../src/navigationResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,oBAAoB,CAcvB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function createNavigationResult(input) {
|
|
2
|
+
const headers = input.headers ? [...input.headers] : [];
|
|
3
|
+
const status = input.status ?? null;
|
|
4
|
+
const statusText = input.statusText ?? null;
|
|
5
|
+
const ok = input.ok ?? (status === null ? true : status >= 200 && status < 400);
|
|
6
|
+
const url = input.url;
|
|
7
|
+
return {
|
|
8
|
+
ok: () => ok,
|
|
9
|
+
url: () => url,
|
|
10
|
+
status: () => status,
|
|
11
|
+
statusText: () => statusText,
|
|
12
|
+
headers: () => [...headers]
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=navigationResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigationResult.js","sourceRoot":"","sources":["../src/navigationResult.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CAAC,KAMtC;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAC5C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IAEtB,OAAO;QACL,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;QACZ,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;QACd,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;QACpB,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU;QAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;KAC5B,CAAC;AACJ,CAAC"}
|