opendevbrowser 0.0.17 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -73
- package/dist/annotate/agent-inbox-store.d.ts +58 -0
- package/dist/annotate/agent-inbox-store.d.ts.map +1 -0
- package/dist/annotate/agent-inbox.d.ts +25 -0
- package/dist/annotate/agent-inbox.d.ts.map +1 -0
- package/dist/annotate/direct-annotator.d.ts.map +1 -1
- package/dist/annotate/timeout-messages.d.ts +4 -0
- package/dist/annotate/timeout-messages.d.ts.map +1 -0
- package/dist/automation/coordinator.d.ts +55 -0
- package/dist/automation/coordinator.d.ts.map +1 -0
- package/dist/browser/annotation-manager.d.ts +4 -1
- package/dist/browser/annotation-manager.d.ts.map +1 -1
- package/dist/browser/browser-manager.d.ts +147 -47
- package/dist/browser/browser-manager.d.ts.map +1 -1
- package/dist/browser/canvas-client.d.ts +1 -0
- package/dist/browser/canvas-client.d.ts.map +1 -1
- package/dist/browser/canvas-code-sync-manager.d.ts +9 -1
- package/dist/browser/canvas-code-sync-manager.d.ts.map +1 -1
- package/dist/browser/canvas-manager.d.ts +29 -1
- package/dist/browser/canvas-manager.d.ts.map +1 -1
- package/dist/browser/global-challenge-coordinator.d.ts +27 -0
- package/dist/browser/global-challenge-coordinator.d.ts.map +1 -0
- package/dist/browser/manager-types.d.ts +167 -1
- package/dist/browser/manager-types.d.ts.map +1 -1
- package/dist/browser/ops-browser-manager.d.ts +103 -3
- package/dist/browser/ops-browser-manager.d.ts.map +1 -1
- package/dist/browser/ops-client.d.ts +17 -1
- package/dist/browser/ops-client.d.ts.map +1 -1
- package/dist/browser/playwright-runtime.d.ts +4 -0
- package/dist/browser/playwright-runtime.d.ts.map +1 -0
- package/dist/browser/review-surface.d.ts +9 -0
- package/dist/browser/review-surface.d.ts.map +1 -0
- package/dist/browser/screencast-recorder.d.ts +57 -0
- package/dist/browser/screencast-recorder.d.ts.map +1 -0
- package/dist/browser/session-inspector.d.ts +71 -0
- package/dist/browser/session-inspector.d.ts.map +1 -0
- package/dist/browser/session-store.d.ts +5 -1
- package/dist/browser/session-store.d.ts.map +1 -1
- package/dist/browser/system-chrome-cookies.d.ts +46 -0
- package/dist/browser/system-chrome-cookies.d.ts.map +1 -0
- package/dist/browser/target-manager.d.ts +1 -0
- package/dist/browser/target-manager.d.ts.map +1 -1
- package/dist/cache/chrome-locator.d.ts.map +1 -1
- package/dist/cache/chrome-user-data.d.ts +17 -0
- package/dist/cache/chrome-user-data.d.ts.map +1 -0
- package/dist/canvas/adapter-plugins/loader.d.ts +13 -0
- package/dist/canvas/adapter-plugins/loader.d.ts.map +1 -0
- package/dist/canvas/adapter-plugins/manifest.d.ts +146 -0
- package/dist/canvas/adapter-plugins/manifest.d.ts.map +1 -0
- package/dist/canvas/adapter-plugins/types.d.ts +83 -0
- package/dist/canvas/adapter-plugins/types.d.ts.map +1 -0
- package/dist/canvas/adapter-plugins/validator.d.ts +10 -0
- package/dist/canvas/adapter-plugins/validator.d.ts.map +1 -0
- package/dist/canvas/code-sync/apply-tsx.d.ts +3 -1
- package/dist/canvas/code-sync/apply-tsx.d.ts.map +1 -1
- package/dist/canvas/code-sync/import.d.ts +1 -0
- package/dist/canvas/code-sync/import.d.ts.map +1 -1
- package/dist/canvas/code-sync/manifest.d.ts +2 -1
- package/dist/canvas/code-sync/manifest.d.ts.map +1 -1
- package/dist/canvas/code-sync/tsx-adapter.d.ts.map +1 -1
- package/dist/canvas/code-sync/types.d.ts +102 -10
- package/dist/canvas/code-sync/types.d.ts.map +1 -1
- package/dist/canvas/document-store.d.ts +11 -1
- package/dist/canvas/document-store.d.ts.map +1 -1
- package/dist/canvas/export.d.ts.map +1 -1
- package/dist/canvas/framework-adapters/custom-elements-v1.d.ts +3 -0
- package/dist/canvas/framework-adapters/custom-elements-v1.d.ts.map +1 -0
- package/dist/canvas/framework-adapters/html-static-v1.d.ts +3 -0
- package/dist/canvas/framework-adapters/html-static-v1.d.ts.map +1 -0
- package/dist/canvas/framework-adapters/markup.d.ts +9 -0
- package/dist/canvas/framework-adapters/markup.d.ts.map +1 -0
- package/dist/canvas/framework-adapters/react-tsx-v2.d.ts +3 -0
- package/dist/canvas/framework-adapters/react-tsx-v2.d.ts.map +1 -0
- package/dist/canvas/framework-adapters/registry.d.ts +12 -0
- package/dist/canvas/framework-adapters/registry.d.ts.map +1 -0
- package/dist/canvas/framework-adapters/svelte-sfc-v1.d.ts +3 -0
- package/dist/canvas/framework-adapters/svelte-sfc-v1.d.ts.map +1 -0
- package/dist/canvas/framework-adapters/types.d.ts +57 -0
- package/dist/canvas/framework-adapters/types.d.ts.map +1 -0
- package/dist/canvas/framework-adapters/vue-sfc-v1.d.ts +3 -0
- package/dist/canvas/framework-adapters/vue-sfc-v1.d.ts.map +1 -0
- package/dist/canvas/kits/catalog.d.ts +5 -0
- package/dist/canvas/kits/catalog.d.ts.map +1 -0
- package/dist/canvas/library-adapters/react/index.d.ts +3 -0
- package/dist/canvas/library-adapters/react/index.d.ts.map +1 -0
- package/dist/canvas/library-adapters/registry.d.ts +11 -0
- package/dist/canvas/library-adapters/registry.d.ts.map +1 -0
- package/dist/canvas/library-adapters/types.d.ts +43 -0
- package/dist/canvas/library-adapters/types.d.ts.map +1 -0
- package/dist/canvas/repo-store.d.ts +2 -0
- package/dist/canvas/repo-store.d.ts.map +1 -1
- package/dist/canvas/starters/catalog.d.ts +34 -0
- package/dist/canvas/starters/catalog.d.ts.map +1 -0
- package/dist/canvas/token-references.d.ts +22 -0
- package/dist/canvas/token-references.d.ts.map +1 -0
- package/dist/canvas/types.d.ts +345 -6
- package/dist/canvas/types.d.ts.map +1 -1
- package/dist/challenges/action-loop.d.ts +13 -0
- package/dist/challenges/action-loop.d.ts.map +1 -0
- package/dist/challenges/capability-matrix.d.ts +3 -0
- package/dist/challenges/capability-matrix.d.ts.map +1 -0
- package/dist/challenges/evidence-bundle.d.ts +48 -0
- package/dist/challenges/evidence-bundle.d.ts.map +1 -0
- package/dist/challenges/governed-adapter-gateway.d.ts +4 -0
- package/dist/challenges/governed-adapter-gateway.d.ts.map +1 -0
- package/dist/challenges/human-yield-gate.d.ts +20 -0
- package/dist/challenges/human-yield-gate.d.ts.map +1 -0
- package/dist/challenges/index.d.ts +15 -0
- package/dist/challenges/index.d.ts.map +1 -0
- package/dist/challenges/interpreter.d.ts +3 -0
- package/dist/challenges/interpreter.d.ts.map +1 -0
- package/dist/challenges/optional-computer-use-bridge.d.ts +9 -0
- package/dist/challenges/optional-computer-use-bridge.d.ts.map +1 -0
- package/dist/challenges/orchestrator.d.ts +32 -0
- package/dist/challenges/orchestrator.d.ts.map +1 -0
- package/dist/challenges/outcome-recorder.d.ts +8 -0
- package/dist/challenges/outcome-recorder.d.ts.map +1 -0
- package/dist/challenges/owned-environment-lane.d.ts +3 -0
- package/dist/challenges/owned-environment-lane.d.ts.map +1 -0
- package/dist/challenges/policy-gate.d.ts +9 -0
- package/dist/challenges/policy-gate.d.ts.map +1 -0
- package/dist/challenges/sanctioned-identity-lane.d.ts +3 -0
- package/dist/challenges/sanctioned-identity-lane.d.ts.map +1 -0
- package/dist/challenges/service-adapter-lane.d.ts +3 -0
- package/dist/challenges/service-adapter-lane.d.ts.map +1 -0
- package/dist/challenges/strategy-selector.d.ts +10 -0
- package/dist/challenges/strategy-selector.d.ts.map +1 -0
- package/dist/challenges/types.d.ts +277 -0
- package/dist/challenges/types.d.ts.map +1 -0
- package/dist/challenges/verification-gate.d.ts +15 -0
- package/dist/challenges/verification-gate.d.ts.map +1 -0
- package/dist/chunk-5FZQJRBQ.js +15256 -0
- package/dist/chunk-5FZQJRBQ.js.map +1 -0
- package/dist/chunk-W4IHGDXV.js +33519 -0
- package/dist/chunk-W4IHGDXV.js.map +1 -0
- package/dist/chunk-YBQECXZX.js +409 -0
- package/dist/chunk-YBQECXZX.js.map +1 -0
- package/dist/cli/args.d.ts +4 -4
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/commands/artifacts.d.ts.map +1 -1
- package/dist/cli/commands/canvas.d.ts +7 -7
- package/dist/cli/commands/canvas.d.ts.map +1 -1
- package/dist/cli/commands/daemon.d.ts +7 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/desktop/accessibility-snapshot.d.ts +3 -0
- package/dist/cli/commands/desktop/accessibility-snapshot.d.ts.map +1 -0
- package/dist/cli/commands/desktop/active-window.d.ts +3 -0
- package/dist/cli/commands/desktop/active-window.d.ts.map +1 -0
- package/dist/cli/commands/desktop/capture-desktop.d.ts +3 -0
- package/dist/cli/commands/desktop/capture-desktop.d.ts.map +1 -0
- package/dist/cli/commands/desktop/capture-window.d.ts +3 -0
- package/dist/cli/commands/desktop/capture-window.d.ts.map +1 -0
- package/dist/cli/commands/desktop/shared.d.ts +19 -0
- package/dist/cli/commands/desktop/shared.d.ts.map +1 -0
- package/dist/cli/commands/desktop/status.d.ts +3 -0
- package/dist/cli/commands/desktop/status.d.ts.map +1 -0
- package/dist/cli/commands/desktop/windows.d.ts +3 -0
- package/dist/cli/commands/desktop/windows.d.ts.map +1 -0
- package/dist/cli/commands/devtools/dialog.d.ts +19 -0
- package/dist/cli/commands/devtools/dialog.d.ts.map +1 -0
- package/dist/cli/commands/devtools/screencast-start.d.ts +20 -0
- package/dist/cli/commands/devtools/screencast-start.d.ts.map +1 -0
- package/dist/cli/commands/devtools/screencast-stop.d.ts +17 -0
- package/dist/cli/commands/devtools/screencast-stop.d.ts.map +1 -0
- package/dist/cli/commands/devtools/screenshot.d.ts +2 -0
- package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -1
- package/dist/cli/commands/interact/click.d.ts.map +1 -1
- package/dist/cli/commands/interact/pointer-down.d.ts +7 -0
- package/dist/cli/commands/interact/pointer-down.d.ts.map +1 -0
- package/dist/cli/commands/interact/pointer-drag.d.ts +7 -0
- package/dist/cli/commands/interact/pointer-drag.d.ts.map +1 -0
- package/dist/cli/commands/interact/pointer-move.d.ts +7 -0
- package/dist/cli/commands/interact/pointer-move.d.ts.map +1 -0
- package/dist/cli/commands/interact/pointer-shared.d.ts +6 -0
- package/dist/cli/commands/interact/pointer-shared.d.ts.map +1 -0
- package/dist/cli/commands/interact/pointer-up.d.ts +7 -0
- package/dist/cli/commands/interact/pointer-up.d.ts.map +1 -0
- package/dist/cli/commands/interact/upload.d.ts +18 -0
- package/dist/cli/commands/interact/upload.d.ts.map +1 -0
- package/dist/cli/commands/macro-resolve.d.ts +2 -0
- package/dist/cli/commands/macro-resolve.d.ts.map +1 -1
- package/dist/cli/commands/native.d.ts +10 -7
- package/dist/cli/commands/native.d.ts.map +1 -1
- package/dist/cli/commands/nav/review.d.ts +7 -0
- package/dist/cli/commands/nav/review.d.ts.map +1 -0
- package/dist/cli/commands/nav/snapshot.d.ts.map +1 -1
- package/dist/cli/commands/pages/open.d.ts.map +1 -1
- package/dist/cli/commands/product-video.d.ts +2 -0
- package/dist/cli/commands/product-video.d.ts.map +1 -1
- package/dist/cli/commands/research.d.ts +3 -0
- package/dist/cli/commands/research.d.ts.map +1 -1
- package/dist/cli/commands/run.d.ts +14 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/serve.d.ts +1 -26
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/session/connect.d.ts.map +1 -1
- package/dist/cli/commands/session/disconnect.d.ts.map +1 -1
- package/dist/cli/commands/session/inspector.d.ts +21 -0
- package/dist/cli/commands/session/inspector.d.ts.map +1 -0
- package/dist/cli/commands/session/launch.d.ts.map +1 -1
- package/dist/cli/commands/shopping.d.ts +5 -0
- package/dist/cli/commands/shopping.d.ts.map +1 -1
- package/dist/cli/commands/status.d.ts +2 -14
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/targets/new.d.ts.map +1 -1
- package/dist/cli/daemon-autostart.d.ts +11 -0
- package/dist/cli/daemon-autostart.d.ts.map +1 -1
- package/dist/cli/daemon-client.d.ts +3 -0
- package/dist/cli/daemon-client.d.ts.map +1 -1
- package/dist/cli/daemon-commands.d.ts.map +1 -1
- package/dist/cli/daemon-state.d.ts +16 -0
- package/dist/cli/daemon-state.d.ts.map +1 -1
- package/dist/cli/daemon-status.d.ts +7 -2
- package/dist/cli/daemon-status.d.ts.map +1 -1
- package/dist/cli/daemon.d.ts +1 -0
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/help.d.ts +15 -4
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/index.js +2476 -1036
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/install-autostart-output.d.ts +6 -0
- package/dist/cli/install-autostart-output.d.ts.map +1 -0
- package/dist/cli/install-autostart-reconciliation.d.ts +23 -0
- package/dist/cli/install-autostart-reconciliation.d.ts.map +1 -0
- package/dist/cli/installers/skills.d.ts +42 -6
- package/dist/cli/installers/skills.d.ts.map +1 -1
- package/dist/cli/output.d.ts +3 -0
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/remote-desktop-runtime.d.ts +15 -0
- package/dist/cli/remote-desktop-runtime.d.ts.map +1 -0
- package/dist/cli/remote-manager.d.ts +24 -2
- package/dist/cli/remote-manager.d.ts.map +1 -1
- package/dist/cli/transport-timeouts.d.ts +8 -0
- package/dist/cli/transport-timeouts.d.ts.map +1 -0
- package/dist/cli/utils/http.d.ts +9 -0
- package/dist/cli/utils/http.d.ts.map +1 -1
- package/dist/cli/utils/parse.d.ts +2 -0
- package/dist/cli/utils/parse.d.ts.map +1 -1
- package/dist/cli/utils/skills.d.ts +1 -2
- package/dist/cli/utils/skills.d.ts.map +1 -1
- package/dist/cli/utils/workflow-message.d.ts +2 -0
- package/dist/cli/utils/workflow-message.d.ts.map +1 -0
- package/dist/config.d.ts +47 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/core/bootstrap.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/logging.d.ts +3 -1
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/runtime-assemblies.d.ts +22 -0
- package/dist/core/runtime-assemblies.d.ts.map +1 -0
- package/dist/core/types.d.ts +15 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/desktop/audit.d.ts +37 -0
- package/dist/desktop/audit.d.ts.map +1 -0
- package/dist/desktop/errors.d.ts +7 -0
- package/dist/desktop/errors.d.ts.map +1 -0
- package/dist/desktop/index.d.ts +6 -0
- package/dist/desktop/index.d.ts.map +1 -0
- package/dist/desktop/runtime.d.ts +26 -0
- package/dist/desktop/runtime.d.ts.map +1 -0
- package/dist/desktop/types.d.ts +76 -0
- package/dist/desktop/types.d.ts.map +1 -0
- package/dist/extension-extractor.d.ts +6 -0
- package/dist/extension-extractor.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1103 -467
- package/dist/index.js.map +1 -1
- package/dist/integrations/figma/assets.d.ts +13 -0
- package/dist/integrations/figma/assets.d.ts.map +1 -0
- package/dist/integrations/figma/auth.d.ts +3 -0
- package/dist/integrations/figma/auth.d.ts.map +1 -0
- package/dist/integrations/figma/client.d.ts +42 -0
- package/dist/integrations/figma/client.d.ts.map +1 -0
- package/dist/integrations/figma/mappers.d.ts +23 -0
- package/dist/integrations/figma/mappers.d.ts.map +1 -0
- package/dist/integrations/figma/normalize.d.ts +99 -0
- package/dist/integrations/figma/normalize.d.ts.map +1 -0
- package/dist/integrations/figma/url.d.ts +17 -0
- package/dist/integrations/figma/url.d.ts.map +1 -0
- package/dist/integrations/figma/variables.d.ts +21 -0
- package/dist/integrations/figma/variables.d.ts.map +1 -0
- package/dist/macros/execute-runtime.d.ts +19 -0
- package/dist/macros/execute-runtime.d.ts.map +1 -0
- package/dist/macros/execute.d.ts +3 -1
- package/dist/macros/execute.d.ts.map +1 -1
- package/dist/opendevbrowser.d.ts.map +1 -1
- package/dist/opendevbrowser.js +1103 -467
- package/dist/opendevbrowser.js.map +1 -1
- package/dist/providers/blocker.d.ts.map +1 -1
- package/dist/providers/browser-fallback.d.ts +30 -0
- package/dist/providers/browser-fallback.d.ts.map +1 -0
- package/dist/providers/constraint.d.ts +45 -0
- package/dist/providers/constraint.d.ts.map +1 -0
- package/dist/providers/index.d.ts +11 -2
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/policy.d.ts.map +1 -1
- package/dist/providers/product-video-compiler.d.ts +92 -0
- package/dist/providers/product-video-compiler.d.ts.map +1 -0
- package/dist/providers/registry.d.ts +37 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/renderer.d.ts.map +1 -1
- package/dist/providers/research-compiler.d.ts +64 -0
- package/dist/providers/research-compiler.d.ts.map +1 -0
- package/dist/providers/research-executor.d.ts +27 -0
- package/dist/providers/research-executor.d.ts.map +1 -0
- package/dist/providers/runtime-bundle.d.ts +26 -0
- package/dist/providers/runtime-bundle.d.ts.map +1 -0
- package/dist/providers/runtime-factory.d.ts +6 -1
- package/dist/providers/runtime-factory.d.ts.map +1 -1
- package/dist/providers/runtime-policy.d.ts +24 -0
- package/dist/providers/runtime-policy.d.ts.map +1 -0
- package/dist/providers/shared/anti-bot-policy.d.ts +3 -2
- package/dist/providers/shared/anti-bot-policy.d.ts.map +1 -1
- package/dist/providers/shopping/index.d.ts +11 -1
- package/dist/providers/shopping/index.d.ts.map +1 -1
- package/dist/providers/shopping-compiler.d.ts +51 -0
- package/dist/providers/shopping-compiler.d.ts.map +1 -0
- package/dist/providers/shopping-executor.d.ts +18 -0
- package/dist/providers/shopping-executor.d.ts.map +1 -0
- package/dist/providers/shopping-postprocess.d.ts +46 -0
- package/dist/providers/shopping-postprocess.d.ts.map +1 -0
- package/dist/providers/shopping-workflow.d.ts +33 -0
- package/dist/providers/shopping-workflow.d.ts.map +1 -0
- package/dist/providers/social/platform.d.ts +2 -1
- package/dist/providers/social/platform.d.ts.map +1 -1
- package/dist/providers/social/search-quality.d.ts +16 -0
- package/dist/providers/social/search-quality.d.ts.map +1 -0
- package/dist/providers/social/youtube-resolver.d.ts +2 -1
- package/dist/providers/social/youtube-resolver.d.ts.map +1 -1
- package/dist/providers/social/youtube.d.ts.map +1 -1
- package/dist/providers/types.d.ts +116 -4
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/web/crawl-worker.d.ts.map +1 -1
- package/dist/providers/web/extract.d.ts +16 -0
- package/dist/providers/web/extract.d.ts.map +1 -1
- package/dist/providers/web/index.d.ts.map +1 -1
- package/dist/providers/workflow-contracts.d.ts +53 -0
- package/dist/providers/workflow-contracts.d.ts.map +1 -0
- package/dist/providers/workflows.d.ts +30 -6
- package/dist/providers/workflows.d.ts.map +1 -1
- package/dist/{providers-G3LRHQXX.js → providers-G36AM3Z2.js} +2 -2
- package/dist/public-surface/generated-manifest.d.ts +1168 -0
- package/dist/public-surface/generated-manifest.d.ts.map +1 -0
- package/dist/public-surface/source.d.ts +437 -0
- package/dist/public-surface/source.d.ts.map +1 -0
- package/dist/relay/protocol.d.ts +25 -3
- package/dist/relay/protocol.d.ts.map +1 -1
- package/dist/relay/relay-endpoints.d.ts +21 -0
- package/dist/relay/relay-endpoints.d.ts.map +1 -1
- package/dist/relay/relay-server.d.ts +18 -0
- package/dist/relay/relay-server.d.ts.map +1 -1
- package/dist/skills/bundled-skill-directories.d.ts +8 -0
- package/dist/skills/bundled-skill-directories.d.ts.map +1 -0
- package/dist/skills/skill-loader.d.ts +9 -1
- package/dist/skills/skill-loader.d.ts.map +1 -1
- package/dist/skills/skill-loader.js +7 -0
- package/dist/skills/skill-nudge.d.ts.map +1 -1
- package/dist/skills/types.d.ts +31 -0
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/snapshot/ops-snapshot.d.ts +1 -1
- package/dist/snapshot/ops-snapshot.d.ts.map +1 -1
- package/dist/snapshot/refs.d.ts +6 -1
- package/dist/snapshot/refs.d.ts.map +1 -1
- package/dist/snapshot/snapshotter.d.ts.map +1 -1
- package/dist/tools/connect.d.ts.map +1 -1
- package/dist/tools/deps.d.ts +4 -0
- package/dist/tools/deps.d.ts.map +1 -1
- package/dist/tools/desktop-shared.d.ts +6 -0
- package/dist/tools/desktop-shared.d.ts.map +1 -0
- package/dist/tools/desktop_accessibility_snapshot.d.ts +4 -0
- package/dist/tools/desktop_accessibility_snapshot.d.ts.map +1 -0
- package/dist/tools/desktop_active_window.d.ts +4 -0
- package/dist/tools/desktop_active_window.d.ts.map +1 -0
- package/dist/tools/desktop_capture_desktop.d.ts +4 -0
- package/dist/tools/desktop_capture_desktop.d.ts.map +1 -0
- package/dist/tools/desktop_capture_window.d.ts +4 -0
- package/dist/tools/desktop_capture_window.d.ts.map +1 -0
- package/dist/tools/desktop_status.d.ts +4 -0
- package/dist/tools/desktop_status.d.ts.map +1 -0
- package/dist/tools/desktop_windows.d.ts +4 -0
- package/dist/tools/desktop_windows.d.ts.map +1 -0
- package/dist/tools/dialog.d.ts +4 -0
- package/dist/tools/dialog.d.ts.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/launch.d.ts.map +1 -1
- package/dist/tools/macro_resolve.d.ts.map +1 -1
- package/dist/tools/pointer_down.d.ts +4 -0
- package/dist/tools/pointer_down.d.ts.map +1 -0
- package/dist/tools/pointer_drag.d.ts +4 -0
- package/dist/tools/pointer_drag.d.ts.map +1 -0
- package/dist/tools/pointer_move.d.ts +4 -0
- package/dist/tools/pointer_move.d.ts.map +1 -0
- package/dist/tools/pointer_up.d.ts +4 -0
- package/dist/tools/pointer_up.d.ts.map +1 -0
- package/dist/tools/product_video_run.d.ts.map +1 -1
- package/dist/tools/prompting_guide.d.ts.map +1 -1
- package/dist/tools/research_run.d.ts.map +1 -1
- package/dist/tools/review.d.ts +4 -0
- package/dist/tools/review.d.ts.map +1 -0
- package/dist/tools/screencast_start.d.ts +4 -0
- package/dist/tools/screencast_start.d.ts.map +1 -0
- package/dist/tools/screencast_stop.d.ts +4 -0
- package/dist/tools/screencast_stop.d.ts.map +1 -0
- package/dist/tools/screenshot.d.ts.map +1 -1
- package/dist/tools/session_inspector.d.ts +4 -0
- package/dist/tools/session_inspector.d.ts.map +1 -0
- package/dist/tools/shopping_run.d.ts.map +1 -1
- package/dist/tools/skill_list.d.ts.map +1 -1
- package/dist/tools/skill_load.d.ts.map +1 -1
- package/dist/tools/upload.d.ts +4 -0
- package/dist/tools/upload.d.ts.map +1 -0
- package/dist/tools/workflow-runtime.d.ts +4 -1
- package/dist/tools/workflow-runtime.d.ts.map +1 -1
- package/dist/utils/package-assets.d.ts +4 -0
- package/dist/utils/package-assets.d.ts.map +1 -0
- package/extension/canvas.html +379 -9
- package/extension/dist/annotate-content.js +62 -32
- package/extension/dist/annotation-payload.js +57 -21
- package/extension/dist/background.js +406 -61
- package/extension/dist/canvas/canvas-runtime.js +481 -52
- package/extension/dist/canvas/model.js +129 -1
- package/extension/dist/canvas-page.js +1882 -74
- package/extension/dist/ops/dom-bridge.js +139 -0
- package/extension/dist/ops/ops-runtime.js +2854 -295
- package/extension/dist/ops/ops-session-store.js +83 -5
- package/extension/dist/ops/snapshot-builder.js +2 -2
- package/extension/dist/ops/snapshot-shared.js +2 -2
- package/extension/dist/ops/target-session-coordinator.js +5 -3
- package/extension/dist/popup.js +50 -15
- package/extension/dist/services/CDPRouter.js +1567 -63
- package/extension/dist/services/ConnectionManager.js +436 -78
- package/extension/dist/services/RelayClient.js +70 -30
- package/extension/dist/services/TabManager.js +83 -10
- package/extension/dist/services/TargetSessionMap.js +127 -3
- package/extension/dist/services/attach-errors.js +20 -0
- package/extension/dist/services/cdp-router-commands.js +135 -8
- package/extension/dist/services/url-restrictions.js +9 -13
- package/extension/manifest.json +2 -2
- package/extension/popup.html +7 -6
- package/package.json +15 -7
- package/skills/AGENTS.md +9 -8
- package/skills/opendevbrowser-best-practices/SKILL.md +118 -9
- package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +1 -0
- package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +26 -12
- package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +9 -2
- package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +6 -0
- package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +58 -0
- package/skills/opendevbrowser-best-practices/assets/templates/skill-runtime-pack-matrix.json +674 -0
- package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +9 -4
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +89 -20
- package/skills/opendevbrowser-best-practices/scripts/resolve-odb-cli.sh +100 -0
- package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +1 -0
- package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +256 -116
- package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +208 -0
- package/skills/opendevbrowser-continuity-ledger/SKILL.md +14 -1
- package/skills/opendevbrowser-continuity-ledger/scripts/validate-skill-assets.sh +61 -0
- package/skills/opendevbrowser-data-extraction/SKILL.md +6 -0
- package/skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh +112 -0
- package/skills/opendevbrowser-design-agent/SKILL.md +275 -0
- package/skills/opendevbrowser-design-agent/artifacts/app-shell-and-state-wiring.md +84 -0
- package/skills/opendevbrowser-design-agent/artifacts/async-search-state-ownership.md +58 -0
- package/skills/opendevbrowser-design-agent/artifacts/component-pattern-index.md +130 -0
- package/skills/opendevbrowser-design-agent/artifacts/design-contract-playbook.md +157 -0
- package/skills/opendevbrowser-design-agent/artifacts/design-release-gate.md +40 -0
- package/skills/opendevbrowser-design-agent/artifacts/design-workflows.md +153 -0
- package/skills/opendevbrowser-design-agent/artifacts/existing-surface-adaptation.md +56 -0
- package/skills/opendevbrowser-design-agent/artifacts/external-pattern-synthesis.md +103 -0
- package/skills/opendevbrowser-design-agent/artifacts/frontend-evaluation-rubric.md +61 -0
- package/skills/opendevbrowser-design-agent/artifacts/implementation-anti-patterns.md +163 -0
- package/skills/opendevbrowser-design-agent/artifacts/isolated-preview-validation.md +68 -0
- package/skills/opendevbrowser-design-agent/artifacts/loading-and-feedback-surfaces.md +56 -0
- package/skills/opendevbrowser-design-agent/artifacts/opendevbrowser-ui-example-map.md +44 -0
- package/skills/opendevbrowser-design-agent/artifacts/performance-audit-playbook.md +70 -0
- package/skills/opendevbrowser-design-agent/artifacts/research-harvest-workflow.md +81 -0
- package/skills/opendevbrowser-design-agent/artifacts/scroll-reveal-surface-planning.md +64 -0
- package/skills/opendevbrowser-design-agent/artifacts/state-ownership-matrix.md +36 -0
- package/skills/opendevbrowser-design-agent/artifacts/theming-and-token-ownership.md +43 -0
- package/skills/opendevbrowser-design-agent/assets/templates/canvas-generation-plan.design.v1.json +58 -0
- package/skills/opendevbrowser-design-agent/assets/templates/design-audit-report.v1.md +34 -0
- package/skills/opendevbrowser-design-agent/assets/templates/design-brief.v1.md +40 -0
- package/skills/opendevbrowser-design-agent/assets/templates/design-contract.v1.json +226 -0
- package/skills/opendevbrowser-design-agent/assets/templates/design-release-gate.v1.json +35 -0
- package/skills/opendevbrowser-design-agent/assets/templates/design-review-checklist.json +57 -0
- package/skills/opendevbrowser-design-agent/assets/templates/real-surface-design-matrix.json +32 -0
- package/skills/opendevbrowser-design-agent/assets/templates/reference-pattern-board.v1.json +31 -0
- package/skills/opendevbrowser-design-agent/scripts/design-workflow.sh +171 -0
- package/skills/opendevbrowser-design-agent/scripts/extract-canvas-plan.sh +56 -0
- package/skills/opendevbrowser-design-agent/scripts/validate-skill-assets.sh +223 -0
- package/skills/opendevbrowser-form-testing/SKILL.md +19 -3
- package/skills/opendevbrowser-form-testing/artifacts/form-workflows.md +5 -4
- package/skills/opendevbrowser-form-testing/assets/templates/challenge-decision-tree.json +2 -0
- package/skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh +109 -0
- package/skills/opendevbrowser-login-automation/SKILL.md +21 -3
- package/skills/opendevbrowser-login-automation/artifacts/login-workflows.md +5 -4
- package/skills/opendevbrowser-login-automation/assets/templates/auth-signals.json +5 -0
- package/skills/opendevbrowser-login-automation/assets/templates/login-scenario-matrix.json +3 -2
- package/skills/opendevbrowser-login-automation/scripts/run-login-workflow.sh +17 -1
- package/skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh +133 -0
- package/skills/opendevbrowser-product-presentation-asset/SKILL.md +23 -11
- package/skills/opendevbrowser-product-presentation-asset/artifacts/asset-pack-assembly.md +5 -3
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/shot-list.md +2 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/video-assembly.md +3 -2
- package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +5 -1
- package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +6 -2
- package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +5 -1
- package/skills/opendevbrowser-product-presentation-asset/scripts/render-video-brief.sh +20 -7
- package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +39 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +5 -1
- package/skills/opendevbrowser-research/SKILL.md +14 -6
- package/skills/opendevbrowser-research/scripts/render-output.sh +5 -1
- package/skills/opendevbrowser-research/scripts/run-research.sh +5 -1
- package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +45 -0
- package/skills/opendevbrowser-research/scripts/write-artifacts.sh +5 -1
- package/skills/opendevbrowser-shopping/SKILL.md +20 -1
- package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +6 -2
- package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +5 -1
- package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +5 -1
- package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +54 -0
- package/dist/chunk-5J3IFL3X.js +0 -16706
- package/dist/chunk-5J3IFL3X.js.map +0 -1
- package/dist/chunk-D633UO34.js +0 -8149
- package/dist/chunk-D633UO34.js.map +0 -1
- package/dist/chunk-V7KUDHDG.js +0 -276
- package/dist/chunk-V7KUDHDG.js.map +0 -1
- package/dist/runtime-factory-BICHDPE7.js +0 -13
- /package/dist/{providers-G3LRHQXX.js.map → providers-G36AM3Z2.js.map} +0 -0
- /package/dist/{runtime-factory-BICHDPE7.js.map → skills/skill-loader.js.map} +0 -0
package/README.md
CHANGED
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
> **Script-first browser automation for AI agents.** Snapshot → Refs → Actions.
|
|
12
12
|
|
|
13
|
-
OpenDevBrowser is an agent-agnostic browser automation runtime
|
|
13
|
+
OpenDevBrowser is an agent-agnostic browser automation runtime for CLI workflows, [OpenCode](https://opencode.ai) tool calls, and Chrome extension relay sessions. It supports managed launches, direct CDP attach, and extension-backed Ops sessions.
|
|
14
|
+
|
|
15
|
+
The current public surface includes [72 CLI commands and 65 `opendevbrowser_*` tools](docs/SURFACE_REFERENCE.md); see [docs/CLI.md](docs/CLI.md) for the operational command guide.
|
|
16
|
+
Generated help is the canonical first-contact discovery surface: `npx opendevbrowser --help` and `npx opendevbrowser help` now lead with a `Find It Fast` block that uses the exact lookup terms `screencast / browser replay`, `desktop observation`, and `computer use / browser-scoped computer use`.
|
|
14
17
|
|
|
15
18
|
<p align="center">
|
|
16
19
|
<img src="assets/hero-image.png" alt="OpenDevBrowser hero image showing AI-assisted annotation and browser automation workflow" width="920" />
|
|
@@ -18,6 +21,30 @@ OpenDevBrowser is an agent-agnostic browser automation runtime. You can use it a
|
|
|
18
21
|
<em>AI-assisted annotation and browser automation workflow</em>
|
|
19
22
|
</p>
|
|
20
23
|
|
|
24
|
+
## Table of Contents
|
|
25
|
+
|
|
26
|
+
- [Use It Your Way](#use-it-your-way)
|
|
27
|
+
- [Why OpenDevBrowser?](#why-opendevbrowser)
|
|
28
|
+
- [Installation](#installation)
|
|
29
|
+
- [Quick Start](#quick-start)
|
|
30
|
+
- [Challenge Handling Boundary](#challenge-handling-boundary)
|
|
31
|
+
- [Recent Features](#recent-features)
|
|
32
|
+
- [Features](#features)
|
|
33
|
+
- [Tool Reference](#tool-reference)
|
|
34
|
+
- [Bundled Skills](#bundled-skills)
|
|
35
|
+
- [Browser Modes](#browser-modes)
|
|
36
|
+
- [Relay Channels](#relay-channels)
|
|
37
|
+
- [Breaking Changes (latest)](#breaking-changes-latest)
|
|
38
|
+
- [Chrome Extension (Optional)](#chrome-extension-optional)
|
|
39
|
+
- [Configuration](#configuration)
|
|
40
|
+
- [CLI Commands](#cli-commands)
|
|
41
|
+
- [Security](#security)
|
|
42
|
+
- [Updating](#updating)
|
|
43
|
+
- [Architecture](#architecture)
|
|
44
|
+
- [Development](#development)
|
|
45
|
+
- [Privacy](#privacy)
|
|
46
|
+
- [License](#license)
|
|
47
|
+
|
|
21
48
|
## Use It Your Way
|
|
22
49
|
|
|
23
50
|
| Interface | OpenCode Required | Best For |
|
|
@@ -27,30 +54,16 @@ OpenDevBrowser is an agent-agnostic browser automation runtime. You can use it a
|
|
|
27
54
|
| **OpenCode Plugin Tools** | Yes | Native tool-calling inside OpenCode (`opendevbrowser_*`) |
|
|
28
55
|
| **Frontend Website (private repo)** | No | Product website and generated docs routes |
|
|
29
56
|
|
|
30
|
-
|
|
31
|
-
Private website docs routes are generated from public repository source-of-truth docs and skill packs.
|
|
32
|
-
|
|
33
|
-
Distribution split (current target state):
|
|
34
|
-
- Public repo (`opendevbrowser`): runtime, CLI, extension, docs, npm, release artifacts.
|
|
35
|
-
- Private repo (`opendevbrowser-website-deploy`): website deployment (`website-production` branch).
|
|
57
|
+
The public repo owns the automation runtime and canonical docs; see [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the full surface inventory.
|
|
36
58
|
|
|
37
59
|
## Why OpenDevBrowser?
|
|
38
60
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
| **3 browser modes** | Managed, CDP connect, or extension relay for logged-in sessions |
|
|
46
|
-
| **Ops + Canvas + CDP channels** | High-level multi-client `/ops`, dedicated `/canvas`, plus legacy `/cdp` compatibility |
|
|
47
|
-
| **Relay Hub (FIFO leases)** | Single-owner CDP binding with a FIFO queue for multi-client safety |
|
|
48
|
-
| **Flat-session routing** | Extension relay uses DebuggerSession sessionId routing (Chrome 125+) |
|
|
49
|
-
| **Design canvas + code sync** | Persist repo-native design documents, attach same-session observers, round-trip bound TSX files, and drive preview tabs with `canvas_html` or opted-in `bound_app_runtime` reconciliation |
|
|
50
|
-
| **Loop-closure diagnostics** | Console/network polling + unified debug trace snapshots for verification workflows |
|
|
51
|
-
| **10 bundled skill directories** | Best practices plus login, forms, data extraction, research, shopping, and product asset workflows |
|
|
52
|
-
| **49 tools** | Complete browser automation coverage, including the design-canvas command surface |
|
|
53
|
-
| **97% test coverage** | Production-ready with strict TypeScript |
|
|
61
|
+
- **Script-first automation model**: snapshot → refs → actions, built around accessibility-tree capture instead of brittle selector-first workflows.
|
|
62
|
+
- **Stable interaction primitives**: refs resolve through `backendNodeId`, and low-level pointer commands remain available when normal DOM actions are not enough.
|
|
63
|
+
- **Flexible session control**: run managed sessions, attach through direct CDP, or reuse logged-in tabs through the extension relay and `/ops`.
|
|
64
|
+
- **Design and review workflows**: use the design canvas, shared annotation inbox, and repo-backed code-sync flows without leaving the runtime surface.
|
|
65
|
+
- **Diagnostics and bounded challenge handling**: start with `session-inspector`, then drop to console or network polling and unified debug traces when you need channel-level detail.
|
|
66
|
+
- **Production guardrails**: local-only CDP by default, timing-safe auth, sanitized exports, strict TypeScript, and branch coverage held at 97% or higher.
|
|
54
67
|
|
|
55
68
|
---
|
|
56
69
|
|
|
@@ -76,9 +89,9 @@ npm install -g opendevbrowser
|
|
|
76
89
|
opendevbrowser --version
|
|
77
90
|
```
|
|
78
91
|
|
|
79
|
-
###
|
|
92
|
+
### Local Package Validation
|
|
80
93
|
|
|
81
|
-
Use this
|
|
94
|
+
Use this flow to validate first-run onboarding from a source tarball without relying on the published registry package.
|
|
82
95
|
|
|
83
96
|
```bash
|
|
84
97
|
cd <public-repo-root>
|
|
@@ -87,29 +100,18 @@ npm pack
|
|
|
87
100
|
WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
|
|
88
101
|
cd "$WORKDIR"
|
|
89
102
|
npm init -y
|
|
90
|
-
npm install <public-repo-root>/opendevbrowser-0.0.
|
|
103
|
+
npm install <public-repo-root>/opendevbrowser-0.0.19.tgz
|
|
91
104
|
npx --no-install opendevbrowser --help
|
|
92
105
|
npx --no-install opendevbrowser help
|
|
93
106
|
```
|
|
94
107
|
|
|
95
|
-
|
|
96
|
-
Dependency/runtime inventory: [`docs/DEPENDENCIES.md`](docs/DEPENDENCIES.md).
|
|
97
|
-
Live CLI inventory/help surface: `npx opendevbrowser --help` or `npx opendevbrowser help`.
|
|
98
|
-
|
|
99
|
-
Use OpenCode only if you want plugin tools. CLI and extension workflows work without OpenCode.
|
|
108
|
+
Published npm consumer proof is tracked separately in [docs/RELEASE_RUNBOOK.md](docs/RELEASE_RUNBOOK.md) through `scripts/registry-consumer-smoke.mjs`.
|
|
100
109
|
|
|
101
|
-
|
|
102
|
-
You can remove it later with `npx opendevbrowser daemon uninstall`.
|
|
110
|
+
See [docs/FIRST_RUN_ONBOARDING.md](docs/FIRST_RUN_ONBOARDING.md) for the full onboarding checklist, [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md) for runtime inventory, and [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the live CLI and tool surface.
|
|
103
111
|
|
|
104
|
-
|
|
105
|
-
Default `--skills-global` targets:
|
|
106
|
-
- `~/.config/opencode/skill` (OpenCode)
|
|
107
|
-
- `$CODEX_HOME/skills` (fallback `~/.codex/skills`)
|
|
108
|
-
- `$CLAUDECODE_HOME/skills` or `$CLAUDE_HOME/skills` (fallback `~/.claude/skills`)
|
|
109
|
-
- `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (fallback `~/.amp/skills`)
|
|
112
|
+
Successful installs reconcile daemon auto-start on supported platforms so the relay is available on login. If the current CLI entrypoint lives under a transient temp-root path such as a first-run `/tmp` or `/private/tmp` workspace, OpenDevBrowser refuses to persist that path as auto-start. Rerun `opendevbrowser daemon install`, or `npx --no-install opendevbrowser daemon install` from a persistent local package install, from a stable install location if you want login auto-start; remove it later with `opendevbrowser daemon uninstall`.
|
|
110
113
|
|
|
111
|
-
Use `--skills-local` for project-local
|
|
112
|
-
- `./.opencode/skill`, `./.codex/skills`, `./.claude/skills`, `./.amp/skills`
|
|
114
|
+
Bundled skills sync to **OpenCode, Codex, ClaudeCode, and AmpCLI** targets during install. Use `--skills-global` for user-wide installs or `--skills-local` for project-local installs; see [docs/CLI.md](docs/CLI.md) for exact target paths.
|
|
113
115
|
|
|
114
116
|
### CLI + Extension (No OpenCode)
|
|
115
117
|
|
|
@@ -142,6 +144,8 @@ Website build/data pipeline lives in the private repo:
|
|
|
142
144
|
|
|
143
145
|
### Agent Installation (OpenCode)
|
|
144
146
|
|
|
147
|
+
Use OpenCode only when you want native `opendevbrowser_*` tool calls; the CLI and extension workflows work without it.
|
|
148
|
+
|
|
145
149
|
Recommended (CLI, installs plugin + config + bundled skills + extension assets):
|
|
146
150
|
|
|
147
151
|
```bash
|
|
@@ -176,9 +180,9 @@ OpenDevBrowser uses the same automation model across plugin tools and CLI comman
|
|
|
176
180
|
```
|
|
177
181
|
1. Launch a browser session
|
|
178
182
|
2. Navigate to a URL
|
|
179
|
-
3. Take a
|
|
183
|
+
3. Take a review to get target-aware actionables and refs
|
|
180
184
|
4. Interact using refs (click, type, select)
|
|
181
|
-
5. Re-snapshot after navigation
|
|
185
|
+
5. Re-review or re-snapshot after navigation
|
|
182
186
|
```
|
|
183
187
|
|
|
184
188
|
Shipping checklist for first-time users (local-package install, daemon, extension, first task, multi-tab auth/cookies):
|
|
@@ -192,9 +196,10 @@ Parallel execution is target-scoped (`ExecutionKey = (sessionId,targetId)`): sam
|
|
|
192
196
|
|------|------|---------|
|
|
193
197
|
| 1 | `opendevbrowser_launch` | Launch a session (extension relay first; managed fallback is explicit) |
|
|
194
198
|
| 2 | `opendevbrowser_goto` | Navigate to URL |
|
|
195
|
-
| 3 | `
|
|
199
|
+
| 3 | `opendevbrowser_review` | Inspect the active target and capture fresh actionables before acting |
|
|
196
200
|
| 4 | `opendevbrowser_click` / `opendevbrowser_type` | Interact with elements |
|
|
197
|
-
| 5 | `
|
|
201
|
+
| 5 | `opendevbrowser_snapshot` | Re-capture refs after navigation or DOM changes |
|
|
202
|
+
| 6 | `opendevbrowser_disconnect` | Clean up session |
|
|
198
203
|
|
|
199
204
|
---
|
|
200
205
|
|
|
@@ -207,7 +212,7 @@ Run a local daemon for persistent sessions, then drive automation via CLI comman
|
|
|
207
212
|
npx opendevbrowser serve
|
|
208
213
|
|
|
209
214
|
# Install auto-start (recommended for resilience)
|
|
210
|
-
|
|
215
|
+
opendevbrowser daemon install
|
|
211
216
|
|
|
212
217
|
# Stop/kill the daemon before restarting
|
|
213
218
|
npx opendevbrowser serve --stop
|
|
@@ -215,8 +220,8 @@ npx opendevbrowser serve --stop
|
|
|
215
220
|
# Launch a session
|
|
216
221
|
npx opendevbrowser launch --start-url https://example.com
|
|
217
222
|
|
|
218
|
-
#
|
|
219
|
-
npx opendevbrowser
|
|
223
|
+
# Review the active target and capture fresh refs
|
|
224
|
+
npx opendevbrowser review --session-id <session-id>
|
|
220
225
|
|
|
221
226
|
# Interact by ref
|
|
222
227
|
npx opendevbrowser click --session-id <session-id> --ref r12
|
|
@@ -224,6 +229,8 @@ npx opendevbrowser click --session-id <session-id> --ref r12
|
|
|
224
229
|
|
|
225
230
|
`opendevbrowser serve` includes stale-daemon preflight cleanup by default, so orphan daemon processes are terminated automatically
|
|
226
231
|
before startup while preserving the active daemon on the requested port.
|
|
232
|
+
If you are running from a temporary onboarding workspace, rerun `opendevbrowser daemon install` from a stable install location
|
|
233
|
+
before expecting auto-start to survive login.
|
|
227
234
|
|
|
228
235
|
For single-shot scripts:
|
|
229
236
|
|
|
@@ -233,20 +240,42 @@ npx opendevbrowser run --script ./script.json --output-format json
|
|
|
233
240
|
|
|
234
241
|
Use `--output-format json|stream-json` for automation-friendly output.
|
|
235
242
|
|
|
243
|
+
### Help-Led Discovery
|
|
244
|
+
|
|
245
|
+
Start every surface check from generated help when you need the current public lanes. The terminal help now uses these exact phrases so agents can search by intent instead of guessing command names:
|
|
246
|
+
|
|
247
|
+
- `screencast / browser replay`: `screencast-start`, `screencast-stop`
|
|
248
|
+
- `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
|
|
249
|
+
- `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, and `macro-resolve --execute`; start with `npx opendevbrowser research run --topic "account recovery flow" --source-selection auto --challenge-automation-mode browser --mode json --output-format json` when you need the first entry point, and use `review` plus `session-inspector` as the quickest proof surfaces while the optional helper stays browser-scoped rather than becoming a desktop agent
|
|
250
|
+
|
|
251
|
+
## Challenge Handling Boundary
|
|
252
|
+
|
|
253
|
+
- `SessionStore` remains the blocker FSM source of truth. Managed and `/ops`-backed responses keep `meta.blocker`, `meta.blockerState`, and `meta.blockerResolution` stable and may append additive `meta.challenge` plus `meta.challengeOrchestration`.
|
|
254
|
+
- Direct browser, `/ops`, and provider fallback paths now share one bounded challenge orchestration plane. It can try auth navigation, legitimate session or cookie reuse, non-secret field fill, and bounded interaction exploration before yielding to a human.
|
|
255
|
+
- Workflow and manager callers can set `challengeAutomationMode` to `off`, `browser`, or `browser_with_helper`. Effective precedence is `run > session > config`, and hard gates still apply after resolution.
|
|
256
|
+
- The optional helper bridge is browser-scoped, not a desktop agent. `browser` forces it to stand down, and `browser_with_helper` only evaluates it after the existing helper hard gates pass.
|
|
257
|
+
- Shipped builds also expose a public read-only desktop observation plane under separate `desktop.*` config. It is enabled by default, does not widen `/ops` or `ChallengeRuntimeHandle`, and the internal composed path still routes desktop observation back through browser-owned review when challenge automation needs it.
|
|
258
|
+
- Browser fallback returns explicit transport `disposition` values: `completed`, `challenge_preserved`, `deferred`, or `failed`. When orchestration runs during fallback, decision evidence is recorded under `details.challengeOrchestration`.
|
|
259
|
+
- `ProviderRegistry` is the only durable anti-bot pressure authority. Shared runtime and policy own fallback ordering and resume policy; provider modules only contribute extraction logic and `recoveryHints()`.
|
|
260
|
+
- In scope: preserved sessions, normal browser controls, bounded interaction experimentation, human yield packets for secret or human-authority boundaries, and owned-environment fixtures that use vendor test keys only.
|
|
261
|
+
- Out of scope: hidden bypasses, CAPTCHA-solving services, token harvesting, or autonomous unsandboxed solving of third-party anti-bot systems.
|
|
262
|
+
|
|
236
263
|
---
|
|
237
264
|
|
|
238
265
|
## Recent Features
|
|
239
266
|
|
|
240
|
-
### v0.0.
|
|
267
|
+
### v0.0.19 (Current release prep)
|
|
241
268
|
|
|
242
|
-
-
|
|
243
|
-
- **
|
|
244
|
-
- **
|
|
269
|
+
- npm latest remains `0.0.18` until the next tag is pushed and published.
|
|
270
|
+
- **Registry-consumer release proof is now first-class** with a post-publish smoke lane that installs the published package in a fresh temp workspace, verifies help/version, and captures the resolved consumer dependency graph.
|
|
271
|
+
- **Browser-scoped computer use is easier to discover** because help, onboarding, and release-facing docs now expose a concrete workflow entry command instead of relying only on `--challenge-automation-mode` as a hidden modifier.
|
|
272
|
+
- **Browser replay screencast shutdown is safer under load** because stop requests during the first in-flight capture no longer allow a later scheduled frame to sneak through.
|
|
273
|
+
- **The `0.0.18` npm parity investigation is now explicit about chronology**: the published package matched the release-aligned source, while later local worktree drift and semver-based consumer dependency drift explain the mismatch reports.
|
|
245
274
|
|
|
246
275
|
### v0.0.16
|
|
247
276
|
|
|
248
277
|
- **Release-gate hardening** with dedicated audit/compliance scripts (`audit-zombie-files`, `docs-drift-check`, `chrome-store-compliance-check`) and grouped release-gate tests.
|
|
249
|
-
- **Live
|
|
278
|
+
- **Live direct-run release gates** across provider-by-provider and scenario-by-scenario scripts with explicit artifacts instead of broad matrix evidence.
|
|
250
279
|
- **CLI/runtime reliability fixes** including launch RPC timeout derivation from wait hints, bounded macro execute timeouts, and stale extension `/cdp` attach retry handling.
|
|
251
280
|
- **Version/distribution integrity checks** now enforce parity across `package.json`, `extension/manifest.json`, and `extension/package.json`.
|
|
252
281
|
- **Dependency and docs refresh** for v0.0.16 release readiness, onboarding parity, and public/private distribution operations.
|
|
@@ -280,6 +309,7 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
|
|
|
280
309
|
- **Click** - Click elements by ref
|
|
281
310
|
- **Type** - Enter text into inputs
|
|
282
311
|
- **Select** - Choose dropdown options
|
|
312
|
+
- **Upload** - Send files to a file input or chooser by ref
|
|
283
313
|
- **Scroll** - Scroll page or elements
|
|
284
314
|
- **Wait** - Wait for selectors or navigation
|
|
285
315
|
|
|
@@ -287,12 +317,14 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
|
|
|
287
317
|
- **Console Capture** - Monitor console.log, errors, warnings
|
|
288
318
|
- **Network Tracking** - Request/response metadata (method, url, status)
|
|
289
319
|
- **Debug Trace Snapshot** - Combined page/console/network/exception diagnostics with blocker metadata
|
|
290
|
-
- **Screenshot** -
|
|
320
|
+
- **Screenshot** - Visible, ref-targeted, or full-page PNG capture (file or base64)
|
|
321
|
+
- **Dialog** - Inspect or handle JavaScript dialogs per target
|
|
291
322
|
- **Performance** - Page load metrics
|
|
292
323
|
|
|
293
324
|
### Session & Macro Utilities
|
|
294
325
|
- **Cookie Import** - Validate and import cookies into active sessions
|
|
295
326
|
- **Cookie List** - First-class cookie inspection with optional URL filters
|
|
327
|
+
- **Session Inspector** - Session-first diagnostics with relay health, trace proof, and a suggested next action
|
|
296
328
|
- **Macro Resolve/Execute** - Expand macro expressions into provider actions with optional execution
|
|
297
329
|
|
|
298
330
|
### Export & Clone
|
|
@@ -304,9 +336,11 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
|
|
|
304
336
|
|
|
305
337
|
## Tool Reference
|
|
306
338
|
|
|
307
|
-
OpenDevBrowser provides **
|
|
339
|
+
OpenDevBrowser provides **65 tools** organized by category:
|
|
308
340
|
Most runtime actions also have CLI command equivalents (see [docs/CLI.md](docs/CLI.md)).
|
|
309
341
|
Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`): [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md).
|
|
342
|
+
Terminal help now mirrors the generated public-surface manifest rooted at `src/public-surface/source.ts` and refreshed by `scripts/generate-public-surface-manifest.mjs`. `npx opendevbrowser --help` and `npx opendevbrowser help` both show every command with its usage and primary flags, every grouped CLI flag, and every bundled `opendevbrowser_*` tool with its CLI equivalent or tool-only scope.
|
|
343
|
+
See [docs/ASSET_INVENTORY.md](docs/ASSET_INVENTORY.md) for the brand and generated help/public-surface asset inventory used by packaging and website-sync flows.
|
|
310
344
|
|
|
311
345
|
### Session Management
|
|
312
346
|
| Tool | Description |
|
|
@@ -317,6 +351,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
317
351
|
| `opendevbrowser_status` | Get session status and connection info (daemon status in hub mode) |
|
|
318
352
|
| `opendevbrowser_cookie_import` | Import validated cookies into the current session |
|
|
319
353
|
| `opendevbrowser_cookie_list` | List session cookies with optional URL filters |
|
|
354
|
+
| `opendevbrowser_session_inspector` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
|
|
320
355
|
|
|
321
356
|
### Tab/Target Management
|
|
322
357
|
| Tool | Description |
|
|
@@ -339,6 +374,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
339
374
|
| `opendevbrowser_goto` | Navigate to URL |
|
|
340
375
|
| `opendevbrowser_wait` | Wait for load state or element |
|
|
341
376
|
| `opendevbrowser_snapshot` | Capture page accessibility tree with refs |
|
|
377
|
+
| `opendevbrowser_review` | Capture target-aware actionables plus status context before acting |
|
|
342
378
|
| `opendevbrowser_click` | Click element by ref |
|
|
343
379
|
| `opendevbrowser_hover` | Hover element by ref |
|
|
344
380
|
| `opendevbrowser_press` | Press a keyboard key (optionally focusing a ref) |
|
|
@@ -348,6 +384,11 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
348
384
|
| `opendevbrowser_select` | Select dropdown option by ref |
|
|
349
385
|
| `opendevbrowser_scroll` | Scroll page or element |
|
|
350
386
|
| `opendevbrowser_scroll_into_view` | Scroll element into view by ref |
|
|
387
|
+
| `opendevbrowser_upload` | Upload files to a file input or chooser by ref |
|
|
388
|
+
| `opendevbrowser_pointer_move` | Move the pointer to viewport coordinates |
|
|
389
|
+
| `opendevbrowser_pointer_down` | Press a mouse button at viewport coordinates |
|
|
390
|
+
| `opendevbrowser_pointer_up` | Release a mouse button at viewport coordinates |
|
|
391
|
+
| `opendevbrowser_pointer_drag` | Drag between viewport coordinates |
|
|
351
392
|
| `opendevbrowser_run` | Execute multiple actions in sequence |
|
|
352
393
|
|
|
353
394
|
### DOM Inspection
|
|
@@ -368,9 +409,24 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
368
409
|
| `opendevbrowser_network_poll` | Poll network requests since sequence |
|
|
369
410
|
| `opendevbrowser_debug_trace_snapshot` | Capture a unified page + console + network + exception diagnostic bundle |
|
|
370
411
|
| `opendevbrowser_screenshot` | Capture page screenshot |
|
|
412
|
+
| `opendevbrowser_screencast_start` | Start a browser replay screencast capture |
|
|
413
|
+
| `opendevbrowser_screencast_stop` | Stop a browser replay screencast capture and return artifact metadata |
|
|
414
|
+
| `opendevbrowser_dialog` | Inspect or handle a JavaScript dialog |
|
|
371
415
|
| `opendevbrowser_perf` | Get page performance metrics |
|
|
372
416
|
| `opendevbrowser_prompting_guide` | Get best-practice prompting guidance |
|
|
373
417
|
|
|
418
|
+
### Desktop Observation
|
|
419
|
+
| Tool | Description |
|
|
420
|
+
|------|-------------|
|
|
421
|
+
| `opendevbrowser_desktop_status` | Inspect public read-only desktop observation availability |
|
|
422
|
+
| `opendevbrowser_desktop_windows` | List windows exposed by the public read-only desktop observation plane |
|
|
423
|
+
| `opendevbrowser_desktop_active_window` | Inspect the active window through the public read-only desktop observation plane |
|
|
424
|
+
| `opendevbrowser_desktop_capture_desktop` | Capture the current desktop surface through the public read-only desktop observation plane |
|
|
425
|
+
| `opendevbrowser_desktop_capture_window` | Capture a specific window through the public read-only desktop observation plane |
|
|
426
|
+
| `opendevbrowser_desktop_accessibility_snapshot` | Capture desktop accessibility state through the public read-only desktop observation plane |
|
|
427
|
+
|
|
428
|
+
Desktop observation currently ships as a public read-only macOS surface. Availability, window inventory, and accessibility snapshots rely on the local `swift` command, while screenshot capture uses the built-in `screencapture` utility. If `desktop-status` reports `desktop_unsupported` on macOS, install Xcode or a Swift toolchain and retry.
|
|
429
|
+
|
|
374
430
|
### Macro Workflows
|
|
375
431
|
| Tool | Description |
|
|
376
432
|
|------|-------------|
|
|
@@ -395,18 +451,19 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
395
451
|
### Skills
|
|
396
452
|
| Tool | Description |
|
|
397
453
|
|------|-------------|
|
|
398
|
-
| `opendevbrowser_skill_list` | List available skills |
|
|
399
|
-
| `opendevbrowser_skill_load` | Load a skill by name
|
|
454
|
+
| `opendevbrowser_skill_list` | List available skills before choosing a local workflow lane |
|
|
455
|
+
| `opendevbrowser_skill_load` | Load a skill by name and topic, especially the bundled quick start |
|
|
400
456
|
|
|
401
457
|
---
|
|
402
458
|
|
|
403
459
|
## Bundled Skills
|
|
404
460
|
|
|
405
|
-
OpenDevBrowser includes **
|
|
461
|
+
OpenDevBrowser includes **9 OpenDevBrowser-specific skill packs**. Install, update, and uninstall own the managed skill lifecycle across OpenCode, Codex, ClaudeCode, and AmpCLI targets:
|
|
406
462
|
|
|
407
463
|
| Skill | Purpose |
|
|
408
464
|
|-------|---------|
|
|
409
465
|
| `opendevbrowser-best-practices` | Core prompting patterns and workflow guidance |
|
|
466
|
+
| `opendevbrowser-design-agent` | Contract-first, research-backed frontend and `/canvas` design execution |
|
|
410
467
|
| `opendevbrowser-continuity-ledger` | Long-running task state management |
|
|
411
468
|
| `opendevbrowser-login-automation` | Authentication flow patterns |
|
|
412
469
|
| `opendevbrowser-form-testing` | Form validation and submission workflows |
|
|
@@ -416,7 +473,9 @@ OpenDevBrowser includes **8 OpenDevBrowser-specific skill packs** plus shared `r
|
|
|
416
473
|
| `opendevbrowser-product-presentation-asset` | Product screenshot/copy asset collection for presentation pipelines |
|
|
417
474
|
|
|
418
475
|
Installer note:
|
|
419
|
-
- `--skills-global` and `--skills-local`
|
|
476
|
+
- `--skills-global` and `--skills-local` sync the 9 canonical `opendevbrowser-*` packs into managed global or project-local agent directories.
|
|
477
|
+
- Reinstall and update refresh drifted managed copies and leave matching packs unchanged.
|
|
478
|
+
- Uninstall removes managed canonical packs and only prunes legacy `research` or `shopping` leftovers when those directories are empty and clearly obsolete.
|
|
420
479
|
|
|
421
480
|
Skills are discovered from (priority order):
|
|
422
481
|
1. `.opencode/skill/` (project)
|
|
@@ -428,8 +487,10 @@ Skills are discovered from (priority order):
|
|
|
428
487
|
7. `.amp/skills/` (AmpCLI project compatibility)
|
|
429
488
|
8. `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (AmpCLI global compatibility; fallback `~/.amp/skills`)
|
|
430
489
|
9. Custom paths via `skillPaths` config
|
|
490
|
+
10. Bundled package fallback: packaged `skills/` directory after `skillPaths` when no installed copy matches
|
|
431
491
|
|
|
432
492
|
Load a skill: `opendevbrowser_skill_load` with `name` and optional `topic` filter.
|
|
493
|
+
`opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, and `opendevbrowser_skill_load` are local onboarding helpers, so they do not require a browser session, relay, or daemon bootstrap.
|
|
433
494
|
|
|
434
495
|
---
|
|
435
496
|
|
|
@@ -447,7 +508,7 @@ Extension relay relies on **flat CDP sessions (Chrome 125+)** and uses DebuggerS
|
|
|
447
508
|
|
|
448
509
|
Relay ops endpoint: `ws://127.0.0.1:<relayPort>/ops`.
|
|
449
510
|
The connect command also accepts base relay WS URLs (`ws://127.0.0.1:<relayPort>` or `ws://localhost:<relayPort>`) and normalizes them to `/ops`.
|
|
450
|
-
Relay canvas endpoint: `ws://127.0.0.1:<relayPort>/canvas` for design-canvas editor, session attach/lease flow, code-sync, preview, feedback, and overlay flows.
|
|
511
|
+
Relay canvas endpoint: `ws://127.0.0.1:<relayPort>/canvas` for design-canvas editor, session attach/lease flow, code-sync, preview, public feedback pull streams, and overlay flows.
|
|
451
512
|
Legacy relay `/cdp` remains available with explicit opt-in (`--extension-legacy`).
|
|
452
513
|
When pairing is enabled, `/ops`, `/canvas`, and `/cdp` require a relay token (`?token=<relayToken>`). Tools and the CLI auto-fetch relay config and tokens.
|
|
453
514
|
|
|
@@ -456,7 +517,7 @@ When pairing is enabled, `/ops`, `/canvas`, and `/cdp` require a relay token (`?
|
|
|
456
517
|
| Channel | What It Does | When to Use It |
|
|
457
518
|
|---------|---------------|----------------|
|
|
458
519
|
| **`/ops` (default)** | High-level automation protocol with session ownership, event streaming, and multi-client handling | Preferred extension relay path for modern workflows |
|
|
459
|
-
| **`/canvas`** | Typed design-canvas protocol for session handshakes/attach,
|
|
520
|
+
| **`/canvas`** | Typed design-canvas protocol for session handshakes/attach, Figma document import, reusable inventory list/insert, built-in starter list/apply flows, framework-adapter-backed code sync, preview tabs, public feedback pull streams, and overlay selection | Use with `opendevbrowser_canvas` or `opendevbrowser canvas` during design-canvas workflows |
|
|
460
521
|
| **`/cdp` (legacy)** | Low-level CDP relay path with compatibility-focused behavior | Opt-in compatibility mode (`--extension-legacy`) |
|
|
461
522
|
| **Direct CDP connect** | Attach to Chrome started with `--remote-debugging-port` | Existing debug/browser setups without extension relay |
|
|
462
523
|
|
|
@@ -513,7 +574,7 @@ If the relay is unavailable, the background worker retries `/config` + `/pair` w
|
|
|
513
574
|
- If `relayPort` is `0`, the relay is off.
|
|
514
575
|
- `relayToken: false` disables relay/hub behavior entirely.
|
|
515
576
|
- `relayToken: ""` (empty string) keeps relay enabled but disables pairing requirements.
|
|
516
|
-
- Install auto-start with `
|
|
577
|
+
- Install auto-start with `opendevbrowser daemon install` from a stable install location so the relay is available on login.
|
|
517
578
|
- Clear extension local data and retry if the token/port seem stuck.
|
|
518
579
|
- If another process owns the port, change `relayPort` or stop it; `opencode` listening is expected.
|
|
519
580
|
|
|
@@ -575,9 +636,25 @@ Optional config file: `~/.config/opencode/opendevbrowser.jsonc`
|
|
|
575
636
|
"cookieSource": {
|
|
576
637
|
"type": "file",
|
|
577
638
|
"value": "~/.config/opencode/opendevbrowser.provider-cookies.json"
|
|
639
|
+
},
|
|
640
|
+
"challengeOrchestration": {
|
|
641
|
+
"mode": "browser_with_helper",
|
|
642
|
+
"optionalComputerUseBridge": {
|
|
643
|
+
"enabled": true
|
|
644
|
+
}
|
|
578
645
|
}
|
|
579
646
|
},
|
|
580
647
|
|
|
648
|
+
// Public read-only sibling desktop observation runtime (enabled by default; set "off" to opt out)
|
|
649
|
+
// On macOS, availability, window, and accessibility probes require the local swift command.
|
|
650
|
+
"desktop": {
|
|
651
|
+
"permissionLevel": "observe",
|
|
652
|
+
"commandTimeoutMs": 10000,
|
|
653
|
+
"auditArtifactsDir": ".opendevbrowser/desktop-runtime",
|
|
654
|
+
"accessibilityMaxDepth": 2,
|
|
655
|
+
"accessibilityMaxChildren": 25
|
|
656
|
+
},
|
|
657
|
+
|
|
581
658
|
// Skills configuration
|
|
582
659
|
"skills": {
|
|
583
660
|
"nudge": {
|
|
@@ -618,10 +695,10 @@ All fields are optional. OpenDevBrowser works with sensible defaults.
|
|
|
618
695
|
|
|
619
696
|
## CLI Commands
|
|
620
697
|
|
|
621
|
-
The CLI is agent-agnostic and supports the full automation surface (session, navigation, interaction, DOM, targets, pages, export, devtools, annotate, and canvas).
|
|
698
|
+
The CLI is agent-agnostic and supports the full automation surface (session, navigation, interaction, DOM, browser capture and replay, desktop observation, targets, pages, export, devtools, annotate, and canvas).
|
|
622
699
|
All commands listed in the CLI reference are implemented and available in the current codebase.
|
|
623
700
|
See [docs/CLI.md](docs/CLI.md) for the full command and flag matrix.
|
|
624
|
-
See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accurate inventory matrix (CLI commands,
|
|
701
|
+
See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accurate inventory matrix (72 CLI commands, 65 tools, `/ops`, `/canvas`, and `/cdp` channel contracts).
|
|
625
702
|
|
|
626
703
|
### CLI Category Matrix (core command groups)
|
|
627
704
|
|
|
@@ -630,11 +707,13 @@ See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accura
|
|
|
630
707
|
| Install/runtime | `install`, `update`, `uninstall`, `help`, `version`, `serve`, `daemon`, `native`, `run` |
|
|
631
708
|
| Session/connection | `launch`, `connect`, `disconnect`, `status`, `cookie-import`, `cookie-list` |
|
|
632
709
|
| Navigation | `goto`, `wait`, `snapshot` |
|
|
633
|
-
| Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view` |
|
|
710
|
+
| Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view`, `upload`, `pointer-move`, `pointer-down`, `pointer-up`, `pointer-drag` |
|
|
634
711
|
| Targets/pages | `targets-list`, `target-use`, `target-new`, `target-close`, `page`, `pages`, `page-close` |
|
|
635
712
|
| DOM | `dom-html`, `dom-text`, `dom-attr`, `dom-value`, `dom-visible`, `dom-enabled`, `dom-checked` |
|
|
713
|
+
| Browser capture | `screenshot`, `screencast-start`, `screencast-stop` |
|
|
714
|
+
| Desktop observation | `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot` |
|
|
636
715
|
| Design canvas | `canvas` |
|
|
637
|
-
| Export/diagnostics/macro/annotation/power | `clone-page`, `clone-component`, `perf`, `
|
|
716
|
+
| Export/diagnostics/macro/annotation/power | `clone-page`, `clone-component`, `perf`, `dialog`, `console-poll`, `network-poll`, `debug-trace-snapshot`, `session-inspector`, `macro-resolve`, `annotate`, `rpc` |
|
|
638
717
|
|
|
639
718
|
### Install/Management
|
|
640
719
|
|
|
@@ -660,6 +739,7 @@ Start the daemon with `npx opendevbrowser serve`, then use:
|
|
|
660
739
|
| `npx opendevbrowser connect` | Connect via relay or direct CDP endpoint |
|
|
661
740
|
| `npx opendevbrowser disconnect` | Disconnect session |
|
|
662
741
|
| `npx opendevbrowser status` | Show session status |
|
|
742
|
+
| `npx opendevbrowser session-inspector --session-id <id>` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
|
|
663
743
|
| `npx opendevbrowser goto` | Navigate to URL |
|
|
664
744
|
| `npx opendevbrowser wait` | Wait for load or element |
|
|
665
745
|
| `npx opendevbrowser snapshot` | Capture snapshot with refs |
|
|
@@ -676,6 +756,14 @@ Workflow cookie controls (`research run`, `shopping run`, `product-video run`):
|
|
|
676
756
|
- Per-run overrides: `--use-cookies`, `--cookie-policy-override` (alias `--cookie-policy`).
|
|
677
757
|
- `auto` is non-blocking when cookies are unavailable; `required` fails fast with `reasonCode=auth_required`.
|
|
678
758
|
|
|
759
|
+
Workflow challenge controls (`research run`, `shopping run`, `product-video run`):
|
|
760
|
+
- Per-run override: `--challenge-automation-mode off|browser|browser_with_helper`, which maps to `challengeAutomationMode`.
|
|
761
|
+
- Effective precedence is `run > session > config`.
|
|
762
|
+
- `off` keeps detection and reporting active but stands down challenge actions.
|
|
763
|
+
- `browser` allows browser-native lanes only and keeps the helper bridge disabled.
|
|
764
|
+
- `browser_with_helper` keeps browser-native lanes first and evaluates the browser-scoped helper bridge second when hard gates pass.
|
|
765
|
+
- The helper bridge remains browser-scoped and is not a desktop agent.
|
|
766
|
+
|
|
679
767
|
---
|
|
680
768
|
|
|
681
769
|
## Security
|
|
@@ -712,6 +800,7 @@ Release checklist: [docs/DISTRIBUTION_PLAN.md](docs/DISTRIBUTION_PLAN.md)
|
|
|
712
800
|
Documentation index: [docs/README.md](docs/README.md)
|
|
713
801
|
Frontend docs: [docs/FRONTEND.md](docs/FRONTEND.md)
|
|
714
802
|
Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
|
|
803
|
+
Local-only generated artifacts such as `prompt-exports/`, root `artifacts/`, `coverage/`, `CONTINUITY*.md`, and `sub_continuity.md` stay uncommitted; `.gitignore` is authoritative.
|
|
715
804
|
|
|
716
805
|
---
|
|
717
806
|
|
|
@@ -729,7 +818,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
|
|
|
729
818
|
▼ ▼ ▼ ▼
|
|
730
819
|
┌─────────────────────────────────────────────────────────────────┐
|
|
731
820
|
│ Core Runtime (src/core/) │
|
|
732
|
-
│ bootstrap.ts → wires managers,
|
|
821
|
+
│ bootstrap.ts → wires managers, sibling desktop runtime, │
|
|
822
|
+
│ automation coordinator, injects ToolDeps │
|
|
733
823
|
└────────┬────────────────────────────────────────────────────────┘
|
|
734
824
|
│
|
|
735
825
|
┌────┴────┬─────────────┬──────────────┬──────────────┬──────────────┐
|
|
@@ -746,6 +836,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
|
|
|
746
836
|
└────────┘ └────────────┘
|
|
747
837
|
```
|
|
748
838
|
|
|
839
|
+
The simplified map above omits the dedicated Challenge Coordinator, Desktop Runtime, and Automation Coordinator that now sit beside the browser managers; see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full component map and ownership boundaries.
|
|
840
|
+
|
|
749
841
|
### Data Flow
|
|
750
842
|
|
|
751
843
|
```
|
|
@@ -768,22 +860,29 @@ Tool Call → Zod Validation → Manager/Runner → CDP/Playwright → Response
|
|
|
768
860
|
```
|
|
769
861
|
.
|
|
770
862
|
├── src/ # Plugin implementation
|
|
771
|
-
│ ├──
|
|
863
|
+
│ ├── annotate/ # Annotation transports + output shaping
|
|
864
|
+
│ ├── automation/ # Automation helpers and coordinator
|
|
865
|
+
│ ├── browser/ # Browser sessions, target orchestration, canvas preview/code-sync
|
|
772
866
|
│ ├── cache/ # Chrome executable resolution
|
|
867
|
+
│ ├── canvas/ # Design-canvas document store, repo IO, code-sync, export helpers
|
|
868
|
+
│ ├── challenges/ # Bounded challenge orchestration plane, evidence, recovery lanes
|
|
773
869
|
│ ├── cli/ # CLI commands, daemon, installers
|
|
774
870
|
│ ├── core/ # Bootstrap, runtime wiring, ToolDeps
|
|
775
|
-
│ ├──
|
|
871
|
+
│ ├── desktop/ # Read-only desktop observation runtime
|
|
776
872
|
│ ├── devtools/ # Console/network trackers with redaction
|
|
777
873
|
│ ├── export/ # DOM capture, React emitter, CSS extraction
|
|
874
|
+
│ ├── integrations/ # External integration adapters (Figma import, etc.)
|
|
875
|
+
│ ├── macros/ # Macro parsing, resolution, provider-action expansion
|
|
876
|
+
│ ├── providers/ # Provider runtime, policy, workflows, browser fallback
|
|
877
|
+
│ ├── public-surface/ # Generated manifest source, CLI/tool metadata
|
|
778
878
|
│ ├── relay/ # Extension relay server, protocol types
|
|
779
879
|
│ ├── skills/ # SkillLoader for skill pack discovery
|
|
780
880
|
│ ├── snapshot/ # AX-tree snapshots, ref management
|
|
781
|
-
│ ├── tools/ #
|
|
782
|
-
│ ├── annotate/ # Annotation transports + output shaping
|
|
881
|
+
│ ├── tools/ # 65 opendevbrowser_* tool definitions
|
|
783
882
|
│ └── utils/ # Shared utilities
|
|
784
883
|
├── extension/ # Chrome extension (relay client)
|
|
785
884
|
├── scripts/ # Operational scripts (build/sync/smoke)
|
|
786
|
-
├── skills/ # Bundled skill directories (
|
|
885
|
+
├── skills/ # Bundled skill directories (11 total; 9 canonical OpenDevBrowser packs + 2 shared compatibility packs)
|
|
787
886
|
├── tests/ # Vitest tests (97% coverage required)
|
|
788
887
|
└── docs/ # Architecture, CLI, extension, distribution plans
|
|
789
888
|
```
|
|
@@ -820,8 +919,8 @@ Uniform versioning is required (source of truth: `package.json`):
|
|
|
820
919
|
- `node scripts/chrome-store-compliance-check.mjs`
|
|
821
920
|
- `./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh`
|
|
822
921
|
8. Run strict live release gates:
|
|
823
|
-
- `node scripts/provider-
|
|
824
|
-
- `node scripts/live-regression-
|
|
922
|
+
- `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json`
|
|
923
|
+
- `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json`
|
|
825
924
|
9. Run first-time global install dry run checklist from `docs/FIRST_RUN_ONBOARDING.md`.
|
|
826
925
|
10. Run: `npm run extension:pack` (outputs `./opendevbrowser-extension.zip`)
|
|
827
926
|
11. Run: `npm pack`
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { AgentInboxDeliveryState, AgentInboxReceipt, AnnotationDispatchSource, AnnotationPayload } from "../relay/protocol";
|
|
2
|
+
export type AgentInboxAssetRef = {
|
|
3
|
+
id: string;
|
|
4
|
+
kind: "screenshot";
|
|
5
|
+
label?: string | null;
|
|
6
|
+
metadata: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
export type AgentInboxScopeRegistration = {
|
|
9
|
+
chatScopeKey: string;
|
|
10
|
+
updatedAt: string;
|
|
11
|
+
messageId?: string | null;
|
|
12
|
+
agent?: string | null;
|
|
13
|
+
model?: {
|
|
14
|
+
providerID: string;
|
|
15
|
+
modelID: string;
|
|
16
|
+
} | null;
|
|
17
|
+
variant?: string | null;
|
|
18
|
+
};
|
|
19
|
+
export type AgentInboxEntry = {
|
|
20
|
+
id: string;
|
|
21
|
+
worktree: string;
|
|
22
|
+
chatScopeKey: string | null;
|
|
23
|
+
source: AnnotationDispatchSource;
|
|
24
|
+
label: string;
|
|
25
|
+
createdAt: string;
|
|
26
|
+
deliveryState: AgentInboxDeliveryState;
|
|
27
|
+
payloadSansScreenshots: AnnotationPayload;
|
|
28
|
+
assetRefs: AgentInboxAssetRef[];
|
|
29
|
+
payloadHash: string;
|
|
30
|
+
itemCount: number;
|
|
31
|
+
byteLength: number;
|
|
32
|
+
receipt: AgentInboxReceipt;
|
|
33
|
+
};
|
|
34
|
+
type EnqueueInput = {
|
|
35
|
+
payload: AnnotationPayload;
|
|
36
|
+
source: AnnotationDispatchSource;
|
|
37
|
+
label: string;
|
|
38
|
+
explicitChatScopeKey?: string | null;
|
|
39
|
+
};
|
|
40
|
+
export declare class AgentInboxStore {
|
|
41
|
+
private readonly worktree;
|
|
42
|
+
private readonly now;
|
|
43
|
+
constructor(worktree: string, now?: () => number);
|
|
44
|
+
registerScope(chatScopeKey: string, registration?: Omit<AgentInboxScopeRegistration, "chatScopeKey" | "updatedAt">): AgentInboxScopeRegistration;
|
|
45
|
+
listActiveScopes(): AgentInboxScopeRegistration[];
|
|
46
|
+
enqueue(input: EnqueueInput): AgentInboxEntry;
|
|
47
|
+
peekScope(chatScopeKey: string): AgentInboxEntry[];
|
|
48
|
+
latestEntry(): AgentInboxEntry | null;
|
|
49
|
+
consume(receiptIds: string[]): void;
|
|
50
|
+
private resolveScope;
|
|
51
|
+
private readEntries;
|
|
52
|
+
private writeEntries;
|
|
53
|
+
private readScopes;
|
|
54
|
+
private writeScopes;
|
|
55
|
+
private ensureInboxDir;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=agent-inbox-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-inbox-store.d.ts","sourceRoot":"","sources":["../../src/annotate/agent-inbox-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAY3B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,uBAAuB,CAAC;IACvC,sBAAsB,EAAE,iBAAiB,CAAC;IAC1C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAMF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAOF,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAyB;IAKlE,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,IAAI,CAAC,2BAA2B,EAAE,cAAc,GAAG,WAAW,CAAM,GACjF,2BAA2B;IAmB9B,gBAAgB,IAAI,2BAA2B,EAAE;IAIjD,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe;IAuD7C,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE;IAUlD,WAAW,IAAI,eAAe,GAAG,IAAI;IAKrC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAuBnC,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;CAOvB"}
|