claude-chrome-parallel 1.0.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/LICENSE +21 -0
- package/README.md +501 -0
- package/assets/demo.svg +278 -0
- package/dist/cdp/client.d.ts +218 -0
- package/dist/cdp/client.d.ts.map +1 -0
- package/dist/cdp/client.js +797 -0
- package/dist/cdp/client.js.map +1 -0
- package/dist/cdp/connection-pool.d.ts +125 -0
- package/dist/cdp/connection-pool.d.ts.map +1 -0
- package/dist/cdp/connection-pool.js +443 -0
- package/dist/cdp/connection-pool.js.map +1 -0
- package/dist/cdp/screenshot-scheduler.d.ts +54 -0
- package/dist/cdp/screenshot-scheduler.d.ts.map +1 -0
- package/dist/cdp/screenshot-scheduler.js +87 -0
- package/dist/cdp/screenshot-scheduler.js.map +1 -0
- package/dist/chrome/launcher.d.ts +55 -0
- package/dist/chrome/launcher.d.ts.map +1 -0
- package/dist/chrome/launcher.js +383 -0
- package/dist/chrome/launcher.js.map +1 -0
- package/dist/chrome/pool.d.ts +54 -0
- package/dist/chrome/pool.d.ts.map +1 -0
- package/dist/chrome/pool.js +301 -0
- package/dist/chrome/pool.js.map +1 -0
- package/dist/chrome/profile-detector.d.ts +52 -0
- package/dist/chrome/profile-detector.d.ts.map +1 -0
- package/dist/chrome/profile-detector.js +246 -0
- package/dist/chrome/profile-detector.js.map +1 -0
- package/dist/cli/claude-session.d.ts +11 -0
- package/dist/cli/claude-session.js +349 -0
- package/dist/cli/claude-session.js.map +1 -0
- package/dist/cli/index.d.ts +14 -0
- package/dist/cli/index.js +858 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +16 -0
- package/dist/cli/install.js +185 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/uninstall.d.ts +7 -0
- package/dist/cli/uninstall.js +126 -0
- package/dist/cli/uninstall.js.map +1 -0
- package/dist/cli/update-check.d.ts +9 -0
- package/dist/cli/update-check.js +141 -0
- package/dist/cli/update-check.js.map +1 -0
- package/dist/config/config-recovery.d.ts +69 -0
- package/dist/config/config-recovery.d.ts.map +1 -0
- package/dist/config/config-recovery.js +302 -0
- package/dist/config/config-recovery.js.map +1 -0
- package/dist/config/global.d.ts +49 -0
- package/dist/config/global.d.ts.map +1 -0
- package/dist/config/global.js +24 -0
- package/dist/config/global.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +23 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/session-isolator.d.ts +76 -0
- package/dist/config/session-isolator.d.ts.map +1 -0
- package/dist/config/session-isolator.js +268 -0
- package/dist/config/session-isolator.js.map +1 -0
- package/dist/dashboard/activity-tracker.d.ts +76 -0
- package/dist/dashboard/activity-tracker.d.ts.map +1 -0
- package/dist/dashboard/activity-tracker.js +219 -0
- package/dist/dashboard/activity-tracker.js.map +1 -0
- package/dist/dashboard/ansi.d.ts +117 -0
- package/dist/dashboard/ansi.d.ts.map +1 -0
- package/dist/dashboard/ansi.js +199 -0
- package/dist/dashboard/ansi.js.map +1 -0
- package/dist/dashboard/index.d.ts +110 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +412 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/keyboard-handler.d.ts +43 -0
- package/dist/dashboard/keyboard-handler.d.ts.map +1 -0
- package/dist/dashboard/keyboard-handler.js +215 -0
- package/dist/dashboard/keyboard-handler.js.map +1 -0
- package/dist/dashboard/operation-controller.d.ts +76 -0
- package/dist/dashboard/operation-controller.d.ts.map +1 -0
- package/dist/dashboard/operation-controller.js +167 -0
- package/dist/dashboard/operation-controller.js.map +1 -0
- package/dist/dashboard/renderer.d.ts +76 -0
- package/dist/dashboard/renderer.d.ts.map +1 -0
- package/dist/dashboard/renderer.js +193 -0
- package/dist/dashboard/renderer.js.map +1 -0
- package/dist/dashboard/types.d.ts +56 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/types.js +12 -0
- package/dist/dashboard/types.js.map +1 -0
- package/dist/dashboard/views/main-view.d.ts +23 -0
- package/dist/dashboard/views/main-view.d.ts.map +1 -0
- package/dist/dashboard/views/main-view.js +143 -0
- package/dist/dashboard/views/main-view.js.map +1 -0
- package/dist/dashboard/views/sessions-view.d.ts +22 -0
- package/dist/dashboard/views/sessions-view.d.ts.map +1 -0
- package/dist/dashboard/views/sessions-view.js +104 -0
- package/dist/dashboard/views/sessions-view.js.map +1 -0
- package/dist/dashboard/views/tabs-view.d.ts +21 -0
- package/dist/dashboard/views/tabs-view.d.ts.map +1 -0
- package/dist/dashboard/views/tabs-view.js +92 -0
- package/dist/dashboard/views/tabs-view.js.map +1 -0
- package/dist/hints/hint-engine.d.ts +77 -0
- package/dist/hints/hint-engine.d.ts.map +1 -0
- package/dist/hints/hint-engine.js +191 -0
- package/dist/hints/hint-engine.js.map +1 -0
- package/dist/hints/index.d.ts +8 -0
- package/dist/hints/index.d.ts.map +1 -0
- package/dist/hints/index.js +11 -0
- package/dist/hints/index.js.map +1 -0
- package/dist/hints/pattern-learner.d.ts +76 -0
- package/dist/hints/pattern-learner.d.ts.map +1 -0
- package/dist/hints/pattern-learner.js +254 -0
- package/dist/hints/pattern-learner.js.map +1 -0
- package/dist/hints/rules/composite-suggestions.d.ts +6 -0
- package/dist/hints/rules/composite-suggestions.d.ts.map +1 -0
- package/dist/hints/rules/composite-suggestions.js +66 -0
- package/dist/hints/rules/composite-suggestions.js.map +1 -0
- package/dist/hints/rules/error-recovery.d.ts +7 -0
- package/dist/hints/rules/error-recovery.d.ts.map +1 -0
- package/dist/hints/rules/error-recovery.js +55 -0
- package/dist/hints/rules/error-recovery.js.map +1 -0
- package/dist/hints/rules/learned-rules.d.ts +13 -0
- package/dist/hints/rules/learned-rules.d.ts.map +1 -0
- package/dist/hints/rules/learned-rules.js +27 -0
- package/dist/hints/rules/learned-rules.js.map +1 -0
- package/dist/hints/rules/repetition-detection.d.ts +7 -0
- package/dist/hints/rules/repetition-detection.d.ts.map +1 -0
- package/dist/hints/rules/repetition-detection.js +82 -0
- package/dist/hints/rules/repetition-detection.js.map +1 -0
- package/dist/hints/rules/sequence-detection.d.ts +6 -0
- package/dist/hints/rules/sequence-detection.d.ts.map +1 -0
- package/dist/hints/rules/sequence-detection.js +89 -0
- package/dist/hints/rules/sequence-detection.js.map +1 -0
- package/dist/hints/rules/success-hints.d.ts +6 -0
- package/dist/hints/rules/success-hints.d.ts.map +1 -0
- package/dist/hints/rules/success-hints.js +62 -0
- package/dist/hints/rules/success-hints.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +272 -0
- package/dist/index.js.map +1 -0
- package/dist/lightpanda/launcher.d.ts +58 -0
- package/dist/lightpanda/launcher.d.ts.map +1 -0
- package/dist/lightpanda/launcher.js +199 -0
- package/dist/lightpanda/launcher.js.map +1 -0
- package/dist/mcp-server.d.ts +129 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +641 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/memory/domain-memory.d.ts +68 -0
- package/dist/memory/domain-memory.d.ts.map +1 -0
- package/dist/memory/domain-memory.js +227 -0
- package/dist/memory/domain-memory.js.map +1 -0
- package/dist/orchestration/plan-executor.d.ts +19 -0
- package/dist/orchestration/plan-executor.d.ts.map +1 -0
- package/dist/orchestration/plan-executor.js +284 -0
- package/dist/orchestration/plan-executor.js.map +1 -0
- package/dist/orchestration/plan-registry.d.ts +55 -0
- package/dist/orchestration/plan-registry.d.ts.map +1 -0
- package/dist/orchestration/plan-registry.js +255 -0
- package/dist/orchestration/plan-registry.js.map +1 -0
- package/dist/orchestration/state-manager.d.ts +127 -0
- package/dist/orchestration/state-manager.d.ts.map +1 -0
- package/dist/orchestration/state-manager.js +438 -0
- package/dist/orchestration/state-manager.js.map +1 -0
- package/dist/orchestration/workflow-engine.d.ts +162 -0
- package/dist/orchestration/workflow-engine.d.ts.map +1 -0
- package/dist/orchestration/workflow-engine.js +731 -0
- package/dist/orchestration/workflow-engine.js.map +1 -0
- package/dist/resources/usage-guide.d.ts +13 -0
- package/dist/resources/usage-guide.d.ts.map +1 -0
- package/dist/resources/usage-guide.js +101 -0
- package/dist/resources/usage-guide.js.map +1 -0
- package/dist/router/browser-router.d.ts +51 -0
- package/dist/router/browser-router.d.ts.map +1 -0
- package/dist/router/browser-router.js +178 -0
- package/dist/router/browser-router.js.map +1 -0
- package/dist/router/cookie-sync.d.ts +48 -0
- package/dist/router/cookie-sync.d.ts.map +1 -0
- package/dist/router/cookie-sync.js +106 -0
- package/dist/router/cookie-sync.js.map +1 -0
- package/dist/router/index.d.ts +5 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +10 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/tool-routing-registry.d.ts +21 -0
- package/dist/router/tool-routing-registry.d.ts.map +1 -0
- package/dist/router/tool-routing-registry.js +90 -0
- package/dist/router/tool-routing-registry.js.map +1 -0
- package/dist/session-manager.d.ts +251 -0
- package/dist/session-manager.d.ts.map +1 -0
- package/dist/session-manager.js +912 -0
- package/dist/session-manager.js.map +1 -0
- package/dist/tools/batch-execute.d.ts +11 -0
- package/dist/tools/batch-execute.d.ts.map +1 -0
- package/dist/tools/batch-execute.js +226 -0
- package/dist/tools/batch-execute.js.map +1 -0
- package/dist/tools/click-element.d.ts +8 -0
- package/dist/tools/click-element.d.ts.map +1 -0
- package/dist/tools/click-element.js +455 -0
- package/dist/tools/click-element.js.map +1 -0
- package/dist/tools/computer.d.ts +6 -0
- package/dist/tools/computer.d.ts.map +1 -0
- package/dist/tools/computer.js +638 -0
- package/dist/tools/computer.js.map +1 -0
- package/dist/tools/console-capture.d.ts +6 -0
- package/dist/tools/console-capture.d.ts.map +1 -0
- package/dist/tools/console-capture.js +320 -0
- package/dist/tools/console-capture.js.map +1 -0
- package/dist/tools/cookies.d.ts +6 -0
- package/dist/tools/cookies.d.ts.map +1 -0
- package/dist/tools/cookies.js +263 -0
- package/dist/tools/cookies.js.map +1 -0
- package/dist/tools/drag-drop.d.ts +6 -0
- package/dist/tools/drag-drop.d.ts.map +1 -0
- package/dist/tools/drag-drop.js +252 -0
- package/dist/tools/drag-drop.js.map +1 -0
- package/dist/tools/emulate-device.d.ts +6 -0
- package/dist/tools/emulate-device.d.ts.map +1 -0
- package/dist/tools/emulate-device.js +221 -0
- package/dist/tools/emulate-device.js.map +1 -0
- package/dist/tools/file-upload.d.ts +6 -0
- package/dist/tools/file-upload.d.ts.map +1 -0
- package/dist/tools/file-upload.js +208 -0
- package/dist/tools/file-upload.js.map +1 -0
- package/dist/tools/fill-form.d.ts +8 -0
- package/dist/tools/fill-form.d.ts.map +1 -0
- package/dist/tools/fill-form.js +342 -0
- package/dist/tools/fill-form.js.map +1 -0
- package/dist/tools/find.d.ts +6 -0
- package/dist/tools/find.d.ts.map +1 -0
- package/dist/tools/find.js +330 -0
- package/dist/tools/find.js.map +1 -0
- package/dist/tools/form-input.d.ts +6 -0
- package/dist/tools/form-input.d.ts.map +1 -0
- package/dist/tools/form-input.js +181 -0
- package/dist/tools/form-input.js.map +1 -0
- package/dist/tools/geolocation.d.ts +6 -0
- package/dist/tools/geolocation.d.ts.map +1 -0
- package/dist/tools/geolocation.js +172 -0
- package/dist/tools/geolocation.js.map +1 -0
- package/dist/tools/http-auth.d.ts +6 -0
- package/dist/tools/http-auth.d.ts.map +1 -0
- package/dist/tools/http-auth.js +136 -0
- package/dist/tools/http-auth.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +104 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/javascript.d.ts +6 -0
- package/dist/tools/javascript.d.ts.map +1 -0
- package/dist/tools/javascript.js +138 -0
- package/dist/tools/javascript.js.map +1 -0
- package/dist/tools/lightweight-scroll.d.ts +11 -0
- package/dist/tools/lightweight-scroll.d.ts.map +1 -0
- package/dist/tools/lightweight-scroll.js +266 -0
- package/dist/tools/lightweight-scroll.js.map +1 -0
- package/dist/tools/memory.d.ts +10 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +141 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/navigate.d.ts +6 -0
- package/dist/tools/navigate.d.ts.map +1 -0
- package/dist/tools/navigate.js +241 -0
- package/dist/tools/navigate.js.map +1 -0
- package/dist/tools/network.d.ts +6 -0
- package/dist/tools/network.d.ts.map +1 -0
- package/dist/tools/network.js +215 -0
- package/dist/tools/network.js.map +1 -0
- package/dist/tools/orchestration.d.ts +6 -0
- package/dist/tools/orchestration.d.ts.map +1 -0
- package/dist/tools/orchestration.js +746 -0
- package/dist/tools/orchestration.js.map +1 -0
- package/dist/tools/page-content.d.ts +6 -0
- package/dist/tools/page-content.d.ts.map +1 -0
- package/dist/tools/page-content.js +120 -0
- package/dist/tools/page-content.js.map +1 -0
- package/dist/tools/page-pdf.d.ts +6 -0
- package/dist/tools/page-pdf.d.ts.map +1 -0
- package/dist/tools/page-pdf.js +245 -0
- package/dist/tools/page-pdf.js.map +1 -0
- package/dist/tools/page-reload.d.ts +6 -0
- package/dist/tools/page-reload.d.ts.map +1 -0
- package/dist/tools/page-reload.js +89 -0
- package/dist/tools/page-reload.js.map +1 -0
- package/dist/tools/performance-metrics.d.ts +6 -0
- package/dist/tools/performance-metrics.d.ts.map +1 -0
- package/dist/tools/performance-metrics.js +158 -0
- package/dist/tools/performance-metrics.js.map +1 -0
- package/dist/tools/read-page.d.ts +6 -0
- package/dist/tools/read-page.d.ts.map +1 -0
- package/dist/tools/read-page.js +287 -0
- package/dist/tools/read-page.js.map +1 -0
- package/dist/tools/request-intercept.d.ts +6 -0
- package/dist/tools/request-intercept.d.ts.map +1 -0
- package/dist/tools/request-intercept.js +439 -0
- package/dist/tools/request-intercept.js.map +1 -0
- package/dist/tools/selector-query.d.ts +6 -0
- package/dist/tools/selector-query.d.ts.map +1 -0
- package/dist/tools/selector-query.js +206 -0
- package/dist/tools/selector-query.js.map +1 -0
- package/dist/tools/shutdown.d.ts +12 -0
- package/dist/tools/shutdown.d.ts.map +1 -0
- package/dist/tools/shutdown.js +120 -0
- package/dist/tools/shutdown.js.map +1 -0
- package/dist/tools/storage.d.ts +6 -0
- package/dist/tools/storage.d.ts.map +1 -0
- package/dist/tools/storage.js +264 -0
- package/dist/tools/storage.js.map +1 -0
- package/dist/tools/tabs-close.d.ts +6 -0
- package/dist/tools/tabs-close.d.ts.map +1 -0
- package/dist/tools/tabs-close.js +124 -0
- package/dist/tools/tabs-close.js.map +1 -0
- package/dist/tools/tabs-context.d.ts +6 -0
- package/dist/tools/tabs-context.d.ts.map +1 -0
- package/dist/tools/tabs-context.js +92 -0
- package/dist/tools/tabs-context.js.map +1 -0
- package/dist/tools/tabs-create.d.ts +6 -0
- package/dist/tools/tabs-create.d.ts.map +1 -0
- package/dist/tools/tabs-create.js +73 -0
- package/dist/tools/tabs-create.js.map +1 -0
- package/dist/tools/user-agent.d.ts +6 -0
- package/dist/tools/user-agent.d.ts.map +1 -0
- package/dist/tools/user-agent.js +128 -0
- package/dist/tools/user-agent.js.map +1 -0
- package/dist/tools/wait-and-click.d.ts +8 -0
- package/dist/tools/wait-and-click.d.ts.map +1 -0
- package/dist/tools/wait-and-click.js +290 -0
- package/dist/tools/wait-and-click.js.map +1 -0
- package/dist/tools/wait-for.d.ts +6 -0
- package/dist/tools/wait-for.d.ts.map +1 -0
- package/dist/tools/wait-for.js +248 -0
- package/dist/tools/wait-for.js.map +1 -0
- package/dist/tools/worker-create.d.ts +7 -0
- package/dist/tools/worker-create.d.ts.map +1 -0
- package/dist/tools/worker-create.js +62 -0
- package/dist/tools/worker-create.js.map +1 -0
- package/dist/tools/worker-delete.d.ts +6 -0
- package/dist/tools/worker-delete.d.ts.map +1 -0
- package/dist/tools/worker-delete.js +80 -0
- package/dist/tools/worker-delete.js.map +1 -0
- package/dist/tools/worker-list.d.ts +6 -0
- package/dist/tools/worker-list.d.ts.map +1 -0
- package/dist/tools/worker-list.js +67 -0
- package/dist/tools/worker-list.js.map +1 -0
- package/dist/tools/xpath-query.d.ts +6 -0
- package/dist/tools/xpath-query.d.ts.map +1 -0
- package/dist/tools/xpath-query.js +230 -0
- package/dist/tools/xpath-query.js.map +1 -0
- package/dist/types/browser-backend.d.ts +30 -0
- package/dist/types/browser-backend.d.ts.map +1 -0
- package/dist/types/browser-backend.js +9 -0
- package/dist/types/browser-backend.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mcp.d.ts +54 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +14 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/types/plan-cache.d.ts +121 -0
- package/dist/types/plan-cache.d.ts.map +1 -0
- package/dist/types/plan-cache.js +9 -0
- package/dist/types/plan-cache.js.map +1 -0
- package/dist/types/profile.d.ts +76 -0
- package/dist/types/profile.d.ts.map +1 -0
- package/dist/types/profile.js +35 -0
- package/dist/types/profile.js.map +1 -0
- package/dist/types/session.d.ts +65 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +6 -0
- package/dist/types/session.js.map +1 -0
- package/dist/types/tool-manifest.d.ts +52 -0
- package/dist/types/tool-manifest.d.ts.map +1 -0
- package/dist/types/tool-manifest.js +37 -0
- package/dist/types/tool-manifest.js.map +1 -0
- package/dist/utils/atomic-file.d.ts +50 -0
- package/dist/utils/atomic-file.d.ts.map +1 -0
- package/dist/utils/atomic-file.js +217 -0
- package/dist/utils/atomic-file.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/json-validator.d.ts +40 -0
- package/dist/utils/json-validator.d.ts.map +1 -0
- package/dist/utils/json-validator.js +295 -0
- package/dist/utils/json-validator.js.map +1 -0
- package/dist/utils/ref-id-manager.d.ts +26 -0
- package/dist/utils/ref-id-manager.d.ts.map +1 -0
- package/dist/utils/ref-id-manager.js +81 -0
- package/dist/utils/ref-id-manager.js.map +1 -0
- package/dist/utils/request-queue.d.ts +37 -0
- package/dist/utils/request-queue.d.ts.map +1 -0
- package/dist/utils/request-queue.js +110 -0
- package/dist/utils/request-queue.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToolRoutingRegistry = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Static mapping of all tool names to their backend routing preference.
|
|
6
|
+
*
|
|
7
|
+
* chrome-only: Tools that require Chrome capabilities (screenshots, PDF).
|
|
8
|
+
* prefer-lightpanda: Tools that can run on Lightpanda for better performance.
|
|
9
|
+
*/
|
|
10
|
+
const TOOL_ROUTING_MAP = {
|
|
11
|
+
// Chrome-only tools (visual capabilities)
|
|
12
|
+
computer: 'chrome-only',
|
|
13
|
+
page_pdf: 'chrome-only',
|
|
14
|
+
// Core tools - prefer-lightpanda
|
|
15
|
+
navigate: 'prefer-lightpanda',
|
|
16
|
+
read_page: 'prefer-lightpanda',
|
|
17
|
+
find: 'prefer-lightpanda',
|
|
18
|
+
form_input: 'prefer-lightpanda',
|
|
19
|
+
javascript_tool: 'prefer-lightpanda',
|
|
20
|
+
network: 'prefer-lightpanda',
|
|
21
|
+
// Phase 1 tools - prefer-lightpanda
|
|
22
|
+
page_reload: 'prefer-lightpanda',
|
|
23
|
+
cookies: 'prefer-lightpanda',
|
|
24
|
+
selector_query: 'prefer-lightpanda',
|
|
25
|
+
page_content: 'prefer-lightpanda',
|
|
26
|
+
wait_for: 'prefer-lightpanda',
|
|
27
|
+
storage: 'prefer-lightpanda',
|
|
28
|
+
// Phase 2 tools - prefer-lightpanda
|
|
29
|
+
user_agent: 'prefer-lightpanda',
|
|
30
|
+
geolocation: 'prefer-lightpanda',
|
|
31
|
+
emulate_device: 'prefer-lightpanda',
|
|
32
|
+
console_capture: 'prefer-lightpanda',
|
|
33
|
+
performance_metrics: 'prefer-lightpanda',
|
|
34
|
+
request_intercept: 'prefer-lightpanda',
|
|
35
|
+
// Phase 3 tools - prefer-lightpanda
|
|
36
|
+
xpath_query: 'prefer-lightpanda',
|
|
37
|
+
file_upload: 'prefer-lightpanda',
|
|
38
|
+
http_auth: 'prefer-lightpanda',
|
|
39
|
+
drag_drop: 'prefer-lightpanda',
|
|
40
|
+
// UX composite tools - prefer-lightpanda
|
|
41
|
+
click_element: 'prefer-lightpanda',
|
|
42
|
+
fill_form: 'prefer-lightpanda',
|
|
43
|
+
wait_and_click: 'prefer-lightpanda',
|
|
44
|
+
// Tab management tools - prefer-lightpanda
|
|
45
|
+
tabs_context: 'prefer-lightpanda',
|
|
46
|
+
tabs_create: 'prefer-lightpanda',
|
|
47
|
+
tabs_close: 'prefer-lightpanda',
|
|
48
|
+
// Worker management tools - prefer-lightpanda
|
|
49
|
+
worker_create: 'prefer-lightpanda',
|
|
50
|
+
worker_list: 'prefer-lightpanda',
|
|
51
|
+
worker_delete: 'prefer-lightpanda',
|
|
52
|
+
// Orchestration tools - prefer-lightpanda
|
|
53
|
+
workflow_init: 'prefer-lightpanda',
|
|
54
|
+
workflow_status: 'prefer-lightpanda',
|
|
55
|
+
workflow_collect: 'prefer-lightpanda',
|
|
56
|
+
workflow_cleanup: 'prefer-lightpanda',
|
|
57
|
+
};
|
|
58
|
+
class ToolRoutingRegistry {
|
|
59
|
+
/**
|
|
60
|
+
* Returns the routing preference for a given tool name.
|
|
61
|
+
* Unknown tools default to 'chrome-only' as a safe fallback.
|
|
62
|
+
*/
|
|
63
|
+
static getRouting(toolName) {
|
|
64
|
+
return TOOL_ROUTING_MAP[toolName] ?? 'chrome-only';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Returns true if the tool requires Chrome (screenshot/PDF capability).
|
|
68
|
+
*/
|
|
69
|
+
static isVisualTool(toolName) {
|
|
70
|
+
return TOOL_ROUTING_MAP[toolName] === 'chrome-only';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Returns the list of all chrome-only tool names.
|
|
74
|
+
*/
|
|
75
|
+
static getChromeOnlyTools() {
|
|
76
|
+
return Object.entries(TOOL_ROUTING_MAP)
|
|
77
|
+
.filter(([, routing]) => routing === 'chrome-only')
|
|
78
|
+
.map(([name]) => name);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns the list of all prefer-lightpanda tool names.
|
|
82
|
+
*/
|
|
83
|
+
static getPreferLightpandaTools() {
|
|
84
|
+
return Object.entries(TOOL_ROUTING_MAP)
|
|
85
|
+
.filter(([, routing]) => routing === 'prefer-lightpanda')
|
|
86
|
+
.map(([name]) => name);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.ToolRoutingRegistry = ToolRoutingRegistry;
|
|
90
|
+
//# sourceMappingURL=tool-routing-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-routing-registry.js","sourceRoot":"","sources":["../../src/router/tool-routing-registry.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,MAAM,gBAAgB,GAAgC;IACpD,0CAA0C;IAC1C,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,aAAa;IAEvB,iCAAiC;IACjC,QAAQ,EAAE,mBAAmB;IAC7B,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,mBAAmB;IACzB,UAAU,EAAE,mBAAmB;IAC/B,eAAe,EAAE,mBAAmB;IACpC,OAAO,EAAE,mBAAmB;IAE5B,oCAAoC;IACpC,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,mBAAmB;IAC5B,cAAc,EAAE,mBAAmB;IACnC,YAAY,EAAE,mBAAmB;IACjC,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,mBAAmB;IAE5B,oCAAoC;IACpC,UAAU,EAAE,mBAAmB;IAC/B,WAAW,EAAE,mBAAmB;IAChC,cAAc,EAAE,mBAAmB;IACnC,eAAe,EAAE,mBAAmB;IACpC,mBAAmB,EAAE,mBAAmB;IACxC,iBAAiB,EAAE,mBAAmB;IAEtC,oCAAoC;IACpC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAE9B,yCAAyC;IACzC,aAAa,EAAE,mBAAmB;IAClC,SAAS,EAAE,mBAAmB;IAC9B,cAAc,EAAE,mBAAmB;IAEnC,2CAA2C;IAC3C,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,mBAAmB;IAChC,UAAU,EAAE,mBAAmB;IAE/B,8CAA8C;IAC9C,aAAa,EAAE,mBAAmB;IAClC,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,mBAAmB;IAElC,0CAA0C;IAC1C,aAAa,EAAE,mBAAmB;IAClC,eAAe,EAAE,mBAAmB;IACpC,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEF,MAAa,mBAAmB;IAC9B;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,QAAgB;QAChC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC;aAClD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,mBAAmB,CAAC;aACxD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AAjCD,kDAiCC"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Manager - Manages lifecycle of parallel Claude Code sessions
|
|
3
|
+
* Supports multiple Workers within a single session for parallel browser operations
|
|
4
|
+
*/
|
|
5
|
+
import { Page } from 'puppeteer-core';
|
|
6
|
+
import { Session, SessionInfo, SessionCreateOptions, SessionEvent, Worker, WorkerInfo, WorkerCreateOptions } from './types/session';
|
|
7
|
+
import { CDPClient } from './cdp/client';
|
|
8
|
+
import { PoolStats } from './cdp/connection-pool';
|
|
9
|
+
import { BrowserRouter } from './router';
|
|
10
|
+
import { HybridConfig } from './types/browser-backend';
|
|
11
|
+
export interface SessionManagerConfig {
|
|
12
|
+
/** Session TTL in milliseconds (default: 30 minutes) */
|
|
13
|
+
sessionTTL?: number;
|
|
14
|
+
/** Auto-cleanup interval in milliseconds (default: 1 minute) */
|
|
15
|
+
cleanupInterval?: number;
|
|
16
|
+
/** Enable auto-cleanup (default: true) */
|
|
17
|
+
autoCleanup?: boolean;
|
|
18
|
+
/** Maximum number of sessions (default: 100) */
|
|
19
|
+
maxSessions?: number;
|
|
20
|
+
/** Maximum workers per session (default: 20) */
|
|
21
|
+
maxWorkersPerSession?: number;
|
|
22
|
+
/** Use connection pool for page management (default: false for worker isolation) */
|
|
23
|
+
useConnectionPool?: boolean;
|
|
24
|
+
/** Use default browser context (shares cookies/sessions with Chrome profile) */
|
|
25
|
+
useDefaultContext?: boolean;
|
|
26
|
+
/** Enable Chrome pool for origin-aware instance distribution (default: false) */
|
|
27
|
+
usePool?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface SessionManagerStats {
|
|
30
|
+
activeSessions: number;
|
|
31
|
+
totalTargets: number;
|
|
32
|
+
totalWorkers: number;
|
|
33
|
+
totalSessionsCreated: number;
|
|
34
|
+
totalSessionsCleaned: number;
|
|
35
|
+
uptime: number;
|
|
36
|
+
lastCleanup: number | null;
|
|
37
|
+
memoryUsage: number;
|
|
38
|
+
connectionPool?: PoolStats;
|
|
39
|
+
}
|
|
40
|
+
export declare class SessionManager {
|
|
41
|
+
private sessions;
|
|
42
|
+
private targetToWorker;
|
|
43
|
+
private cdpClient;
|
|
44
|
+
private connectionPool;
|
|
45
|
+
private chromePool;
|
|
46
|
+
private cdpFactory;
|
|
47
|
+
private queueManager;
|
|
48
|
+
private eventListeners;
|
|
49
|
+
private browserRouter;
|
|
50
|
+
private config;
|
|
51
|
+
private cleanupTimer;
|
|
52
|
+
private startTime;
|
|
53
|
+
private totalSessionsCreated;
|
|
54
|
+
private totalSessionsCleaned;
|
|
55
|
+
private lastCleanupTime;
|
|
56
|
+
constructor(cdpClient?: CDPClient, config?: SessionManagerConfig);
|
|
57
|
+
/**
|
|
58
|
+
* Get the CDPClient for a specific worker (may be on a different Chrome instance)
|
|
59
|
+
*/
|
|
60
|
+
private getCDPClientForWorker;
|
|
61
|
+
/**
|
|
62
|
+
* Start automatic cleanup interval
|
|
63
|
+
*/
|
|
64
|
+
private startAutoCleanup;
|
|
65
|
+
/**
|
|
66
|
+
* Stop automatic cleanup
|
|
67
|
+
*/
|
|
68
|
+
stopAutoCleanup(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Get session manager statistics
|
|
71
|
+
*/
|
|
72
|
+
getStats(): SessionManagerStats;
|
|
73
|
+
/**
|
|
74
|
+
* Get current configuration
|
|
75
|
+
*/
|
|
76
|
+
getConfig(): Required<SessionManagerConfig>;
|
|
77
|
+
/**
|
|
78
|
+
* Update configuration
|
|
79
|
+
*/
|
|
80
|
+
updateConfig(config: Partial<SessionManagerConfig>): void;
|
|
81
|
+
/**
|
|
82
|
+
* Ensure connected to Chrome
|
|
83
|
+
*/
|
|
84
|
+
ensureConnected(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new session with a default worker
|
|
87
|
+
*/
|
|
88
|
+
createSession(options?: SessionCreateOptions): Promise<Session>;
|
|
89
|
+
/**
|
|
90
|
+
* Get or create a session
|
|
91
|
+
*/
|
|
92
|
+
getOrCreateSession(sessionId: string): Promise<Session>;
|
|
93
|
+
/**
|
|
94
|
+
* Get an existing session
|
|
95
|
+
*/
|
|
96
|
+
getSession(sessionId: string): Session | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Update last activity timestamp
|
|
99
|
+
*/
|
|
100
|
+
touchSession(sessionId: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* Delete a session and clean up all workers
|
|
103
|
+
*/
|
|
104
|
+
deleteSession(sessionId: string): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Clean up inactive sessions
|
|
107
|
+
*/
|
|
108
|
+
cleanupInactiveSessions(maxAgeMs: number): Promise<string[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Force cleanup all sessions
|
|
111
|
+
*/
|
|
112
|
+
cleanupAllSessions(): Promise<number>;
|
|
113
|
+
/**
|
|
114
|
+
* Create a new worker within a session
|
|
115
|
+
* Each worker has its own isolated browser context (cookies, localStorage, etc.)
|
|
116
|
+
*/
|
|
117
|
+
createWorker(sessionId: string, options?: WorkerCreateOptions): Promise<Worker>;
|
|
118
|
+
/**
|
|
119
|
+
* Get a worker by ID
|
|
120
|
+
*/
|
|
121
|
+
getWorker(sessionId: string, workerId: string): Worker | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Get or create a worker
|
|
124
|
+
*/
|
|
125
|
+
getOrCreateWorker(sessionId: string, workerId?: string): Promise<Worker>;
|
|
126
|
+
/**
|
|
127
|
+
* List all workers in a session
|
|
128
|
+
*/
|
|
129
|
+
getWorkers(sessionId: string): WorkerInfo[];
|
|
130
|
+
/**
|
|
131
|
+
* Delete a worker and its resources
|
|
132
|
+
*/
|
|
133
|
+
deleteWorker(sessionId: string, workerId: string): Promise<void>;
|
|
134
|
+
/**
|
|
135
|
+
* Internal worker deletion (also used for cleanup)
|
|
136
|
+
*/
|
|
137
|
+
private deleteWorkerInternal;
|
|
138
|
+
/**
|
|
139
|
+
* Create a new page/target for a worker
|
|
140
|
+
* @param sessionId Session ID
|
|
141
|
+
* @param url Optional URL to navigate to
|
|
142
|
+
* @param workerId Optional worker ID (uses default worker if not specified)
|
|
143
|
+
*/
|
|
144
|
+
createTarget(sessionId: string, url?: string, workerId?: string): Promise<{
|
|
145
|
+
targetId: string;
|
|
146
|
+
page: Page;
|
|
147
|
+
workerId: string;
|
|
148
|
+
}>;
|
|
149
|
+
/**
|
|
150
|
+
* Register a pre-acquired page as a target for a worker.
|
|
151
|
+
* Used by workflow engine when pages are batch-acquired from the pool
|
|
152
|
+
* to avoid per-page replenishment (about:blank proliferation fix).
|
|
153
|
+
*/
|
|
154
|
+
registerExistingTarget(sessionId: string, workerId: string, targetId: string): void;
|
|
155
|
+
/**
|
|
156
|
+
* Check if a target is still valid (page not closed)
|
|
157
|
+
*/
|
|
158
|
+
isTargetValid(targetId: string): Promise<boolean>;
|
|
159
|
+
/**
|
|
160
|
+
* Get page for a target
|
|
161
|
+
* @param sessionId Session ID
|
|
162
|
+
* @param targetId Target/Tab ID
|
|
163
|
+
* @param workerId Optional worker ID for validation
|
|
164
|
+
* @param toolName Optional MCP tool name for hybrid BrowserRouter routing
|
|
165
|
+
*/
|
|
166
|
+
getPage(sessionId: string, targetId: string, workerId?: string, toolName?: string): Promise<Page | null>;
|
|
167
|
+
/**
|
|
168
|
+
* Get all pages for a worker
|
|
169
|
+
*/
|
|
170
|
+
getWorkerPages(sessionId: string, workerId: string): Promise<Page[]>;
|
|
171
|
+
/**
|
|
172
|
+
* Get target IDs for a session (all workers)
|
|
173
|
+
*/
|
|
174
|
+
getSessionTargetIds(sessionId: string): string[];
|
|
175
|
+
/**
|
|
176
|
+
* Get target IDs for a specific worker
|
|
177
|
+
*/
|
|
178
|
+
getWorkerTargetIds(sessionId: string, workerId: string): string[];
|
|
179
|
+
/**
|
|
180
|
+
* Validate target ownership (legacy method, checks session only)
|
|
181
|
+
*/
|
|
182
|
+
validateTargetOwnership(sessionId: string, targetId: string): boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Get the worker ID that owns a target
|
|
185
|
+
*/
|
|
186
|
+
getTargetWorkerId(targetId: string): string | undefined;
|
|
187
|
+
/**
|
|
188
|
+
* Close a specific target/tab
|
|
189
|
+
* @param sessionId Session ID
|
|
190
|
+
* @param targetId Target/Tab ID to close
|
|
191
|
+
* @returns true if closed, false if not found
|
|
192
|
+
*/
|
|
193
|
+
closeTarget(sessionId: string, targetId: string): Promise<boolean>;
|
|
194
|
+
/**
|
|
195
|
+
* Close all tabs in a worker (without deleting the worker)
|
|
196
|
+
* @param sessionId Session ID
|
|
197
|
+
* @param workerId Worker ID
|
|
198
|
+
* @returns Number of tabs closed
|
|
199
|
+
*/
|
|
200
|
+
closeWorkerTabs(sessionId: string, workerId: string): Promise<number>;
|
|
201
|
+
/**
|
|
202
|
+
* Execute a CDP command through the session's queue
|
|
203
|
+
*/
|
|
204
|
+
executeCDP<T = unknown>(sessionId: string, targetId: string, method: string, params?: Record<string, unknown>): Promise<T>;
|
|
205
|
+
/**
|
|
206
|
+
* Handle target closed event
|
|
207
|
+
*/
|
|
208
|
+
onTargetClosed(targetId: string): void;
|
|
209
|
+
/**
|
|
210
|
+
* Get session info (for serialization)
|
|
211
|
+
*/
|
|
212
|
+
getSessionInfo(sessionId: string): SessionInfo | undefined;
|
|
213
|
+
/**
|
|
214
|
+
* Get all session infos
|
|
215
|
+
*/
|
|
216
|
+
getAllSessionInfos(): SessionInfo[];
|
|
217
|
+
/**
|
|
218
|
+
* Add event listener
|
|
219
|
+
*/
|
|
220
|
+
addEventListener(listener: (event: SessionEvent) => void): void;
|
|
221
|
+
/**
|
|
222
|
+
* Remove event listener
|
|
223
|
+
*/
|
|
224
|
+
removeEventListener(listener: (event: SessionEvent) => void): void;
|
|
225
|
+
/**
|
|
226
|
+
* Emit event to all listeners
|
|
227
|
+
*/
|
|
228
|
+
private emitEvent;
|
|
229
|
+
/**
|
|
230
|
+
* Get the number of active sessions
|
|
231
|
+
*/
|
|
232
|
+
get sessionCount(): number;
|
|
233
|
+
/**
|
|
234
|
+
* Get CDPClient
|
|
235
|
+
*/
|
|
236
|
+
getCDPClient(): CDPClient;
|
|
237
|
+
/**
|
|
238
|
+
* Initialize hybrid mode with BrowserRouter
|
|
239
|
+
*/
|
|
240
|
+
initHybrid(config: HybridConfig): Promise<void>;
|
|
241
|
+
/**
|
|
242
|
+
* Get the BrowserRouter (for stats/escalation)
|
|
243
|
+
*/
|
|
244
|
+
getBrowserRouter(): BrowserRouter | null;
|
|
245
|
+
/**
|
|
246
|
+
* Cleanup hybrid mode
|
|
247
|
+
*/
|
|
248
|
+
cleanupHybrid(): Promise<void>;
|
|
249
|
+
}
|
|
250
|
+
export declare function getSessionManager(): SessionManager;
|
|
251
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|