@vibesdotdev/control 0.0.0-stage → 1.0.0-rc.2
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 +18 -0
- package/README.md +90 -2
- package/dist/browser/browser.cloud.plugin.d.ts +21 -0
- package/dist/browser/browser.cloud.plugin.d.ts.map +1 -0
- package/dist/browser/browser.cloud.plugin.js +37 -0
- package/dist/browser/browser.cloud.plugin.js.map +1 -0
- package/dist/browser/browser.consumer.plugin.d.ts +4 -0
- package/dist/browser/browser.consumer.plugin.d.ts.map +1 -0
- package/dist/browser/browser.consumer.plugin.js +77 -0
- package/dist/browser/browser.consumer.plugin.js.map +1 -0
- package/dist/browser/browser.plugin.d.ts +3 -0
- package/dist/browser/browser.plugin.d.ts.map +1 -0
- package/dist/browser/browser.plugin.js +3 -0
- package/dist/browser/browser.plugin.js.map +1 -0
- package/dist/browser/bun/webview.backend.d.ts +23 -0
- package/dist/browser/bun/webview.backend.d.ts.map +1 -0
- package/dist/browser/bun/webview.backend.js +262 -0
- package/dist/browser/bun/webview.backend.js.map +1 -0
- package/dist/browser/bun/webview.descriptor.d.ts +21 -0
- package/dist/browser/bun/webview.descriptor.d.ts.map +1 -0
- package/dist/browser/bun/webview.descriptor.js +21 -0
- package/dist/browser/bun/webview.descriptor.js.map +1 -0
- package/dist/browser/bun/webview.plugin.d.ts +3 -0
- package/dist/browser/bun/webview.plugin.d.ts.map +1 -0
- package/dist/browser/bun/webview.plugin.js +24 -0
- package/dist/browser/bun/webview.plugin.js.map +1 -0
- package/dist/browser/client/browser-client.d.ts +92 -0
- package/dist/browser/client/browser-client.d.ts.map +1 -0
- package/dist/browser/client/browser-client.js +138 -0
- package/dist/browser/client/browser-client.js.map +1 -0
- package/dist/browser/client/workspace-client.d.ts +29 -0
- package/dist/browser/client/workspace-client.d.ts.map +1 -0
- package/dist/browser/client/workspace-client.js +38 -0
- package/dist/browser/client/workspace-client.js.map +1 -0
- package/dist/browser/contracts.d.ts +246 -0
- package/dist/browser/contracts.d.ts.map +1 -0
- package/dist/browser/contracts.js +38 -0
- package/dist/browser/contracts.js.map +1 -0
- package/dist/browser/index.d.ts +6 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +7 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/plugin.d.ts +3 -0
- package/dist/browser/plugin.d.ts.map +1 -0
- package/dist/browser/plugin.js +3 -0
- package/dist/browser/plugin.js.map +1 -0
- package/dist/browser/runtime/backend/kind.d.ts +23 -0
- package/dist/browser/runtime/backend/kind.d.ts.map +1 -0
- package/dist/browser/runtime/backend/kind.js +12 -0
- package/dist/browser/runtime/backend/kind.js.map +1 -0
- package/dist/browser/runtime/backend/playwright.descriptor.d.ts +20 -0
- package/dist/browser/runtime/backend/playwright.descriptor.d.ts.map +1 -0
- package/dist/browser/runtime/backend/playwright.descriptor.js +20 -0
- package/dist/browser/runtime/backend/playwright.descriptor.js.map +1 -0
- package/dist/browser/runtime/backend/resolve.d.ts +8 -0
- package/dist/browser/runtime/backend/resolve.d.ts.map +1 -0
- package/dist/browser/runtime/backend/resolve.js +43 -0
- package/dist/browser/runtime/backend/resolve.js.map +1 -0
- package/dist/browser/runtime/backend/types.d.ts +12 -0
- package/dist/browser/runtime/backend/types.d.ts.map +1 -0
- package/dist/browser/runtime/backend/types.js +12 -0
- package/dist/browser/runtime/backend/types.js.map +1 -0
- package/dist/browser/runtime/backends/playwright.backend.d.ts +71 -0
- package/dist/browser/runtime/backends/playwright.backend.d.ts.map +1 -0
- package/dist/browser/runtime/backends/playwright.backend.js +177 -0
- package/dist/browser/runtime/backends/playwright.backend.js.map +1 -0
- package/dist/browser/runtime/index.d.ts +3 -0
- package/dist/browser/runtime/index.d.ts.map +1 -0
- package/dist/browser/runtime/index.js +2 -0
- package/dist/browser/runtime/index.js.map +1 -0
- package/dist/browser/runtime/launcher.d.ts +18 -0
- package/dist/browser/runtime/launcher.d.ts.map +1 -0
- package/dist/browser/runtime/launcher.js +123 -0
- package/dist/browser/runtime/launcher.js.map +1 -0
- package/dist/browser/runtime/manager-host.d.ts +22 -0
- package/dist/browser/runtime/manager-host.d.ts.map +1 -0
- package/dist/browser/runtime/manager-host.js +102 -0
- package/dist/browser/runtime/manager-host.js.map +1 -0
- package/dist/browser/runtime/manager.context.d.ts +19 -0
- package/dist/browser/runtime/manager.context.d.ts.map +1 -0
- package/dist/browser/runtime/manager.context.descriptor.d.ts +30 -0
- package/dist/browser/runtime/manager.context.descriptor.d.ts.map +1 -0
- package/dist/browser/runtime/manager.context.descriptor.js +7 -0
- package/dist/browser/runtime/manager.context.descriptor.js.map +1 -0
- package/dist/browser/runtime/manager.context.impl.consumer.d.ts +6 -0
- package/dist/browser/runtime/manager.context.impl.consumer.d.ts.map +1 -0
- package/dist/browser/runtime/manager.context.impl.consumer.js +7 -0
- package/dist/browser/runtime/manager.context.impl.consumer.js.map +1 -0
- package/dist/browser/runtime/manager.context.js +19 -0
- package/dist/browser/runtime/manager.context.js.map +1 -0
- package/dist/browser/runtime/manager.d.ts +97 -0
- package/dist/browser/runtime/manager.d.ts.map +1 -0
- package/dist/browser/runtime/manager.js +731 -0
- package/dist/browser/runtime/manager.js.map +1 -0
- package/dist/browser/runtime/safe-url.d.ts +27 -0
- package/dist/browser/runtime/safe-url.d.ts.map +1 -0
- package/dist/browser/runtime/safe-url.js +77 -0
- package/dist/browser/runtime/safe-url.js.map +1 -0
- package/dist/browser/runtime/session-lease.d.ts +24 -0
- package/dist/browser/runtime/session-lease.d.ts.map +1 -0
- package/dist/browser/runtime/session-lease.js +65 -0
- package/dist/browser/runtime/session-lease.js.map +1 -0
- package/dist/browser/runtime/step-executor.d.ts +14 -0
- package/dist/browser/runtime/step-executor.d.ts.map +1 -0
- package/dist/browser/runtime/step-executor.js +97 -0
- package/dist/browser/runtime/step-executor.js.map +1 -0
- package/dist/browser/runtime/types.d.ts +54 -0
- package/dist/browser/runtime/types.d.ts.map +1 -0
- package/dist/browser/runtime/types.js +5 -0
- package/dist/browser/runtime/types.js.map +1 -0
- package/dist/browser/schemas/backend.d.ts +79 -0
- package/dist/browser/schemas/backend.d.ts.map +1 -0
- package/dist/browser/schemas/backend.js +33 -0
- package/dist/browser/schemas/backend.js.map +1 -0
- package/dist/browser/schemas/cli.d.ts +55 -0
- package/dist/browser/schemas/cli.d.ts.map +1 -0
- package/dist/browser/schemas/cli.js +37 -0
- package/dist/browser/schemas/cli.js.map +1 -0
- package/dist/browser/schemas/client.d.ts +28 -0
- package/dist/browser/schemas/client.d.ts.map +1 -0
- package/dist/browser/schemas/client.js +7 -0
- package/dist/browser/schemas/client.js.map +1 -0
- package/dist/browser/schemas/page.d.ts +71 -0
- package/dist/browser/schemas/page.d.ts.map +1 -0
- package/dist/browser/schemas/page.js +32 -0
- package/dist/browser/schemas/page.js.map +1 -0
- package/dist/browser/schemas/profile.d.ts +14 -0
- package/dist/browser/schemas/profile.d.ts.map +1 -0
- package/dist/browser/schemas/profile.js +14 -0
- package/dist/browser/schemas/profile.js.map +1 -0
- package/dist/browser/schemas/recipe.d.ts +218 -0
- package/dist/browser/schemas/recipe.d.ts.map +1 -0
- package/dist/browser/schemas/recipe.js +91 -0
- package/dist/browser/schemas/recipe.js.map +1 -0
- package/dist/browser/schemas/session.d.ts +42 -0
- package/dist/browser/schemas/session.d.ts.map +1 -0
- package/dist/browser/schemas/session.js +22 -0
- package/dist/browser/schemas/session.js.map +1 -0
- package/dist/browser/schemas/tab.d.ts +38 -0
- package/dist/browser/schemas/tab.d.ts.map +1 -0
- package/dist/browser/schemas/tab.js +20 -0
- package/dist/browser/schemas/tab.js.map +1 -0
- package/dist/browser/schemas/tool-card.d.ts +68 -0
- package/dist/browser/schemas/tool-card.d.ts.map +1 -0
- package/dist/browser/schemas/tool-card.js +29 -0
- package/dist/browser/schemas/tool-card.js.map +1 -0
- package/dist/browser/schemas/webview.d.ts +40 -0
- package/dist/browser/schemas/webview.d.ts.map +1 -0
- package/dist/browser/schemas/webview.js +5 -0
- package/dist/browser/schemas/webview.js.map +1 -0
- package/dist/browser/schemas/workspace.d.ts +8 -0
- package/dist/browser/schemas/workspace.d.ts.map +1 -0
- package/dist/browser/schemas/workspace.js +7 -0
- package/dist/browser/schemas/workspace.js.map +1 -0
- package/dist/browser/shared/ai-client.d.ts +26 -0
- package/dist/browser/shared/ai-client.d.ts.map +1 -0
- package/dist/browser/shared/ai-client.js +27 -0
- package/dist/browser/shared/ai-client.js.map +1 -0
- package/dist/browser/shared/ai-request.d.ts +26 -0
- package/dist/browser/shared/ai-request.d.ts.map +1 -0
- package/dist/browser/shared/ai-request.js +32 -0
- package/dist/browser/shared/ai-request.js.map +1 -0
- package/dist/browser/shared/cleanup.d.ts +5 -0
- package/dist/browser/shared/cleanup.d.ts.map +1 -0
- package/dist/browser/shared/cleanup.js +15 -0
- package/dist/browser/shared/cleanup.js.map +1 -0
- package/dist/browser/shared/constants.d.ts +19 -0
- package/dist/browser/shared/constants.d.ts.map +1 -0
- package/dist/browser/shared/constants.js +13 -0
- package/dist/browser/shared/constants.js.map +1 -0
- package/dist/browser/shared/json.d.ts +5 -0
- package/dist/browser/shared/json.d.ts.map +1 -0
- package/dist/browser/shared/json.js +3 -0
- package/dist/browser/shared/json.js.map +1 -0
- package/dist/browser/shared/paths.d.ts +33 -0
- package/dist/browser/shared/paths.d.ts.map +1 -0
- package/dist/browser/shared/paths.js +55 -0
- package/dist/browser/shared/paths.js.map +1 -0
- package/dist/browser/shared/steps.d.ts +82 -0
- package/dist/browser/shared/steps.d.ts.map +1 -0
- package/dist/browser/shared/steps.js +88 -0
- package/dist/browser/shared/steps.js.map +1 -0
- package/dist/browser/shared/storage-state.d.ts +23 -0
- package/dist/browser/shared/storage-state.d.ts.map +1 -0
- package/dist/browser/shared/storage-state.js +5 -0
- package/dist/browser/shared/storage-state.js.map +1 -0
- package/dist/browser/shared/tool-summary.d.ts +48 -0
- package/dist/browser/shared/tool-summary.d.ts.map +1 -0
- package/dist/browser/shared/tool-summary.js +183 -0
- package/dist/browser/shared/tool-summary.js.map +1 -0
- package/dist/browser/storage/browser-profile.record.descriptor.d.ts +28 -0
- package/dist/browser/storage/browser-profile.record.descriptor.d.ts.map +1 -0
- package/dist/browser/storage/browser-profile.record.descriptor.js +129 -0
- package/dist/browser/storage/browser-profile.record.descriptor.js.map +1 -0
- package/dist/browser/storage/browser-recipe.record.descriptor.d.ts +29 -0
- package/dist/browser/storage/browser-recipe.record.descriptor.d.ts.map +1 -0
- package/dist/browser/storage/browser-recipe.record.descriptor.js +103 -0
- package/dist/browser/storage/browser-recipe.record.descriptor.js.map +1 -0
- package/dist/browser/storage/browser-session.record.descriptor.d.ts +28 -0
- package/dist/browser/storage/browser-session.record.descriptor.d.ts.map +1 -0
- package/dist/browser/storage/browser-session.record.descriptor.js +147 -0
- package/dist/browser/storage/browser-session.record.descriptor.js.map +1 -0
- package/dist/browser/storage/browser-tab.record.descriptor.d.ts +28 -0
- package/dist/browser/storage/browser-tab.record.descriptor.d.ts.map +1 -0
- package/dist/browser/storage/browser-tab.record.descriptor.js +153 -0
- package/dist/browser/storage/browser-tab.record.descriptor.js.map +1 -0
- package/dist/browser/storage/database.d.ts +9 -0
- package/dist/browser/storage/database.d.ts.map +1 -0
- package/dist/browser/storage/database.js +16 -0
- package/dist/browser/storage/database.js.map +1 -0
- package/dist/browser/storage/index.d.ts +6 -0
- package/dist/browser/storage/index.d.ts.map +1 -0
- package/dist/browser/storage/index.js +5 -0
- package/dist/browser/storage/index.js.map +1 -0
- package/dist/browser/storage/types.d.ts +78 -0
- package/dist/browser/storage/types.d.ts.map +1 -0
- package/dist/browser/storage/types.js +5 -0
- package/dist/browser/storage/types.js.map +1 -0
- package/dist/browser/tools/cdp/implementation.d.ts +6 -0
- package/dist/browser/tools/cdp/implementation.d.ts.map +1 -0
- package/dist/browser/tools/cdp/implementation.js +20 -0
- package/dist/browser/tools/cdp/implementation.js.map +1 -0
- package/dist/browser/tools/control/implementation.d.ts +7 -0
- package/dist/browser/tools/control/implementation.d.ts.map +1 -0
- package/dist/browser/tools/control/implementation.js +185 -0
- package/dist/browser/tools/control/implementation.js.map +1 -0
- package/dist/browser/tools/control/prompts/index.d.ts +113 -0
- package/dist/browser/tools/control/prompts/index.d.ts.map +1 -0
- package/dist/browser/tools/control/prompts/index.js +5 -0
- package/dist/browser/tools/control/prompts/index.js.map +1 -0
- package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.d.ts +114 -0
- package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.d.ts.map +1 -0
- package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.js +57 -0
- package/dist/browser/tools/control/prompts/plan-request.prompt.descriptor.js.map +1 -0
- package/dist/browser/tools/control/prompts/planner.prompt.descriptor.d.ts +113 -0
- package/dist/browser/tools/control/prompts/planner.prompt.descriptor.d.ts.map +1 -0
- package/dist/browser/tools/control/prompts/planner.prompt.descriptor.js +15 -0
- package/dist/browser/tools/control/prompts/planner.prompt.descriptor.js.map +1 -0
- package/dist/browser/tools/control/schemas.d.ts +220 -0
- package/dist/browser/tools/control/schemas.d.ts.map +1 -0
- package/dist/browser/tools/control/schemas.js +49 -0
- package/dist/browser/tools/control/schemas.js.map +1 -0
- package/dist/browser/tools/direct/implementation.d.ts +7 -0
- package/dist/browser/tools/direct/implementation.d.ts.map +1 -0
- package/dist/browser/tools/direct/implementation.js +63 -0
- package/dist/browser/tools/direct/implementation.js.map +1 -0
- package/dist/browser/tools/direct/schemas.d.ts +209 -0
- package/dist/browser/tools/direct/schemas.d.ts.map +1 -0
- package/dist/browser/tools/direct/schemas.js +68 -0
- package/dist/browser/tools/direct/schemas.js.map +1 -0
- package/dist/browser/tools/index.d.ts +9 -0
- package/dist/browser/tools/index.d.ts.map +1 -0
- package/dist/browser/tools/index.js +9 -0
- package/dist/browser/tools/index.js.map +1 -0
- package/dist/browser/tools/observe/implementation.d.ts +7 -0
- package/dist/browser/tools/observe/implementation.d.ts.map +1 -0
- package/dist/browser/tools/observe/implementation.js +59 -0
- package/dist/browser/tools/observe/implementation.js.map +1 -0
- package/dist/browser/tools/observe/schemas.d.ts +63 -0
- package/dist/browser/tools/observe/schemas.d.ts.map +1 -0
- package/dist/browser/tools/observe/schemas.js +38 -0
- package/dist/browser/tools/observe/schemas.js.map +1 -0
- package/dist/browser/tools/observe/vision.d.ts +21 -0
- package/dist/browser/tools/observe/vision.d.ts.map +1 -0
- package/dist/browser/tools/observe/vision.js +73 -0
- package/dist/browser/tools/observe/vision.js.map +1 -0
- package/dist/browser/tools/recipe/implementation.d.ts +4 -0
- package/dist/browser/tools/recipe/implementation.d.ts.map +1 -0
- package/dist/browser/tools/recipe/implementation.js +259 -0
- package/dist/browser/tools/recipe/implementation.js.map +1 -0
- package/dist/browser/tools/recipe/schemas.d.ts +646 -0
- package/dist/browser/tools/recipe/schemas.d.ts.map +1 -0
- package/dist/browser/tools/recipe/schemas.js +126 -0
- package/dist/browser/tools/recipe/schemas.js.map +1 -0
- package/dist/browser/tools/session/implementation.d.ts +7 -0
- package/dist/browser/tools/session/implementation.d.ts.map +1 -0
- package/dist/browser/tools/session/implementation.js +111 -0
- package/dist/browser/tools/session/implementation.js.map +1 -0
- package/dist/browser/tools/session/index.d.ts +5 -0
- package/dist/browser/tools/session/index.d.ts.map +1 -0
- package/dist/browser/tools/session/index.js +6 -0
- package/dist/browser/tools/session/index.js.map +1 -0
- package/dist/browser/tools/session/schemas.d.ts +78 -0
- package/dist/browser/tools/session/schemas.d.ts.map +1 -0
- package/dist/browser/tools/session/schemas.js +60 -0
- package/dist/browser/tools/session/schemas.js.map +1 -0
- package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.d.ts +114 -0
- package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.d.ts.map +1 -0
- package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.js +22 -0
- package/dist/browser/tools/unified/browser-recipe.prompt.descriptor.js.map +1 -0
- package/dist/browser/tools/unified/browser.impl.cloud.d.ts +8 -0
- package/dist/browser/tools/unified/browser.impl.cloud.d.ts.map +1 -0
- package/dist/browser/tools/unified/browser.impl.cloud.js +381 -0
- package/dist/browser/tools/unified/browser.impl.cloud.js.map +1 -0
- package/dist/browser/tools/unified/browser.impl.consumer.d.ts +14 -0
- package/dist/browser/tools/unified/browser.impl.consumer.d.ts.map +1 -0
- package/dist/browser/tools/unified/browser.impl.consumer.js +87 -0
- package/dist/browser/tools/unified/browser.impl.consumer.js.map +1 -0
- package/dist/browser/tools/unified/browser.unified.descriptor.d.ts +587 -0
- package/dist/browser/tools/unified/browser.unified.descriptor.d.ts.map +1 -0
- package/dist/browser/tools/unified/browser.unified.descriptor.js +54 -0
- package/dist/browser/tools/unified/browser.unified.descriptor.js.map +1 -0
- package/dist/browser/tools/unified/execution-binding.d.ts +5 -0
- package/dist/browser/tools/unified/execution-binding.d.ts.map +1 -0
- package/dist/browser/tools/unified/execution-binding.js +51 -0
- package/dist/browser/tools/unified/execution-binding.js.map +1 -0
- package/dist/browser/tools/unified/index.d.ts +5 -0
- package/dist/browser/tools/unified/index.d.ts.map +1 -0
- package/dist/browser/tools/unified/index.js +6 -0
- package/dist/browser/tools/unified/index.js.map +1 -0
- package/dist/browser/tools/unified/scan-cache-wiring.d.ts +16 -0
- package/dist/browser/tools/unified/scan-cache-wiring.d.ts.map +1 -0
- package/dist/browser/tools/unified/scan-cache-wiring.js +87 -0
- package/dist/browser/tools/unified/scan-cache-wiring.js.map +1 -0
- package/dist/browser/tools/unified/schemas.d.ts +786 -0
- package/dist/browser/tools/unified/schemas.d.ts.map +1 -0
- package/dist/browser/tools/unified/schemas.js +354 -0
- package/dist/browser/tools/unified/schemas.js.map +1 -0
- package/dist/browser/tools/webmcp/detection-script.d.ts +19 -0
- package/dist/browser/tools/webmcp/detection-script.d.ts.map +1 -0
- package/dist/browser/tools/webmcp/detection-script.js +104 -0
- package/dist/browser/tools/webmcp/detection-script.js.map +1 -0
- package/dist/browser/tools/webmcp/implementation.d.ts +18 -0
- package/dist/browser/tools/webmcp/implementation.d.ts.map +1 -0
- package/dist/browser/tools/webmcp/implementation.js +61 -0
- package/dist/browser/tools/webmcp/implementation.js.map +1 -0
- package/dist/cli/browser/browser.cli-group.descriptor.d.ts +17 -0
- package/dist/cli/browser/browser.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/browser.cli-group.descriptor.js +17 -0
- package/dist/cli/browser/browser.cli-group.descriptor.js.map +1 -0
- package/dist/cli/browser/browser.cli.plugin.d.ts +12 -0
- package/dist/cli/browser/browser.cli.plugin.d.ts.map +1 -0
- package/dist/cli/browser/browser.cli.plugin.js +179 -0
- package/dist/cli/browser/browser.cli.plugin.js.map +1 -0
- package/dist/cli/browser/browser.recipe.cli-group.descriptor.d.ts +18 -0
- package/dist/cli/browser/browser.recipe.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/browser.recipe.cli-group.descriptor.js +18 -0
- package/dist/cli/browser/browser.recipe.cli-group.descriptor.js.map +1 -0
- package/dist/cli/browser/browser.session.cli-group.descriptor.d.ts +18 -0
- package/dist/cli/browser/browser.session.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/browser.session.cli-group.descriptor.js +18 -0
- package/dist/cli/browser/browser.session.cli-group.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.d.ts +36 -0
- package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.js +29 -0
- package/dist/cli/browser/commands/control/browser.control.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/control/browser.control.impl.d.ts +7 -0
- package/dist/cli/browser/commands/control/browser.control.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/control/browser.control.impl.js +67 -0
- package/dist/cli/browser/commands/control/browser.control.impl.js.map +1 -0
- package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.d.ts +38 -0
- package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.js +28 -0
- package/dist/cli/browser/commands/direct/browser.direct.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/direct/browser.direct.impl.d.ts +7 -0
- package/dist/cli/browser/commands/direct/browser.direct.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/direct/browser.direct.impl.js +85 -0
- package/dist/cli/browser/commands/direct/browser.direct.impl.js.map +1 -0
- package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.d.ts +30 -0
- package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.js +22 -0
- package/dist/cli/browser/commands/observe/browser.observe.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/observe/browser.observe.impl.d.ts +7 -0
- package/dist/cli/browser/commands/observe/browser.observe.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/observe/browser.observe.impl.js +59 -0
- package/dist/cli/browser/commands/observe/browser.observe.impl.js.map +1 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.d.ts +38 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.js +26 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.d.ts +7 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.js +60 -0
- package/dist/cli/browser/commands/recipe/create/browser.recipe.create.impl.js.map +1 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.d.ts +25 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.js +22 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.d.ts +7 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.js +35 -0
- package/dist/cli/browser/commands/recipe/delete/browser.recipe.delete.impl.js.map +1 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.d.ts +25 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.js +22 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.d.ts +7 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.js +88 -0
- package/dist/cli/browser/commands/recipe/get/browser.recipe.get.impl.js.map +1 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.d.ts +20 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.js +19 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.d.ts +7 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.js +34 -0
- package/dist/cli/browser/commands/recipe/list/browser.recipe.list.impl.js.map +1 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.d.ts +37 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.js +26 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.d.ts +7 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.js +88 -0
- package/dist/cli/browser/commands/recipe/run/browser.recipe.run.impl.js.map +1 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.d.ts +37 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.js +26 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.d.ts +7 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.js +63 -0
- package/dist/cli/browser/commands/recipe/update/browser.recipe.update.impl.js.map +1 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.d.ts +28 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.js +23 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.impl.d.ts +35 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.impl.js +75 -0
- package/dist/cli/browser/commands/session/close/browser.session.close.impl.js.map +1 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.d.ts +16 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.js +16 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.d.ts +7 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.js +14 -0
- package/dist/cli/browser/commands/session/dismiss/browser.session.dismiss.impl.js.map +1 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.d.ts +25 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.js +22 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.impl.d.ts +18 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.impl.js +61 -0
- package/dist/cli/browser/commands/session/get/browser.session.get.impl.js.map +1 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.d.ts +27 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.js +24 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.impl.d.ts +22 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.impl.js +73 -0
- package/dist/cli/browser/commands/session/list/browser.session.list.impl.js.map +1 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.d.ts +25 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.js +22 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.impl.d.ts +7 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.impl.js +29 -0
- package/dist/cli/browser/commands/session/present/browser.session.present.impl.js.map +1 -0
- package/dist/cli/browser/commands/session/resolve-session.d.ts +19 -0
- package/dist/cli/browser/commands/session/resolve-session.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/resolve-session.js +11 -0
- package/dist/cli/browser/commands/session/resolve-session.js.map +1 -0
- package/dist/cli/browser/commands/session/session-age.d.ts +6 -0
- package/dist/cli/browser/commands/session/session-age.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/session-age.js +34 -0
- package/dist/cli/browser/commands/session/session-age.js.map +1 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.d.ts +26 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.js +24 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.cli-command.descriptor.js.map +1 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.d.ts +32 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.d.ts.map +1 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.js +112 -0
- package/dist/cli/browser/commands/session/sweep/browser.session.sweep.impl.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/svelte/browser/BrowserWorkspace.svelte +450 -0
- package/dist/svelte/browser/BrowserWorkspace.svelte.d.ts +20 -0
- package/dist/svelte/browser/BrowserWorkspace.svelte.d.ts.map +1 -0
- package/dist/svelte/browser/browser-automation-svelte.plugin.d.ts +3 -0
- package/dist/svelte/browser/browser-automation-svelte.plugin.d.ts.map +1 -0
- package/dist/svelte/browser/browser-automation-svelte.plugin.js +25 -0
- package/dist/svelte/browser/docs/browser-automation-svelte.docs.descriptor.d.ts +4 -0
- package/dist/svelte/browser/docs/browser-automation-svelte.docs.descriptor.d.ts.map +1 -0
- package/dist/svelte/browser/docs/browser-automation-svelte.docs.descriptor.js +55 -0
- package/dist/svelte/browser/index.d.ts +6 -0
- package/dist/svelte/browser/index.d.ts.map +1 -0
- package/dist/svelte/browser/index.js +4 -0
- package/dist/svelte/browser/state.svelte.d.ts +28 -0
- package/dist/svelte/browser/state.svelte.d.ts.map +1 -0
- package/dist/svelte/browser/state.svelte.js +87 -0
- package/dist/svelte/browser/styles.css +10 -0
- package/dist/svelte/browser/tool-widgets/BrowserToolCard.svelte +268 -0
- package/dist/svelte/browser/tool-widgets/BrowserToolCard.svelte.d.ts +10 -0
- package/dist/svelte/browser/tool-widgets/BrowserToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/browser/tool-widgets/index.d.ts +2 -0
- package/dist/svelte/browser/tool-widgets/index.d.ts.map +1 -0
- package/dist/svelte/browser/tool-widgets/index.js +1 -0
- package/dist/svelte/browser/tool-widgets/summary.d.ts +2 -0
- package/dist/svelte/browser/tool-widgets/summary.d.ts.map +1 -0
- package/dist/svelte/browser/tool-widgets/summary.js +1 -0
- package/dist/svelte/browser/types.d.ts +16 -0
- package/dist/svelte/browser/types.d.ts.map +1 -0
- package/dist/svelte/browser/types.js +1 -0
- package/dist/tui/browser/browser-sessions.app.descriptor.d.ts +33 -0
- package/dist/tui/browser/browser-sessions.app.descriptor.d.ts.map +1 -0
- package/dist/tui/browser/browser-sessions.app.descriptor.js +33 -0
- package/dist/tui/browser/browser-sessions.app.descriptor.js.map +1 -0
- package/dist/tui/browser/browser-sessions.app.impl.d.ts +4 -0
- package/dist/tui/browser/browser-sessions.app.impl.d.ts.map +1 -0
- package/dist/tui/browser/browser-sessions.app.impl.js +231 -0
- package/dist/tui/browser/browser-sessions.app.impl.js.map +1 -0
- package/dist/tui/browser/browser.tui.plugin.d.ts +13 -0
- package/dist/tui/browser/browser.tui.plugin.d.ts.map +1 -0
- package/dist/tui/browser/browser.tui.plugin.js +52 -0
- package/dist/tui/browser/browser.tui.plugin.js.map +1 -0
- package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.d.ts +4 -0
- package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.d.ts.map +1 -0
- package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.js +31 -0
- package/dist/tui/browser/tool-widgets/BrowserToolWidget.impl.consumer.js.map +1 -0
- package/dist/tui/browser/tool-widgets/summary.d.ts +40 -0
- package/dist/tui/browser/tool-widgets/summary.d.ts.map +1 -0
- package/dist/tui/browser/tool-widgets/summary.js +16 -0
- package/dist/tui/browser/tool-widgets/summary.js.map +1 -0
- package/package.json +212 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 VIBES DEV LLC
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
6
|
+
associated documentation files (the "Software"), to deal in the Software without restriction, including
|
|
7
|
+
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
|
|
9
|
+
following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
12
|
+
portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
15
|
+
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
|
|
16
|
+
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
17
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
18
|
+
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,91 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @vibesdotdev/control
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Drive a substrate: kinds, descriptors, and base implementations for opening a
|
|
4
|
+
session on it, acting, observing, and disposing.
|
|
5
|
+
|
|
6
|
+
Control owns the **drive** verb. It does not provision the substrate
|
|
7
|
+
(`@vibesdotdev/infra-core`) and it does not decide where work runs (fleet hosts
|
|
8
|
+
in `@vibesdotdev/platform`, CI runs in `@vibesdotdev/forge`). Concrete
|
|
9
|
+
providers behind its seams live in the `integrations-*` family. The first
|
|
10
|
+
driver is browser automation, which moved here from `@vibesdotdev/bridge`;
|
|
11
|
+
bridge now consumes this package and keeps a transitional re-export layer for
|
|
12
|
+
unmigrated consumers.
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
bun add @vibesdotdev/control
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Surfaces
|
|
21
|
+
|
|
22
|
+
- `.`: the substrate-neutral `browser/backend` seam — kind, descriptor
|
|
23
|
+
schemas, `resolveBrowserBackend`, backend types. Universal; no host or
|
|
24
|
+
surface dependency.
|
|
25
|
+
- `./browser-automation`: `BrowserClient`, `getVibesBrowserClient(runtime)`,
|
|
26
|
+
the four storage record descriptors (sessions, profiles, tabs, recipes),
|
|
27
|
+
and `BrowserRuntimeManager`.
|
|
28
|
+
- `./browser-automation/plugin`: consumer plugin (`browser-automation`).
|
|
29
|
+
- `./browser-automation/cloud.plugin`: workerd-safe cloud plugin (same id;
|
|
30
|
+
consumer and cloud never load together).
|
|
31
|
+
- `./browser-automation/contracts`: the canonical browser-domain contracts
|
|
32
|
+
(storage-state schemas, backend/page, session records). Imports only `zod`
|
|
33
|
+
and type-only kernel contracts.
|
|
34
|
+
- `./browser-automation/backend`: the Playwright-free seam for provider
|
|
35
|
+
packages; forwards `./browser-automation/contracts` unchanged.
|
|
36
|
+
- `./browser-automation/bun/webview.plugin`: opt-in Bun WebView provider.
|
|
37
|
+
- `./browser-automation/cli.plugin`: the `vibes browser` command tree.
|
|
38
|
+
- `./browser-automation/tui.plugin`: the `browser-sessions` TUI app plus the
|
|
39
|
+
designed `browser` tool widget.
|
|
40
|
+
- `./browser-automation/svelte*`: `BrowserWorkspace`, `BrowserToolCard`, the
|
|
41
|
+
Svelte plugin (docs topic + web tool widget), and the `/svelte/state`
|
|
42
|
+
runtime-owned selection and scoped reactive adapter.
|
|
43
|
+
|
|
44
|
+
## Use
|
|
45
|
+
|
|
46
|
+
Resolve the browser client from a composed runtime; never construct the
|
|
47
|
+
manager directly:
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { getVibesBrowserClient } from '@vibesdotdev/control/browser-automation';
|
|
51
|
+
|
|
52
|
+
const browser = await getVibesBrowserClient(runtime);
|
|
53
|
+
const sessions = await browser.sessions.list();
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Compose the consumer plugin plus the surface slices the host needs:
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
import browserPlugin from '@vibesdotdev/control/browser-automation/plugin';
|
|
60
|
+
import browserCliPlugin from '@vibesdotdev/control/browser-automation/cli.plugin';
|
|
61
|
+
|
|
62
|
+
await runtime.registerPlugin(browserPlugin);
|
|
63
|
+
await runtime.registerPlugin(browserCliPlugin);
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Cloud/workerd hosts load the cloud plugin instead of the consumer plugin;
|
|
67
|
+
cloud sessions are ephemeral per call, and stateful actions report a
|
|
68
|
+
CapabilityError (UNAVAILABLE, browser-cloud-action-unsupported).
|
|
69
|
+
|
|
70
|
+
## Verification
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
bun run --cwd control build
|
|
74
|
+
bun run --cwd control check
|
|
75
|
+
bun run --cwd control test
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Tests inspect source entrypoints in process and need no prior build. The contract is [SPEC.md](./SPEC.md) with feature detail in
|
|
79
|
+
[src/browser/SPEC.md](./src/browser/SPEC.md).
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
For shared route selection, compose the Svelte plugin, await
|
|
83
|
+
`createBrowserWorkspaceState(runtime)` from the state subpath, and provide the
|
|
84
|
+
adapter to the common Svelte parent with `provideBrowserWorkspaceState(adapter)`.
|
|
85
|
+
That parent owns `adapter.dispose()`; a child workspace does not dispose a
|
|
86
|
+
borrowed adapter. Without an explicit adapter or provider, workspaces share the loaded default
|
|
87
|
+
runtime's selection with the reactive `browserWorkspaceState` compatibility
|
|
88
|
+
facade. Svelte releases facade subscriptions when the reading component unmounts.
|
|
89
|
+
Legacy `browserWorkspaceState.selectSession(...)` and property access delegate
|
|
90
|
+
to the host's default runtime after its workspace client is loaded; multi-runtime
|
|
91
|
+
hosts use the explicit adapter.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Automation Cloud Plugin (SLIM)
|
|
3
|
+
*
|
|
4
|
+
* Cloud/workerd slice of the unified `browser` tools/tool, backed by
|
|
5
|
+
* Cloudflare Browser Rendering (`BrowserRunBackend` via
|
|
6
|
+
* `@vibesdotdev/integrations-cloudflare/browser-automation`). Registers ONLY the tool
|
|
7
|
+
* descriptor + a cloud-scoped impl loader — none of the consumer plugin's
|
|
8
|
+
* localdb storage records (sessions/profiles/tabs/recipes), runtime client,
|
|
9
|
+
* CLI, or TUI machinery, all of which require consumer hardware.
|
|
10
|
+
*
|
|
11
|
+
* Cloud sessions are ephemeral per call (open → act → close); the impl
|
|
12
|
+
* returns structured 'unsupported on cloud runtime' errors for the
|
|
13
|
+
* persistent-state actions (recipe.*, session.*, observe, control).
|
|
14
|
+
*
|
|
15
|
+
* Apps that execute agent tools on workerd (ai-web) load THIS plugin; the
|
|
16
|
+
* consumer `browser.plugin.ts` stays on CLI/desktop surfaces. Depends on
|
|
17
|
+
* `tools` so the `tools/tool` kind is registered first.
|
|
18
|
+
*/
|
|
19
|
+
declare const defaultExport: import("@vibesdotdev/kernel").RuntimePlugin;
|
|
20
|
+
export default defaultExport;
|
|
21
|
+
//# sourceMappingURL=browser.cloud.plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.cloud.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/browser.cloud.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,QAAA,MAAM,aAAa,6CAgBjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Automation Cloud Plugin (SLIM)
|
|
3
|
+
*
|
|
4
|
+
* Cloud/workerd slice of the unified `browser` tools/tool, backed by
|
|
5
|
+
* Cloudflare Browser Rendering (`BrowserRunBackend` via
|
|
6
|
+
* `@vibesdotdev/integrations-cloudflare/browser-automation`). Registers ONLY the tool
|
|
7
|
+
* descriptor + a cloud-scoped impl loader — none of the consumer plugin's
|
|
8
|
+
* localdb storage records (sessions/profiles/tabs/recipes), runtime client,
|
|
9
|
+
* CLI, or TUI machinery, all of which require consumer hardware.
|
|
10
|
+
*
|
|
11
|
+
* Cloud sessions are ephemeral per call (open → act → close); the impl
|
|
12
|
+
* returns structured 'unsupported on cloud runtime' errors for the
|
|
13
|
+
* persistent-state actions (recipe.*, session.*, observe, control).
|
|
14
|
+
*
|
|
15
|
+
* Apps that execute agent tools on workerd (ai-web) load THIS plugin; the
|
|
16
|
+
* consumer `browser.plugin.ts` stays on CLI/desktop surfaces. Depends on
|
|
17
|
+
* `tools` so the `tools/tool` kind is registered first.
|
|
18
|
+
*/
|
|
19
|
+
import { createRuntimePlugin, loader } from '@vibesdotdev/kernel';
|
|
20
|
+
import browserDescriptor from "./tools/unified/browser.unified.descriptor.js";
|
|
21
|
+
import browserRecipePrompt from "./tools/unified/browser-recipe.prompt.descriptor.js";
|
|
22
|
+
import { browserControlPromptDescriptors } from "./tools/control/prompts/index.js";
|
|
23
|
+
import { browserBackendKind } from "./runtime/backend/kind.js";
|
|
24
|
+
// Hoisted const: tsc rewriteRelativeImportExtensions does not rewrite `.ts` specifiers inside `export default <expr>` (TS 6.0.3).
|
|
25
|
+
const defaultExport = createRuntimePlugin({
|
|
26
|
+
id: 'browser-automation',
|
|
27
|
+
name: 'Browser Automation (Cloud)',
|
|
28
|
+
description: 'Unified browser tool on Cloudflare Browser Rendering — ephemeral navigate/extract/screenshot for cloud agent runtimes',
|
|
29
|
+
dependencies: ['tools'],
|
|
30
|
+
kinds: [browserBackendKind],
|
|
31
|
+
descriptors: [browserDescriptor, browserRecipePrompt, ...browserControlPromptDescriptors],
|
|
32
|
+
loaders: [
|
|
33
|
+
loader('browser', { kind: 'tools/tool', scope: 'cloud' }, () => import("./tools/unified/browser.impl.cloud.js"))
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
export default defaultExport;
|
|
37
|
+
//# sourceMappingURL=browser.cloud.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.cloud.plugin.js","sourceRoot":"","sources":["../../src/browser/browser.cloud.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,mBAAmB,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,kIAAkI;AAClI,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACzC,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACV,uHAAuH;IAExH,YAAY,EAAE,CAAC,OAAO,CAAC;IACvB,KAAK,EAAE,CAAC,kBAAkB,CAAC;IAE3B,WAAW,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,+BAA+B,CAAC;IAEzF,OAAO,EAAE;QACR,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAC9D,MAAM,CAAC,uCAAuC,CAAC,CAC/C;KACD;CACD,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.consumer.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/browser.consumer.plugin.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAkBhG,QAAA,MAAM,aAAa,6CA2EjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/** Consumer browser automation composition. Compatibility entrypoints retain this plugin ID. */
|
|
2
|
+
import { createRuntimePlugin, loader } from '@vibesdotdev/kernel';
|
|
3
|
+
import browserDescriptor from "./tools/unified/browser.unified.descriptor.js";
|
|
4
|
+
import browserRecipePrompt from "./tools/unified/browser-recipe.prompt.descriptor.js";
|
|
5
|
+
import { browserControlPromptDescriptors } from "./tools/control/prompts/index.js";
|
|
6
|
+
import { browserBackendKind } from "./runtime/backend/kind.js";
|
|
7
|
+
import playwrightBrowserBackendDescriptor from "./runtime/backend/playwright.descriptor.js";
|
|
8
|
+
import browserRuntimeManagerContextDescriptor from "./runtime/manager.context.descriptor.js";
|
|
9
|
+
import { BROWSER_RUNTIME_MANAGER_CONTEXT_ID } from "./runtime/manager.context.js";
|
|
10
|
+
// Storage record descriptors
|
|
11
|
+
import { browserSessionRecordDescriptor } from "./storage/browser-session.record.descriptor.js";
|
|
12
|
+
import { browserProfileRecordDescriptor } from "./storage/browser-profile.record.descriptor.js";
|
|
13
|
+
import { browserTabRecordDescriptor } from "./storage/browser-tab.record.descriptor.js";
|
|
14
|
+
import { browserRecipeRecordDescriptor } from "./storage/browser-recipe.record.descriptor.js";
|
|
15
|
+
// Hoisted const: tsc rewriteRelativeImportExtensions does not rewrite `.ts` specifiers inside `export default <expr>` (TS 6.0.3).
|
|
16
|
+
const defaultExport = createRuntimePlugin({
|
|
17
|
+
id: 'browser-automation',
|
|
18
|
+
name: 'Browser Automation',
|
|
19
|
+
description: 'Browser automation with pluggable backends and session/profile/tab/recipe lifecycle',
|
|
20
|
+
dependencies: ['context', 'storage', 'localdb', 'runtime-client', 'tools'],
|
|
21
|
+
optionalDependencies: ['logging', '@vibesdotdev/storage/adapters/localdb'],
|
|
22
|
+
kinds: [browserBackendKind],
|
|
23
|
+
descriptors: [
|
|
24
|
+
// storage/record descriptors
|
|
25
|
+
browserSessionRecordDescriptor,
|
|
26
|
+
browserProfileRecordDescriptor,
|
|
27
|
+
browserTabRecordDescriptor,
|
|
28
|
+
browserRecipeRecordDescriptor,
|
|
29
|
+
playwrightBrowserBackendDescriptor,
|
|
30
|
+
browserRuntimeManagerContextDescriptor,
|
|
31
|
+
// tools/tool unified browser tool
|
|
32
|
+
browserDescriptor,
|
|
33
|
+
// prompts/manifest: the browser tool's MCP prompt and the control planner's prompts
|
|
34
|
+
browserRecipePrompt,
|
|
35
|
+
...browserControlPromptDescriptors
|
|
36
|
+
],
|
|
37
|
+
loaders: [
|
|
38
|
+
loader(playwrightBrowserBackendDescriptor.id, { kind: 'browser/backend', scope: 'consumer' }, async () => {
|
|
39
|
+
const { PlaywrightBackend } = await import("./runtime/backends/playwright.backend.js");
|
|
40
|
+
return { impl: new PlaywrightBackend() };
|
|
41
|
+
}),
|
|
42
|
+
loader(browserRuntimeManagerContextDescriptor.id, { kind: 'context', scope: 'consumer' }, () => import("./runtime/manager.context.impl.consumer.js")),
|
|
43
|
+
// tools/tool implementation loader (consumer-scoped: Playwright)
|
|
44
|
+
loader('browser', { kind: 'tools/tool', scope: 'consumer' }, async () => {
|
|
45
|
+
const { default: impl } = await import("./tools/unified/browser.impl.consumer.js");
|
|
46
|
+
return { impl };
|
|
47
|
+
}),
|
|
48
|
+
// runtime/client loader
|
|
49
|
+
{
|
|
50
|
+
id: 'browser',
|
|
51
|
+
kind: 'runtime/client',
|
|
52
|
+
load: async () => {
|
|
53
|
+
const { BrowserClient } = await import("./client/browser-client.js");
|
|
54
|
+
return BrowserClient;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
async onDispose(runtime) {
|
|
59
|
+
if (!runtime.hasContext(BROWSER_RUNTIME_MANAGER_CONTEXT_ID))
|
|
60
|
+
return;
|
|
61
|
+
const host = await runtime.context(BROWSER_RUNTIME_MANAGER_CONTEXT_ID);
|
|
62
|
+
await host.dispose();
|
|
63
|
+
},
|
|
64
|
+
onActivate(runtime) {
|
|
65
|
+
// Register the runtime/client descriptor for the browser client
|
|
66
|
+
runtime.registerDescriptor('runtime/client', {
|
|
67
|
+
id: 'browser',
|
|
68
|
+
kind: 'runtime/client',
|
|
69
|
+
description: 'Browser automation client for session/profile/tab/recipe management',
|
|
70
|
+
tags: ['remote-control']
|
|
71
|
+
});
|
|
72
|
+
// Register runtime/subscription for browser events if needed
|
|
73
|
+
// (future: tab lifecycle events, session events, etc.)
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
export default defaultExport;
|
|
77
|
+
//# sourceMappingURL=browser.consumer.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.consumer.plugin.js","sourceRoot":"","sources":["../../src/browser/browser.consumer.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.plugin.d.ts","sourceRoot":"","sources":["../../src/browser/browser.plugin.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.plugin.js","sourceRoot":"","sources":["../../src/browser/browser.plugin.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BrowserBackend, BrowserBackendCapabilities, BrowserBackendConnectionDescriptor, BrowserBackendLaunchInput, BrowserBackendLaunchResult } from '../runtime/backend/types.ts';
|
|
2
|
+
import { type BunWebViewFactory } from '../schemas/webview.ts';
|
|
3
|
+
export type { BunWebViewLike, BunWebViewFactory, BunWebViewFactoryOptions } from '../schemas/webview.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the host API at the Bun boundary.
|
|
6
|
+
*
|
|
7
|
+
* Consumer hardware is not evidence that the process is Bun. The opt-in Bun
|
|
8
|
+
* plugin calls this while resolving its implementation and fails closed when
|
|
9
|
+
* the actual host does not provide Bun.WebView.
|
|
10
|
+
*/
|
|
11
|
+
/** The opt-in adapter retains native WebView support until a host owner provides it. */
|
|
12
|
+
export declare function resolveBunWebViewFactory(host: unknown): BunWebViewFactory;
|
|
13
|
+
export declare function createBunWebViewBackend(host?: unknown): BunWebViewBackend;
|
|
14
|
+
export declare class BunWebViewBackend implements BrowserBackend {
|
|
15
|
+
private readonly factory;
|
|
16
|
+
readonly id: "browser.backend.bun-webview";
|
|
17
|
+
readonly hardware: "consumer";
|
|
18
|
+
readonly capabilities: BrowserBackendCapabilities;
|
|
19
|
+
constructor(factory: BunWebViewFactory);
|
|
20
|
+
launch(input: BrowserBackendLaunchInput): Promise<BrowserBackendLaunchResult>;
|
|
21
|
+
describeConnection(): Promise<BrowserBackendConnectionDescriptor>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=webview.backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webview.backend.d.ts","sourceRoot":"","sources":["../../../src/browser/bun/webview.backend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEX,cAAc,EACd,0BAA0B,EAC1B,kCAAkC,EAElC,yBAAyB,EACzB,0BAA0B,EAK1B,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAA6C,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAMzG;;;;;;GAMG;AACH,wFAAwF;AACxF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAUzE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAUzE;AAkPD,qBAAa,iBAAkB,YAAW,cAAc;IAU3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,QAAQ,CAAC,EAAE,gCAA0B;IACrC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;IACxC,QAAQ,CAAC,YAAY,EAAE,0BAA0B,CAK/C;gBAE2B,OAAO,EAAE,iBAAiB;IAEjD,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAiB7E,kBAAkB,IAAI,OAAO,CAAC,kCAAkC,CAAC;CAOvE"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
2
|
+
import { resolveFileSystemAdapter } from '@vibesdotdev/filesystem';
|
|
3
|
+
import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
4
|
+
import * as z from 'zod/v4';
|
|
5
|
+
import { fromBase64 } from '@vibesdotdev/crypto/encoding';
|
|
6
|
+
import { assertSafeBrowserUrl, launchTrustedBrowserOrigins } from "../runtime/safe-url.js";
|
|
7
|
+
import { BUN_WEBVIEW_BACKEND_ID } from "./webview.descriptor.js";
|
|
8
|
+
import { BunWebViewHostSchema } from "../schemas/webview.js";
|
|
9
|
+
const DefaultBunWebViewHostSchema = z.preprocess((host) => host === undefined ? globalThis.Bun : host, BunWebViewHostSchema);
|
|
10
|
+
/**
|
|
11
|
+
* Resolve the host API at the Bun boundary.
|
|
12
|
+
*
|
|
13
|
+
* Consumer hardware is not evidence that the process is Bun. The opt-in Bun
|
|
14
|
+
* plugin calls this while resolving its implementation and fails closed when
|
|
15
|
+
* the actual host does not provide Bun.WebView.
|
|
16
|
+
*/
|
|
17
|
+
/** The opt-in adapter retains native WebView support until a host owner provides it. */
|
|
18
|
+
export function resolveBunWebViewFactory(host) {
|
|
19
|
+
const parsed = BunWebViewHostSchema.safeParse(host);
|
|
20
|
+
if (!parsed.success) {
|
|
21
|
+
throw new CapabilityError('Bun WebView backend is unavailable: run this plugin under Bun 1.4+ with Bun.WebView', 'UNAVAILABLE', { reason: 'bun-webview-unavailable', cause: parsed.error });
|
|
22
|
+
}
|
|
23
|
+
return (options) => new parsed.data.WebView(options);
|
|
24
|
+
}
|
|
25
|
+
export function createBunWebViewBackend(host) {
|
|
26
|
+
const parsed = DefaultBunWebViewHostSchema.safeParse(host);
|
|
27
|
+
if (!parsed.success) {
|
|
28
|
+
throw new CapabilityError('Bun WebView backend is unavailable: run this plugin under Bun 1.4+ with Bun.WebView', 'UNAVAILABLE', { reason: 'bun-webview-unavailable', cause: parsed.error });
|
|
29
|
+
}
|
|
30
|
+
return new BunWebViewBackend(resolveBunWebViewFactory(parsed.data));
|
|
31
|
+
}
|
|
32
|
+
function selectorExpression(selector, body) {
|
|
33
|
+
return `(() => {
|
|
34
|
+
const element = document.querySelector(${JSON.stringify(selector)});
|
|
35
|
+
if (!element) throw new Error(${JSON.stringify(`Element not found: ${selector}`)});
|
|
36
|
+
${body}
|
|
37
|
+
})()`;
|
|
38
|
+
}
|
|
39
|
+
function unsupported(feature) {
|
|
40
|
+
return new CapabilityError(`Bun WebView backend does not support ${feature}`, 'UNAVAILABLE', {
|
|
41
|
+
reason: 'browser-backend-capability-unsupported',
|
|
42
|
+
details: { backendId: BUN_WEBVIEW_BACKEND_ID, feature }
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
class BunWebViewPage {
|
|
46
|
+
view;
|
|
47
|
+
trustedOrigins;
|
|
48
|
+
onClose;
|
|
49
|
+
runtime;
|
|
50
|
+
closed = false;
|
|
51
|
+
constructor(view, trustedOrigins, onClose, runtime) {
|
|
52
|
+
this.view = view;
|
|
53
|
+
this.trustedOrigins = trustedOrigins;
|
|
54
|
+
this.onClose = onClose;
|
|
55
|
+
this.runtime = runtime;
|
|
56
|
+
}
|
|
57
|
+
async goto(url, _options) {
|
|
58
|
+
await this.view.navigate(assertSafeBrowserUrl(url, this.trustedOrigins));
|
|
59
|
+
}
|
|
60
|
+
async click(selector, options) {
|
|
61
|
+
await this.view.click(selector, { timeout: options?.timeout });
|
|
62
|
+
}
|
|
63
|
+
async fill(selector, value) {
|
|
64
|
+
await this.view.evaluate(selectorExpression(selector, `if (!("value" in element)) throw new Error("Element does not expose a value");
|
|
65
|
+
element.focus();
|
|
66
|
+
const prototype = Object.getPrototypeOf(element);
|
|
67
|
+
const setter = Object.getOwnPropertyDescriptor(prototype, "value")?.set;
|
|
68
|
+
if (setter) setter.call(element, ${JSON.stringify(value)});
|
|
69
|
+
else element.value = ${JSON.stringify(value)};
|
|
70
|
+
element.dispatchEvent(new Event("input", { bubbles: true }));
|
|
71
|
+
element.dispatchEvent(new Event("change", { bubbles: true }));
|
|
72
|
+
return true;`));
|
|
73
|
+
}
|
|
74
|
+
async type(selector, text, options) {
|
|
75
|
+
await this.view.click(selector);
|
|
76
|
+
if (!options?.delay) {
|
|
77
|
+
await this.view.type(text);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
for (const character of text) {
|
|
81
|
+
await this.view.type(character);
|
|
82
|
+
await this.runtime.lifecycle.delay(options.delay);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async press(key) {
|
|
86
|
+
await this.view.press(key);
|
|
87
|
+
}
|
|
88
|
+
async waitForSelector(selector, options = {}) {
|
|
89
|
+
const state = options.state ?? 'visible';
|
|
90
|
+
const deadline = Date.now() + (options.timeout ?? 30_000);
|
|
91
|
+
while (Date.now() <= deadline) {
|
|
92
|
+
const status = z.object({ attached: z.boolean(), visible: z.boolean() }).parse(await this.view.evaluate(`(() => {
|
|
93
|
+
const element = document.querySelector(${JSON.stringify(selector)});
|
|
94
|
+
if (!element) return { attached: false, visible: false };
|
|
95
|
+
const rect = element.getBoundingClientRect();
|
|
96
|
+
const style = getComputedStyle(element);
|
|
97
|
+
return {
|
|
98
|
+
attached: true,
|
|
99
|
+
visible: rect.width > 0 && rect.height > 0 && style.visibility !== "hidden" && style.display !== "none"
|
|
100
|
+
};
|
|
101
|
+
})()`));
|
|
102
|
+
const satisfied = state === 'attached'
|
|
103
|
+
? status.attached
|
|
104
|
+
: state === 'detached'
|
|
105
|
+
? !status.attached
|
|
106
|
+
: state === 'visible'
|
|
107
|
+
? status.visible
|
|
108
|
+
: !status.visible;
|
|
109
|
+
if (satisfied)
|
|
110
|
+
return;
|
|
111
|
+
await this.runtime.lifecycle.delay(25);
|
|
112
|
+
}
|
|
113
|
+
throw new Error(`Timed out waiting for selector '${selector}' to become ${state}`);
|
|
114
|
+
}
|
|
115
|
+
async waitForTimeout(ms) {
|
|
116
|
+
await this.runtime.lifecycle.delay(ms);
|
|
117
|
+
}
|
|
118
|
+
async selectOption(selector, value) {
|
|
119
|
+
await this.view.evaluate(selectorExpression(selector, `if (!(element instanceof HTMLSelectElement)) throw new Error("Element is not a select");
|
|
120
|
+
element.value = ${JSON.stringify(value)};
|
|
121
|
+
element.dispatchEvent(new Event("input", { bubbles: true }));
|
|
122
|
+
element.dispatchEvent(new Event("change", { bubbles: true }));
|
|
123
|
+
return true;`));
|
|
124
|
+
}
|
|
125
|
+
async hover(selector) {
|
|
126
|
+
const point = z.object({ x: z.number(), y: z.number() }).parse(await this.view.evaluate(selectorExpression(selector, `const rect = element.getBoundingClientRect();
|
|
127
|
+
return { x: rect.left + rect.width / 2, y: rect.top + rect.height / 2 };`)));
|
|
128
|
+
await this.view.cdp('Input.dispatchMouseEvent', JsonObjectSchema.parse({
|
|
129
|
+
type: 'mouseMoved',
|
|
130
|
+
x: point.x,
|
|
131
|
+
y: point.y
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
async screenshot(options) {
|
|
135
|
+
let data;
|
|
136
|
+
if (options.fullPage) {
|
|
137
|
+
const response = z.object({ data: z.string() }).parse(await this.view.cdp('Page.captureScreenshot', {
|
|
138
|
+
format: 'png',
|
|
139
|
+
captureBeyondViewport: true,
|
|
140
|
+
fromSurface: true
|
|
141
|
+
}));
|
|
142
|
+
data = fromBase64(response.data);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
data = Uint8Array.from(await this.view.screenshot({ encoding: 'buffer', format: 'png' }));
|
|
146
|
+
}
|
|
147
|
+
if (options.path) {
|
|
148
|
+
await (await resolveFileSystemAdapter(this.runtime)).writeFile(options.path, data);
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
return data;
|
|
152
|
+
}
|
|
153
|
+
async scrollIntoView(selector) {
|
|
154
|
+
await this.view.scrollTo(selector, { block: 'nearest' });
|
|
155
|
+
}
|
|
156
|
+
async scrollTo(x, y) {
|
|
157
|
+
await this.view.evaluate(`(() => { window.scrollTo(${x}, ${y}); return true; })()`);
|
|
158
|
+
}
|
|
159
|
+
async evaluate(script) {
|
|
160
|
+
return await this.view.evaluate(script);
|
|
161
|
+
}
|
|
162
|
+
async content() {
|
|
163
|
+
return z.string().parse(await this.view.evaluate('document.documentElement.outerHTML'));
|
|
164
|
+
}
|
|
165
|
+
async exists(selector) {
|
|
166
|
+
return z.boolean().parse(await this.view.evaluate(`document.querySelector(${JSON.stringify(selector)}) !== null`));
|
|
167
|
+
}
|
|
168
|
+
async textContent(selector) {
|
|
169
|
+
return z.string().nullable().parse(await this.view.evaluate(`document.querySelector(${JSON.stringify(selector)})?.textContent ?? null`));
|
|
170
|
+
}
|
|
171
|
+
url() {
|
|
172
|
+
return this.view.url;
|
|
173
|
+
}
|
|
174
|
+
async close() {
|
|
175
|
+
if (this.closed)
|
|
176
|
+
return;
|
|
177
|
+
this.view.close();
|
|
178
|
+
this.closed = true;
|
|
179
|
+
this.onClose();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
class BunWebViewContext {
|
|
183
|
+
factory;
|
|
184
|
+
viewport;
|
|
185
|
+
trustedOrigins;
|
|
186
|
+
runtime;
|
|
187
|
+
pagesByView = new Map();
|
|
188
|
+
constructor(factory, viewport, trustedOrigins, runtime) {
|
|
189
|
+
this.factory = factory;
|
|
190
|
+
this.viewport = viewport;
|
|
191
|
+
this.trustedOrigins = trustedOrigins;
|
|
192
|
+
this.runtime = runtime;
|
|
193
|
+
}
|
|
194
|
+
async newPage() {
|
|
195
|
+
let view;
|
|
196
|
+
try {
|
|
197
|
+
view = this.factory({
|
|
198
|
+
width: this.viewport.width,
|
|
199
|
+
height: this.viewport.height,
|
|
200
|
+
headless: true,
|
|
201
|
+
backend: { type: 'chrome', url: false },
|
|
202
|
+
dataStore: 'ephemeral'
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
catch (cause) {
|
|
206
|
+
throw new CapabilityError('Bun WebView backend requires Bun 1.4+ and an installed Chrome browser', 'UNAVAILABLE', { reason: 'bun-webview-launch-failed', cause });
|
|
207
|
+
}
|
|
208
|
+
const page = new BunWebViewPage(view, this.trustedOrigins, () => this.pagesByView.delete(view), this.runtime);
|
|
209
|
+
this.pagesByView.set(view, page);
|
|
210
|
+
return page;
|
|
211
|
+
}
|
|
212
|
+
async pages() {
|
|
213
|
+
return [...this.pagesByView.values()];
|
|
214
|
+
}
|
|
215
|
+
async storageState() {
|
|
216
|
+
throw unsupported('storage-state export');
|
|
217
|
+
}
|
|
218
|
+
async close() {
|
|
219
|
+
const results = await Promise.allSettled([...this.pagesByView.values()].map((page) => page.close()));
|
|
220
|
+
const failures = results.flatMap((result) => result.status === 'rejected' ? [result.reason] : []);
|
|
221
|
+
if (failures.length)
|
|
222
|
+
throw new AggregateError(failures, 'Bun WebView page cleanup failed');
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
export class BunWebViewBackend {
|
|
226
|
+
factory;
|
|
227
|
+
id = BUN_WEBVIEW_BACKEND_ID;
|
|
228
|
+
hardware = 'consumer';
|
|
229
|
+
capabilities = {
|
|
230
|
+
profiles: false,
|
|
231
|
+
present: false,
|
|
232
|
+
recording: false,
|
|
233
|
+
storageStateFile: false
|
|
234
|
+
};
|
|
235
|
+
constructor(factory) {
|
|
236
|
+
this.factory = factory;
|
|
237
|
+
}
|
|
238
|
+
async launch(input) {
|
|
239
|
+
if (input.headless === false)
|
|
240
|
+
throw unsupported('headed presentation');
|
|
241
|
+
if (input.profileDir)
|
|
242
|
+
throw unsupported('persistent profiles');
|
|
243
|
+
if (input.storageStatePath)
|
|
244
|
+
throw unsupported('storage-state files');
|
|
245
|
+
if (input.recordVideo)
|
|
246
|
+
throw unsupported('video recording');
|
|
247
|
+
if (input.extensions?.length)
|
|
248
|
+
throw unsupported('browser extensions');
|
|
249
|
+
return {
|
|
250
|
+
context: new BunWebViewContext(this.factory, input.viewport ?? { width: 1280, height: 720 }, launchTrustedBrowserOrigins(input.runtime, input.trustedOrigins), input.runtime),
|
|
251
|
+
persistent: false
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
async describeConnection() {
|
|
255
|
+
return {
|
|
256
|
+
hardware: 'consumer',
|
|
257
|
+
transport: 'binding',
|
|
258
|
+
note: 'Bun.WebView exposes in-process CDP commands but no external WebSocket endpoint.'
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=webview.backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webview.backend.js","sourceRoot":"","sources":["../../../src/browser/bun/webview.backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const BUN_WEBVIEW_BACKEND_ID: "browser.backend.bun-webview";
|
|
2
|
+
declare const descriptor: {
|
|
3
|
+
id: "browser.backend.bun-webview";
|
|
4
|
+
kind: "browser/backend";
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
hardware: "consumer"[];
|
|
8
|
+
engine: "chromium";
|
|
9
|
+
substrate: string;
|
|
10
|
+
stability: "experimental";
|
|
11
|
+
capabilities: {
|
|
12
|
+
profiles: false;
|
|
13
|
+
present: false;
|
|
14
|
+
recording: false;
|
|
15
|
+
storageStateFile: false;
|
|
16
|
+
};
|
|
17
|
+
priority: number;
|
|
18
|
+
enabled: true;
|
|
19
|
+
};
|
|
20
|
+
export default descriptor;
|
|
21
|
+
//# sourceMappingURL=webview.descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webview.descriptor.d.ts","sourceRoot":"","sources":["../../../src/browser/bun/webview.descriptor.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,EAAG,6BAAsC,CAAC;AAE7E,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBoB,CAAC;AAErC,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const BUN_WEBVIEW_BACKEND_ID = 'browser.backend.bun-webview';
|
|
2
|
+
const descriptor = {
|
|
3
|
+
id: BUN_WEBVIEW_BACKEND_ID,
|
|
4
|
+
kind: 'browser/backend',
|
|
5
|
+
name: 'Bun WebView Browser Backend',
|
|
6
|
+
description: 'Experimental Bun.WebView Chrome backend for lightweight automation',
|
|
7
|
+
hardware: ['consumer'],
|
|
8
|
+
engine: 'chromium',
|
|
9
|
+
substrate: 'bun-webview',
|
|
10
|
+
stability: 'experimental',
|
|
11
|
+
capabilities: {
|
|
12
|
+
profiles: false,
|
|
13
|
+
present: false,
|
|
14
|
+
recording: false,
|
|
15
|
+
storageStateFile: false
|
|
16
|
+
},
|
|
17
|
+
priority: 50,
|
|
18
|
+
enabled: true
|
|
19
|
+
};
|
|
20
|
+
export default descriptor;
|
|
21
|
+
//# sourceMappingURL=webview.descriptor.js.map
|