opendevbrowser 0.0.16 → 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 +201 -79
- 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 +7 -1
- package/dist/browser/annotation-manager.d.ts.map +1 -1
- package/dist/browser/browser-manager.d.ts +153 -48
- package/dist/browser/browser-manager.d.ts.map +1 -1
- package/dist/browser/canvas-client.d.ts +54 -0
- package/dist/browser/canvas-client.d.ts.map +1 -0
- package/dist/browser/canvas-code-sync-manager.d.ts +87 -0
- package/dist/browser/canvas-code-sync-manager.d.ts.map +1 -0
- package/dist/browser/canvas-manager.d.ts +122 -0
- package/dist/browser/canvas-manager.d.ts.map +1 -0
- package/dist/browser/canvas-runtime-preview-bridge.d.ts +20 -0
- package/dist/browser/canvas-runtime-preview-bridge.d.ts.map +1 -0
- package/dist/browser/canvas-session-sync-manager.d.ts +21 -0
- package/dist/browser/canvas-session-sync-manager.d.ts.map +1 -0
- 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 +179 -1
- package/dist/browser/manager-types.d.ts.map +1 -1
- package/dist/browser/ops-browser-manager.d.ts +114 -4
- 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 +25 -0
- package/dist/canvas/code-sync/apply-tsx.d.ts.map +1 -0
- package/dist/canvas/code-sync/graph.d.ts +5 -0
- package/dist/canvas/code-sync/graph.d.ts.map +1 -0
- package/dist/canvas/code-sync/hash.d.ts +3 -0
- package/dist/canvas/code-sync/hash.d.ts.map +1 -0
- package/dist/canvas/code-sync/import.d.ts +19 -0
- package/dist/canvas/code-sync/import.d.ts.map +1 -0
- package/dist/canvas/code-sync/manifest.d.ts +6 -0
- package/dist/canvas/code-sync/manifest.d.ts.map +1 -0
- package/dist/canvas/code-sync/tsx-adapter.d.ts +8 -0
- package/dist/canvas/code-sync/tsx-adapter.d.ts.map +1 -0
- package/dist/canvas/code-sync/types.d.ts +244 -0
- package/dist/canvas/code-sync/types.d.ts.map +1 -0
- package/dist/canvas/code-sync/write.d.ts +9 -0
- package/dist/canvas/code-sync/write.d.ts.map +1 -0
- package/dist/canvas/document-store.d.ts +91 -0
- package/dist/canvas/document-store.d.ts.map +1 -0
- package/dist/canvas/export.d.ts +12 -0
- package/dist/canvas/export.d.ts.map +1 -0
- 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 +12 -0
- package/dist/canvas/repo-store.d.ts.map +1 -0
- package/dist/canvas/starters/catalog.d.ts +34 -0
- package/dist/canvas/starters/catalog.d.ts.map +1 -0
- package/dist/canvas/surface-palette.d.ts +15 -0
- package/dist/canvas/surface-palette.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 +594 -0
- package/dist/canvas/types.d.ts.map +1 -0
- package/dist/canvas-runtime-preview-bridge-HBEHXM4T.js +7 -0
- package/dist/canvas-runtime-preview-bridge-HBEHXM4T.js.map +1 -0
- 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-7W3SPXIB.js → chunk-FUSXMW3G.js} +4 -1
- package/dist/chunk-L57D35TB.js +33513 -0
- package/dist/chunk-L57D35TB.js.map +1 -0
- package/dist/chunk-TBUCZX4A.js +34 -0
- package/dist/chunk-TBUCZX4A.js.map +1 -0
- package/dist/chunk-Y2KL55OG.js +59 -0
- package/dist/chunk-Y2KL55OG.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/annotate.d.ts +11 -0
- package/dist/cli/commands/annotate.d.ts.map +1 -1
- package/dist/cli/commands/artifacts.d.ts.map +1 -1
- package/dist/cli/commands/canvas.d.ts +45 -0
- package/dist/cli/commands/canvas.d.ts.map +1 -0
- 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/perf.d.ts.map +1 -1
- 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 +3 -0
- package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -1
- package/dist/cli/commands/dom/attr.d.ts.map +1 -1
- package/dist/cli/commands/dom/checked.d.ts.map +1 -1
- package/dist/cli/commands/dom/enabled.d.ts.map +1 -1
- package/dist/cli/commands/dom/html.d.ts.map +1 -1
- package/dist/cli/commands/dom/text.d.ts.map +1 -1
- package/dist/cli/commands/dom/value.d.ts.map +1 -1
- package/dist/cli/commands/dom/visible.d.ts.map +1 -1
- package/dist/cli/commands/export/clone-component.d.ts +9 -0
- package/dist/cli/commands/export/clone-component.d.ts.map +1 -1
- package/dist/cli/commands/export/clone-page.d.ts +8 -0
- package/dist/cli/commands/export/clone-page.d.ts.map +1 -1
- package/dist/cli/commands/interact/check.d.ts.map +1 -1
- package/dist/cli/commands/interact/click.d.ts.map +1 -1
- package/dist/cli/commands/interact/hover.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/press.d.ts.map +1 -1
- package/dist/cli/commands/interact/scroll-into-view.d.ts.map +1 -1
- package/dist/cli/commands/interact/scroll.d.ts.map +1 -1
- package/dist/cli/commands/interact/select.d.ts.map +1 -1
- package/dist/cli/commands/interact/type.d.ts.map +1 -1
- package/dist/cli/commands/interact/uncheck.d.ts.map +1 -1
- 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 +22 -8
- package/dist/cli/commands/native.d.ts.map +1 -1
- package/dist/cli/commands/nav/goto.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/nav/wait.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 -21
- 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 -9
- 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 +19 -3
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/index.js +2927 -932
- 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-canvas-manager.d.ts +8 -0
- package/dist/cli/remote-canvas-manager.d.ts.map +1 -0
- 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 +27 -3
- package/dist/cli/remote-manager.d.ts.map +1 -1
- package/dist/cli/remote-relay.d.ts +2 -0
- package/dist/cli/remote-relay.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 +3 -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 +17 -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/fs-UMRKOBNN.js +7 -0
- package/dist/fs-UMRKOBNN.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1221 -460
- 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/{macros-NUBRM44Y.js → macros-ND2M7LWU.js} +2 -2
- package/dist/opendevbrowser.d.ts.map +1 -1
- package/dist/opendevbrowser.js +1221 -460
- 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-G36AM3Z2.js +121 -0
- package/dist/providers-G36AM3Z2.js.map +1 -0
- 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 +108 -4
- 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 +32 -1
- package/dist/relay/relay-server.d.ts.map +1 -1
- package/dist/relay/relay-types.d.ts +3 -0
- package/dist/relay/relay-types.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-loader.js.map +1 -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/annotate.d.ts.map +1 -1
- package/dist/tools/canvas.d.ts +4 -0
- package/dist/tools/canvas.d.ts.map +1 -0
- package/dist/tools/check.d.ts.map +1 -1
- package/dist/tools/click.d.ts.map +1 -1
- package/dist/tools/clone_component.d.ts.map +1 -1
- package/dist/tools/clone_page.d.ts.map +1 -1
- package/dist/tools/connect.d.ts.map +1 -1
- package/dist/tools/deps.d.ts +6 -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/dom_get_html.d.ts.map +1 -1
- package/dist/tools/dom_get_text.d.ts.map +1 -1
- package/dist/tools/get_attr.d.ts.map +1 -1
- package/dist/tools/get_value.d.ts.map +1 -1
- package/dist/tools/goto.d.ts.map +1 -1
- package/dist/tools/hover.d.ts.map +1 -1
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/is_checked.d.ts.map +1 -1
- package/dist/tools/is_enabled.d.ts.map +1 -1
- package/dist/tools/is_visible.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/perf.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/press.d.ts.map +1 -1
- 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/response.d.ts +4 -1
- package/dist/tools/response.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/scroll.d.ts.map +1 -1
- package/dist/tools/scroll_into_view.d.ts.map +1 -1
- package/dist/tools/select.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/snapshot.d.ts.map +1 -1
- package/dist/tools/type.d.ts.map +1 -1
- package/dist/tools/uncheck.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/wait.d.ts.map +1 -1
- package/dist/tools/workflow-runtime.d.ts +4 -2
- 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 +1006 -0
- package/extension/dist/annotate-content.css +15 -6
- package/extension/dist/annotate-content.js +175 -35
- package/extension/dist/annotation-payload.js +199 -0
- package/extension/dist/background.js +544 -69
- package/extension/dist/canvas/canvas-runtime.js +1490 -0
- package/extension/dist/canvas/model.js +341 -0
- package/extension/dist/canvas/viewport-fit.js +67 -0
- package/extension/dist/canvas-page.js +3609 -0
- package/extension/dist/ops/dom-bridge.js +255 -3
- package/extension/dist/ops/ops-runtime.js +3324 -301
- package/extension/dist/ops/ops-session-store.js +97 -112
- 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 +159 -0
- package/extension/dist/popup.js +201 -42
- package/extension/dist/services/CDPRouter.js +1567 -63
- package/extension/dist/services/ConnectionManager.js +453 -78
- package/extension/dist/services/RelayClient.js +79 -30
- package/extension/dist/services/TabManager.js +118 -22
- 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/dist/types.js +2 -0
- package/extension/manifest.json +2 -2
- package/extension/popup.html +59 -6
- package/package.json +19 -9
- package/skills/AGENTS.md +8 -4
- package/skills/opendevbrowser-best-practices/SKILL.md +183 -6
- package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +1 -0
- package/skills/opendevbrowser-best-practices/artifacts/canvas-governance-playbook.md +141 -0
- package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +129 -19
- 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/canvas-blocker-checklist.json +70 -0
- package/skills/opendevbrowser-best-practices/assets/templates/canvas-feedback-eval.json +73 -0
- package/skills/opendevbrowser-best-practices/assets/templates/canvas-generation-plan.v1.json +67 -0
- package/skills/opendevbrowser-best-practices/assets/templates/canvas-handshake-example.json +126 -0
- package/skills/opendevbrowser-best-practices/assets/templates/robustness-checklist.json +57 -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 +12 -3
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +107 -12
- package/skills/opendevbrowser-best-practices/scripts/resolve-odb-cli.sh +100 -0
- package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +83 -1
- package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +365 -84
- 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-ST7CO5FA.js +0 -18668
- package/dist/chunk-ST7CO5FA.js.map +0 -1
- /package/dist/{chunk-7W3SPXIB.js.map → chunk-FUSXMW3G.js.map} +0 -0
- /package/dist/{macros-NUBRM44Y.js.map → macros-ND2M7LWU.js.map} +0 -0
|
@@ -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.
|
|
@@ -23,17 +25,24 @@ Use this skill when you need:
|
|
|
23
25
|
- `artifacts/fingerprint-tiers.md` — hardening tiers and when to use each.
|
|
24
26
|
- `artifacts/macro-workflows.md` — macro design and expansion standards.
|
|
25
27
|
- `artifacts/browser-agent-known-issues-matrix.md` — known browser-agent failure modes mapped to required controls.
|
|
26
|
-
- `artifacts/command-channel-reference.md` — CLI/tool/`/ops`/`/cdp` surface map plus cross-agent skill-sync targets.
|
|
28
|
+
- `artifacts/command-channel-reference.md` — CLI/tool/`/ops`/`/canvas`/`/cdp` surface map plus cross-agent skill-sync targets.
|
|
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.
|
|
27
31
|
- `assets/templates/mode-flag-matrix.json` — mode + flag verification template.
|
|
28
32
|
- `assets/templates/ops-request-envelope.json` — `/ops` request envelope template.
|
|
29
33
|
- `assets/templates/cdp-forward-envelope.json` — `/cdp` relay envelope template.
|
|
30
34
|
- `assets/templates/robustness-checklist.json` — shared issue-status checklist for workflow robustness audits.
|
|
31
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.
|
|
37
|
+
- `assets/templates/canvas-handshake-example.json` — canonical `/canvas` handshake example.
|
|
38
|
+
- `assets/templates/canvas-generation-plan.v1.json` — required `canvas.plan.set` request skeleton.
|
|
39
|
+
- `assets/templates/canvas-feedback-eval.json` — target-attributed feedback evaluation checklist.
|
|
40
|
+
- `assets/templates/canvas-blocker-checklist.json` — machine-readable blocker and warning audit map.
|
|
32
41
|
- `scripts/odb-workflow.sh` — prints codified command sequences by workflow.
|
|
33
42
|
- `scripts/run-robustness-audit.sh` — validates workflow skill coverage against known issue IDs.
|
|
34
43
|
- `scripts/validate-skill-assets.sh` — validates required artifacts/templates.
|
|
35
44
|
|
|
36
|
-
##
|
|
45
|
+
## Quick Start
|
|
37
46
|
|
|
38
47
|
1. Validate the skill pack:
|
|
39
48
|
|
|
@@ -53,6 +62,7 @@ Use this skill when you need:
|
|
|
53
62
|
|
|
54
63
|
```bash
|
|
55
64
|
npx opendevbrowser --help
|
|
65
|
+
npx opendevbrowser help
|
|
56
66
|
```
|
|
57
67
|
|
|
58
68
|
5. Run robustness coverage checks across workflow skills:
|
|
@@ -61,6 +71,71 @@ npx opendevbrowser --help
|
|
|
61
71
|
./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh
|
|
62
72
|
```
|
|
63
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
|
+
|
|
64
139
|
## Agent Sync Targets
|
|
65
140
|
|
|
66
141
|
Skill-pack installation and discovery are synchronized for:
|
|
@@ -71,13 +146,15 @@ Skill-pack installation and discovery are synchronized for:
|
|
|
71
146
|
|
|
72
147
|
Legacy compatibility aliases `claude` and `amp` are preserved in installer target metadata.
|
|
73
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
|
+
|
|
74
151
|
## Required Operating Rules
|
|
75
152
|
|
|
76
153
|
- Prefer refs from `opendevbrowser_snapshot` over raw selectors.
|
|
77
154
|
- Use one action per decision loop: snapshot -> action -> snapshot.
|
|
78
155
|
- Keep a single correlation context (`requestId`, `sessionId`) across a run.
|
|
79
156
|
- Run the same workflow shape across all three modes before claiming parity.
|
|
80
|
-
- 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`).
|
|
81
158
|
- Apply rate-limit/backoff discipline (`Retry-After` aware) whenever 429 pressure appears.
|
|
82
159
|
- Re-check extension readiness on resume when a run crosses idle windows.
|
|
83
160
|
|
|
@@ -146,6 +223,14 @@ opendevbrowser_network_poll sessionId="<session-id>" max=100
|
|
|
146
223
|
opendevbrowser_screenshot sessionId="<session-id>"
|
|
147
224
|
```
|
|
148
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
|
+
|
|
149
234
|
### Read-Only Social Validation Workflow
|
|
150
235
|
|
|
151
236
|
Goal: validate authenticated read/search capability without posting.
|
|
@@ -165,11 +250,16 @@ Use the router script to avoid retyping flows:
|
|
|
165
250
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh qa-debug
|
|
166
251
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh social-readonly-check
|
|
167
252
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh parity-check
|
|
253
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh release-direct-gates
|
|
168
254
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh surface-audit
|
|
169
255
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh ops-channel-check
|
|
170
256
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh cdp-channel-check
|
|
171
257
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh mode-flag-matrix
|
|
172
258
|
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh robustness-audit
|
|
259
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh canvas-preflight
|
|
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
|
|
173
263
|
```
|
|
174
264
|
|
|
175
265
|
## Modes and Surface Parity
|
|
@@ -186,20 +276,107 @@ Parity gate test:
|
|
|
186
276
|
npm run test -- tests/parity-matrix.test.ts
|
|
187
277
|
```
|
|
188
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
|
+
|
|
189
282
|
Real-world provider+mode scenario harness (soak replacement):
|
|
190
283
|
|
|
191
284
|
```bash
|
|
192
285
|
npm run build
|
|
193
|
-
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
|
|
194
288
|
```
|
|
195
289
|
|
|
196
290
|
Surface inventory source of truth:
|
|
197
|
-
- `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`)
|
|
198
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.
|
|
313
|
+
|
|
314
|
+
## Canvas Governance Handshake
|
|
315
|
+
|
|
316
|
+
Use the design-canvas surface when the workflow needs persisted design documents, explicit governance state, preview tabs, or overlay selection.
|
|
317
|
+
|
|
318
|
+
Recommended command order:
|
|
319
|
+
1. `opendevbrowser_canvas` or `opendevbrowser canvas --command canvas.session.open` to get `canvasSessionId`, `leaseId`, `preflightState`, governance block states, and generation-plan requirements.
|
|
320
|
+
2. Read the handshake before mutating. The handshake is the source of truth for:
|
|
321
|
+
- `governanceRequirements.requiredBeforeMutation`
|
|
322
|
+
- `governanceRequirements.requiredBeforeSave`
|
|
323
|
+
- `generationPlanRequirements.requiredBeforeMutation`
|
|
324
|
+
- `allowedLibraries`
|
|
325
|
+
- `mutationPolicy.allowedBeforePlan`
|
|
326
|
+
- treat `allowedLibraries.components`, `allowedLibraries.icons`, and `allowedLibraries.styling` as separate policy lanes:
|
|
327
|
+
`components` are reusable UI adapters such as `shadcn`,
|
|
328
|
+
`icons` are approved icon families,
|
|
329
|
+
`styling` is for utility/theme adapters such as `tailwindcss`
|
|
330
|
+
3. Submit `canvas.plan.set` with all required non-empty objects:
|
|
331
|
+
- `targetOutcome`
|
|
332
|
+
- `visualDirection`
|
|
333
|
+
- `layoutStrategy`
|
|
334
|
+
- `contentStrategy`
|
|
335
|
+
- `componentStrategy`
|
|
336
|
+
- `motionPosture`
|
|
337
|
+
- `responsivePosture`
|
|
338
|
+
- `accessibilityPosture`
|
|
339
|
+
- `validationTargets`
|
|
340
|
+
4. Only after the plan is accepted, call `canvas.document.patch`.
|
|
341
|
+
5. Use `canvas.preview.render`, `canvas.tab.open`, `canvas.overlay.mount`, and `canvas.overlay.select` when a browser-backed live view is required.
|
|
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.
|
|
344
|
+
|
|
345
|
+
Code-sync surface:
|
|
346
|
+
- `canvas.session.attach` joins an existing canvas session as an `observer` or reclaims the write lease with `attachMode=lease_reclaim`.
|
|
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.
|
|
348
|
+
|
|
349
|
+
Current `/canvas` parity notes:
|
|
350
|
+
- All 35 public `canvas.*` commands are agent-callable through `opendevbrowser_canvas` and `opendevbrowser canvas --command ...`.
|
|
351
|
+
- `canvas.feedback.subscribe` live streaming is public through the CLI only: use `--output-format stream-json` for the built-in polling bridge.
|
|
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`.
|
|
353
|
+
- `canvas.tab.sync` and `canvas.overlay.sync` are internal extension runtime helpers, not public commands.
|
|
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.
|
|
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.
|
|
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.
|
|
357
|
+
|
|
358
|
+
Tailwind usage rule:
|
|
359
|
+
- When `allowedLibraries.styling` includes `tailwindcss`, use it for layout, spacing, responsive, and state styling over canonical tokens/theme variables.
|
|
360
|
+
- Do not treat Tailwind as a component inventory source or mix it into `componentStrategy.approvedLibraries`.
|
|
361
|
+
- Preview/export should materialize a deterministic utility-class layer and stay self-contained; do not depend on a remote Tailwind CDN for canvas preview correctness.
|
|
362
|
+
|
|
363
|
+
Failure handling:
|
|
364
|
+
- `plan_required`: immediately call `canvas.plan.set`.
|
|
365
|
+
- `revision_conflict`: reload with `canvas.document.load` and replay the patch batch against the latest revision.
|
|
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`.
|
|
368
|
+
|
|
369
|
+
Operational references:
|
|
370
|
+
- `artifacts/canvas-governance-playbook.md`
|
|
371
|
+
- `assets/templates/canvas-handshake-example.json`
|
|
372
|
+
- `assets/templates/canvas-generation-plan.v1.json`
|
|
373
|
+
- `assets/templates/canvas-feedback-eval.json`
|
|
374
|
+
- `assets/templates/canvas-blocker-checklist.json`
|
|
199
375
|
|
|
200
376
|
## Diagnostics and Traceability
|
|
201
377
|
|
|
202
378
|
Current diagnostics tools:
|
|
379
|
+
- `opendevbrowser_session_inspector` (session-first summary with relay health, target state, trace proof, and next-action guidance)
|
|
203
380
|
- `opendevbrowser_console_poll`
|
|
204
381
|
- `opendevbrowser_network_poll`
|
|
205
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
|
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Canvas Governance Playbook
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Use this playbook before any `/canvas` mutation and during every design-feedback loop. It keeps the runtime handshake, governance state, and evaluation rules aligned with the design-canvas spec.
|
|
6
|
+
|
|
7
|
+
## Required command order
|
|
8
|
+
|
|
9
|
+
1. `canvas.session.open`
|
|
10
|
+
2. Read the handshake and confirm `preflightState: "handshake_read"`
|
|
11
|
+
3. `canvas.plan.set`
|
|
12
|
+
4. `canvas.plan.get` or `canvas.capabilities.get` until the runtime reports `plan_accepted`
|
|
13
|
+
5. `canvas.document.patch`
|
|
14
|
+
6. `canvas.preview.render` or `canvas.tab.open`
|
|
15
|
+
7. `canvas.feedback.poll`
|
|
16
|
+
8. `canvas.document.save` or `canvas.document.export`
|
|
17
|
+
|
|
18
|
+
Mutation is blocked until the handshake has been read and the plan is accepted. A save is still invalid when required governance blocks remain missing in `requiredBeforeSave`.
|
|
19
|
+
|
|
20
|
+
## Handshake requirements
|
|
21
|
+
|
|
22
|
+
Every `canvas.session.open` response is the runtime contract. Read these fields before sending a patch:
|
|
23
|
+
|
|
24
|
+
- `canvasSessionId`
|
|
25
|
+
- `browserSessionId`
|
|
26
|
+
- `documentId`
|
|
27
|
+
- `leaseId`
|
|
28
|
+
- `preflightState`
|
|
29
|
+
- `governanceRequirements.requiredBeforeMutation`
|
|
30
|
+
- `governanceRequirements.requiredBeforeSave`
|
|
31
|
+
- `generationPlanRequirements.requiredBeforeMutation`
|
|
32
|
+
- `allowedLibraries`
|
|
33
|
+
- `allowedBeforePlan`
|
|
34
|
+
|
|
35
|
+
Interpret `allowedLibraries` by lane:
|
|
36
|
+
- `components` are reusable UI adapters such as `shadcn`
|
|
37
|
+
- `icons` are approved icon families
|
|
38
|
+
- `styling` is for utility/theme adapters such as `tailwindcss`
|
|
39
|
+
- do not mix icon or styling libraries into `componentStrategy.approvedLibraries`
|
|
40
|
+
|
|
41
|
+
Preflight states:
|
|
42
|
+
- `handshake_read`
|
|
43
|
+
- `plan_submitted`
|
|
44
|
+
- `plan_accepted`
|
|
45
|
+
- `patching_enabled`
|
|
46
|
+
|
|
47
|
+
## Governance blocks
|
|
48
|
+
|
|
49
|
+
The document must declare `designGovernance` with at least:
|
|
50
|
+
|
|
51
|
+
- `intent`
|
|
52
|
+
- `designLanguage`
|
|
53
|
+
- `contentModel`
|
|
54
|
+
- `layoutSystem`
|
|
55
|
+
- `typographySystem`
|
|
56
|
+
- `colorSystem`
|
|
57
|
+
- `surfaceSystem`
|
|
58
|
+
- `iconSystem`
|
|
59
|
+
- `motionSystem`
|
|
60
|
+
- `responsiveSystem`
|
|
61
|
+
- `accessibilityPolicy`
|
|
62
|
+
- `libraryPolicy`
|
|
63
|
+
- `runtimeBudgets`
|
|
64
|
+
|
|
65
|
+
The first accepted `generationPlan` must include:
|
|
66
|
+
|
|
67
|
+
- `targetOutcome`
|
|
68
|
+
- `visualDirection`
|
|
69
|
+
- `layoutStrategy`
|
|
70
|
+
- `contentStrategy`
|
|
71
|
+
- `componentStrategy`
|
|
72
|
+
- `motionPosture`
|
|
73
|
+
- `responsivePosture`
|
|
74
|
+
- `accessibilityPosture`
|
|
75
|
+
- `validationTargets`
|
|
76
|
+
|
|
77
|
+
## Blocker handling
|
|
78
|
+
|
|
79
|
+
Canonical blocker path:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"code": "plan_required",
|
|
84
|
+
"blockingCommand": "canvas.document.patch",
|
|
85
|
+
"requiredNextCommands": ["canvas.plan.set"],
|
|
86
|
+
"details": { "auditId": "CANVAS-01" }
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
If `canvas.document.patch` or `canvas.document.save` returns a blocker, stop mutating and fix the missing handshake, governance, or plan requirement before retrying.
|
|
91
|
+
|
|
92
|
+
## Canvas robustness issue classes
|
|
93
|
+
|
|
94
|
+
| Audit ID | Failure class | Typical signal | Required response |
|
|
95
|
+
|---|---|---|---|
|
|
96
|
+
| `CANVAS-01` | Handshake missing or unread before mutation | `plan_required`, missing `handshake_read` evidence | Re-run `canvas.session.open` or `canvas.capabilities.get`, then `canvas.plan.set` |
|
|
97
|
+
| `CANVAS-02` | Required governance block missing | save blocker, empty `requiredBeforeSave`, validation warning | Fill missing `designGovernance.*` fields before save/export |
|
|
98
|
+
| `CANVAS-03` | Required `generationPlan` field missing or malformed | `canvas.plan.set` rejected or warnings retained | Submit a complete plan and wait for acceptance |
|
|
99
|
+
| `CANVAS-04` | Library or icon-policy violation | validation warning, policy blocker, downgraded export | Adjust component/library choice to match `libraryPolicy` and `iconSystem` |
|
|
100
|
+
| `CANVAS-05` | Unsupported target or overlay mount failure | `unsupported_target`, `restricted_url`, overlay mount error | Move to a normal http(s) preview target or managed mode |
|
|
101
|
+
| `CANVAS-06` | Runtime budget exceeded or preview downgrade ignored | degrade warning, overflowed media/fonts/telemetry budget | Reduce preview cost or accept the downgrade before proceeding |
|
|
102
|
+
| `CANVAS-07` | Feedback missing target attribution or validation metadata | feedback lacks `targetId`, `pageId`, `class`, or `evidenceRefs` | Re-poll or fix the feedback source before trusting the result |
|
|
103
|
+
|
|
104
|
+
## Feedback evaluation loop
|
|
105
|
+
|
|
106
|
+
Required categories:
|
|
107
|
+
|
|
108
|
+
- `render`
|
|
109
|
+
- `console`
|
|
110
|
+
- `network`
|
|
111
|
+
- `validation`
|
|
112
|
+
- `performance`
|
|
113
|
+
- `asset`
|
|
114
|
+
- `export`
|
|
115
|
+
|
|
116
|
+
Required fields per feedback item:
|
|
117
|
+
|
|
118
|
+
- `documentId`
|
|
119
|
+
- `pageId`
|
|
120
|
+
- `prototypeId`
|
|
121
|
+
- `targetId`
|
|
122
|
+
- `documentRevision`
|
|
123
|
+
- `severity`
|
|
124
|
+
- `class`
|
|
125
|
+
- `message`
|
|
126
|
+
- `evidenceRefs`
|
|
127
|
+
|
|
128
|
+
Streaming checks:
|
|
129
|
+
|
|
130
|
+
- `feedback.item` carries the canonical feedback payload
|
|
131
|
+
- `feedback.heartbeat` proves the subscription is still alive
|
|
132
|
+
- `feedback.complete` explains why the stream ended
|
|
133
|
+
|
|
134
|
+
## Router and template references
|
|
135
|
+
|
|
136
|
+
- `scripts/odb-workflow.sh canvas-preflight`
|
|
137
|
+
- `scripts/odb-workflow.sh canvas-feedback-eval`
|
|
138
|
+
- `assets/templates/canvas-handshake-example.json`
|
|
139
|
+
- `assets/templates/canvas-generation-plan.v1.json`
|
|
140
|
+
- `assets/templates/canvas-feedback-eval.json`
|
|
141
|
+
- `assets/templates/canvas-blocker-checklist.json`
|
|
@@ -2,21 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Compact operational map of the current OpenDevBrowser surfaces, with the `/canvas` handshake and blocker paths called out explicitly for preflight audits.
|
|
6
6
|
|
|
7
7
|
## Current coverage snapshot
|
|
8
8
|
|
|
9
|
-
- CLI commands: `
|
|
10
|
-
- Plugin tools: `
|
|
11
|
-
- `/ops` command names: `
|
|
9
|
+
- CLI commands: `72`
|
|
10
|
+
- Plugin tools: `65`
|
|
11
|
+
- `/ops` command names: `59`
|
|
12
|
+
- `/canvas` command names: `35`
|
|
12
13
|
- Legacy `/cdp` relay: generic CDP forwarding (method-level)
|
|
13
14
|
|
|
14
15
|
Canonical exhaustive reference: `docs/SURFACE_REFERENCE.md`.
|
|
15
|
-
CLI help mirror: `npx opendevbrowser --help`
|
|
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.
|
|
16
18
|
|
|
17
19
|
## Agent skill-sync coverage
|
|
18
20
|
|
|
19
|
-
Skill-pack installation
|
|
21
|
+
Skill-pack installation and discovery are synchronized for:
|
|
20
22
|
- `opencode`: `~/.config/opencode/skill` and `./.opencode/skill`
|
|
21
23
|
- `codex`: `$CODEX_HOME/skills` (fallback `~/.codex/skills`) and `./.codex/skills`
|
|
22
24
|
- `claudecode`: `$CLAUDECODE_HOME/skills` or `$CLAUDE_HOME/skills` (fallback `~/.claude/skills`) and `./.claude/skills`
|
|
@@ -26,19 +28,23 @@ Legacy aliases `claude` and `amp` remain present in installer target metadata fo
|
|
|
26
28
|
|
|
27
29
|
## CLI surface categories
|
|
28
30
|
|
|
29
|
-
- Install/runtime: install
|
|
30
|
-
- Session/connection: launch
|
|
31
|
-
- Navigation: goto
|
|
32
|
-
-
|
|
33
|
-
- Targets/pages: targets-list
|
|
34
|
-
-
|
|
35
|
-
-
|
|
31
|
+
- Install/runtime: `install`, `update`, `uninstall`, `help`, `version`, `serve`, `daemon`, `native`, `run`, `artifacts`
|
|
32
|
+
- Session/connection/workflow: `launch`, `connect`, `disconnect`, `status`, `cookie-import`, `cookie-list`, `research`, `shopping`, `product-video`
|
|
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`
|
|
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
|
|
39
|
+
- Design canvas: `canvas`
|
|
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
|
|
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,11 +57,14 @@ 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
|
|
|
58
|
-
|
|
67
|
+
Envelope types:
|
|
59
68
|
- `ops_hello`, `ops_hello_ack`
|
|
60
69
|
- `ops_ping`, `ops_pong`
|
|
61
70
|
- `ops_request`, `ops_response`, `ops_error`
|
|
@@ -64,14 +73,111 @@ Handshake/liveness envelope types:
|
|
|
64
73
|
Concurrency policy:
|
|
65
74
|
- `/ops` supports multiple clients and multiple sessions.
|
|
66
75
|
- Reliable parallel execution is session-scoped (`session-per-worker`).
|
|
67
|
-
- Avoid concurrent independent streams that switch targets inside one session
|
|
76
|
+
- Avoid concurrent independent streams that switch targets inside one session.
|
|
77
|
+
|
|
78
|
+
### `/canvas`
|
|
79
|
+
|
|
80
|
+
Core command families:
|
|
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`
|
|
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`
|
|
84
|
+
- Live targets and overlay: `canvas.tab.open`, `canvas.tab.close`, `canvas.overlay.mount`, `canvas.overlay.unmount`, `canvas.overlay.select`
|
|
85
|
+
- Preview and feedback: `canvas.preview.render`, `canvas.preview.refresh`, `canvas.feedback.poll`, `canvas.feedback.subscribe`, `canvas.feedback.next`, `canvas.feedback.unsubscribe`
|
|
86
|
+
- Code sync: `canvas.code.bind`, `canvas.code.unbind`, `canvas.code.pull`, `canvas.code.push`, `canvas.code.status`, `canvas.code.resolve`
|
|
87
|
+
|
|
88
|
+
Extension runtime subset:
|
|
89
|
+
- `canvas.tab.open`, `canvas.tab.close`, `canvas.tab.sync`
|
|
90
|
+
- `canvas.overlay.mount`, `canvas.overlay.unmount`, `canvas.overlay.select`, `canvas.overlay.sync`
|
|
91
|
+
|
|
92
|
+
Envelope types:
|
|
93
|
+
- `canvas_request`, `canvas_response`, `canvas_error`
|
|
94
|
+
- `canvas_event`, `canvas_chunk`
|
|
95
|
+
- `canvas_ping`, `canvas_pong`
|
|
96
|
+
|
|
97
|
+
Minimum handshake payload shape:
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"canvasSessionId": "canvas_session_01",
|
|
102
|
+
"browserSessionId": "browser_session_01",
|
|
103
|
+
"documentId": "dc_01",
|
|
104
|
+
"leaseId": "lease_01",
|
|
105
|
+
"preflightState": "handshake_read",
|
|
106
|
+
"attachModes": ["observer", "lease_reclaim"],
|
|
107
|
+
"governanceRequirements": {
|
|
108
|
+
"requiredBeforeMutation": ["intent", "generationPlan", "designLanguage"],
|
|
109
|
+
"requiredBeforeSave": ["intent", "generationPlan", "runtimeBudgets"]
|
|
110
|
+
},
|
|
111
|
+
"generationPlanRequirements": {
|
|
112
|
+
"requiredBeforeMutation": ["targetOutcome", "visualDirection", "layoutStrategy"]
|
|
113
|
+
},
|
|
114
|
+
"allowedLibraries": {
|
|
115
|
+
"components": ["shadcn"],
|
|
116
|
+
"icons": ["lucide"],
|
|
117
|
+
"styling": ["tailwindcss"]
|
|
118
|
+
},
|
|
119
|
+
"mutationPolicy": {
|
|
120
|
+
"planRequiredBeforePatch": true,
|
|
121
|
+
"allowedBeforePlan": [
|
|
122
|
+
"canvas.capabilities.get",
|
|
123
|
+
"canvas.plan.get",
|
|
124
|
+
"canvas.plan.set",
|
|
125
|
+
"canvas.document.load",
|
|
126
|
+
"canvas.session.attach",
|
|
127
|
+
"canvas.session.status"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Preflight state machine:
|
|
134
|
+
- `handshake_read`
|
|
135
|
+
- `plan_submitted`
|
|
136
|
+
- `plan_accepted`
|
|
137
|
+
- `patching_enabled`
|
|
138
|
+
|
|
139
|
+
The first mutation path must stay blocked until `canvas.plan.set` has been accepted. The canonical blocker is `plan_required` and should carry `details.auditId: "CANVAS-01"`.
|
|
140
|
+
|
|
141
|
+
Recommended blocker envelope:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"code": "plan_required",
|
|
146
|
+
"blockingCommand": "canvas.document.patch",
|
|
147
|
+
"requiredNextCommands": ["canvas.plan.set"],
|
|
148
|
+
"message": "generationPlan must be accepted before mutation.",
|
|
149
|
+
"details": { "auditId": "CANVAS-01" }
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Feedback contract markers:
|
|
154
|
+
- Poll categories: `render`, `console`, `network`, `validation`, `performance`, `asset`, `export`, `code-sync`, `parity`
|
|
155
|
+
- Feedback items must preserve `documentId`, `pageId`, `prototypeId`, `targetId`, `documentRevision`, `severity`, `class`, and `evidenceRefs`
|
|
156
|
+
- Subscribe event types: `feedback.item`, `feedback.heartbeat`, `feedback.complete`
|
|
157
|
+
|
|
158
|
+
Current operational constraints:
|
|
159
|
+
- `canvas.feedback.subscribe` returns the initial payload on every public surface. For ongoing events:
|
|
160
|
+
- CLI: use `opendevbrowser canvas --command canvas.feedback.subscribe --output-format stream-json`
|
|
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.
|
|
163
|
+
- `canvas.tab.sync` and `canvas.overlay.sync` are internal extension runtime helpers only.
|
|
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.
|
|
165
|
+
- Library metadata is preserved, but rendered output is still semantic rather than package-faithful.
|
|
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.
|
|
169
|
+
|
|
170
|
+
Operational rule:
|
|
171
|
+
- Read `canvas.session.open` or `canvas.capabilities.get` before mutation.
|
|
172
|
+
- Use `canvas.feedback.poll` after each patch/render loop.
|
|
173
|
+
- Do not save if `governanceRequirements.requiredBeforeSave` still reports missing governance blocks.
|
|
68
174
|
|
|
69
175
|
### `/cdp` (legacy)
|
|
70
176
|
|
|
71
177
|
- Opt-in via `--extension-legacy`.
|
|
72
|
-
- Forwards raw CDP
|
|
178
|
+
- Forwards raw CDP command envelopes (`id`, `method`, `params`, optional `sessionId`).
|
|
73
179
|
- Use for compatibility-specific paths only.
|
|
74
|
-
- Treat as a legacy
|
|
180
|
+
- Treat as a legacy single-writer route, not the primary concurrent path.
|
|
75
181
|
|
|
76
182
|
## Mode and flag checkpoints
|
|
77
183
|
|
|
@@ -79,11 +185,13 @@ Concurrency policy:
|
|
|
79
185
|
- Extension default: `launch` or relay-normalized `connect`
|
|
80
186
|
- Extension legacy: `launch --extension-legacy` or `connect --extension-legacy`
|
|
81
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.
|
|
82
189
|
|
|
83
190
|
Required readiness/status checks:
|
|
84
191
|
- `extensionConnected`
|
|
85
192
|
- `extensionHandshakeComplete`
|
|
86
193
|
- `opsConnected`
|
|
194
|
+
- `canvasConnected`
|
|
87
195
|
- `cdpConnected`
|
|
88
196
|
- `pairingRequired`
|
|
89
197
|
|
|
@@ -91,5 +199,7 @@ Required readiness/status checks:
|
|
|
91
199
|
|
|
92
200
|
```bash
|
|
93
201
|
npm run test -- tests/parity-matrix.test.ts
|
|
202
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh canvas-preflight
|
|
203
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh canvas-feedback-eval
|
|
94
204
|
./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh
|
|
95
205
|
```
|