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
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
const
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"chrome-search:",
|
|
5
|
-
"chrome-untrusted:",
|
|
6
|
-
"devtools:",
|
|
7
|
-
"chrome-devtools:",
|
|
8
|
-
"edge:",
|
|
9
|
-
"brave:"
|
|
1
|
+
const ALLOWED_PROTOCOLS = new Set([
|
|
2
|
+
"http:",
|
|
3
|
+
"https:"
|
|
10
4
|
]);
|
|
5
|
+
const DEFAULT_SCHEME_MESSAGE = "Active tab uses a restricted URL scheme. Focus a normal http(s) tab and retry.";
|
|
6
|
+
const DEFAULT_WEB_STORE_MESSAGE = "Chrome Web Store tabs cannot be debugged. Open a normal tab and retry.";
|
|
11
7
|
const isWebStoreUrl = (url) => {
|
|
12
8
|
if (url.hostname === "chromewebstore.google.com") {
|
|
13
9
|
return true;
|
|
@@ -17,12 +13,12 @@ const isWebStoreUrl = (url) => {
|
|
|
17
13
|
}
|
|
18
14
|
return false;
|
|
19
15
|
};
|
|
20
|
-
export const getRestrictionMessage = (url) => {
|
|
21
|
-
if (
|
|
22
|
-
return
|
|
16
|
+
export const getRestrictionMessage = (url, options) => {
|
|
17
|
+
if (!ALLOWED_PROTOCOLS.has(url.protocol)) {
|
|
18
|
+
return options?.restrictedSchemeMessage ?? DEFAULT_SCHEME_MESSAGE;
|
|
23
19
|
}
|
|
24
20
|
if (isWebStoreUrl(url)) {
|
|
25
|
-
return
|
|
21
|
+
return options?.webStoreMessage ?? DEFAULT_WEB_STORE_MESSAGE;
|
|
26
22
|
}
|
|
27
23
|
return null;
|
|
28
24
|
};
|
package/extension/manifest.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"name": "OpenDevBrowser Relay",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.19",
|
|
5
5
|
"description": "Optional bridge to reuse existing Chrome tabs with OpenDevBrowser.",
|
|
6
6
|
"permissions": [
|
|
7
7
|
"debugger",
|
|
8
|
+
"webNavigation",
|
|
8
9
|
"alarms",
|
|
9
10
|
"tabs",
|
|
10
11
|
"storage",
|
|
@@ -14,7 +15,6 @@
|
|
|
14
15
|
],
|
|
15
16
|
"host_permissions": [
|
|
16
17
|
"http://127.0.0.1/*",
|
|
17
|
-
"http://localhost/*",
|
|
18
18
|
"<all_urls>"
|
|
19
19
|
],
|
|
20
20
|
"icons": {
|
package/extension/popup.html
CHANGED
|
@@ -85,11 +85,12 @@
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
.brand-mark {
|
|
88
|
-
width:
|
|
89
|
-
height:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
width: 22px;
|
|
89
|
+
height: 22px;
|
|
90
|
+
display: block;
|
|
91
|
+
object-fit: contain;
|
|
92
|
+
flex-shrink: 0;
|
|
93
|
+
filter: drop-shadow(0 0 10px rgba(32, 213, 198, 0.35));
|
|
93
94
|
}
|
|
94
95
|
|
|
95
96
|
.brand-title {
|
|
@@ -433,7 +434,7 @@
|
|
|
433
434
|
<div class="app">
|
|
434
435
|
<header class="app-header">
|
|
435
436
|
<div class="brand">
|
|
436
|
-
<
|
|
437
|
+
<img class="brand-mark" src="icons/icon32.png" alt="OpenDevBrowser logo" />
|
|
437
438
|
<div>
|
|
438
439
|
<div class="brand-title">OpenDevBrowser</div>
|
|
439
440
|
<div class="brand-subtitle">Relay Extension</div>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opendevbrowser",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.19",
|
|
4
|
+
"description": "Browser automation runtime with snapshot-refs-actions, browser replay screencasts, public read-only desktop observation, and browser-scoped computer-use orchestration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -27,7 +27,14 @@
|
|
|
27
27
|
"playwright",
|
|
28
28
|
"testing",
|
|
29
29
|
"web-scraping",
|
|
30
|
-
"chrome"
|
|
30
|
+
"chrome",
|
|
31
|
+
"annotation",
|
|
32
|
+
"design-canvas",
|
|
33
|
+
"screencast",
|
|
34
|
+
"desktop-observation",
|
|
35
|
+
"browser-replay",
|
|
36
|
+
"computer-use",
|
|
37
|
+
"challenge-automation"
|
|
31
38
|
],
|
|
32
39
|
"license": "MIT",
|
|
33
40
|
"repository": {
|
|
@@ -38,11 +45,11 @@
|
|
|
38
45
|
"node": ">=18"
|
|
39
46
|
},
|
|
40
47
|
"scripts": {
|
|
41
|
-
"build": "tsup src/index.ts src/cli/index.ts --format esm --clean --sourcemap && tsc --emitDeclarationOnly --declaration --declarationMap -p tsconfig.json && node
|
|
42
|
-
"dev": "tsup src/index.ts src/cli/index.ts --format esm --dts --watch",
|
|
48
|
+
"build": "tsup src/index.ts src/cli/index.ts src/skills/skill-loader.ts --format esm --clean --sourcemap && tsc --emitDeclarationOnly --declaration --declarationMap -p tsconfig.json && node scripts/postbuild-dist.mjs",
|
|
49
|
+
"dev": "tsup src/index.ts src/cli/index.ts src/skills/skill-loader.ts --format esm --dts --watch",
|
|
43
50
|
"lint": "eslint \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
44
51
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
45
|
-
"test": "node
|
|
52
|
+
"test": "node scripts/run-vitest-coverage.mjs",
|
|
46
53
|
"test:release-gate": "node scripts/release-gate-test-groups.mjs",
|
|
47
54
|
"test:release-gate:g1": "node scripts/release-gate-test-groups.mjs --group 1",
|
|
48
55
|
"test:release-gate:g2": "node scripts/release-gate-test-groups.mjs --group 2",
|
|
@@ -57,10 +64,11 @@
|
|
|
57
64
|
"prepack": "npm run version:check && npm run build && npm run extension:build"
|
|
58
65
|
},
|
|
59
66
|
"dependencies": {
|
|
60
|
-
"@opencode-ai/plugin": "^1.2.
|
|
67
|
+
"@opencode-ai/plugin": "^1.2.25",
|
|
61
68
|
"@puppeteer/browsers": "^2.13.0",
|
|
62
69
|
"async-mutex": "^0.5.0",
|
|
63
70
|
"jsonc-parser": "^3.2.0",
|
|
71
|
+
"parse5": "^8.0.0",
|
|
64
72
|
"playwright-core": "^1.58.2",
|
|
65
73
|
"typescript": "^5.9.3",
|
|
66
74
|
"ws": "^8.19.0",
|
package/skills/AGENTS.md
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
# skills/ — Agent Guidelines
|
|
2
2
|
|
|
3
|
-
Bundled
|
|
3
|
+
Bundled OpenDevBrowser skill directories (9 canonical packs). Extends root `AGENTS.md`.
|
|
4
4
|
|
|
5
5
|
## Structure
|
|
6
6
|
|
|
7
7
|
```
|
|
8
8
|
skills/
|
|
9
9
|
├── opendevbrowser-best-practices/SKILL.md
|
|
10
|
+
├── opendevbrowser-design-agent/SKILL.md
|
|
10
11
|
├── opendevbrowser-continuity-ledger/SKILL.md
|
|
11
12
|
├── opendevbrowser-login-automation/SKILL.md
|
|
12
13
|
├── opendevbrowser-form-testing/SKILL.md
|
|
13
14
|
├── opendevbrowser-data-extraction/SKILL.md
|
|
14
15
|
├── opendevbrowser-research/SKILL.md
|
|
15
16
|
├── opendevbrowser-shopping/SKILL.md
|
|
16
|
-
|
|
17
|
-
├── research/ # Empty compatibility alias dir; keep non-canonical
|
|
18
|
-
└── shopping/ # Empty compatibility alias dir; keep non-canonical
|
|
17
|
+
└── opendevbrowser-product-presentation-asset/SKILL.md
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## SKILL.md Format
|
|
@@ -44,6 +43,7 @@ Content organized by topic for filtering.
|
|
|
44
43
|
7. `.amp/skills/` (AmpCLI project compatibility)
|
|
45
44
|
8. `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (AmpCLI global compatibility; fallback `~/.amp/skills`)
|
|
46
45
|
9. `skillPaths` config (custom)
|
|
46
|
+
10. Bundled package `skills/` directory as a fallback when no installed copy is available
|
|
47
47
|
|
|
48
48
|
## Constraints
|
|
49
49
|
|
|
@@ -51,15 +51,16 @@ Content organized by topic for filtering.
|
|
|
51
51
|
- Keep guidance short, script-first, snapshot-first
|
|
52
52
|
- Examples must use `opendevbrowser_*` tool names
|
|
53
53
|
- Never include secrets or page data in content
|
|
54
|
-
- Keep canonical guidance in `opendevbrowser-*` packs; do not
|
|
55
|
-
- Leave `skills/research/` and `skills/shopping/` empty unless a verified migration plan explicitly repurposes them.
|
|
54
|
+
- Keep canonical guidance in `opendevbrowser-*` packs; do not reintroduce legacy alias directories.
|
|
56
55
|
- Match the snapshot → refs → actions flow in `docs/ARCHITECTURE.md` and tool list in `docs/CLI.md`.
|
|
56
|
+
- Keep first-contact quick-start wording aligned with `src/cli/onboarding-metadata.json`, generated help, and `docs/FIRST_RUN_ONBOARDING.md`.
|
|
57
|
+
- When a pack touches runtime lanes, keep the exact generated-help labels `screencast / browser replay`, `desktop observation`, and `computer use / browser-scoped computer use` aligned across packs, and never describe the helper as a desktop agent.
|
|
57
58
|
- Note that extension relay requires Chrome 125+ and uses hub-only relay ownership when enabled.
|
|
58
59
|
- Refer to root `AGENTS.md` for connection flag/status semantics (extensionConnected, handshake, cdpConnected, pairingRequired).
|
|
59
|
-
- Keep skill operational guidance aligned with release-gate scripts in `docs/CLI.md` (`provider-
|
|
60
|
+
- Keep skill operational guidance aligned with release-gate scripts in `docs/CLI.md` (`provider-direct-runs --release-gate`, `live-regression-direct --release-gate`).
|
|
60
61
|
|
|
61
62
|
## Adding Skills
|
|
62
63
|
|
|
63
64
|
1. Create `skills/<skill-name>/SKILL.md`
|
|
64
65
|
2. Follow frontmatter format above
|
|
65
|
-
3. Update `docs/CLI.md`
|
|
66
|
+
3. Update `README.md`, root `AGENTS.md`, and `docs/CLI.md` when the canonical skill-pack count changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: opendevbrowser-best-practices
|
|
3
3
|
description: This skill should be used when the user asks to design or run OpenDevBrowser provider workflows, scraping pipelines, QA/debug automation, parity checks across modes, or resilient browser operations with codified scripts and artifacts.
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# OpenDevBrowser Best Practices
|
|
@@ -15,6 +15,8 @@ Use this skill when you need:
|
|
|
15
15
|
- diagnostics for QA/debug (`console`, `network`, trace context),
|
|
16
16
|
- safe write flows with explicit policy notice.
|
|
17
17
|
|
|
18
|
+
For frontend, design-system, screenshot-to-code, or `/canvas` composition tasks, load `opendevbrowser-design-agent` immediately after this pack so the work is design-contract-first instead of operations-only.
|
|
19
|
+
|
|
18
20
|
## Pack Contents
|
|
19
21
|
|
|
20
22
|
- `artifacts/provider-workflows.md` — canonical provider execution flows.
|
|
@@ -25,11 +27,13 @@ Use this skill when you need:
|
|
|
25
27
|
- `artifacts/browser-agent-known-issues-matrix.md` — known browser-agent failure modes mapped to required controls.
|
|
26
28
|
- `artifacts/command-channel-reference.md` — CLI/tool/`/ops`/`/canvas`/`/cdp` surface map plus cross-agent skill-sync targets.
|
|
27
29
|
- `artifacts/canvas-governance-playbook.md` — `/canvas` preflight, blocker, and feedback-evaluation guidance.
|
|
30
|
+
- `artifacts/skill-runtime-surface-matrix.md` — canonical skill-pack and runtime-family inventory for real-task audits.
|
|
28
31
|
- `assets/templates/mode-flag-matrix.json` — mode + flag verification template.
|
|
29
32
|
- `assets/templates/ops-request-envelope.json` — `/ops` request envelope template.
|
|
30
33
|
- `assets/templates/cdp-forward-envelope.json` — `/cdp` relay envelope template.
|
|
31
34
|
- `assets/templates/robustness-checklist.json` — shared issue-status checklist for workflow robustness audits.
|
|
32
35
|
- `assets/templates/surface-audit-checklist.json` — docs/surface audit checklist template.
|
|
36
|
+
- `assets/templates/skill-runtime-pack-matrix.json` — machine-readable canonical skill/runtime matrix for the audit runner.
|
|
33
37
|
- `assets/templates/canvas-handshake-example.json` — canonical `/canvas` handshake example.
|
|
34
38
|
- `assets/templates/canvas-generation-plan.v1.json` — required `canvas.plan.set` request skeleton.
|
|
35
39
|
- `assets/templates/canvas-feedback-eval.json` — target-attributed feedback evaluation checklist.
|
|
@@ -38,7 +42,7 @@ Use this skill when you need:
|
|
|
38
42
|
- `scripts/run-robustness-audit.sh` — validates workflow skill coverage against known issue IDs.
|
|
39
43
|
- `scripts/validate-skill-assets.sh` — validates required artifacts/templates.
|
|
40
44
|
|
|
41
|
-
##
|
|
45
|
+
## Quick Start
|
|
42
46
|
|
|
43
47
|
1. Validate the skill pack:
|
|
44
48
|
|
|
@@ -67,6 +71,71 @@ npx opendevbrowser help
|
|
|
67
71
|
./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh
|
|
68
72
|
```
|
|
69
73
|
|
|
74
|
+
6. Pair with the dedicated design pack for frontend work:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
./skills/opendevbrowser-design-agent/scripts/validate-skill-assets.sh
|
|
78
|
+
./skills/opendevbrowser-design-agent/scripts/design-workflow.sh contract-first
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Help-Led Surface Discovery
|
|
82
|
+
|
|
83
|
+
Start every surface audit with generated help so the capability map reflects the currently shipped runtime:
|
|
84
|
+
|
|
85
|
+
- Browser replay: `screencast-start`, `screencast-stop`
|
|
86
|
+
- Desktop observation: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
|
|
87
|
+
- Browser-scoped computer use: `--challenge-automation-mode off|browser|browser_with_helper` plus manager-owned `review`, `session-inspector`, and workflow fallback metadata
|
|
88
|
+
|
|
89
|
+
Boundary rules:
|
|
90
|
+
- desktop observation is public and read-only
|
|
91
|
+
- the optional helper remains browser-scoped and is not a desktop agent
|
|
92
|
+
- generated help, `docs/CLI.md`, and `docs/SURFACE_REFERENCE.md` must stay aligned whenever this wording changes
|
|
93
|
+
|
|
94
|
+
## Validated Capability Lanes
|
|
95
|
+
|
|
96
|
+
Load this section directly with:
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
opendevbrowser_skill_load opendevbrowser-best-practices "validated capability lanes"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Current reliable lanes from the April 6 validation pass:
|
|
103
|
+
|
|
104
|
+
1. Public-first YouTube transcript retrieval.
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
node scripts/youtube-transcript-live-probe.mjs --url "https://www.youtube.com/watch?v=aircAruvnKk" --youtube-mode auto --out artifacts/capability-fix/youtube-transcript-auto.json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Rules:
|
|
111
|
+
- keep transcript runs public-first
|
|
112
|
+
- browser-assisted transcript fallback is opt-in only
|
|
113
|
+
- if browser fallback is enabled, use an isolated automation profile instead of a daily logged-in Google profile
|
|
114
|
+
|
|
115
|
+
2. Generic topical research without shopping contamination.
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
npx opendevbrowser research run --topic "Chrome extension debugging workflows" --days 30 --source-selection auto --mode json --output-format json
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Rules:
|
|
122
|
+
- use `--source-selection auto` for general research
|
|
123
|
+
- use `--source-selection shopping` or explicit `--sources ...shopping...` only when the task is deliberately commercial
|
|
124
|
+
- in the current contract, `auto` and `all` both resolve to `web`, `community`, and `social`
|
|
125
|
+
|
|
126
|
+
3. Deterministic shopping reruns with explicit providers.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npx opendevbrowser shopping run --query "wireless ergonomic mouse" --providers shopping/bestbuy,shopping/ebay --budget 150 --browser-mode managed --mode json --output-format json
|
|
130
|
+
npx opendevbrowser shopping run --query "27 inch 4k monitor" --providers shopping/bestbuy,shopping/ebay --budget 350 --sort lowest_price --browser-mode managed --mode json --output-format json
|
|
131
|
+
npx opendevbrowser shopping run --query "wireless earbuds" --providers shopping/amazon --region us --browser-mode managed --mode json --output-format json
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Rules:
|
|
135
|
+
- use explicit providers plus `--browser-mode managed` for the most reproducible reruns
|
|
136
|
+
- treat `--region` as advisory unless `meta.selection.region_authoritative=true`
|
|
137
|
+
- inspect `meta.primaryConstraintSummary` and `meta.offerFilterDiagnostics` before calling a no-offer run a provider outage
|
|
138
|
+
|
|
70
139
|
## Agent Sync Targets
|
|
71
140
|
|
|
72
141
|
Skill-pack installation and discovery are synchronized for:
|
|
@@ -77,13 +146,15 @@ Skill-pack installation and discovery are synchronized for:
|
|
|
77
146
|
|
|
78
147
|
Legacy compatibility aliases `claude` and `amp` are preserved in installer target metadata.
|
|
79
148
|
|
|
149
|
+
Install and update refresh managed copies of these canonical packs; uninstall removes managed canonical packs and only prunes empty legacy `research` or `shopping` leftovers.
|
|
150
|
+
|
|
80
151
|
## Required Operating Rules
|
|
81
152
|
|
|
82
153
|
- Prefer refs from `opendevbrowser_snapshot` over raw selectors.
|
|
83
154
|
- Use one action per decision loop: snapshot -> action -> snapshot.
|
|
84
155
|
- Keep a single correlation context (`requestId`, `sessionId`) across a run.
|
|
85
156
|
- Run the same workflow shape across all three modes before claiming parity.
|
|
86
|
-
- Default to read/research workflows. Social posting probes remain disabled unless explicitly requested via
|
|
157
|
+
- Default to read/research workflows. Social posting probes remain disabled unless explicitly requested via direct-run opt-in (`--include-social-posts`).
|
|
87
158
|
- Apply rate-limit/backoff discipline (`Retry-After` aware) whenever 429 pressure appears.
|
|
88
159
|
- Re-check extension readiness on resume when a run crosses idle windows.
|
|
89
160
|
|
|
@@ -152,6 +223,14 @@ opendevbrowser_network_poll sessionId="<session-id>" max=100
|
|
|
152
223
|
opendevbrowser_screenshot sessionId="<session-id>"
|
|
153
224
|
```
|
|
154
225
|
|
|
226
|
+
Use browser replay when timing matters:
|
|
227
|
+
|
|
228
|
+
```text
|
|
229
|
+
opendevbrowser_screencast_start sessionId="<session-id>" outputDir="./artifacts/qa-replay"
|
|
230
|
+
# run the suspect flow
|
|
231
|
+
opendevbrowser_screencast_stop sessionId="<session-id>" screencastId="<screencast-id>"
|
|
232
|
+
```
|
|
233
|
+
|
|
155
234
|
### Read-Only Social Validation Workflow
|
|
156
235
|
|
|
157
236
|
Goal: validate authenticated read/search capability without posting.
|
|
@@ -171,6 +250,7 @@ Use the router script to avoid retyping flows:
|
|
|
171
250
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh qa-debug
|
|
172
251
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh social-readonly-check
|
|
173
252
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh parity-check
|
|
253
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh release-direct-gates
|
|
174
254
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh surface-audit
|
|
175
255
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh ops-channel-check
|
|
176
256
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh cdp-channel-check
|
|
@@ -178,6 +258,8 @@ Use the router script to avoid retyping flows:
|
|
|
178
258
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh robustness-audit
|
|
179
259
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh canvas-preflight
|
|
180
260
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh canvas-feedback-eval
|
|
261
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh skill-runtime-audit
|
|
262
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh validated-capabilities
|
|
181
263
|
```
|
|
182
264
|
|
|
183
265
|
## Modes and Surface Parity
|
|
@@ -194,16 +276,40 @@ Parity gate test:
|
|
|
194
276
|
npm run test -- tests/parity-matrix.test.ts
|
|
195
277
|
```
|
|
196
278
|
|
|
279
|
+
Treat `tests/parity-matrix.test.ts` as contract coverage only. Live release proof comes from the direct-run harnesses below.
|
|
280
|
+
This pack is the canonical owner of direct-run release evidence policy; other docs and skill packs should point here instead of restating the full policy.
|
|
281
|
+
|
|
197
282
|
Real-world provider+mode scenario harness (soak replacement):
|
|
198
283
|
|
|
199
284
|
```bash
|
|
200
285
|
npm run build
|
|
201
|
-
node scripts/provider-
|
|
286
|
+
node scripts/provider-direct-runs.mjs --out artifacts/provider-direct-realworld.json
|
|
287
|
+
node scripts/live-regression-direct.mjs --out artifacts/live-regression-direct.json
|
|
202
288
|
```
|
|
203
289
|
|
|
204
290
|
Surface inventory source of truth:
|
|
205
|
-
- `docs/SURFACE_REFERENCE.md` (
|
|
291
|
+
- `docs/SURFACE_REFERENCE.md` (72 CLI commands, 65 tools, 59 `/ops` commands, 35 `/canvas` commands, `/cdp` envelope contracts; mirrored by `npx opendevbrowser --help` and `npx opendevbrowser help`)
|
|
206
292
|
- `artifacts/command-channel-reference.md` (skill-pack operational digest)
|
|
293
|
+
- `artifacts/skill-runtime-surface-matrix.md` and `assets/templates/skill-runtime-pack-matrix.json` (canonical pack/runtime audit inventory)
|
|
294
|
+
|
|
295
|
+
Direct-run release note:
|
|
296
|
+
- `scripts/live-regression-direct.mjs` is the preferred release harness for `/canvas`, annotate, and CLI smoke. It uses temporary managed profiles for managed probes, waits for `/ops` drain before the legacy `/cdp` step, and keeps manual annotation timeouts as explicit `skipped` boundaries in `--release-gate` mode.
|
|
297
|
+
- `scripts/provider-direct-runs.mjs --use-global-env --include-high-friction --include-auth-gated` is the preferred provider release harness. Treat `provider-live-matrix` and `live-regression-matrix` as debug-only helpers, not refreshed release evidence.
|
|
298
|
+
|
|
299
|
+
## Skill Runtime Audit and Realignment
|
|
300
|
+
|
|
301
|
+
This pack is the canonical owner of repo-local skill runtime audit policy and skill-pack runtime realignment.
|
|
302
|
+
|
|
303
|
+
Use these assets when the task is to inventory or validate the full OpenDevBrowser skill/runtime surface:
|
|
304
|
+
- `artifacts/skill-runtime-surface-matrix.md`
|
|
305
|
+
- `assets/templates/skill-runtime-pack-matrix.json`
|
|
306
|
+
- `scripts/skill-runtime-audit.mjs`
|
|
307
|
+
|
|
308
|
+
Audit runtime rule:
|
|
309
|
+
- `scripts/skill-runtime-audit.mjs` keeps smoke mode isolated and reproducible with temp harnesses, but full mode must reuse the current configured daemon and environment for `provider-direct` and `live-regression` so extension state, cookies, and auth-backed scenarios are exercised for real when available.
|
|
310
|
+
|
|
311
|
+
Realignment rule:
|
|
312
|
+
- when a pack drifts behind current runtime behavior, update the skill to match the repo reality and strengthen the workflow guidance instead of making the pack merely stop failing validation.
|
|
207
313
|
|
|
208
314
|
## Canvas Governance Handshake
|
|
209
315
|
|
|
@@ -233,20 +339,21 @@ Recommended command order:
|
|
|
233
339
|
- `validationTargets`
|
|
234
340
|
4. Only after the plan is accepted, call `canvas.document.patch`.
|
|
235
341
|
5. Use `canvas.preview.render`, `canvas.tab.open`, `canvas.overlay.mount`, and `canvas.overlay.select` when a browser-backed live view is required.
|
|
236
|
-
6. Use `canvas.feedback.poll` between mutation rounds and `canvas.
|
|
342
|
+
6. Use `canvas.feedback.poll` for snapshot audits between mutation rounds, and use `canvas.feedback.subscribe` -> `canvas.feedback.next` -> `canvas.feedback.unsubscribe` when a live pull-stream is needed.
|
|
343
|
+
7. Use `canvas.document.save` or `canvas.document.export` to persist artifacts.
|
|
237
344
|
|
|
238
345
|
Code-sync surface:
|
|
239
346
|
- `canvas.session.attach` joins an existing canvas session as an `observer` or reclaims the write lease with `attachMode=lease_reclaim`.
|
|
240
347
|
- `canvas.code.bind`, `canvas.code.unbind`, `canvas.code.pull`, `canvas.code.push`, `canvas.code.status`, and `canvas.code.resolve` manage TSX-first document bindings when a canvas file is round-tripped to repo code.
|
|
241
348
|
|
|
242
349
|
Current `/canvas` parity notes:
|
|
243
|
-
- All
|
|
350
|
+
- All 35 public `canvas.*` commands are agent-callable through `opendevbrowser_canvas` and `opendevbrowser canvas --command ...`.
|
|
244
351
|
- `canvas.feedback.subscribe` live streaming is public through the CLI only: use `--output-format stream-json` for the built-in polling bridge.
|
|
245
|
-
- Tool-driven agents can achieve the same behavior by calling `canvas.feedback.subscribe
|
|
352
|
+
- Tool-driven agents can achieve the same public streaming behavior by calling `canvas.feedback.subscribe`, then repeating `canvas.feedback.next`, and finally `canvas.feedback.unsubscribe`.
|
|
246
353
|
- `canvas.tab.sync` and `canvas.overlay.sync` are internal extension runtime helpers, not public commands.
|
|
247
354
|
- `canvas_html` is still the default preview/export contract. `bound_app_runtime` is opt-in and only valid when runtime preflight and app-side instrumentation succeed.
|
|
248
355
|
- Component and icon libraries currently render semantically, not package-faithfully. Treat `shadcn`, `tailwindcss`, `tabler`, `microsoft-fluent-ui-system-icons`, `3dicons`, and `@lobehub/fluent-emoji-3d` as metadata and constrained render lanes, not as general library import/export parity.
|
|
249
|
-
- Annotation remains a separate surface today, but popup and canvas both ship per-item and combined `Copy` / `Send` actions.
|
|
356
|
+
- Annotation remains a separate surface today, but popup and canvas both ship per-item and combined `Copy` / `Send` actions. `Send` now delivers directly into the active agent chat when scope is safe and degrades to stored-only `annotate --stored` retrieval when scope is missing, ambiguous, or relay enqueue fails.
|
|
250
357
|
|
|
251
358
|
Tailwind usage rule:
|
|
252
359
|
- When `allowedLibraries.styling` includes `tailwindcss`, use it for layout, spacing, responsive, and state styling over canonical tokens/theme variables.
|
|
@@ -257,6 +364,7 @@ Failure handling:
|
|
|
257
364
|
- `plan_required`: immediately call `canvas.plan.set`.
|
|
258
365
|
- `revision_conflict`: reload with `canvas.document.load` and replay the patch batch against the latest revision.
|
|
259
366
|
- `unsupported_target` or `restricted_url`: move the preview to a normal http(s) tab or fall back to managed mode.
|
|
367
|
+
- If a freshly rebuilt unpacked extension still shows old `/canvas` or popup behavior, reload the extension in Chrome before trusting the live result; stale MV3 runtime state can preserve old service-worker logic after `npm run extension:build`.
|
|
260
368
|
|
|
261
369
|
Operational references:
|
|
262
370
|
- `artifacts/canvas-governance-playbook.md`
|
|
@@ -268,6 +376,7 @@ Operational references:
|
|
|
268
376
|
## Diagnostics and Traceability
|
|
269
377
|
|
|
270
378
|
Current diagnostics tools:
|
|
379
|
+
- `opendevbrowser_session_inspector` (session-first summary with relay health, target state, trace proof, and next-action guidance)
|
|
271
380
|
- `opendevbrowser_console_poll`
|
|
272
381
|
- `opendevbrowser_network_poll`
|
|
273
382
|
- `opendevbrowser_debug_trace_snapshot` (combined page + console + network + exception channels)
|
|
@@ -27,6 +27,7 @@ This matrix defines the minimum robustness controls for OpenDevBrowser workflow
|
|
|
27
27
|
- `opendevbrowser-shopping`: `ISSUE-06`, `ISSUE-09`, `ISSUE-10`, `ISSUE-11`, `ISSUE-12`
|
|
28
28
|
- `opendevbrowser-product-presentation-asset`: `ISSUE-10`, `ISSUE-11`, `ISSUE-12`
|
|
29
29
|
- `opendevbrowser-research`: `ISSUE-06`, `ISSUE-09`, `ISSUE-10`, `ISSUE-12`
|
|
30
|
+
- `opendevbrowser-design-agent`: `ISSUE-01`, `ISSUE-07`, `ISSUE-08`, `ISSUE-12`
|
|
30
31
|
|
|
31
32
|
## Source Notes
|
|
32
33
|
|
|
@@ -6,14 +6,15 @@ Compact operational map of the current OpenDevBrowser surfaces, with the `/canva
|
|
|
6
6
|
|
|
7
7
|
## Current coverage snapshot
|
|
8
8
|
|
|
9
|
-
- CLI commands: `
|
|
10
|
-
- Plugin tools: `
|
|
11
|
-
- `/ops` command names: `
|
|
12
|
-
- `/canvas` command names: `
|
|
9
|
+
- CLI commands: `72`
|
|
10
|
+
- Plugin tools: `65`
|
|
11
|
+
- `/ops` command names: `59`
|
|
12
|
+
- `/canvas` command names: `35`
|
|
13
13
|
- Legacy `/cdp` relay: generic CDP forwarding (method-level)
|
|
14
14
|
|
|
15
15
|
Canonical exhaustive reference: `docs/SURFACE_REFERENCE.md`.
|
|
16
16
|
CLI help mirror: `npx opendevbrowser --help` and `npx opendevbrowser help` (identical inventories).
|
|
17
|
+
Help-led highlights: browser replay (`screencast-start`, `screencast-stop`), public desktop observation (`desktop-*`), and browser-scoped computer use (`--challenge-automation-mode off|browser|browser_with_helper`); the helper is not a desktop agent.
|
|
17
18
|
|
|
18
19
|
## Agent skill-sync coverage
|
|
19
20
|
|
|
@@ -29,16 +30,21 @@ Legacy aliases `claude` and `amp` remain present in installer target metadata fo
|
|
|
29
30
|
|
|
30
31
|
- Install/runtime: `install`, `update`, `uninstall`, `help`, `version`, `serve`, `daemon`, `native`, `run`, `artifacts`
|
|
31
32
|
- Session/connection/workflow: `launch`, `connect`, `disconnect`, `status`, `cookie-import`, `cookie-list`, `research`, `shopping`, `product-video`
|
|
32
|
-
- Navigation/interaction: `goto`, `wait`, `snapshot`, `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view`
|
|
33
|
+
- Navigation/interaction: `goto`, `wait`, `snapshot`, `click`, `hover`, `press`, `check`, `uncheck`, `type`, `select`, `scroll`, `scroll-into-view`, `upload`
|
|
34
|
+
- Pointer controls: `pointer-move`, `pointer-down`, `pointer-up`, `pointer-drag`
|
|
33
35
|
- Targets/pages/DOM: `targets-list`, `target-use`, `target-new`, `target-close`, `page`, `pages`, `page-close`, `dom-html`, `dom-text`, `dom-attr`, `dom-value`, `dom-visible`, `dom-enabled`, `dom-checked`
|
|
36
|
+
- Temporal capture: `screenshot`, `screencast-start`, `screencast-stop`
|
|
37
|
+
- Desktop observation: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
|
|
38
|
+
- Browser-scoped computer-use control: `--challenge-automation-mode` on workflow and macro execute lanes, surfaced through manager-owned review, session-inspector, and fallback metadata rather than a standalone command family
|
|
34
39
|
- Design canvas: `canvas`
|
|
35
|
-
- Export/diagnostics/power: `clone-page`, `clone-component`, `perf`, `
|
|
40
|
+
- Export/diagnostics/power: `clone-page`, `clone-component`, `perf`, `dialog`, `console-poll`, `network-poll`, `debug-trace-snapshot`, `session-inspector`, `macro-resolve`, `annotate`, `rpc`
|
|
36
41
|
|
|
37
42
|
## Tool surface categories
|
|
38
43
|
|
|
39
|
-
- Runtime parity tools map to the CLI runtime categories, including `opendevbrowser_canvas`.
|
|
44
|
+
- Runtime parity tools map to the CLI runtime categories, including `opendevbrowser_canvas` and `opendevbrowser_session_inspector`.
|
|
45
|
+
- Additional parity tools cover temporal browser capture (`opendevbrowser_screencast_start`, `opendevbrowser_screencast_stop`) and sibling desktop observation (`opendevbrowser_desktop_status`, `opendevbrowser_desktop_windows`, `opendevbrowser_desktop_active_window`, `opendevbrowser_desktop_capture_desktop`, `opendevbrowser_desktop_capture_window`, `opendevbrowser_desktop_accessibility_snapshot`).
|
|
40
46
|
- Tool-only: `opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, `opendevbrowser_skill_load`.
|
|
41
|
-
- CLI-only: `rpc`.
|
|
47
|
+
- CLI-only: `install`, `update`, `uninstall`, `help`, `version`, `serve`, `daemon`, `native`, `artifacts`, `rpc`.
|
|
42
48
|
|
|
43
49
|
## Relay channels
|
|
44
50
|
|
|
@@ -51,7 +57,10 @@ Namespace groups:
|
|
|
51
57
|
- `page.*`
|
|
52
58
|
- `nav.*`
|
|
53
59
|
- `interact.*`
|
|
60
|
+
- `pointer.*`
|
|
54
61
|
- `dom.*`
|
|
62
|
+
- `canvas.overlay.*`
|
|
63
|
+
- `canvas.applyRuntimePreviewBridge`
|
|
55
64
|
- `export.*`
|
|
56
65
|
- `devtools.*`
|
|
57
66
|
|
|
@@ -70,9 +79,10 @@ Concurrency policy:
|
|
|
70
79
|
|
|
71
80
|
Core command families:
|
|
72
81
|
- Session and governance: `canvas.session.open`, `canvas.session.attach`, `canvas.session.status`, `canvas.session.close`, `canvas.capabilities.get`, `canvas.plan.set`, `canvas.plan.get`
|
|
73
|
-
- Document: `canvas.document.load`, `canvas.document.patch`, `canvas.document.save`, `canvas.document.export`
|
|
82
|
+
- Document: `canvas.document.load`, `canvas.document.import`, `canvas.document.patch`, `canvas.document.save`, `canvas.document.export`
|
|
83
|
+
- History, inventory, and starters: `canvas.history.undo`, `canvas.history.redo`, `canvas.inventory.list`, `canvas.inventory.insert`, `canvas.starter.list`, `canvas.starter.apply`
|
|
74
84
|
- Live targets and overlay: `canvas.tab.open`, `canvas.tab.close`, `canvas.overlay.mount`, `canvas.overlay.unmount`, `canvas.overlay.select`
|
|
75
|
-
- Preview and feedback: `canvas.preview.render`, `canvas.preview.refresh`, `canvas.feedback.poll`, `canvas.feedback.subscribe`
|
|
85
|
+
- Preview and feedback: `canvas.preview.render`, `canvas.preview.refresh`, `canvas.feedback.poll`, `canvas.feedback.subscribe`, `canvas.feedback.next`, `canvas.feedback.unsubscribe`
|
|
76
86
|
- Code sync: `canvas.code.bind`, `canvas.code.unbind`, `canvas.code.pull`, `canvas.code.push`, `canvas.code.status`, `canvas.code.resolve`
|
|
77
87
|
|
|
78
88
|
Extension runtime subset:
|
|
@@ -148,11 +158,14 @@ Feedback contract markers:
|
|
|
148
158
|
Current operational constraints:
|
|
149
159
|
- `canvas.feedback.subscribe` returns the initial payload on every public surface. For ongoing events:
|
|
150
160
|
- CLI: use `opendevbrowser canvas --command canvas.feedback.subscribe --output-format stream-json`
|
|
151
|
-
- tool/daemon loops:
|
|
161
|
+
- tool/daemon loops: call `canvas.feedback.next` repeatedly, then `canvas.feedback.unsubscribe` when complete
|
|
162
|
+
- Extension design-tab history clicks emit the internal `canvas_history_requested` event; the actual mutation still runs through public `canvas.history.undo` or `canvas.history.redo`, with `plan_required`, `history_empty`, or `history_invalidated` remaining the operator-facing outcomes.
|
|
152
163
|
- `canvas.tab.sync` and `canvas.overlay.sync` are internal extension runtime helpers only.
|
|
153
164
|
- `canvas_html` remains the default preview/export contract; `bound_app_runtime` is valid only when the binding explicitly opts in and runtime preflight succeeds.
|
|
154
165
|
- Library metadata is preserved, but rendered output is still semantic rather than package-faithful.
|
|
155
|
-
- Popup and canvas both ship per-item and combined annotation `Copy` / `Send` actions.
|
|
166
|
+
- Popup and canvas both ship per-item and combined annotation `Copy` / `Send` actions. `Send` dispatches `annotation:sendPayload`, posts `/annotation` `store_agent_payload`, and resolves through the shared `AgentInbox` when scope is safe; it degrades to stored-only `annotate --stored` retrieval when scope or relay conditions fail.
|
|
167
|
+
- `/ops` pointer commands (`pointer.move`, `pointer.down`, `pointer.up`, `pointer.drag`) are part of the public default relay inventory and should be included in surface audits when low-level gesture coverage matters.
|
|
168
|
+
- `/ops` preview/runtime bridge coverage includes `canvas.applyRuntimePreviewBridge` alongside overlay commands because extension runtime preview parity depends on both.
|
|
156
169
|
|
|
157
170
|
Operational rule:
|
|
158
171
|
- Read `canvas.session.open` or `canvas.capabilities.get` before mutation.
|
|
@@ -172,6 +185,7 @@ Operational rule:
|
|
|
172
185
|
- Extension default: `launch` or relay-normalized `connect`
|
|
173
186
|
- Extension legacy: `launch --extension-legacy` or `connect --extension-legacy`
|
|
174
187
|
- Direct CDP: `connect --ws-endpoint ...` or `connect --host ... --cdp-port ...`
|
|
188
|
+
- Direct release harnesses (`live-regression-direct`, `provider-direct-runs`) are the shipping evidence path; broad matrix wrappers are debug-only and should not replace fresh direct-run artifacts.
|
|
175
189
|
|
|
176
190
|
Required readiness/status checks:
|
|
177
191
|
- `extensionConnected`
|
|
@@ -12,7 +12,8 @@ Define hard pass/fail gates so CLI, tool, and runtime surfaces stay aligned.
|
|
|
12
12
|
| Navigation + refs loop | managed, extension, cdpConnect | CLI + tools + runtime | `goto/wait/snapshot` parity |
|
|
13
13
|
| Interaction | managed, extension, cdpConnect | CLI + tools + runtime | click/type/select/scroll/press/check/uncheck parity |
|
|
14
14
|
| Targets + pages | managed, extension, cdpConnect | CLI + tools + runtime | target/page command parity |
|
|
15
|
-
| DOM + diagnostics + export | managed, extension, cdpConnect | CLI + tools + runtime | dom/perf/screenshot/console/network/clone parity |
|
|
15
|
+
| DOM + diagnostics + export | managed, extension, cdpConnect | CLI + tools + runtime | dom/perf/screenshot/screencast/browser replay/console/network/clone parity |
|
|
16
|
+
| Desktop observation | local desktop runtime | CLI + tools + daemon | desktop status/window/capture/accessibility parity |
|
|
16
17
|
| Relay channels | extension (default) + extension-legacy | `/ops` + `/cdp` | `/ops` namespace coverage + `/cdp` envelope compatibility |
|
|
17
18
|
|
|
18
19
|
## Surface Rules
|
|
@@ -30,7 +31,13 @@ npm run test -- tests/tools.test.ts tests/daemon-command.test.ts
|
|
|
30
31
|
npm run test -- tests/providers-performance-gate.test.ts
|
|
31
32
|
```
|
|
32
33
|
|
|
34
|
+
## Contract gates vs live release proof
|
|
35
|
+
|
|
36
|
+
- `tests/parity-matrix.test.ts` is contract coverage for CLI/tool/runtime surface parity.
|
|
37
|
+
- `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json` and `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json` are the live release-proof lane.
|
|
38
|
+
- Treat grouped contract checks and direct-run release proof as complementary, not interchangeable.
|
|
39
|
+
|
|
33
40
|
## Release Requirement
|
|
34
41
|
|
|
35
42
|
Ship only when parity tests pass and docs (`README.md`, `docs/CLI.md`, `docs/ARCHITECTURE.md`, `docs/SURFACE_REFERENCE.md`) reflect the same surface map.
|
|
36
|
-
Use `docs/
|
|
43
|
+
Use `docs/RELEASE_RUNBOOK.md` and the current version-scoped release evidence ledger as the release gate source of truth.
|
|
@@ -82,6 +82,12 @@ Expected output:
|
|
|
82
82
|
- `workerStats[]` with `{ sessionId, processed, failures }`
|
|
83
83
|
- `frontierStats` and checkpoint state
|
|
84
84
|
|
|
85
|
+
## Release evidence lane
|
|
86
|
+
|
|
87
|
+
- Use `node scripts/provider-direct-runs.mjs --release-gate --out artifacts/release/vX.Y.Z/provider-direct-runs.json` for provider live release proof.
|
|
88
|
+
- Use `node scripts/live-regression-direct.mjs --release-gate --out artifacts/release/vX.Y.Z/live-regression-direct.json` for cross-surface live release proof.
|
|
89
|
+
- Treat parity matrix tests as contract coverage, not live release proof.
|
|
90
|
+
|
|
85
91
|
## Failure Policy
|
|
86
92
|
|
|
87
93
|
- stale refs: re-snapshot and retry once
|