opendevbrowser 0.0.15 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +229 -34
- package/dist/annotate/direct-annotator.d.ts +22 -0
- package/dist/annotate/direct-annotator.d.ts.map +1 -0
- package/dist/annotate/output.d.ts +10 -0
- package/dist/annotate/output.d.ts.map +1 -0
- package/dist/browser/annotation-manager.d.ts +30 -0
- package/dist/browser/annotation-manager.d.ts.map +1 -0
- package/dist/browser/browser-manager.d.ts +397 -0
- package/dist/browser/browser-manager.d.ts.map +1 -0
- package/dist/browser/fingerprint/adapters.d.ts +26 -0
- package/dist/browser/fingerprint/adapters.d.ts.map +1 -0
- package/dist/browser/fingerprint/canary.d.ts +25 -0
- package/dist/browser/fingerprint/canary.d.ts.map +1 -0
- package/dist/browser/fingerprint/profiles.d.ts +16 -0
- package/dist/browser/fingerprint/profiles.d.ts.map +1 -0
- package/dist/browser/fingerprint/tier1-coherence.d.ts +36 -0
- package/dist/browser/fingerprint/tier1-coherence.d.ts.map +1 -0
- package/dist/browser/fingerprint/tier2-runtime.d.ts +40 -0
- package/dist/browser/fingerprint/tier2-runtime.d.ts.map +1 -0
- package/dist/browser/fingerprint/tier3-adaptive.d.ts +30 -0
- package/dist/browser/fingerprint/tier3-adaptive.d.ts.map +1 -0
- package/dist/browser/manager-types.d.ts +3 -0
- package/dist/browser/manager-types.d.ts.map +1 -0
- package/dist/browser/ops-browser-manager.d.ts +131 -0
- package/dist/browser/ops-browser-manager.d.ts.map +1 -0
- package/dist/browser/ops-client.d.ts +56 -0
- package/dist/browser/ops-client.d.ts.map +1 -0
- package/dist/browser/parallelism-governor.d.ts +31 -0
- package/dist/browser/parallelism-governor.d.ts.map +1 -0
- package/dist/browser/script-runner.d.ts +23 -0
- package/dist/browser/script-runner.d.ts.map +1 -0
- package/dist/browser/session-store.d.ts +63 -0
- package/dist/browser/session-store.d.ts.map +1 -0
- package/dist/browser/target-manager.d.ts +36 -0
- package/dist/browser/target-manager.d.ts.map +1 -0
- package/dist/cache/chrome-locator.d.ts +2 -0
- package/dist/cache/chrome-locator.d.ts.map +1 -0
- package/dist/cache/downloader.d.ts +6 -0
- package/dist/cache/downloader.d.ts.map +1 -0
- package/dist/cache/paths.d.ts +9 -0
- package/dist/cache/paths.d.ts.map +1 -0
- package/dist/chunk-7W3SPXIB.js +166 -0
- package/dist/chunk-7W3SPXIB.js.map +1 -0
- package/dist/chunk-ST7CO5FA.js +18668 -0
- package/dist/chunk-ST7CO5FA.js.map +1 -0
- package/dist/cli/args.d.ts +25 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/client.d.ts +2 -0
- package/dist/cli/client.d.ts.map +1 -0
- package/dist/cli/commands/annotate.d.ts +27 -0
- package/dist/cli/commands/annotate.d.ts.map +1 -0
- package/dist/cli/commands/artifacts.d.ts +24 -0
- package/dist/cli/commands/artifacts.d.ts.map +1 -0
- package/dist/cli/commands/daemon.d.ts +35 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -0
- package/dist/cli/commands/devtools/console-poll.d.ts +7 -0
- package/dist/cli/commands/devtools/console-poll.d.ts.map +1 -0
- package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts +20 -0
- package/dist/cli/commands/devtools/debug-trace-snapshot.d.ts.map +1 -0
- package/dist/cli/commands/devtools/network-poll.d.ts +7 -0
- package/dist/cli/commands/devtools/network-poll.d.ts.map +1 -0
- package/dist/cli/commands/devtools/perf.d.ts +7 -0
- package/dist/cli/commands/devtools/perf.d.ts.map +1 -0
- package/dist/cli/commands/devtools/screenshot.d.ts +17 -0
- package/dist/cli/commands/devtools/screenshot.d.ts.map +1 -0
- package/dist/cli/commands/dom/attr.d.ts +7 -0
- package/dist/cli/commands/dom/attr.d.ts.map +1 -0
- package/dist/cli/commands/dom/checked.d.ts +7 -0
- package/dist/cli/commands/dom/checked.d.ts.map +1 -0
- package/dist/cli/commands/dom/enabled.d.ts +7 -0
- package/dist/cli/commands/dom/enabled.d.ts.map +1 -0
- package/dist/cli/commands/dom/html.d.ts +7 -0
- package/dist/cli/commands/dom/html.d.ts.map +1 -0
- package/dist/cli/commands/dom/text.d.ts +7 -0
- package/dist/cli/commands/dom/text.d.ts.map +1 -0
- package/dist/cli/commands/dom/value.d.ts +7 -0
- package/dist/cli/commands/dom/value.d.ts.map +1 -0
- package/dist/cli/commands/dom/visible.d.ts +7 -0
- package/dist/cli/commands/dom/visible.d.ts.map +1 -0
- package/dist/cli/commands/export/clone-component.d.ts +7 -0
- package/dist/cli/commands/export/clone-component.d.ts.map +1 -0
- package/dist/cli/commands/export/clone-page.d.ts +7 -0
- package/dist/cli/commands/export/clone-page.d.ts.map +1 -0
- package/dist/cli/commands/interact/check.d.ts +7 -0
- package/dist/cli/commands/interact/check.d.ts.map +1 -0
- package/dist/cli/commands/interact/click.d.ts +7 -0
- package/dist/cli/commands/interact/click.d.ts.map +1 -0
- package/dist/cli/commands/interact/hover.d.ts +7 -0
- package/dist/cli/commands/interact/hover.d.ts.map +1 -0
- package/dist/cli/commands/interact/press.d.ts +7 -0
- package/dist/cli/commands/interact/press.d.ts.map +1 -0
- package/dist/cli/commands/interact/scroll-into-view.d.ts +7 -0
- package/dist/cli/commands/interact/scroll-into-view.d.ts.map +1 -0
- package/dist/cli/commands/interact/scroll.d.ts +7 -0
- package/dist/cli/commands/interact/scroll.d.ts.map +1 -0
- package/dist/cli/commands/interact/select.d.ts +7 -0
- package/dist/cli/commands/interact/select.d.ts.map +1 -0
- package/dist/cli/commands/interact/type.d.ts +7 -0
- package/dist/cli/commands/interact/type.d.ts.map +1 -0
- package/dist/cli/commands/interact/uncheck.d.ts +7 -0
- package/dist/cli/commands/interact/uncheck.d.ts.map +1 -0
- package/dist/cli/commands/macro-resolve.d.ts +18 -0
- package/dist/cli/commands/macro-resolve.d.ts.map +1 -0
- package/dist/cli/commands/native.d.ts +82 -0
- package/dist/cli/commands/native.d.ts.map +1 -0
- package/dist/cli/commands/nav/goto.d.ts +7 -0
- package/dist/cli/commands/nav/goto.d.ts.map +1 -0
- package/dist/cli/commands/nav/snapshot.d.ts +7 -0
- package/dist/cli/commands/nav/snapshot.d.ts.map +1 -0
- package/dist/cli/commands/nav/wait.d.ts +7 -0
- package/dist/cli/commands/nav/wait.d.ts.map +1 -0
- package/dist/cli/commands/pages/close.d.ts +6 -0
- package/dist/cli/commands/pages/close.d.ts.map +1 -0
- package/dist/cli/commands/pages/list.d.ts +7 -0
- package/dist/cli/commands/pages/list.d.ts.map +1 -0
- package/dist/cli/commands/pages/open.d.ts +7 -0
- package/dist/cli/commands/pages/open.d.ts.map +1 -0
- package/dist/cli/commands/product-video.d.ts +25 -0
- package/dist/cli/commands/product-video.d.ts.map +1 -0
- package/dist/cli/commands/registry.d.ts +5 -0
- package/dist/cli/commands/registry.d.ts.map +1 -0
- package/dist/cli/commands/research.d.ts +27 -0
- package/dist/cli/commands/research.d.ts.map +1 -0
- package/dist/cli/commands/rpc.d.ts +28 -0
- package/dist/cli/commands/rpc.d.ts.map +1 -0
- package/dist/cli/commands/run.d.ts +17 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/serve.d.ts +59 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/session/connect.d.ts +9 -0
- package/dist/cli/commands/session/connect.d.ts.map +1 -0
- package/dist/cli/commands/session/cookie-import.d.ts +31 -0
- package/dist/cli/commands/session/cookie-import.d.ts.map +1 -0
- package/dist/cli/commands/session/cookie-list.d.ts +17 -0
- package/dist/cli/commands/session/cookie-list.d.ts.map +1 -0
- package/dist/cli/commands/session/disconnect.d.ts +6 -0
- package/dist/cli/commands/session/disconnect.d.ts.map +1 -0
- package/dist/cli/commands/session/launch.d.ts +29 -0
- package/dist/cli/commands/session/launch.d.ts.map +1 -0
- package/dist/cli/commands/session/status.d.ts +7 -0
- package/dist/cli/commands/session/status.d.ts.map +1 -0
- package/dist/cli/commands/shopping.d.ts +25 -0
- package/dist/cli/commands/shopping.d.ts.map +1 -0
- package/dist/cli/commands/status.d.ts +19 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/targets/close.d.ts +6 -0
- package/dist/cli/commands/targets/close.d.ts.map +1 -0
- package/dist/cli/commands/targets/list.d.ts +7 -0
- package/dist/cli/commands/targets/list.d.ts.map +1 -0
- package/dist/cli/commands/targets/new.d.ts +7 -0
- package/dist/cli/commands/targets/new.d.ts.map +1 -0
- package/dist/cli/commands/targets/use.d.ts +7 -0
- package/dist/cli/commands/targets/use.d.ts.map +1 -0
- package/dist/cli/commands/types.d.ts +13 -0
- package/dist/cli/commands/types.d.ts.map +1 -0
- package/dist/cli/commands/uninstall.d.ts +14 -0
- package/dist/cli/commands/uninstall.d.ts.map +1 -0
- package/dist/cli/commands/update.d.ts +7 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/daemon-autostart.d.ts +46 -0
- package/dist/cli/daemon-autostart.d.ts.map +1 -0
- package/dist/cli/daemon-client.d.ts +33 -0
- package/dist/cli/daemon-client.d.ts.map +1 -0
- package/dist/cli/daemon-commands.d.ts +7 -0
- package/dist/cli/daemon-commands.d.ts.map +1 -0
- package/dist/cli/daemon-state.d.ts +56 -0
- package/dist/cli/daemon-state.d.ts.map +1 -0
- package/dist/cli/daemon-status.d.ts +19 -0
- package/dist/cli/daemon-status.d.ts.map +1 -0
- package/dist/cli/daemon.d.ts +29 -0
- package/dist/cli/daemon.d.ts.map +1 -0
- package/dist/cli/errors.d.ts +20 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/help.d.ts +28 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2205 -267
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/installers/global.d.ts +9 -0
- package/dist/cli/installers/global.d.ts.map +1 -0
- package/dist/cli/installers/local.d.ts +9 -0
- package/dist/cli/installers/local.d.ts.map +1 -0
- package/dist/cli/installers/skills.d.ts +19 -0
- package/dist/cli/installers/skills.d.ts.map +1 -0
- package/dist/cli/output.d.ts +7 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/remote-manager.d.ts +96 -0
- package/dist/cli/remote-manager.d.ts.map +1 -0
- package/dist/cli/remote-relay.d.ts +17 -0
- package/dist/cli/remote-relay.d.ts.map +1 -0
- package/dist/cli/templates/config.d.ts +7 -0
- package/dist/cli/templates/config.d.ts.map +1 -0
- package/dist/cli/utils/config.d.ts +20 -0
- package/dist/cli/utils/config.d.ts.map +1 -0
- package/dist/cli/utils/http.d.ts +5 -0
- package/dist/cli/utils/http.d.ts.map +1 -0
- package/dist/cli/utils/parse.d.ts +8 -0
- package/dist/cli/utils/parse.d.ts.map +1 -0
- package/dist/cli/utils/skills.d.ts +12 -0
- package/dist/cli/utils/skills.d.ts.map +1 -0
- package/dist/config.d.ts +208 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/core/bootstrap.d.ts +3 -0
- package/dist/core/bootstrap.d.ts.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/logging.d.ts +34 -0
- package/dist/core/logging.d.ts.map +1 -0
- package/dist/core/types.d.ts +34 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/devtools/console-tracker.d.ts +44 -0
- package/dist/devtools/console-tracker.d.ts.map +1 -0
- package/dist/devtools/exception-tracker.d.ts +42 -0
- package/dist/devtools/exception-tracker.d.ts.map +1 -0
- package/dist/devtools/network-tracker.d.ts +34 -0
- package/dist/devtools/network-tracker.d.ts.map +1 -0
- package/dist/export/css-extract.d.ts +5 -0
- package/dist/export/css-extract.d.ts.map +1 -0
- package/dist/export/dom-capture.d.ts +15 -0
- package/dist/export/dom-capture.d.ts.map +1 -0
- package/dist/export/react-emitter.d.ts +11 -0
- package/dist/export/react-emitter.d.ts.map +1 -0
- package/dist/extension-extractor.d.ts +3 -0
- package/dist/extension-extractor.d.ts.map +1 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +867 -87
- package/dist/index.js.map +1 -1
- package/dist/macros/execute.d.ts +44 -0
- package/dist/macros/execute.d.ts.map +1 -0
- package/dist/macros/index.d.ts +9 -0
- package/dist/macros/index.d.ts.map +1 -0
- package/dist/macros/packs/core.d.ts +3 -0
- package/dist/macros/packs/core.d.ts.map +1 -0
- package/dist/macros/registry.d.ts +48 -0
- package/dist/macros/registry.d.ts.map +1 -0
- package/dist/macros-NUBRM44Y.js +399 -0
- package/dist/macros-NUBRM44Y.js.map +1 -0
- package/dist/opendevbrowser.d.ts +3 -4
- package/dist/opendevbrowser.d.ts.map +1 -0
- package/dist/opendevbrowser.js +867 -87
- package/dist/opendevbrowser.js.map +1 -1
- package/dist/providers/adaptive-concurrency.d.ts +42 -0
- package/dist/providers/adaptive-concurrency.d.ts.map +1 -0
- package/dist/providers/artifacts.d.ts +34 -0
- package/dist/providers/artifacts.d.ts.map +1 -0
- package/dist/providers/blocker.d.ts +47 -0
- package/dist/providers/blocker.d.ts.map +1 -0
- package/dist/providers/community/index.d.ts +44 -0
- package/dist/providers/community/index.d.ts.map +1 -0
- package/dist/providers/enrichment.d.ts +33 -0
- package/dist/providers/enrichment.d.ts.map +1 -0
- package/dist/providers/errors.d.ts +41 -0
- package/dist/providers/errors.d.ts.map +1 -0
- package/dist/providers/index.d.ts +121 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/normalize.d.ts +39 -0
- package/dist/providers/normalize.d.ts.map +1 -0
- package/dist/providers/policy.d.ts +5 -0
- package/dist/providers/policy.d.ts.map +1 -0
- package/dist/providers/registry.d.ts +22 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/renderer.d.ts +49 -0
- package/dist/providers/renderer.d.ts.map +1 -0
- package/dist/providers/runtime-factory.d.ts +20 -0
- package/dist/providers/runtime-factory.d.ts.map +1 -0
- package/dist/providers/safety/prompt-guard.d.ts +34 -0
- package/dist/providers/safety/prompt-guard.d.ts.map +1 -0
- package/dist/providers/shared/anti-bot-policy.d.ts +51 -0
- package/dist/providers/shared/anti-bot-policy.d.ts.map +1 -0
- package/dist/providers/shared/post-policy.d.ts +31 -0
- package/dist/providers/shared/post-policy.d.ts.map +1 -0
- package/dist/providers/shared/request-headers.d.ts +5 -0
- package/dist/providers/shared/request-headers.d.ts.map +1 -0
- package/dist/providers/shared/traversal-url.d.ts +2 -0
- package/dist/providers/shared/traversal-url.d.ts.map +1 -0
- package/dist/providers/shopping/index.d.ts +63 -0
- package/dist/providers/shopping/index.d.ts.map +1 -0
- package/dist/providers/social/bluesky.d.ts +3 -0
- package/dist/providers/social/bluesky.d.ts.map +1 -0
- package/dist/providers/social/facebook.d.ts +3 -0
- package/dist/providers/social/facebook.d.ts.map +1 -0
- package/dist/providers/social/index.d.ts +31 -0
- package/dist/providers/social/index.d.ts.map +1 -0
- package/dist/providers/social/instagram.d.ts +3 -0
- package/dist/providers/social/instagram.d.ts.map +1 -0
- package/dist/providers/social/linkedin.d.ts +3 -0
- package/dist/providers/social/linkedin.d.ts.map +1 -0
- package/dist/providers/social/platform.d.ts +40 -0
- package/dist/providers/social/platform.d.ts.map +1 -0
- package/dist/providers/social/reddit.d.ts +3 -0
- package/dist/providers/social/reddit.d.ts.map +1 -0
- package/dist/providers/social/threads.d.ts +3 -0
- package/dist/providers/social/threads.d.ts.map +1 -0
- package/dist/providers/social/tiktok.d.ts +3 -0
- package/dist/providers/social/tiktok.d.ts.map +1 -0
- package/dist/providers/social/x.d.ts +3 -0
- package/dist/providers/social/x.d.ts.map +1 -0
- package/dist/providers/social/youtube-resolver.d.ts +78 -0
- package/dist/providers/social/youtube-resolver.d.ts.map +1 -0
- package/dist/providers/social/youtube.d.ts +34 -0
- package/dist/providers/social/youtube.d.ts.map +1 -0
- package/dist/providers/tier-router.d.ts +30 -0
- package/dist/providers/tier-router.d.ts.map +1 -0
- package/dist/providers/timebox.d.ts +20 -0
- package/dist/providers/timebox.d.ts.map +1 -0
- package/dist/providers/types.d.ts +344 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/web/crawl-worker.d.ts +36 -0
- package/dist/providers/web/crawl-worker.d.ts.map +1 -0
- package/dist/providers/web/crawler.d.ts +101 -0
- package/dist/providers/web/crawler.d.ts.map +1 -0
- package/dist/providers/web/extract.d.ts +11 -0
- package/dist/providers/web/extract.d.ts.map +1 -0
- package/dist/providers/web/index.d.ts +24 -0
- package/dist/providers/web/index.d.ts.map +1 -0
- package/dist/providers/web/policy.d.ts +14 -0
- package/dist/providers/web/policy.d.ts.map +1 -0
- package/dist/providers/workflows.d.ts +67 -0
- package/dist/providers/workflows.d.ts.map +1 -0
- package/dist/relay/protocol.d.ts +317 -0
- package/dist/relay/protocol.d.ts.map +1 -0
- package/dist/relay/relay-endpoints.d.ts +16 -0
- package/dist/relay/relay-endpoints.d.ts.map +1 -0
- package/dist/relay/relay-server.d.ts +111 -0
- package/dist/relay/relay-server.d.ts.map +1 -0
- package/dist/relay/relay-types.d.ts +9 -0
- package/dist/relay/relay-types.d.ts.map +1 -0
- package/dist/skills/continuity-nudge.d.ts +12 -0
- package/dist/skills/continuity-nudge.d.ts.map +1 -0
- package/dist/skills/skill-loader.d.ts +20 -0
- package/dist/skills/skill-loader.d.ts.map +1 -0
- package/dist/skills/skill-nudge.d.ts +18 -0
- package/dist/skills/skill-nudge.d.ts.map +1 -0
- package/dist/skills/types.d.ts +12 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/snapshot/ops-snapshot.d.ts +16 -0
- package/dist/snapshot/ops-snapshot.d.ts.map +1 -0
- package/dist/snapshot/refs.d.ts +23 -0
- package/dist/snapshot/refs.d.ts.map +1 -0
- package/dist/snapshot/snapshotter.d.ts +27 -0
- package/dist/snapshot/snapshotter.d.ts.map +1 -0
- package/dist/tools/annotate.d.ts +4 -0
- package/dist/tools/annotate.d.ts.map +1 -0
- package/dist/tools/check.d.ts +4 -0
- package/dist/tools/check.d.ts.map +1 -0
- package/dist/tools/click.d.ts +4 -0
- package/dist/tools/click.d.ts.map +1 -0
- package/dist/tools/clone_component.d.ts +4 -0
- package/dist/tools/clone_component.d.ts.map +1 -0
- package/dist/tools/clone_page.d.ts +4 -0
- package/dist/tools/clone_page.d.ts.map +1 -0
- package/dist/tools/close.d.ts +4 -0
- package/dist/tools/close.d.ts.map +1 -0
- package/dist/tools/connect.d.ts +4 -0
- package/dist/tools/connect.d.ts.map +1 -0
- package/dist/tools/console_poll.d.ts +4 -0
- package/dist/tools/console_poll.d.ts.map +1 -0
- package/dist/tools/cookie_import.d.ts +25 -0
- package/dist/tools/cookie_import.d.ts.map +1 -0
- package/dist/tools/cookie_list.d.ts +9 -0
- package/dist/tools/cookie_list.d.ts.map +1 -0
- package/dist/tools/debug_trace_snapshot.d.ts +4 -0
- package/dist/tools/debug_trace_snapshot.d.ts.map +1 -0
- package/dist/tools/deps.d.ts +26 -0
- package/dist/tools/deps.d.ts.map +1 -0
- package/dist/tools/disconnect.d.ts +4 -0
- package/dist/tools/disconnect.d.ts.map +1 -0
- package/dist/tools/dom_get_html.d.ts +4 -0
- package/dist/tools/dom_get_html.d.ts.map +1 -0
- package/dist/tools/dom_get_text.d.ts +4 -0
- package/dist/tools/dom_get_text.d.ts.map +1 -0
- package/dist/tools/get_attr.d.ts +4 -0
- package/dist/tools/get_attr.d.ts.map +1 -0
- package/dist/tools/get_value.d.ts +4 -0
- package/dist/tools/get_value.d.ts.map +1 -0
- package/dist/tools/goto.d.ts +4 -0
- package/dist/tools/goto.d.ts.map +1 -0
- package/dist/tools/hover.d.ts +4 -0
- package/dist/tools/hover.d.ts.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/is_checked.d.ts +4 -0
- package/dist/tools/is_checked.d.ts.map +1 -0
- package/dist/tools/is_enabled.d.ts +4 -0
- package/dist/tools/is_enabled.d.ts.map +1 -0
- package/dist/tools/is_visible.d.ts +4 -0
- package/dist/tools/is_visible.d.ts.map +1 -0
- package/dist/tools/launch.d.ts +4 -0
- package/dist/tools/launch.d.ts.map +1 -0
- package/dist/tools/list.d.ts +4 -0
- package/dist/tools/list.d.ts.map +1 -0
- package/dist/tools/macro_resolve.d.ts +25 -0
- package/dist/tools/macro_resolve.d.ts.map +1 -0
- package/dist/tools/network_poll.d.ts +4 -0
- package/dist/tools/network_poll.d.ts.map +1 -0
- package/dist/tools/page.d.ts +4 -0
- package/dist/tools/page.d.ts.map +1 -0
- package/dist/tools/perf.d.ts +4 -0
- package/dist/tools/perf.d.ts.map +1 -0
- package/dist/tools/press.d.ts +4 -0
- package/dist/tools/press.d.ts.map +1 -0
- package/dist/tools/product_video_run.d.ts +4 -0
- package/dist/tools/product_video_run.d.ts.map +1 -0
- package/dist/tools/prompting_guide.d.ts +4 -0
- package/dist/tools/prompting_guide.d.ts.map +1 -0
- package/dist/tools/research_run.d.ts +4 -0
- package/dist/tools/research_run.d.ts.map +1 -0
- package/dist/tools/response.d.ts +16 -0
- package/dist/tools/response.d.ts.map +1 -0
- package/dist/tools/run.d.ts +4 -0
- package/dist/tools/run.d.ts.map +1 -0
- package/dist/tools/screenshot.d.ts +4 -0
- package/dist/tools/screenshot.d.ts.map +1 -0
- package/dist/tools/scroll.d.ts +4 -0
- package/dist/tools/scroll.d.ts.map +1 -0
- package/dist/tools/scroll_into_view.d.ts +4 -0
- package/dist/tools/scroll_into_view.d.ts.map +1 -0
- package/dist/tools/select.d.ts +4 -0
- package/dist/tools/select.d.ts.map +1 -0
- package/dist/tools/shopping_run.d.ts +4 -0
- package/dist/tools/shopping_run.d.ts.map +1 -0
- package/dist/tools/skill_list.d.ts +4 -0
- package/dist/tools/skill_list.d.ts.map +1 -0
- package/dist/tools/skill_load.d.ts +4 -0
- package/dist/tools/skill_load.d.ts.map +1 -0
- package/dist/tools/snapshot.d.ts +4 -0
- package/dist/tools/snapshot.d.ts.map +1 -0
- package/dist/tools/status.d.ts +4 -0
- package/dist/tools/status.d.ts.map +1 -0
- package/dist/tools/target_close.d.ts +4 -0
- package/dist/tools/target_close.d.ts.map +1 -0
- package/dist/tools/target_new.d.ts +4 -0
- package/dist/tools/target_new.d.ts.map +1 -0
- package/dist/tools/target_use.d.ts +4 -0
- package/dist/tools/target_use.d.ts.map +1 -0
- package/dist/tools/targets_list.d.ts +4 -0
- package/dist/tools/targets_list.d.ts.map +1 -0
- package/dist/tools/type.d.ts +4 -0
- package/dist/tools/type.d.ts.map +1 -0
- package/dist/tools/uncheck.d.ts +4 -0
- package/dist/tools/uncheck.d.ts.map +1 -0
- package/dist/tools/wait.d.ts +4 -0
- package/dist/tools/wait.d.ts.map +1 -0
- package/dist/tools/workflow-runtime.d.ts +4 -0
- package/dist/tools/workflow-runtime.d.ts.map +1 -0
- package/dist/utils/crypto.d.ts +2 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/endpoint-validation.d.ts +2 -0
- package/dist/utils/endpoint-validation.d.ts.map +1 -0
- package/dist/utils/fs.d.ts +5 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/hub-enabled.d.ts +3 -0
- package/dist/utils/hub-enabled.d.ts.map +1 -0
- package/extension/dist/background.js +10 -4
- package/extension/dist/ops/ops-runtime.js +506 -4
- package/extension/dist/ops/ops-session-store.js +16 -2
- package/extension/dist/ops/parallelism-governor.js +117 -0
- package/extension/dist/ops/snapshot-shared.js +21 -5
- package/extension/dist/services/CDPRouter.js +70 -5
- package/extension/dist/services/ConnectionManager.js +5 -3
- package/extension/icons/icon128.png +0 -0
- package/extension/icons/icon16.png +0 -0
- package/extension/icons/icon32.png +0 -0
- package/extension/icons/icon48.png +0 -0
- package/extension/manifest.json +1 -1
- package/package.json +25 -16
- package/scripts/native/host.cjs +230 -0
- package/scripts/native/install.ps1 +73 -0
- package/scripts/native/install.sh +66 -0
- package/scripts/native/uninstall.ps1 +25 -0
- package/scripts/native/uninstall.sh +26 -0
- package/skills/AGENTS.md +17 -8
- package/skills/opendevbrowser-best-practices/SKILL.md +178 -72
- package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +44 -0
- package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +95 -0
- package/skills/opendevbrowser-best-practices/artifacts/debug-trace-playbook.md +36 -0
- package/skills/opendevbrowser-best-practices/artifacts/fingerprint-tiers.md +36 -0
- package/skills/opendevbrowser-best-practices/artifacts/macro-workflows.md +43 -0
- package/skills/opendevbrowser-best-practices/artifacts/parity-gates.md +36 -0
- package/skills/opendevbrowser-best-practices/artifacts/provider-workflows.md +89 -0
- package/skills/opendevbrowser-best-practices/assets/templates/cdp-forward-envelope.json +11 -0
- package/skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json +56 -0
- package/skills/opendevbrowser-best-practices/assets/templates/ops-request-envelope.json +9 -0
- package/skills/opendevbrowser-best-practices/assets/templates/robustness-checklist.json +79 -0
- package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +24 -0
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +144 -0
- package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +83 -0
- package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +93 -0
- package/skills/opendevbrowser-continuity-ledger/SKILL.md +10 -0
- package/skills/opendevbrowser-data-extraction/SKILL.md +126 -0
- package/skills/opendevbrowser-data-extraction/artifacts/extraction-workflows.md +31 -0
- package/skills/opendevbrowser-data-extraction/assets/templates/compliance-checklist.md +7 -0
- package/skills/opendevbrowser-data-extraction/assets/templates/extraction-schema.json +17 -0
- package/skills/opendevbrowser-data-extraction/assets/templates/pagination-state.json +11 -0
- package/skills/opendevbrowser-data-extraction/assets/templates/quality-gates.json +10 -0
- package/skills/opendevbrowser-data-extraction/examples/sample-schema.json +19 -0
- package/skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh +83 -0
- package/skills/opendevbrowser-data-extraction/scripts/validate-skill-assets.sh +49 -0
- package/skills/opendevbrowser-form-testing/SKILL.md +143 -0
- package/skills/opendevbrowser-form-testing/artifacts/form-workflows.md +37 -0
- package/skills/opendevbrowser-form-testing/assets/templates/a11y-assertions.md +7 -0
- package/skills/opendevbrowser-form-testing/assets/templates/challenge-decision-tree.json +16 -0
- package/skills/opendevbrowser-form-testing/assets/templates/multi-step-state.json +11 -0
- package/skills/opendevbrowser-form-testing/assets/templates/validation-matrix.json +24 -0
- package/skills/opendevbrowser-form-testing/examples/sample-validation-matrix.json +29 -0
- package/skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh +82 -0
- package/skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh +49 -0
- package/skills/opendevbrowser-login-automation/SKILL.md +159 -0
- package/skills/opendevbrowser-login-automation/artifacts/login-workflows.md +39 -0
- package/skills/opendevbrowser-login-automation/assets/templates/auth-signals.json +21 -0
- package/skills/opendevbrowser-login-automation/assets/templates/challenge-checkpoint.md +10 -0
- package/skills/opendevbrowser-login-automation/assets/templates/login-scenario-matrix.json +26 -0
- package/skills/opendevbrowser-login-automation/examples/sample-auth-signals.json +14 -0
- package/skills/opendevbrowser-login-automation/scripts/record-auth-signals.sh +18 -0
- package/skills/opendevbrowser-login-automation/scripts/run-login-workflow.sh +99 -0
- package/skills/opendevbrowser-login-automation/scripts/validate-skill-assets.sh +50 -0
- package/skills/opendevbrowser-product-presentation-asset/SKILL.md +98 -0
- package/skills/opendevbrowser-product-presentation-asset/artifacts/asset-pack-assembly.md +23 -0
- package/skills/opendevbrowser-product-presentation-asset/artifacts/ugc-creative-guide.md +21 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/claims-evidence-map.md +5 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/copy.md +5 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/features.md +4 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/manifest.schema.json +14 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/shot-list.md +7 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/ugc-concepts.md +17 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/user-actions.md +7 -0
- package/skills/opendevbrowser-product-presentation-asset/assets/templates/video-assembly.md +18 -0
- package/skills/opendevbrowser-product-presentation-asset/examples/sample-input.json +6 -0
- package/skills/opendevbrowser-product-presentation-asset/examples/sample-manifest.json +18 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/capture-screenshots.sh +9 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/collect-product.sh +14 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/download-images.sh +9 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/render-video-brief.sh +96 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/validate-skill-assets.sh +56 -0
- package/skills/opendevbrowser-product-presentation-asset/scripts/write-manifest.sh +43 -0
- package/skills/opendevbrowser-research/SKILL.md +73 -0
- package/skills/opendevbrowser-research/artifacts/research-workflows.md +29 -0
- package/skills/opendevbrowser-research/assets/templates/compact.md +7 -0
- package/skills/opendevbrowser-research/assets/templates/context.json +18 -0
- package/skills/opendevbrowser-research/assets/templates/report.md +9 -0
- package/skills/opendevbrowser-research/examples/sample-input.json +6 -0
- package/skills/opendevbrowser-research/examples/sample-output.md +4 -0
- package/skills/opendevbrowser-research/scripts/render-output.sh +12 -0
- package/skills/opendevbrowser-research/scripts/run-research.sh +23 -0
- package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +48 -0
- package/skills/opendevbrowser-research/scripts/write-artifacts.sh +29 -0
- package/skills/opendevbrowser-shopping/SKILL.md +118 -0
- package/skills/opendevbrowser-shopping/artifacts/deal-hunting-workflows.md +37 -0
- package/skills/opendevbrowser-shopping/assets/templates/deal-thresholds.json +8 -0
- package/skills/opendevbrowser-shopping/assets/templates/deals-context.json +9 -0
- package/skills/opendevbrowser-shopping/assets/templates/deals-table.md +4 -0
- package/skills/opendevbrowser-shopping/assets/templates/market-analysis.json +30 -0
- package/skills/opendevbrowser-shopping/examples/sample-deals.md +4 -0
- package/skills/opendevbrowser-shopping/examples/sample-query.json +5 -0
- package/skills/opendevbrowser-shopping/scripts/analyze-market.sh +307 -0
- package/skills/opendevbrowser-shopping/scripts/normalize-offers.sh +28 -0
- package/skills/opendevbrowser-shopping/scripts/render-deals.sh +13 -0
- package/skills/opendevbrowser-shopping/scripts/run-deal-hunt.sh +32 -0
- package/skills/opendevbrowser-shopping/scripts/run-shopping.sh +19 -0
- package/skills/opendevbrowser-shopping/scripts/validate-skill-assets.sh +53 -0
- package/dist/chunk-JVBMT2O5.js +0 -7173
- package/dist/chunk-JVBMT2O5.js.map +0 -1
- package/skills/data-extraction/SKILL.md +0 -128
- package/skills/form-testing/SKILL.md +0 -106
- package/skills/login-automation/SKILL.md +0 -108
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Command and Channel Reference
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Provide a compact, operationally useful map of OpenDevBrowser command surfaces and relay channels for parity checks.
|
|
6
|
+
|
|
7
|
+
## Current coverage snapshot
|
|
8
|
+
|
|
9
|
+
- CLI commands: `55`
|
|
10
|
+
- Plugin tools: `48`
|
|
11
|
+
- `/ops` command names: `38`
|
|
12
|
+
- Legacy `/cdp` relay: generic CDP forwarding (method-level)
|
|
13
|
+
|
|
14
|
+
Canonical exhaustive reference: `docs/SURFACE_REFERENCE.md`.
|
|
15
|
+
CLI help mirror: `npx opendevbrowser --help` (surfaces CLI + tools + `/ops` + `/cdp` controls).
|
|
16
|
+
|
|
17
|
+
## Agent skill-sync coverage
|
|
18
|
+
|
|
19
|
+
Skill-pack installation/discovery is synchronized for:
|
|
20
|
+
- `opencode`: `~/.config/opencode/skill` and `./.opencode/skill`
|
|
21
|
+
- `codex`: `$CODEX_HOME/skills` (fallback `~/.codex/skills`) and `./.codex/skills`
|
|
22
|
+
- `claudecode`: `$CLAUDECODE_HOME/skills` or `$CLAUDE_HOME/skills` (fallback `~/.claude/skills`) and `./.claude/skills`
|
|
23
|
+
- `ampcli`: `$AMPCLI_HOME/skills` or `$AMP_CLI_HOME/skills` or `$AMP_HOME/skills` (fallback `~/.amp/skills`) and `./.amp/skills`
|
|
24
|
+
|
|
25
|
+
Legacy aliases `claude` and `amp` remain present in installer target metadata for compatibility.
|
|
26
|
+
|
|
27
|
+
## CLI surface categories
|
|
28
|
+
|
|
29
|
+
- Install/runtime: install, update, uninstall, help, version, serve, daemon, native, run
|
|
30
|
+
- Session/connection: launch, connect, disconnect, status, cookie-import, cookie-list
|
|
31
|
+
- Navigation: goto, wait, snapshot
|
|
32
|
+
- Interaction: click, hover, press, check, uncheck, type, select, scroll, scroll-into-view
|
|
33
|
+
- Targets/pages: targets-list, target-use, target-new, target-close, page, pages, page-close
|
|
34
|
+
- DOM: dom-html, dom-text, dom-attr, dom-value, dom-visible, dom-enabled, dom-checked
|
|
35
|
+
- Export/diagnostics/macro/annotation/power: clone-page, clone-component, perf, screenshot, console-poll, network-poll, debug-trace-snapshot, macro-resolve, annotate, rpc
|
|
36
|
+
|
|
37
|
+
## Tool surface categories
|
|
38
|
+
|
|
39
|
+
- Runtime parity tools map to the CLI runtime categories.
|
|
40
|
+
- Tool-only: `opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, `opendevbrowser_skill_load`.
|
|
41
|
+
- CLI-only: `rpc`.
|
|
42
|
+
|
|
43
|
+
## Relay channels
|
|
44
|
+
|
|
45
|
+
### `/ops` (default)
|
|
46
|
+
|
|
47
|
+
Namespace groups:
|
|
48
|
+
- `session.*`
|
|
49
|
+
- `storage.*`
|
|
50
|
+
- `targets.*`
|
|
51
|
+
- `page.*`
|
|
52
|
+
- `nav.*`
|
|
53
|
+
- `interact.*`
|
|
54
|
+
- `dom.*`
|
|
55
|
+
- `export.*`
|
|
56
|
+
- `devtools.*`
|
|
57
|
+
|
|
58
|
+
Handshake/liveness envelope types:
|
|
59
|
+
- `ops_hello`, `ops_hello_ack`
|
|
60
|
+
- `ops_ping`, `ops_pong`
|
|
61
|
+
- `ops_request`, `ops_response`, `ops_error`
|
|
62
|
+
- `ops_event`, `ops_chunk`
|
|
63
|
+
|
|
64
|
+
Concurrency policy:
|
|
65
|
+
- `/ops` supports multiple clients and multiple sessions.
|
|
66
|
+
- Reliable parallel execution is session-scoped (`session-per-worker`).
|
|
67
|
+
- Avoid concurrent independent streams that switch targets inside one session (`targets.use` races can cross-wire active target state).
|
|
68
|
+
|
|
69
|
+
### `/cdp` (legacy)
|
|
70
|
+
|
|
71
|
+
- Opt-in via `--extension-legacy`.
|
|
72
|
+
- Forwards raw CDP commands through relay command envelopes (`id`, `method`, `params`, optional `sessionId`).
|
|
73
|
+
- Use for compatibility-specific paths only.
|
|
74
|
+
- Treat as a legacy/single-writer path; do not use as the primary route for concurrent automation.
|
|
75
|
+
|
|
76
|
+
## Mode and flag checkpoints
|
|
77
|
+
|
|
78
|
+
- Managed: `launch --no-extension`
|
|
79
|
+
- Extension default: `launch` or relay-normalized `connect`
|
|
80
|
+
- Extension legacy: `launch --extension-legacy` or `connect --extension-legacy`
|
|
81
|
+
- Direct CDP: `connect --ws-endpoint ...` or `connect --host ... --cdp-port ...`
|
|
82
|
+
|
|
83
|
+
Required readiness/status checks:
|
|
84
|
+
- `extensionConnected`
|
|
85
|
+
- `extensionHandshakeComplete`
|
|
86
|
+
- `opsConnected`
|
|
87
|
+
- `cdpConnected`
|
|
88
|
+
- `pairingRequired`
|
|
89
|
+
|
|
90
|
+
## Fast verification commands
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm run test -- tests/parity-matrix.test.ts
|
|
94
|
+
./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh
|
|
95
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Debug Trace Playbook
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Run a repeatable debug pass and capture enough evidence to diagnose regressions quickly.
|
|
6
|
+
|
|
7
|
+
## Minimum Trace Bundle
|
|
8
|
+
|
|
9
|
+
- `requestId` and `sessionId`
|
|
10
|
+
- snapshot output before and after key actions
|
|
11
|
+
- console stream (`opendevbrowser_console_poll`)
|
|
12
|
+
- network stream (`opendevbrowser_network_poll`)
|
|
13
|
+
- screenshot evidence (`opendevbrowser_screenshot`)
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
1. Launch/connect and record `sessionId`.
|
|
18
|
+
2. Reproduce issue with the smallest action sequence.
|
|
19
|
+
3. Capture snapshot + console + network + screenshot at failure point.
|
|
20
|
+
4. Normalize findings by `requestId` and timestamp.
|
|
21
|
+
5. Re-run once in another mode (`managed` vs `extension` vs `cdpConnect`) to detect mode-specific drift.
|
|
22
|
+
|
|
23
|
+
## Command Skeleton
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="outline"
|
|
27
|
+
opendevbrowser_console_poll sessionId="<session-id>" max=100
|
|
28
|
+
opendevbrowser_network_poll sessionId="<session-id>" max=100
|
|
29
|
+
opendevbrowser_screenshot sessionId="<session-id>"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Triage Rules
|
|
33
|
+
|
|
34
|
+
- If refs fail: re-snapshot and retry one time.
|
|
35
|
+
- If repeated 403/429: pause and apply cooldown/retry policy.
|
|
36
|
+
- If failure reproduces in only one mode: mark as parity defect and gate release.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Fingerprint Tiers
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Choose the lowest hardening tier that keeps runs reliable; avoid unnecessary complexity.
|
|
6
|
+
|
|
7
|
+
## Tiers
|
|
8
|
+
|
|
9
|
+
### Tier 0 — Baseline
|
|
10
|
+
|
|
11
|
+
- Default runtime behavior.
|
|
12
|
+
- Use for internal pages and low-friction targets.
|
|
13
|
+
|
|
14
|
+
### Tier 1 — Coherence Profile (default recommendation)
|
|
15
|
+
|
|
16
|
+
- Consistent profile/session reuse.
|
|
17
|
+
- Stable launch flags and deterministic workflow ordering.
|
|
18
|
+
- Best default for most production automation.
|
|
19
|
+
|
|
20
|
+
### Tier 2 — Runtime Hardening
|
|
21
|
+
|
|
22
|
+
- Add stricter runtime controls (timeouts, retries, pacing discipline).
|
|
23
|
+
- Use when targets show intermittent anti-bot or high flakiness.
|
|
24
|
+
|
|
25
|
+
### Tier 3 — Adaptive Hardening (optional track)
|
|
26
|
+
|
|
27
|
+
- Dynamic policy adjustments and canary validation loops.
|
|
28
|
+
- Use only when Tier 1/2 cannot achieve target reliability.
|
|
29
|
+
- Treat as opt-in track, not baseline release requirement.
|
|
30
|
+
|
|
31
|
+
## Selection Heuristic
|
|
32
|
+
|
|
33
|
+
1. Start Tier 0 for local validation.
|
|
34
|
+
2. Promote to Tier 1 for shared/CI workflows.
|
|
35
|
+
3. Use Tier 2 when failures are environment-dependent.
|
|
36
|
+
4. Use Tier 3 only for sustained high-friction environments.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Macro Workflows
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define concise macro entrypoints that expand into repeatable provider workflows.
|
|
6
|
+
|
|
7
|
+
## Macro Contract
|
|
8
|
+
|
|
9
|
+
Each macro should declare:
|
|
10
|
+
|
|
11
|
+
- `macro`: stable name
|
|
12
|
+
- `provider`: `web|community|social`
|
|
13
|
+
- `mode`: `managed|extension|cdpConnect`
|
|
14
|
+
- `policyMode`: `read|write`
|
|
15
|
+
- `requestId`: required correlation id
|
|
16
|
+
|
|
17
|
+
## Recommended Macros
|
|
18
|
+
|
|
19
|
+
### `provider.search`
|
|
20
|
+
|
|
21
|
+
- Expands to launch/connect + goto + wait + snapshot + extract + network poll.
|
|
22
|
+
- Output: normalized result set with provenance fields.
|
|
23
|
+
|
|
24
|
+
### `provider.crawl`
|
|
25
|
+
|
|
26
|
+
- Expands to bounded multipage loop (queue + dedupe + depth/page limits).
|
|
27
|
+
- Output: `records[]`, `visited[]`, and crawl stats.
|
|
28
|
+
|
|
29
|
+
### `qa.debug`
|
|
30
|
+
|
|
31
|
+
- Expands to snapshot + console poll + network poll + screenshot.
|
|
32
|
+
- Output: trace bundle for triage.
|
|
33
|
+
|
|
34
|
+
### `safe.post`
|
|
35
|
+
|
|
36
|
+
- Expands to notice + preview + explicit confirmation + single write action.
|
|
37
|
+
- Output: write result and audit metadata.
|
|
38
|
+
|
|
39
|
+
## Expansion Rules
|
|
40
|
+
|
|
41
|
+
- Keep expansions deterministic and minimal.
|
|
42
|
+
- Emit provenance metadata (`macro`, `resolvedQuery`, `provider`, `mode`).
|
|
43
|
+
- Never hide write actions behind implicit macro behavior.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Parity Gates
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define hard pass/fail gates so CLI, tool, and runtime surfaces stay aligned.
|
|
6
|
+
|
|
7
|
+
## Parity Matrix
|
|
8
|
+
|
|
9
|
+
| Area | Modes | Surfaces | Gate |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| Session lifecycle | managed, extension, cdpConnect | CLI + tools + runtime | `launch/connect/disconnect/status` parity |
|
|
12
|
+
| Navigation + refs loop | managed, extension, cdpConnect | CLI + tools + runtime | `goto/wait/snapshot` parity |
|
|
13
|
+
| Interaction | managed, extension, cdpConnect | CLI + tools + runtime | click/type/select/scroll/press/check/uncheck parity |
|
|
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 |
|
|
16
|
+
| Relay channels | extension (default) + extension-legacy | `/ops` + `/cdp` | `/ops` namespace coverage + `/cdp` envelope compatibility |
|
|
17
|
+
|
|
18
|
+
## Surface Rules
|
|
19
|
+
|
|
20
|
+
- `rpc` is intentionally CLI-only (internal and unsafe).
|
|
21
|
+
- `opendevbrowser_prompting_guide`, `opendevbrowser_skill_list`, and `opendevbrowser_skill_load` are intentionally tool-only.
|
|
22
|
+
- Any new stable CLI runtime command must add a matching tool unless explicitly documented as CLI-only.
|
|
23
|
+
- Surface counts and command inventories are verified against `docs/SURFACE_REFERENCE.md`.
|
|
24
|
+
|
|
25
|
+
## Gate Commands
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm run test -- tests/parity-matrix.test.ts
|
|
29
|
+
npm run test -- tests/tools.test.ts tests/daemon-command.test.ts
|
|
30
|
+
npm run test -- tests/providers-performance-gate.test.ts
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Release Requirement
|
|
34
|
+
|
|
35
|
+
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/RELEASE_PARITY_CHECKLIST.md` as the release gate source of truth.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Provider Workflows
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Codify minimal, repeatable workflows for provider-native automation.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
|
|
9
|
+
- `sessionMode`: `managed|extension|cdpConnect`
|
|
10
|
+
- `provider`: `web|community|social`
|
|
11
|
+
- `requestId`: unique per workflow run
|
|
12
|
+
- `policyMode`: `read` (default) or `write` (explicit/manual opt-in only)
|
|
13
|
+
|
|
14
|
+
## Workflow A: Provider Search
|
|
15
|
+
|
|
16
|
+
1. Launch/connect mode.
|
|
17
|
+
2. Navigate to provider query URL.
|
|
18
|
+
3. Wait for load (`networkidle` preferred).
|
|
19
|
+
4. Snapshot actionables.
|
|
20
|
+
5. Extract result units with refs.
|
|
21
|
+
6. Poll network for request health.
|
|
22
|
+
7. Emit normalized records.
|
|
23
|
+
|
|
24
|
+
Expected output:
|
|
25
|
+
- `items[]` with `title/url/snippet/source/ts/requestId`
|
|
26
|
+
|
|
27
|
+
## Workflow B: Provider Fetch
|
|
28
|
+
|
|
29
|
+
1. Launch/connect mode.
|
|
30
|
+
2. Goto target URL/entity endpoint.
|
|
31
|
+
3. Wait and snapshot.
|
|
32
|
+
4. Extract typed fields.
|
|
33
|
+
5. Poll console/network for anomalies.
|
|
34
|
+
|
|
35
|
+
Expected output:
|
|
36
|
+
- one normalized entity record + diagnostics metadata
|
|
37
|
+
|
|
38
|
+
## Workflow C: Multipage Crawl
|
|
39
|
+
|
|
40
|
+
1. Seed queue with initial URL list.
|
|
41
|
+
2. Process one URL at a time:
|
|
42
|
+
- goto
|
|
43
|
+
- wait
|
|
44
|
+
- snapshot
|
|
45
|
+
- extract
|
|
46
|
+
- collect outgoing links
|
|
47
|
+
3. Canonicalize/dedupe links.
|
|
48
|
+
4. Enqueue until `maxDepth|maxPages` reached.
|
|
49
|
+
5. Persist records with page provenance.
|
|
50
|
+
|
|
51
|
+
Expected output:
|
|
52
|
+
- `records[]`
|
|
53
|
+
- `visited[]`
|
|
54
|
+
- `frontierStats`
|
|
55
|
+
|
|
56
|
+
## Workflow D: Social Read-Only Validation (Default)
|
|
57
|
+
|
|
58
|
+
1. Display read-only policy notice.
|
|
59
|
+
2. Navigate to social target and execute search/read probes only.
|
|
60
|
+
3. Capture `debug-trace-snapshot` + `network-poll`.
|
|
61
|
+
4. Record auth/blocker diagnostics and provider health.
|
|
62
|
+
|
|
63
|
+
Expected output:
|
|
64
|
+
- `readResult` + `authBlockerDiagnostics`
|
|
65
|
+
|
|
66
|
+
## Workflow E: Parallel Multipage (Reliable As-Is)
|
|
67
|
+
|
|
68
|
+
1. Build a bounded frontier/queue in host logic.
|
|
69
|
+
2. Allocate one session per worker (`session-1`, `session-2`, ...).
|
|
70
|
+
3. In each worker session, process URLs serially:
|
|
71
|
+
- goto
|
|
72
|
+
- wait
|
|
73
|
+
- snapshot
|
|
74
|
+
- extract
|
|
75
|
+
- emit records with `sessionId` + page provenance
|
|
76
|
+
4. Never interleave competing `target-use` streams inside a single session.
|
|
77
|
+
5. For managed persistent profiles, assign a unique profile path per worker session.
|
|
78
|
+
6. Merge worker outputs deterministically (stable sort + dedupe key).
|
|
79
|
+
|
|
80
|
+
Expected output:
|
|
81
|
+
- `records[]` merged across workers
|
|
82
|
+
- `workerStats[]` with `{ sessionId, processed, failures }`
|
|
83
|
+
- `frontierStats` and checkpoint state
|
|
84
|
+
|
|
85
|
+
## Failure Policy
|
|
86
|
+
|
|
87
|
+
- stale refs: re-snapshot and retry once
|
|
88
|
+
- repeated 403/429: stop and cooldown
|
|
89
|
+
- inconsistent mode behavior: flag parity failure
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0",
|
|
3
|
+
"modes": [
|
|
4
|
+
{
|
|
5
|
+
"name": "managed",
|
|
6
|
+
"launch": "npx opendevbrowser launch --no-extension",
|
|
7
|
+
"statusProbe": "npx opendevbrowser status --session-id <session-id>",
|
|
8
|
+
"requiredFlags": [
|
|
9
|
+
"--no-extension"
|
|
10
|
+
],
|
|
11
|
+
"statusExpectations": {
|
|
12
|
+
"mode": "managed"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "extension",
|
|
17
|
+
"launch": "npx opendevbrowser launch --extension-only --wait-for-extension",
|
|
18
|
+
"statusProbe": "npx opendevbrowser status --daemon",
|
|
19
|
+
"requiredFlags": [
|
|
20
|
+
"--extension-only",
|
|
21
|
+
"--wait-for-extension"
|
|
22
|
+
],
|
|
23
|
+
"statusExpectations": {
|
|
24
|
+
"extensionConnected": true,
|
|
25
|
+
"extensionHandshakeComplete": true,
|
|
26
|
+
"opsConnected": true
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "extension-legacy",
|
|
31
|
+
"launch": "npx opendevbrowser launch --extension-only --extension-legacy --wait-for-extension",
|
|
32
|
+
"statusProbe": "npx opendevbrowser status --daemon",
|
|
33
|
+
"requiredFlags": [
|
|
34
|
+
"--extension-only",
|
|
35
|
+
"--extension-legacy",
|
|
36
|
+
"--wait-for-extension"
|
|
37
|
+
],
|
|
38
|
+
"statusExpectations": {
|
|
39
|
+
"extensionConnected": true,
|
|
40
|
+
"extensionHandshakeComplete": true,
|
|
41
|
+
"cdpConnected": true
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "cdpConnect",
|
|
46
|
+
"connect": "npx opendevbrowser connect --ws-endpoint ws://127.0.0.1:9222/devtools/browser/<id>",
|
|
47
|
+
"statusProbe": "npx opendevbrowser status --session-id <session-id>",
|
|
48
|
+
"requiredFlags": [
|
|
49
|
+
"--ws-endpoint"
|
|
50
|
+
],
|
|
51
|
+
"statusExpectations": {
|
|
52
|
+
"mode": "cdpConnect"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0",
|
|
3
|
+
"skill": "",
|
|
4
|
+
"run_id": "",
|
|
5
|
+
"issues": [
|
|
6
|
+
{
|
|
7
|
+
"id": "ISSUE-01",
|
|
8
|
+
"status": "pending",
|
|
9
|
+
"evidence": [],
|
|
10
|
+
"notes": ""
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "ISSUE-02",
|
|
14
|
+
"status": "pending",
|
|
15
|
+
"evidence": [],
|
|
16
|
+
"notes": ""
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "ISSUE-03",
|
|
20
|
+
"status": "pending",
|
|
21
|
+
"evidence": [],
|
|
22
|
+
"notes": ""
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "ISSUE-04",
|
|
26
|
+
"status": "pending",
|
|
27
|
+
"evidence": [],
|
|
28
|
+
"notes": ""
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "ISSUE-05",
|
|
32
|
+
"status": "pending",
|
|
33
|
+
"evidence": [],
|
|
34
|
+
"notes": ""
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "ISSUE-06",
|
|
38
|
+
"status": "pending",
|
|
39
|
+
"evidence": [],
|
|
40
|
+
"notes": ""
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "ISSUE-07",
|
|
44
|
+
"status": "pending",
|
|
45
|
+
"evidence": [],
|
|
46
|
+
"notes": ""
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "ISSUE-08",
|
|
50
|
+
"status": "pending",
|
|
51
|
+
"evidence": [],
|
|
52
|
+
"notes": ""
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "ISSUE-09",
|
|
56
|
+
"status": "pending",
|
|
57
|
+
"evidence": [],
|
|
58
|
+
"notes": ""
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "ISSUE-10",
|
|
62
|
+
"status": "pending",
|
|
63
|
+
"evidence": [],
|
|
64
|
+
"notes": ""
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "ISSUE-11",
|
|
68
|
+
"status": "pending",
|
|
69
|
+
"evidence": [],
|
|
70
|
+
"notes": ""
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "ISSUE-12",
|
|
74
|
+
"status": "pending",
|
|
75
|
+
"evidence": [],
|
|
76
|
+
"notes": ""
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0",
|
|
3
|
+
"expectedCounts": {
|
|
4
|
+
"cliCommands": 50,
|
|
5
|
+
"tools": 44,
|
|
6
|
+
"opsCommands": 36
|
|
7
|
+
},
|
|
8
|
+
"docsMustCover": [
|
|
9
|
+
"README.md",
|
|
10
|
+
"docs/CLI.md",
|
|
11
|
+
"docs/ARCHITECTURE.md",
|
|
12
|
+
"docs/SURFACE_REFERENCE.md",
|
|
13
|
+
"AGENTS.md",
|
|
14
|
+
"skills/opendevbrowser-best-practices/SKILL.md"
|
|
15
|
+
],
|
|
16
|
+
"checks": [
|
|
17
|
+
"CLI command names documented by category",
|
|
18
|
+
"Tool names documented by category",
|
|
19
|
+
"Ops command namespaces documented",
|
|
20
|
+
"CDP envelope contract documented",
|
|
21
|
+
"Global and command-specific flags documented",
|
|
22
|
+
"Mode semantics documented"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
print_help() {
|
|
5
|
+
cat <<'EOF'
|
|
6
|
+
OpenDevBrowser workflow router
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
./skills/opendevbrowser-best-practices/scripts/odb-workflow.sh <workflow>
|
|
10
|
+
|
|
11
|
+
Workflows:
|
|
12
|
+
provider-search
|
|
13
|
+
provider-crawl
|
|
14
|
+
parallel-multipage-safe
|
|
15
|
+
qa-debug
|
|
16
|
+
social-readonly-check
|
|
17
|
+
parity-check
|
|
18
|
+
surface-audit
|
|
19
|
+
ops-channel-check
|
|
20
|
+
cdp-channel-check
|
|
21
|
+
mode-flag-matrix
|
|
22
|
+
robustness-audit
|
|
23
|
+
list
|
|
24
|
+
EOF
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
workflow="${1:-list}"
|
|
28
|
+
|
|
29
|
+
case "$workflow" in
|
|
30
|
+
list)
|
|
31
|
+
print_help
|
|
32
|
+
;;
|
|
33
|
+
provider-search)
|
|
34
|
+
cat <<'EOF'
|
|
35
|
+
opendevbrowser_launch noExtension=true
|
|
36
|
+
opendevbrowser_goto sessionId="<session-id>" url="<provider-search-url>"
|
|
37
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
38
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
39
|
+
opendevbrowser_network_poll sessionId="<session-id>" max=50
|
|
40
|
+
EOF
|
|
41
|
+
;;
|
|
42
|
+
provider-crawl)
|
|
43
|
+
cat <<'EOF'
|
|
44
|
+
opendevbrowser_launch noExtension=true
|
|
45
|
+
opendevbrowser_goto sessionId="<session-id>" url="<seed-url>"
|
|
46
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
47
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
48
|
+
opendevbrowser_scroll sessionId="<session-id>" dy=1000
|
|
49
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
50
|
+
EOF
|
|
51
|
+
;;
|
|
52
|
+
parallel-multipage-safe)
|
|
53
|
+
cat <<'EOF'
|
|
54
|
+
# Reliable parallel pattern (as-is):
|
|
55
|
+
# - Worker A owns session-a
|
|
56
|
+
# - Worker B owns session-b
|
|
57
|
+
# - Keep each session serial (snapshot -> action -> snapshot)
|
|
58
|
+
# - Do NOT interleave independent target-use streams in one session
|
|
59
|
+
# - Managed + persisted profiles: use unique profile paths per session
|
|
60
|
+
|
|
61
|
+
opendevbrowser_launch noExtension=true
|
|
62
|
+
opendevbrowser_launch noExtension=true
|
|
63
|
+
|
|
64
|
+
# Worker A loop
|
|
65
|
+
opendevbrowser_goto sessionId="<session-a>" url="<url-a1>"
|
|
66
|
+
opendevbrowser_wait sessionId="<session-a>" until="networkidle"
|
|
67
|
+
opendevbrowser_snapshot sessionId="<session-a>" format="actionables"
|
|
68
|
+
|
|
69
|
+
# Worker B loop
|
|
70
|
+
opendevbrowser_goto sessionId="<session-b>" url="<url-b1>"
|
|
71
|
+
opendevbrowser_wait sessionId="<session-b>" until="networkidle"
|
|
72
|
+
opendevbrowser_snapshot sessionId="<session-b>" format="actionables"
|
|
73
|
+
EOF
|
|
74
|
+
;;
|
|
75
|
+
qa-debug)
|
|
76
|
+
cat <<'EOF'
|
|
77
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="outline"
|
|
78
|
+
opendevbrowser_console_poll sessionId="<session-id>" max=100
|
|
79
|
+
opendevbrowser_network_poll sessionId="<session-id>" max=100
|
|
80
|
+
opendevbrowser_screenshot sessionId="<session-id>"
|
|
81
|
+
EOF
|
|
82
|
+
;;
|
|
83
|
+
social-readonly-check)
|
|
84
|
+
cat <<'EOF'
|
|
85
|
+
# Read-only social validation (default, no posting).
|
|
86
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
87
|
+
opendevbrowser_debug_trace_snapshot sessionId="<session-id>" maxEvents=50
|
|
88
|
+
opendevbrowser_network_poll sessionId="<session-id>" max=100
|
|
89
|
+
EOF
|
|
90
|
+
;;
|
|
91
|
+
parity-check)
|
|
92
|
+
cat <<'EOF'
|
|
93
|
+
npm run test -- tests/parity-matrix.test.ts
|
|
94
|
+
npm run test -- tests/tools.test.ts tests/daemon-commands.integration.test.ts
|
|
95
|
+
./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh
|
|
96
|
+
EOF
|
|
97
|
+
;;
|
|
98
|
+
surface-audit)
|
|
99
|
+
cat <<'EOF'
|
|
100
|
+
cat docs/SURFACE_REFERENCE.md
|
|
101
|
+
cat skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md
|
|
102
|
+
cat skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json
|
|
103
|
+
./skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh
|
|
104
|
+
EOF
|
|
105
|
+
;;
|
|
106
|
+
ops-channel-check)
|
|
107
|
+
cat <<'EOF'
|
|
108
|
+
npx opendevbrowser serve
|
|
109
|
+
npx opendevbrowser launch --extension-only --wait-for-extension --output-format json
|
|
110
|
+
npx opendevbrowser status --daemon --output-format json
|
|
111
|
+
# Verify opsConnected=true and extensionHandshakeComplete=true
|
|
112
|
+
cat skills/opendevbrowser-best-practices/assets/templates/ops-request-envelope.json
|
|
113
|
+
EOF
|
|
114
|
+
;;
|
|
115
|
+
cdp-channel-check)
|
|
116
|
+
cat <<'EOF'
|
|
117
|
+
npx opendevbrowser serve
|
|
118
|
+
npx opendevbrowser launch --extension-only --extension-legacy --wait-for-extension --output-format json
|
|
119
|
+
npx opendevbrowser status --daemon --output-format json
|
|
120
|
+
# Verify cdpConnected=true while legacy session is active
|
|
121
|
+
cat skills/opendevbrowser-best-practices/assets/templates/cdp-forward-envelope.json
|
|
122
|
+
EOF
|
|
123
|
+
;;
|
|
124
|
+
mode-flag-matrix)
|
|
125
|
+
cat <<'EOF'
|
|
126
|
+
cat skills/opendevbrowser-best-practices/assets/templates/mode-flag-matrix.json
|
|
127
|
+
npx opendevbrowser launch --no-extension --output-format json
|
|
128
|
+
npx opendevbrowser launch --extension-only --wait-for-extension --output-format json
|
|
129
|
+
npx opendevbrowser launch --extension-only --extension-legacy --wait-for-extension --output-format json
|
|
130
|
+
EOF
|
|
131
|
+
;;
|
|
132
|
+
robustness-audit)
|
|
133
|
+
cat <<'EOF'
|
|
134
|
+
cat skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md
|
|
135
|
+
cat skills/opendevbrowser-best-practices/assets/templates/robustness-checklist.json
|
|
136
|
+
./skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh
|
|
137
|
+
EOF
|
|
138
|
+
;;
|
|
139
|
+
*)
|
|
140
|
+
echo "Unknown workflow: $workflow" >&2
|
|
141
|
+
print_help
|
|
142
|
+
exit 2
|
|
143
|
+
;;
|
|
144
|
+
esac
|