opendevbrowser 0.0.17 → 0.0.18
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 +171 -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-L57D35TB.js +33513 -0
- package/dist/chunk-L57D35TB.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 +2467 -1033
- 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
|
|
|
@@ -78,7 +91,7 @@ opendevbrowser --version
|
|
|
78
91
|
|
|
79
92
|
### Pre-release Local Package (No npm publish required)
|
|
80
93
|
|
|
81
|
-
Use this
|
|
94
|
+
Use this flow to validate first-run local package onboarding before npm publish.
|
|
82
95
|
|
|
83
96
|
```bash
|
|
84
97
|
cd <public-repo-root>
|
|
@@ -87,29 +100,16 @@ 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.18.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.
|
|
100
|
-
|
|
101
|
-
On first successful install, the CLI attempts to install daemon auto-start on supported platforms so the relay is available on login.
|
|
102
|
-
You can remove it later with `npx opendevbrowser daemon uninstall`.
|
|
108
|
+
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
109
|
|
|
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`)
|
|
110
|
+
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
111
|
|
|
111
|
-
Use `--skills-local` for project-local
|
|
112
|
-
- `./.opencode/skill`, `./.codex/skills`, `./.claude/skills`, `./.amp/skills`
|
|
112
|
+
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
113
|
|
|
114
114
|
### CLI + Extension (No OpenCode)
|
|
115
115
|
|
|
@@ -142,6 +142,8 @@ Website build/data pipeline lives in the private repo:
|
|
|
142
142
|
|
|
143
143
|
### Agent Installation (OpenCode)
|
|
144
144
|
|
|
145
|
+
Use OpenCode only when you want native `opendevbrowser_*` tool calls; the CLI and extension workflows work without it.
|
|
146
|
+
|
|
145
147
|
Recommended (CLI, installs plugin + config + bundled skills + extension assets):
|
|
146
148
|
|
|
147
149
|
```bash
|
|
@@ -176,9 +178,9 @@ OpenDevBrowser uses the same automation model across plugin tools and CLI comman
|
|
|
176
178
|
```
|
|
177
179
|
1. Launch a browser session
|
|
178
180
|
2. Navigate to a URL
|
|
179
|
-
3. Take a
|
|
181
|
+
3. Take a review to get target-aware actionables and refs
|
|
180
182
|
4. Interact using refs (click, type, select)
|
|
181
|
-
5. Re-snapshot after navigation
|
|
183
|
+
5. Re-review or re-snapshot after navigation
|
|
182
184
|
```
|
|
183
185
|
|
|
184
186
|
Shipping checklist for first-time users (local-package install, daemon, extension, first task, multi-tab auth/cookies):
|
|
@@ -192,9 +194,10 @@ Parallel execution is target-scoped (`ExecutionKey = (sessionId,targetId)`): sam
|
|
|
192
194
|
|------|------|---------|
|
|
193
195
|
| 1 | `opendevbrowser_launch` | Launch a session (extension relay first; managed fallback is explicit) |
|
|
194
196
|
| 2 | `opendevbrowser_goto` | Navigate to URL |
|
|
195
|
-
| 3 | `
|
|
197
|
+
| 3 | `opendevbrowser_review` | Inspect the active target and capture fresh actionables before acting |
|
|
196
198
|
| 4 | `opendevbrowser_click` / `opendevbrowser_type` | Interact with elements |
|
|
197
|
-
| 5 | `
|
|
199
|
+
| 5 | `opendevbrowser_snapshot` | Re-capture refs after navigation or DOM changes |
|
|
200
|
+
| 6 | `opendevbrowser_disconnect` | Clean up session |
|
|
198
201
|
|
|
199
202
|
---
|
|
200
203
|
|
|
@@ -207,7 +210,7 @@ Run a local daemon for persistent sessions, then drive automation via CLI comman
|
|
|
207
210
|
npx opendevbrowser serve
|
|
208
211
|
|
|
209
212
|
# Install auto-start (recommended for resilience)
|
|
210
|
-
|
|
213
|
+
opendevbrowser daemon install
|
|
211
214
|
|
|
212
215
|
# Stop/kill the daemon before restarting
|
|
213
216
|
npx opendevbrowser serve --stop
|
|
@@ -215,8 +218,8 @@ npx opendevbrowser serve --stop
|
|
|
215
218
|
# Launch a session
|
|
216
219
|
npx opendevbrowser launch --start-url https://example.com
|
|
217
220
|
|
|
218
|
-
#
|
|
219
|
-
npx opendevbrowser
|
|
221
|
+
# Review the active target and capture fresh refs
|
|
222
|
+
npx opendevbrowser review --session-id <session-id>
|
|
220
223
|
|
|
221
224
|
# Interact by ref
|
|
222
225
|
npx opendevbrowser click --session-id <session-id> --ref r12
|
|
@@ -224,6 +227,8 @@ npx opendevbrowser click --session-id <session-id> --ref r12
|
|
|
224
227
|
|
|
225
228
|
`opendevbrowser serve` includes stale-daemon preflight cleanup by default, so orphan daemon processes are terminated automatically
|
|
226
229
|
before startup while preserving the active daemon on the requested port.
|
|
230
|
+
If you are running from a temporary onboarding workspace, rerun `opendevbrowser daemon install` from a stable install location
|
|
231
|
+
before expecting auto-start to survive login.
|
|
227
232
|
|
|
228
233
|
For single-shot scripts:
|
|
229
234
|
|
|
@@ -233,20 +238,43 @@ npx opendevbrowser run --script ./script.json --output-format json
|
|
|
233
238
|
|
|
234
239
|
Use `--output-format json|stream-json` for automation-friendly output.
|
|
235
240
|
|
|
241
|
+
### Help-Led Discovery
|
|
242
|
+
|
|
243
|
+
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:
|
|
244
|
+
|
|
245
|
+
- `screencast / browser replay`: `screencast-start`, `screencast-stop`
|
|
246
|
+
- `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
|
|
247
|
+
- `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`; `review` and `session-inspector` remain the quickest proof surfaces, and the optional helper stays browser-scoped rather than becoming a desktop agent
|
|
248
|
+
|
|
249
|
+
## Challenge Handling Boundary
|
|
250
|
+
|
|
251
|
+
- `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`.
|
|
252
|
+
- 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.
|
|
253
|
+
- 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.
|
|
254
|
+
- 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.
|
|
255
|
+
- 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.
|
|
256
|
+
- 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`.
|
|
257
|
+
- `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()`.
|
|
258
|
+
- 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.
|
|
259
|
+
- Out of scope: hidden bypasses, CAPTCHA-solving services, token harvesting, or autonomous unsandboxed solving of third-party anti-bot systems.
|
|
260
|
+
|
|
236
261
|
---
|
|
237
262
|
|
|
238
263
|
## Recent Features
|
|
239
264
|
|
|
240
|
-
### v0.0.
|
|
265
|
+
### v0.0.18 (Latest)
|
|
241
266
|
|
|
242
|
-
- **
|
|
243
|
-
- **
|
|
244
|
-
- **
|
|
267
|
+
- **Canvas and workflow surfaces are materially stronger after `v0.0.17`**: adapter-plugin validation, starter or inventory lanes, framework-adapter code sync, review/session-inspector flows, and direct-run release probes all landed on `main`.
|
|
268
|
+
- **Generated public-surface manifests and onboarding metadata now drive help, docs parity, release evidence, and mirrored website inputs** instead of leaving those surfaces hand-maintained.
|
|
269
|
+
- **Challenge automation and browser-scoped computer-use controls are tighter** with explicit `challengeAutomationMode` precedence and a clearer browser-only helper boundary.
|
|
270
|
+
- **Browser replay screencasts and public desktop observation now ship on the active public surface** with manager-owned replay artifacts, dedicated desktop permission or audit coverage, and no desktop agent claim.
|
|
271
|
+
- **Public read-only desktop observation now ships as a sibling runtime** with dedicated permission and audit coverage while staying outside the public relay or `/ops` plane.
|
|
272
|
+
- **Release and distribution operations were refreshed for `v0.0.18`** across GitHub release assets, npm packaging, Chrome Web Store prep, regenerated live store assets, and private website sync inputs.
|
|
245
273
|
|
|
246
274
|
### v0.0.16
|
|
247
275
|
|
|
248
276
|
- **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
|
|
277
|
+
- **Live direct-run release gates** across provider-by-provider and scenario-by-scenario scripts with explicit artifacts instead of broad matrix evidence.
|
|
250
278
|
- **CLI/runtime reliability fixes** including launch RPC timeout derivation from wait hints, bounded macro execute timeouts, and stale extension `/cdp` attach retry handling.
|
|
251
279
|
- **Version/distribution integrity checks** now enforce parity across `package.json`, `extension/manifest.json`, and `extension/package.json`.
|
|
252
280
|
- **Dependency and docs refresh** for v0.0.16 release readiness, onboarding parity, and public/private distribution operations.
|
|
@@ -280,6 +308,7 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
|
|
|
280
308
|
- **Click** - Click elements by ref
|
|
281
309
|
- **Type** - Enter text into inputs
|
|
282
310
|
- **Select** - Choose dropdown options
|
|
311
|
+
- **Upload** - Send files to a file input or chooser by ref
|
|
283
312
|
- **Scroll** - Scroll page or elements
|
|
284
313
|
- **Wait** - Wait for selectors or navigation
|
|
285
314
|
|
|
@@ -287,12 +316,14 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
|
|
|
287
316
|
- **Console Capture** - Monitor console.log, errors, warnings
|
|
288
317
|
- **Network Tracking** - Request/response metadata (method, url, status)
|
|
289
318
|
- **Debug Trace Snapshot** - Combined page/console/network/exception diagnostics with blocker metadata
|
|
290
|
-
- **Screenshot** -
|
|
319
|
+
- **Screenshot** - Visible, ref-targeted, or full-page PNG capture (file or base64)
|
|
320
|
+
- **Dialog** - Inspect or handle JavaScript dialogs per target
|
|
291
321
|
- **Performance** - Page load metrics
|
|
292
322
|
|
|
293
323
|
### Session & Macro Utilities
|
|
294
324
|
- **Cookie Import** - Validate and import cookies into active sessions
|
|
295
325
|
- **Cookie List** - First-class cookie inspection with optional URL filters
|
|
326
|
+
- **Session Inspector** - Session-first diagnostics with relay health, trace proof, and a suggested next action
|
|
296
327
|
- **Macro Resolve/Execute** - Expand macro expressions into provider actions with optional execution
|
|
297
328
|
|
|
298
329
|
### Export & Clone
|
|
@@ -304,9 +335,11 @@ See [CHANGELOG.md](CHANGELOG.md) for complete version history.
|
|
|
304
335
|
|
|
305
336
|
## Tool Reference
|
|
306
337
|
|
|
307
|
-
OpenDevBrowser provides **
|
|
338
|
+
OpenDevBrowser provides **65 tools** organized by category:
|
|
308
339
|
Most runtime actions also have CLI command equivalents (see [docs/CLI.md](docs/CLI.md)).
|
|
309
340
|
Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`): [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md).
|
|
341
|
+
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.
|
|
342
|
+
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
343
|
|
|
311
344
|
### Session Management
|
|
312
345
|
| Tool | Description |
|
|
@@ -317,6 +350,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
317
350
|
| `opendevbrowser_status` | Get session status and connection info (daemon status in hub mode) |
|
|
318
351
|
| `opendevbrowser_cookie_import` | Import validated cookies into the current session |
|
|
319
352
|
| `opendevbrowser_cookie_list` | List session cookies with optional URL filters |
|
|
353
|
+
| `opendevbrowser_session_inspector` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
|
|
320
354
|
|
|
321
355
|
### Tab/Target Management
|
|
322
356
|
| Tool | Description |
|
|
@@ -339,6 +373,7 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
339
373
|
| `opendevbrowser_goto` | Navigate to URL |
|
|
340
374
|
| `opendevbrowser_wait` | Wait for load state or element |
|
|
341
375
|
| `opendevbrowser_snapshot` | Capture page accessibility tree with refs |
|
|
376
|
+
| `opendevbrowser_review` | Capture target-aware actionables plus status context before acting |
|
|
342
377
|
| `opendevbrowser_click` | Click element by ref |
|
|
343
378
|
| `opendevbrowser_hover` | Hover element by ref |
|
|
344
379
|
| `opendevbrowser_press` | Press a keyboard key (optionally focusing a ref) |
|
|
@@ -348,6 +383,11 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
348
383
|
| `opendevbrowser_select` | Select dropdown option by ref |
|
|
349
384
|
| `opendevbrowser_scroll` | Scroll page or element |
|
|
350
385
|
| `opendevbrowser_scroll_into_view` | Scroll element into view by ref |
|
|
386
|
+
| `opendevbrowser_upload` | Upload files to a file input or chooser by ref |
|
|
387
|
+
| `opendevbrowser_pointer_move` | Move the pointer to viewport coordinates |
|
|
388
|
+
| `opendevbrowser_pointer_down` | Press a mouse button at viewport coordinates |
|
|
389
|
+
| `opendevbrowser_pointer_up` | Release a mouse button at viewport coordinates |
|
|
390
|
+
| `opendevbrowser_pointer_drag` | Drag between viewport coordinates |
|
|
351
391
|
| `opendevbrowser_run` | Execute multiple actions in sequence |
|
|
352
392
|
|
|
353
393
|
### DOM Inspection
|
|
@@ -368,9 +408,24 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
368
408
|
| `opendevbrowser_network_poll` | Poll network requests since sequence |
|
|
369
409
|
| `opendevbrowser_debug_trace_snapshot` | Capture a unified page + console + network + exception diagnostic bundle |
|
|
370
410
|
| `opendevbrowser_screenshot` | Capture page screenshot |
|
|
411
|
+
| `opendevbrowser_screencast_start` | Start a browser replay screencast capture |
|
|
412
|
+
| `opendevbrowser_screencast_stop` | Stop a browser replay screencast capture and return artifact metadata |
|
|
413
|
+
| `opendevbrowser_dialog` | Inspect or handle a JavaScript dialog |
|
|
371
414
|
| `opendevbrowser_perf` | Get page performance metrics |
|
|
372
415
|
| `opendevbrowser_prompting_guide` | Get best-practice prompting guidance |
|
|
373
416
|
|
|
417
|
+
### Desktop Observation
|
|
418
|
+
| Tool | Description |
|
|
419
|
+
|------|-------------|
|
|
420
|
+
| `opendevbrowser_desktop_status` | Inspect public read-only desktop observation availability |
|
|
421
|
+
| `opendevbrowser_desktop_windows` | List windows exposed by the public read-only desktop observation plane |
|
|
422
|
+
| `opendevbrowser_desktop_active_window` | Inspect the active window through the public read-only desktop observation plane |
|
|
423
|
+
| `opendevbrowser_desktop_capture_desktop` | Capture the current desktop surface through the public read-only desktop observation plane |
|
|
424
|
+
| `opendevbrowser_desktop_capture_window` | Capture a specific window through the public read-only desktop observation plane |
|
|
425
|
+
| `opendevbrowser_desktop_accessibility_snapshot` | Capture desktop accessibility state through the public read-only desktop observation plane |
|
|
426
|
+
|
|
427
|
+
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.
|
|
428
|
+
|
|
374
429
|
### Macro Workflows
|
|
375
430
|
| Tool | Description |
|
|
376
431
|
|------|-------------|
|
|
@@ -395,18 +450,19 @@ Complete source-accurate inventory (tools + CLI + `/ops` + `/canvas` + `/cdp`):
|
|
|
395
450
|
### Skills
|
|
396
451
|
| Tool | Description |
|
|
397
452
|
|------|-------------|
|
|
398
|
-
| `opendevbrowser_skill_list` | List available skills |
|
|
399
|
-
| `opendevbrowser_skill_load` | Load a skill by name
|
|
453
|
+
| `opendevbrowser_skill_list` | List available skills before choosing a local workflow lane |
|
|
454
|
+
| `opendevbrowser_skill_load` | Load a skill by name and topic, especially the bundled quick start |
|
|
400
455
|
|
|
401
456
|
---
|
|
402
457
|
|
|
403
458
|
## Bundled Skills
|
|
404
459
|
|
|
405
|
-
OpenDevBrowser includes **
|
|
460
|
+
OpenDevBrowser includes **9 OpenDevBrowser-specific skill packs**. Install, update, and uninstall own the managed skill lifecycle across OpenCode, Codex, ClaudeCode, and AmpCLI targets:
|
|
406
461
|
|
|
407
462
|
| Skill | Purpose |
|
|
408
463
|
|-------|---------|
|
|
409
464
|
| `opendevbrowser-best-practices` | Core prompting patterns and workflow guidance |
|
|
465
|
+
| `opendevbrowser-design-agent` | Contract-first, research-backed frontend and `/canvas` design execution |
|
|
410
466
|
| `opendevbrowser-continuity-ledger` | Long-running task state management |
|
|
411
467
|
| `opendevbrowser-login-automation` | Authentication flow patterns |
|
|
412
468
|
| `opendevbrowser-form-testing` | Form validation and submission workflows |
|
|
@@ -416,7 +472,9 @@ OpenDevBrowser includes **8 OpenDevBrowser-specific skill packs** plus shared `r
|
|
|
416
472
|
| `opendevbrowser-product-presentation-asset` | Product screenshot/copy asset collection for presentation pipelines |
|
|
417
473
|
|
|
418
474
|
Installer note:
|
|
419
|
-
- `--skills-global` and `--skills-local`
|
|
475
|
+
- `--skills-global` and `--skills-local` sync the 9 canonical `opendevbrowser-*` packs into managed global or project-local agent directories.
|
|
476
|
+
- Reinstall and update refresh drifted managed copies and leave matching packs unchanged.
|
|
477
|
+
- Uninstall removes managed canonical packs and only prunes legacy `research` or `shopping` leftovers when those directories are empty and clearly obsolete.
|
|
420
478
|
|
|
421
479
|
Skills are discovered from (priority order):
|
|
422
480
|
1. `.opencode/skill/` (project)
|
|
@@ -428,8 +486,10 @@ Skills are discovered from (priority order):
|
|
|
428
486
|
7. `.amp/skills/` (AmpCLI project compatibility)
|
|
429
487
|
8. `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (AmpCLI global compatibility; fallback `~/.amp/skills`)
|
|
430
488
|
9. Custom paths via `skillPaths` config
|
|
489
|
+
10. Bundled package fallback: packaged `skills/` directory after `skillPaths` when no installed copy matches
|
|
431
490
|
|
|
432
491
|
Load a skill: `opendevbrowser_skill_load` with `name` and optional `topic` filter.
|
|
492
|
+
`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
493
|
|
|
434
494
|
---
|
|
435
495
|
|
|
@@ -447,7 +507,7 @@ Extension relay relies on **flat CDP sessions (Chrome 125+)** and uses DebuggerS
|
|
|
447
507
|
|
|
448
508
|
Relay ops endpoint: `ws://127.0.0.1:<relayPort>/ops`.
|
|
449
509
|
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.
|
|
510
|
+
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
511
|
Legacy relay `/cdp` remains available with explicit opt-in (`--extension-legacy`).
|
|
452
512
|
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
513
|
|
|
@@ -456,7 +516,7 @@ When pairing is enabled, `/ops`, `/canvas`, and `/cdp` require a relay token (`?
|
|
|
456
516
|
| Channel | What It Does | When to Use It |
|
|
457
517
|
|---------|---------------|----------------|
|
|
458
518
|
| **`/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,
|
|
519
|
+
| **`/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
520
|
| **`/cdp` (legacy)** | Low-level CDP relay path with compatibility-focused behavior | Opt-in compatibility mode (`--extension-legacy`) |
|
|
461
521
|
| **Direct CDP connect** | Attach to Chrome started with `--remote-debugging-port` | Existing debug/browser setups without extension relay |
|
|
462
522
|
|
|
@@ -513,7 +573,7 @@ If the relay is unavailable, the background worker retries `/config` + `/pair` w
|
|
|
513
573
|
- If `relayPort` is `0`, the relay is off.
|
|
514
574
|
- `relayToken: false` disables relay/hub behavior entirely.
|
|
515
575
|
- `relayToken: ""` (empty string) keeps relay enabled but disables pairing requirements.
|
|
516
|
-
- Install auto-start with `
|
|
576
|
+
- Install auto-start with `opendevbrowser daemon install` from a stable install location so the relay is available on login.
|
|
517
577
|
- Clear extension local data and retry if the token/port seem stuck.
|
|
518
578
|
- If another process owns the port, change `relayPort` or stop it; `opencode` listening is expected.
|
|
519
579
|
|
|
@@ -575,9 +635,25 @@ Optional config file: `~/.config/opencode/opendevbrowser.jsonc`
|
|
|
575
635
|
"cookieSource": {
|
|
576
636
|
"type": "file",
|
|
577
637
|
"value": "~/.config/opencode/opendevbrowser.provider-cookies.json"
|
|
638
|
+
},
|
|
639
|
+
"challengeOrchestration": {
|
|
640
|
+
"mode": "browser_with_helper",
|
|
641
|
+
"optionalComputerUseBridge": {
|
|
642
|
+
"enabled": true
|
|
643
|
+
}
|
|
578
644
|
}
|
|
579
645
|
},
|
|
580
646
|
|
|
647
|
+
// Public read-only sibling desktop observation runtime (enabled by default; set "off" to opt out)
|
|
648
|
+
// On macOS, availability, window, and accessibility probes require the local swift command.
|
|
649
|
+
"desktop": {
|
|
650
|
+
"permissionLevel": "observe",
|
|
651
|
+
"commandTimeoutMs": 10000,
|
|
652
|
+
"auditArtifactsDir": ".opendevbrowser/desktop-runtime",
|
|
653
|
+
"accessibilityMaxDepth": 2,
|
|
654
|
+
"accessibilityMaxChildren": 25
|
|
655
|
+
},
|
|
656
|
+
|
|
581
657
|
// Skills configuration
|
|
582
658
|
"skills": {
|
|
583
659
|
"nudge": {
|
|
@@ -618,10 +694,10 @@ All fields are optional. OpenDevBrowser works with sensible defaults.
|
|
|
618
694
|
|
|
619
695
|
## CLI Commands
|
|
620
696
|
|
|
621
|
-
The CLI is agent-agnostic and supports the full automation surface (session, navigation, interaction, DOM, targets, pages, export, devtools, annotate, and canvas).
|
|
697
|
+
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
698
|
All commands listed in the CLI reference are implemented and available in the current codebase.
|
|
623
699
|
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,
|
|
700
|
+
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
701
|
|
|
626
702
|
### CLI Category Matrix (core command groups)
|
|
627
703
|
|
|
@@ -630,11 +706,13 @@ See [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the source-accura
|
|
|
630
706
|
| Install/runtime | `install`, `update`, `uninstall`, `help`, `version`, `serve`, `daemon`, `native`, `run` |
|
|
631
707
|
| Session/connection | `launch`, `connect`, `disconnect`, `status`, `cookie-import`, `cookie-list` |
|
|
632
708
|
| Navigation | `goto`, `wait`, `snapshot` |
|
|
633
|
-
| Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view` |
|
|
709
|
+
| Interaction | `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view`, `upload`, `pointer-move`, `pointer-down`, `pointer-up`, `pointer-drag` |
|
|
634
710
|
| Targets/pages | `targets-list`, `target-use`, `target-new`, `target-close`, `page`, `pages`, `page-close` |
|
|
635
711
|
| DOM | `dom-html`, `dom-text`, `dom-attr`, `dom-value`, `dom-visible`, `dom-enabled`, `dom-checked` |
|
|
712
|
+
| Browser capture | `screenshot`, `screencast-start`, `screencast-stop` |
|
|
713
|
+
| Desktop observation | `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot` |
|
|
636
714
|
| Design canvas | `canvas` |
|
|
637
|
-
| Export/diagnostics/macro/annotation/power | `clone-page`, `clone-component`, `perf`, `
|
|
715
|
+
| 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
716
|
|
|
639
717
|
### Install/Management
|
|
640
718
|
|
|
@@ -660,6 +738,7 @@ Start the daemon with `npx opendevbrowser serve`, then use:
|
|
|
660
738
|
| `npx opendevbrowser connect` | Connect via relay or direct CDP endpoint |
|
|
661
739
|
| `npx opendevbrowser disconnect` | Disconnect session |
|
|
662
740
|
| `npx opendevbrowser status` | Show session status |
|
|
741
|
+
| `npx opendevbrowser session-inspector --session-id <id>` | Capture a session-first diagnostic bundle with relay health, trace proof, and a suggested next action |
|
|
663
742
|
| `npx opendevbrowser goto` | Navigate to URL |
|
|
664
743
|
| `npx opendevbrowser wait` | Wait for load or element |
|
|
665
744
|
| `npx opendevbrowser snapshot` | Capture snapshot with refs |
|
|
@@ -676,6 +755,14 @@ Workflow cookie controls (`research run`, `shopping run`, `product-video run`):
|
|
|
676
755
|
- Per-run overrides: `--use-cookies`, `--cookie-policy-override` (alias `--cookie-policy`).
|
|
677
756
|
- `auto` is non-blocking when cookies are unavailable; `required` fails fast with `reasonCode=auth_required`.
|
|
678
757
|
|
|
758
|
+
Workflow challenge controls (`research run`, `shopping run`, `product-video run`):
|
|
759
|
+
- Per-run override: `--challenge-automation-mode off|browser|browser_with_helper`, which maps to `challengeAutomationMode`.
|
|
760
|
+
- Effective precedence is `run > session > config`.
|
|
761
|
+
- `off` keeps detection and reporting active but stands down challenge actions.
|
|
762
|
+
- `browser` allows browser-native lanes only and keeps the helper bridge disabled.
|
|
763
|
+
- `browser_with_helper` keeps browser-native lanes first and evaluates the browser-scoped helper bridge second when hard gates pass.
|
|
764
|
+
- The helper bridge remains browser-scoped and is not a desktop agent.
|
|
765
|
+
|
|
679
766
|
---
|
|
680
767
|
|
|
681
768
|
## Security
|
|
@@ -712,6 +799,7 @@ Release checklist: [docs/DISTRIBUTION_PLAN.md](docs/DISTRIBUTION_PLAN.md)
|
|
|
712
799
|
Documentation index: [docs/README.md](docs/README.md)
|
|
713
800
|
Frontend docs: [docs/FRONTEND.md](docs/FRONTEND.md)
|
|
714
801
|
Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
|
|
802
|
+
Local-only generated artifacts such as `prompt-exports/`, root `artifacts/`, `coverage/`, `CONTINUITY*.md`, and `sub_continuity.md` stay uncommitted; `.gitignore` is authoritative.
|
|
715
803
|
|
|
716
804
|
---
|
|
717
805
|
|
|
@@ -729,7 +817,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
|
|
|
729
817
|
▼ ▼ ▼ ▼
|
|
730
818
|
┌─────────────────────────────────────────────────────────────────┐
|
|
731
819
|
│ Core Runtime (src/core/) │
|
|
732
|
-
│ bootstrap.ts → wires managers,
|
|
820
|
+
│ bootstrap.ts → wires managers, sibling desktop runtime, │
|
|
821
|
+
│ automation coordinator, injects ToolDeps │
|
|
733
822
|
└────────┬────────────────────────────────────────────────────────┘
|
|
734
823
|
│
|
|
735
824
|
┌────┴────┬─────────────┬──────────────┬──────────────┬──────────────┐
|
|
@@ -746,6 +835,8 @@ Dependency inventory: [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md)
|
|
|
746
835
|
└────────┘ └────────────┘
|
|
747
836
|
```
|
|
748
837
|
|
|
838
|
+
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.
|
|
839
|
+
|
|
749
840
|
### Data Flow
|
|
750
841
|
|
|
751
842
|
```
|
|
@@ -768,22 +859,29 @@ Tool Call → Zod Validation → Manager/Runner → CDP/Playwright → Response
|
|
|
768
859
|
```
|
|
769
860
|
.
|
|
770
861
|
├── src/ # Plugin implementation
|
|
771
|
-
│ ├──
|
|
862
|
+
│ ├── annotate/ # Annotation transports + output shaping
|
|
863
|
+
│ ├── automation/ # Automation helpers and coordinator
|
|
864
|
+
│ ├── browser/ # Browser sessions, target orchestration, canvas preview/code-sync
|
|
772
865
|
│ ├── cache/ # Chrome executable resolution
|
|
866
|
+
│ ├── canvas/ # Design-canvas document store, repo IO, code-sync, export helpers
|
|
867
|
+
│ ├── challenges/ # Bounded challenge orchestration plane, evidence, recovery lanes
|
|
773
868
|
│ ├── cli/ # CLI commands, daemon, installers
|
|
774
869
|
│ ├── core/ # Bootstrap, runtime wiring, ToolDeps
|
|
775
|
-
│ ├──
|
|
870
|
+
│ ├── desktop/ # Read-only desktop observation runtime
|
|
776
871
|
│ ├── devtools/ # Console/network trackers with redaction
|
|
777
872
|
│ ├── export/ # DOM capture, React emitter, CSS extraction
|
|
873
|
+
│ ├── integrations/ # External integration adapters (Figma import, etc.)
|
|
874
|
+
│ ├── macros/ # Macro parsing, resolution, provider-action expansion
|
|
875
|
+
│ ├── providers/ # Provider runtime, policy, workflows, browser fallback
|
|
876
|
+
│ ├── public-surface/ # Generated manifest source, CLI/tool metadata
|
|
778
877
|
│ ├── relay/ # Extension relay server, protocol types
|
|
779
878
|
│ ├── skills/ # SkillLoader for skill pack discovery
|
|
780
879
|
│ ├── snapshot/ # AX-tree snapshots, ref management
|
|
781
|
-
│ ├── tools/ #
|
|
782
|
-
│ ├── annotate/ # Annotation transports + output shaping
|
|
880
|
+
│ ├── tools/ # 65 opendevbrowser_* tool definitions
|
|
783
881
|
│ └── utils/ # Shared utilities
|
|
784
882
|
├── extension/ # Chrome extension (relay client)
|
|
785
883
|
├── scripts/ # Operational scripts (build/sync/smoke)
|
|
786
|
-
├── skills/ # Bundled skill directories (
|
|
884
|
+
├── skills/ # Bundled skill directories (11 total; 9 canonical OpenDevBrowser packs + 2 shared compatibility packs)
|
|
787
885
|
├── tests/ # Vitest tests (97% coverage required)
|
|
788
886
|
└── docs/ # Architecture, CLI, extension, distribution plans
|
|
789
887
|
```
|
|
@@ -820,8 +918,8 @@ Uniform versioning is required (source of truth: `package.json`):
|
|
|
820
918
|
- `node scripts/chrome-store-compliance-check.mjs`
|
|
821
919
|
- `./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh`
|
|
822
920
|
8. Run strict live release gates:
|
|
823
|
-
- `node scripts/provider-
|
|
824
|
-
- `node scripts/live-regression-
|
|
921
|
+
- `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json`
|
|
922
|
+
- `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json`
|
|
825
923
|
9. Run first-time global install dry run checklist from `docs/FIRST_RUN_ONBOARDING.md`.
|
|
826
924
|
10. Run: `npm run extension:pack` (outputs `./opendevbrowser-extension.zip`)
|
|
827
925
|
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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AgentInboxReceipt, AnnotationDispatchSource, AnnotationPayload } from "../relay/protocol";
|
|
2
|
+
import type { AgentInboxEntry, AgentInboxScopeRegistration } from "./agent-inbox-store";
|
|
3
|
+
export declare const AGENT_INBOX_SYSTEM_MARKER = "[opendevbrowser-agent-inbox]";
|
|
4
|
+
export type AgentInboxSystemInjection = {
|
|
5
|
+
systemBlock: string;
|
|
6
|
+
receiptIds: string[];
|
|
7
|
+
};
|
|
8
|
+
export declare class AgentInbox {
|
|
9
|
+
private readonly store;
|
|
10
|
+
constructor(worktree: string, now?: () => number);
|
|
11
|
+
registerScope(chatScopeKey: string, registration?: Omit<AgentInboxScopeRegistration, "chatScopeKey" | "updatedAt">): AgentInboxScopeRegistration;
|
|
12
|
+
listActiveScopes(): AgentInboxScopeRegistration[];
|
|
13
|
+
enqueue(input: {
|
|
14
|
+
payload: AnnotationPayload;
|
|
15
|
+
source: AnnotationDispatchSource;
|
|
16
|
+
label: string;
|
|
17
|
+
explicitChatScopeKey?: string | null;
|
|
18
|
+
}): AgentInboxReceipt;
|
|
19
|
+
peekScope(chatScopeKey: string): AgentInboxEntry[];
|
|
20
|
+
consumeScope(chatScopeKey: string): AgentInboxEntry[];
|
|
21
|
+
acknowledge(receiptIds: string[]): void;
|
|
22
|
+
latestPayload(): AnnotationPayload | null;
|
|
23
|
+
buildSystemInjection(chatScopeKey: string): AgentInboxSystemInjection | null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=agent-inbox.d.ts.map
|