opendevbrowser 0.0.15 → 0.0.17
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 +262 -43
- 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 +33 -0
- package/dist/browser/annotation-manager.d.ts.map +1 -0
- package/dist/browser/browser-manager.d.ts +402 -0
- package/dist/browser/browser-manager.d.ts.map +1 -0
- package/dist/browser/canvas-client.d.ts +53 -0
- package/dist/browser/canvas-client.d.ts.map +1 -0
- package/dist/browser/canvas-code-sync-manager.d.ts +79 -0
- package/dist/browser/canvas-code-sync-manager.d.ts.map +1 -0
- package/dist/browser/canvas-manager.d.ts +94 -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/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 +15 -0
- package/dist/browser/manager-types.d.ts.map +1 -0
- package/dist/browser/ops-browser-manager.d.ts +141 -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/canvas/code-sync/apply-tsx.d.ts +23 -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 +18 -0
- package/dist/canvas/code-sync/import.d.ts.map +1 -0
- package/dist/canvas/code-sync/manifest.d.ts +5 -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 +152 -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 +81 -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/repo-store.d.ts +10 -0
- package/dist/canvas/repo-store.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/types.d.ts +255 -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/chunk-5J3IFL3X.js +16706 -0
- package/dist/chunk-5J3IFL3X.js.map +1 -0
- package/dist/chunk-D633UO34.js +8149 -0
- package/dist/chunk-D633UO34.js.map +1 -0
- package/dist/chunk-FUSXMW3G.js +169 -0
- package/dist/chunk-FUSXMW3G.js.map +1 -0
- package/dist/chunk-TBUCZX4A.js +34 -0
- package/dist/chunk-TBUCZX4A.js.map +1 -0
- package/dist/chunk-V7KUDHDG.js +276 -0
- package/dist/chunk-V7KUDHDG.js.map +1 -0
- package/dist/chunk-Y2KL55OG.js +59 -0
- package/dist/chunk-Y2KL55OG.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 +38 -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/canvas.d.ts +45 -0
- package/dist/cli/commands/canvas.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 +18 -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 +16 -0
- package/dist/cli/commands/export/clone-component.d.ts.map +1 -0
- package/dist/cli/commands/export/clone-page.d.ts +15 -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 +93 -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 +64 -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 +24 -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 +33 -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 +2825 -326
- 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-canvas-manager.d.ts +8 -0
- package/dist/cli/remote-canvas-manager.d.ts.map +1 -0
- package/dist/cli/remote-manager.d.ts +98 -0
- package/dist/cli/remote-manager.d.ts.map +1 -0
- package/dist/cli/remote-relay.d.ts +19 -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 +9 -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 +36 -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/fs-UMRKOBNN.js +7 -0
- package/dist/fs-UMRKOBNN.js.map +1 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1028 -123
- 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-ND2M7LWU.js +399 -0
- package/dist/macros-ND2M7LWU.js.map +1 -0
- package/dist/opendevbrowser.d.ts +3 -4
- package/dist/opendevbrowser.d.ts.map +1 -0
- package/dist/opendevbrowser.js +1028 -123
- 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/providers-G3LRHQXX.js +121 -0
- package/dist/providers-G3LRHQXX.js.map +1 -0
- package/dist/relay/protocol.d.ts +399 -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 +124 -0
- package/dist/relay/relay-server.d.ts.map +1 -0
- package/dist/relay/relay-types.d.ts +12 -0
- package/dist/relay/relay-types.d.ts.map +1 -0
- package/dist/runtime-factory-BICHDPE7.js +13 -0
- package/dist/runtime-factory-BICHDPE7.js.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/canvas.d.ts +4 -0
- package/dist/tools/canvas.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 +28 -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 +19 -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 +3 -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/canvas.html +636 -0
- package/extension/dist/annotate-content.css +15 -6
- package/extension/dist/annotate-content.js +119 -9
- package/extension/dist/annotation-payload.js +163 -0
- package/extension/dist/background.js +158 -22
- package/extension/dist/canvas/canvas-runtime.js +1061 -0
- package/extension/dist/canvas/model.js +213 -0
- package/extension/dist/canvas/viewport-fit.js +67 -0
- package/extension/dist/canvas-page.js +1801 -0
- package/extension/dist/ops/dom-bridge.js +116 -3
- package/extension/dist/ops/ops-runtime.js +1014 -48
- package/extension/dist/ops/ops-session-store.js +37 -116
- package/extension/dist/ops/parallelism-governor.js +117 -0
- package/extension/dist/ops/snapshot-shared.js +21 -5
- package/extension/dist/ops/target-session-coordinator.js +157 -0
- package/extension/dist/popup.js +155 -31
- package/extension/dist/services/CDPRouter.js +70 -5
- package/extension/dist/services/ConnectionManager.js +22 -3
- package/extension/dist/services/RelayClient.js +9 -0
- package/extension/dist/services/TabManager.js +35 -12
- package/extension/dist/types.js +2 -0
- 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/extension/popup.html +52 -0
- package/package.json +30 -19
- 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 +20 -8
- package/skills/opendevbrowser-best-practices/SKILL.md +248 -74
- package/skills/opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md +44 -0
- package/skills/opendevbrowser-best-practices/artifacts/canvas-governance-playbook.md +141 -0
- package/skills/opendevbrowser-best-practices/artifacts/command-channel-reference.md +191 -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/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/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 +136 -0
- package/skills/opendevbrowser-best-practices/assets/templates/surface-audit-checklist.json +28 -0
- package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +170 -0
- package/skills/opendevbrowser-best-practices/scripts/run-robustness-audit.sh +164 -0
- package/skills/opendevbrowser-best-practices/scripts/validate-skill-assets.sh +234 -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,83 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
print_help() {
|
|
5
|
+
cat <<'HELP'
|
|
6
|
+
Data extraction workflow router
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
./skills/opendevbrowser-data-extraction/scripts/run-extraction-workflow.sh <workflow>
|
|
10
|
+
|
|
11
|
+
Workflows:
|
|
12
|
+
list
|
|
13
|
+
table
|
|
14
|
+
pagination
|
|
15
|
+
infinite-scroll
|
|
16
|
+
load-more
|
|
17
|
+
anti-bot-pressure
|
|
18
|
+
checkpoint-resume
|
|
19
|
+
list-workflows
|
|
20
|
+
HELP
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
workflow="${1:-list-workflows}"
|
|
24
|
+
|
|
25
|
+
case "$workflow" in
|
|
26
|
+
list-workflows)
|
|
27
|
+
print_help
|
|
28
|
+
;;
|
|
29
|
+
list)
|
|
30
|
+
cat <<'FLOW'
|
|
31
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
32
|
+
opendevbrowser_dom_get_text sessionId="<session-id>" ref="<item-title-ref>"
|
|
33
|
+
opendevbrowser_get_attr sessionId="<session-id>" ref="<item-link-ref>" name="href"
|
|
34
|
+
FLOW
|
|
35
|
+
;;
|
|
36
|
+
table)
|
|
37
|
+
cat <<'FLOW'
|
|
38
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
39
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
40
|
+
opendevbrowser_dom_get_html sessionId="<session-id>" ref="<table-ref>"
|
|
41
|
+
FLOW
|
|
42
|
+
;;
|
|
43
|
+
pagination)
|
|
44
|
+
cat <<'FLOW'
|
|
45
|
+
opendevbrowser_click sessionId="<session-id>" ref="<next-ref>"
|
|
46
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
47
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
48
|
+
FLOW
|
|
49
|
+
;;
|
|
50
|
+
infinite-scroll)
|
|
51
|
+
cat <<'FLOW'
|
|
52
|
+
opendevbrowser_scroll sessionId="<session-id>" dy=1000
|
|
53
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
54
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
55
|
+
FLOW
|
|
56
|
+
;;
|
|
57
|
+
load-more)
|
|
58
|
+
cat <<'FLOW'
|
|
59
|
+
opendevbrowser_click sessionId="<session-id>" ref="<load-more-ref>"
|
|
60
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
61
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
62
|
+
FLOW
|
|
63
|
+
;;
|
|
64
|
+
anti-bot-pressure)
|
|
65
|
+
cat <<'FLOW'
|
|
66
|
+
opendevbrowser_network_poll sessionId="<session-id>" max=100
|
|
67
|
+
# Stop or back off on repeated 403/429/challenge signals; honor Retry-After.
|
|
68
|
+
FLOW
|
|
69
|
+
;;
|
|
70
|
+
checkpoint-resume)
|
|
71
|
+
cat <<'FLOW'
|
|
72
|
+
# Resume from stored pagination checkpoint token/page index.
|
|
73
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="outline"
|
|
74
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
75
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
76
|
+
FLOW
|
|
77
|
+
;;
|
|
78
|
+
*)
|
|
79
|
+
echo "Unknown workflow: $workflow" >&2
|
|
80
|
+
print_help
|
|
81
|
+
exit 2
|
|
82
|
+
;;
|
|
83
|
+
esac
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
5
|
+
skill_file="$root/SKILL.md"
|
|
6
|
+
|
|
7
|
+
required=(
|
|
8
|
+
"artifacts/extraction-workflows.md"
|
|
9
|
+
"assets/templates/extraction-schema.json"
|
|
10
|
+
"assets/templates/pagination-state.json"
|
|
11
|
+
"assets/templates/quality-gates.json"
|
|
12
|
+
"assets/templates/compliance-checklist.md"
|
|
13
|
+
"scripts/run-extraction-workflow.sh"
|
|
14
|
+
"scripts/validate-skill-assets.sh"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
status=0
|
|
18
|
+
for rel in "${required[@]}"; do
|
|
19
|
+
if [[ ! -f "$root/$rel" ]]; then
|
|
20
|
+
echo "Missing required asset: $rel" >&2
|
|
21
|
+
status=1
|
|
22
|
+
fi
|
|
23
|
+
if ! grep -Fq "$rel" "$skill_file"; then
|
|
24
|
+
echo "SKILL.md missing reference: $rel" >&2
|
|
25
|
+
status=1
|
|
26
|
+
fi
|
|
27
|
+
done
|
|
28
|
+
|
|
29
|
+
for rel in scripts/run-extraction-workflow.sh scripts/validate-skill-assets.sh; do
|
|
30
|
+
if [[ -f "$root/$rel" && ! -x "$root/$rel" ]]; then
|
|
31
|
+
echo "Script is not executable: $rel" >&2
|
|
32
|
+
status=1
|
|
33
|
+
fi
|
|
34
|
+
done
|
|
35
|
+
|
|
36
|
+
for rel in assets/templates/extraction-schema.json assets/templates/pagination-state.json assets/templates/quality-gates.json; do
|
|
37
|
+
if [[ -f "$root/$rel" ]]; then
|
|
38
|
+
if ! node -e 'const fs=require("fs"); JSON.parse(fs.readFileSync(process.argv[1], "utf8"));' "$root/$rel" >/dev/null 2>&1; then
|
|
39
|
+
echo "Invalid JSON template: $rel" >&2
|
|
40
|
+
status=1
|
|
41
|
+
fi
|
|
42
|
+
fi
|
|
43
|
+
done
|
|
44
|
+
|
|
45
|
+
if [[ $status -ne 0 ]]; then
|
|
46
|
+
exit $status
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
echo "Data extraction skill assets validated."
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: opendevbrowser-form-testing
|
|
3
|
+
description: This skill should be used when the user asks to "test a form", "verify validation", "check submission behavior", "test multi-step forms", or "debug form errors" with OpenDevBrowser.
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Form Testing Skill
|
|
8
|
+
|
|
9
|
+
Use this skill for robust form automation across dynamic, multi-step, challenge-protected, and accessibility-critical flows.
|
|
10
|
+
|
|
11
|
+
## Pack Contents
|
|
12
|
+
|
|
13
|
+
- `artifacts/form-workflows.md`
|
|
14
|
+
- `assets/templates/validation-matrix.json`
|
|
15
|
+
- `assets/templates/challenge-decision-tree.json`
|
|
16
|
+
- `assets/templates/a11y-assertions.md`
|
|
17
|
+
- `assets/templates/multi-step-state.json`
|
|
18
|
+
- `scripts/run-form-workflow.sh`
|
|
19
|
+
- `scripts/validate-skill-assets.sh`
|
|
20
|
+
- Shared robustness matrix: `../opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md`
|
|
21
|
+
|
|
22
|
+
## Fast Start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
./skills/opendevbrowser-form-testing/scripts/validate-skill-assets.sh
|
|
26
|
+
./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh validation
|
|
27
|
+
./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh multi-step
|
|
28
|
+
./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh challenge-checkpoint
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Core Rules
|
|
32
|
+
|
|
33
|
+
- Snapshot first, then act.
|
|
34
|
+
- Keep one field mutation per decision loop in failure analysis.
|
|
35
|
+
- Re-snapshot after each invalid submit to avoid stale refs.
|
|
36
|
+
- Verify both UX and network behavior for each submission branch.
|
|
37
|
+
- Keep challenge retries bounded and honor `Retry-After` when 429 pressure appears.
|
|
38
|
+
|
|
39
|
+
## Parallel Multitab Alignment
|
|
40
|
+
|
|
41
|
+
- Apply shared concurrency policy from `../opendevbrowser-best-practices/SKILL.md` ("Parallel Operations").
|
|
42
|
+
- Validate form workflows in `managed`, `extension`, and `cdpConnect` paths before parity sign-off.
|
|
43
|
+
- Keep one session per worker and avoid alternating `target-use` inside one command stream.
|
|
44
|
+
|
|
45
|
+
## Robustness Coverage (Known-Issue Matrix)
|
|
46
|
+
|
|
47
|
+
Matrix source: `../opendevbrowser-best-practices/artifacts/browser-agent-known-issues-matrix.md`
|
|
48
|
+
|
|
49
|
+
- `ISSUE-01`: stale refs after dynamic validation rerenders
|
|
50
|
+
- `ISSUE-02`: iframe challenge or embedded payment/auth forms
|
|
51
|
+
- `ISSUE-05`: anti-bot checkpoint loops on submit
|
|
52
|
+
- `ISSUE-06`: rate-limit/backoff behavior
|
|
53
|
+
- `ISSUE-08`: restricted origin or unsupported test surface
|
|
54
|
+
|
|
55
|
+
## Form Coverage Matrix
|
|
56
|
+
|
|
57
|
+
Cover at least:
|
|
58
|
+
- required/optional fields
|
|
59
|
+
- format/pattern constraints
|
|
60
|
+
- numeric and length boundaries
|
|
61
|
+
- dependent and conditional sections
|
|
62
|
+
- disabled/enabled transitions
|
|
63
|
+
- server-side rejection paths
|
|
64
|
+
|
|
65
|
+
Use the matrix template in `assets/templates/validation-matrix.json`.
|
|
66
|
+
|
|
67
|
+
| Validation area | Minimal assertion | Evidence capture |
|
|
68
|
+
| --- | --- | --- |
|
|
69
|
+
| Required vs optional | Empty required field blocks submit; optional field allows submit | `snapshot`, inline error text, submit request status |
|
|
70
|
+
| Format and pattern | Invalid format shows field error and keeps form invalid | `dom_get_text`, `get_attr aria-invalid`, request payload |
|
|
71
|
+
| Numeric and length bounds | Min/max boundaries are enforced consistently client+server | field value checks, server response body |
|
|
72
|
+
| Conditional sections | Dependent fields appear/disappear with correct state reset | before/after snapshots, visibility checks |
|
|
73
|
+
| Disabled/enabled transitions | Submit only enables when constraints are satisfied | `is_enabled`, transition snapshots |
|
|
74
|
+
| Server-side rejection | Backend validation errors map to correct field/global errors | `network_poll`, rendered error copy |
|
|
75
|
+
|
|
76
|
+
## Canonical Validation Flow
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
80
|
+
opendevbrowser_type sessionId="<session-id>" ref="<field-ref>" text=""
|
|
81
|
+
opendevbrowser_click sessionId="<session-id>" ref="<submit-ref>"
|
|
82
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="outline"
|
|
83
|
+
opendevbrowser_dom_get_text sessionId="<session-id>" ref="<error-ref>"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Accessibility Assertions
|
|
87
|
+
|
|
88
|
+
Validate error handling semantics:
|
|
89
|
+
- error text bound to invalid field
|
|
90
|
+
- `aria-invalid="true"` when invalid
|
|
91
|
+
- keyboard focus on first invalid field when applicable
|
|
92
|
+
- labels/instructions remain programmatically associated
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
opendevbrowser_get_attr sessionId="<session-id>" ref="<field-ref>" name="aria-invalid"
|
|
96
|
+
opendevbrowser_get_attr sessionId="<session-id>" ref="<field-ref>" name="aria-describedby"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Anti-Bot and Challenge Branches
|
|
100
|
+
|
|
101
|
+
For forms guarded by challenge providers:
|
|
102
|
+
|
|
103
|
+
1. Detect challenge widget/frame state.
|
|
104
|
+
2. Mark manual checkpoint in run log.
|
|
105
|
+
3. Complete challenge manually or by approved test key in non-production.
|
|
106
|
+
4. Resume from fresh snapshot and continue validation.
|
|
107
|
+
|
|
108
|
+
Do not implement challenge bypass behavior.
|
|
109
|
+
|
|
110
|
+
Loop guardrail:
|
|
111
|
+
- Stop after 2 repeated challenge checkpoints without forward progress.
|
|
112
|
+
- Capture network evidence and escalate as blocker.
|
|
113
|
+
|
|
114
|
+
## Multi-Step and Conditional Forms
|
|
115
|
+
|
|
116
|
+
For wizard flows:
|
|
117
|
+
1. validate current step
|
|
118
|
+
2. submit and wait for next-step container ref
|
|
119
|
+
3. assert state carryover from prior step
|
|
120
|
+
4. finalize and validate confirmation payload
|
|
121
|
+
|
|
122
|
+
Use `assets/templates/multi-step-state.json` to track progression.
|
|
123
|
+
|
|
124
|
+
## Network Correlation
|
|
125
|
+
|
|
126
|
+
Always poll and inspect submit requests:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
opendevbrowser_network_poll sessionId="<session-id>" max=50
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Flag mismatch cases:
|
|
133
|
+
- UI shows success but network fails
|
|
134
|
+
- UI hides server validation errors
|
|
135
|
+
- repeated 429/403 challenge pressure on submit endpoint
|
|
136
|
+
|
|
137
|
+
## References
|
|
138
|
+
|
|
139
|
+
- Playwright best practices: https://playwright.dev/docs/best-practices
|
|
140
|
+
- WCAG 2.2 (Input assistance + accessible authentication): https://www.w3.org/TR/WCAG22/
|
|
141
|
+
- Cloudflare Turnstile testing: https://developers.cloudflare.com/turnstile/tutorials/testing/
|
|
142
|
+
- reCAPTCHA v2 test keys: https://developers.google.com/recaptcha/docs/faq
|
|
143
|
+
- hCaptcha test keys: https://docs.hcaptcha.com/
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Form Workflows
|
|
2
|
+
|
|
3
|
+
## Validation workflow
|
|
4
|
+
|
|
5
|
+
1. Discover refs
|
|
6
|
+
2. Run negative matrix cases
|
|
7
|
+
3. Assert field-level and summary errors
|
|
8
|
+
4. Run positive submission path
|
|
9
|
+
5. Re-snapshot after each submit branch
|
|
10
|
+
|
|
11
|
+
## Multi-step workflow
|
|
12
|
+
|
|
13
|
+
1. Validate each step in isolation
|
|
14
|
+
2. Preserve and verify carried values
|
|
15
|
+
3. Validate final confirmation state and IDs
|
|
16
|
+
|
|
17
|
+
## Dynamic requirement workflow
|
|
18
|
+
|
|
19
|
+
1. Trigger conditional sections (toggles/selectors)
|
|
20
|
+
2. Re-snapshot and discover newly required fields
|
|
21
|
+
3. Validate requiredness transitions and submit gating
|
|
22
|
+
4. Verify hidden fields are not submitted unexpectedly
|
|
23
|
+
|
|
24
|
+
## File upload workflow
|
|
25
|
+
|
|
26
|
+
1. Validate accepted type/size constraints
|
|
27
|
+
2. Validate invalid file rejection path
|
|
28
|
+
3. Validate success path and server response correlation
|
|
29
|
+
4. Confirm upload state survives step transitions
|
|
30
|
+
|
|
31
|
+
## Challenge checkpoint workflow
|
|
32
|
+
|
|
33
|
+
1. Detect challenge state
|
|
34
|
+
2. Pause and annotate checkpoint
|
|
35
|
+
3. Resume after manual completion
|
|
36
|
+
4. Continue assertions from refreshed snapshot
|
|
37
|
+
5. Stop and escalate after repeated challenge loops
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Accessibility Assertions
|
|
2
|
+
|
|
3
|
+
- Field has associated label
|
|
4
|
+
- Error message is specific and linked (`aria-describedby`)
|
|
5
|
+
- Invalid state uses `aria-invalid="true"`
|
|
6
|
+
- Focus moves to first invalid field after submit
|
|
7
|
+
- Keyboard-only path can complete correction and submit
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"challenge_detected": false,
|
|
3
|
+
"provider": "unknown",
|
|
4
|
+
"issue_ids": [
|
|
5
|
+
"ISSUE-02",
|
|
6
|
+
"ISSUE-05",
|
|
7
|
+
"ISSUE-06"
|
|
8
|
+
],
|
|
9
|
+
"action": "manual_checkpoint",
|
|
10
|
+
"max_challenge_retries": 2,
|
|
11
|
+
"retry_after_seconds": 0,
|
|
12
|
+
"resume_conditions": [
|
|
13
|
+
"challenge_cleared",
|
|
14
|
+
"new_snapshot_taken"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"form": "",
|
|
3
|
+
"fields": [
|
|
4
|
+
{
|
|
5
|
+
"name": "",
|
|
6
|
+
"type": "text",
|
|
7
|
+
"required": true,
|
|
8
|
+
"cases": [
|
|
9
|
+
"empty",
|
|
10
|
+
"whitespace",
|
|
11
|
+
"out_of_range",
|
|
12
|
+
"valid"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"conditional_cases": [
|
|
17
|
+
"becomes_required_after_toggle",
|
|
18
|
+
"hidden_field_not_submitted"
|
|
19
|
+
],
|
|
20
|
+
"submit_cases": [
|
|
21
|
+
"invalid_blocked",
|
|
22
|
+
"valid_success"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"form": "checkout",
|
|
3
|
+
"fields": [
|
|
4
|
+
{
|
|
5
|
+
"name": "email",
|
|
6
|
+
"type": "email",
|
|
7
|
+
"required": true,
|
|
8
|
+
"cases": [
|
|
9
|
+
"empty",
|
|
10
|
+
"invalid_format",
|
|
11
|
+
"valid"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "postal_code",
|
|
16
|
+
"type": "text",
|
|
17
|
+
"required": true,
|
|
18
|
+
"cases": [
|
|
19
|
+
"too_short",
|
|
20
|
+
"invalid_charset",
|
|
21
|
+
"valid"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"submit_cases": [
|
|
26
|
+
"invalid_blocked",
|
|
27
|
+
"valid_success"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
print_help() {
|
|
5
|
+
cat <<'HELP'
|
|
6
|
+
Form testing workflow router
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
./skills/opendevbrowser-form-testing/scripts/run-form-workflow.sh <workflow>
|
|
10
|
+
|
|
11
|
+
Workflows:
|
|
12
|
+
discovery
|
|
13
|
+
validation
|
|
14
|
+
multi-step
|
|
15
|
+
dynamic-required
|
|
16
|
+
file-upload
|
|
17
|
+
challenge-checkpoint
|
|
18
|
+
list
|
|
19
|
+
HELP
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
workflow="${1:-list}"
|
|
23
|
+
|
|
24
|
+
case "$workflow" in
|
|
25
|
+
list)
|
|
26
|
+
print_help
|
|
27
|
+
;;
|
|
28
|
+
discovery)
|
|
29
|
+
cat <<'FLOW'
|
|
30
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
31
|
+
# map refs for all inputs, toggles, and submit controls
|
|
32
|
+
FLOW
|
|
33
|
+
;;
|
|
34
|
+
validation)
|
|
35
|
+
cat <<'FLOW'
|
|
36
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
37
|
+
opendevbrowser_type sessionId="<session-id>" ref="<field-ref>" text=""
|
|
38
|
+
opendevbrowser_click sessionId="<session-id>" ref="<submit-ref>"
|
|
39
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="outline"
|
|
40
|
+
opendevbrowser_dom_get_text sessionId="<session-id>" ref="<error-ref>"
|
|
41
|
+
opendevbrowser_get_attr sessionId="<session-id>" ref="<field-ref>" name="aria-invalid"
|
|
42
|
+
FLOW
|
|
43
|
+
;;
|
|
44
|
+
multi-step)
|
|
45
|
+
cat <<'FLOW'
|
|
46
|
+
# validate each step, then continue
|
|
47
|
+
opendevbrowser_click sessionId="<session-id>" ref="<next-step-ref>"
|
|
48
|
+
opendevbrowser_wait sessionId="<session-id>" ref="<step-container-ref>" state="visible"
|
|
49
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
50
|
+
FLOW
|
|
51
|
+
;;
|
|
52
|
+
dynamic-required)
|
|
53
|
+
cat <<'FLOW'
|
|
54
|
+
# Trigger conditional branch then re-snapshot for updated requirements.
|
|
55
|
+
opendevbrowser_click sessionId="<session-id>" ref="<toggle-ref>"
|
|
56
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
57
|
+
opendevbrowser_click sessionId="<session-id>" ref="<submit-ref>"
|
|
58
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="outline"
|
|
59
|
+
FLOW
|
|
60
|
+
;;
|
|
61
|
+
file-upload)
|
|
62
|
+
cat <<'FLOW'
|
|
63
|
+
# Validate upload constraints and submission behavior.
|
|
64
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
65
|
+
opendevbrowser_click sessionId="<session-id>" ref="<file-input-ref>"
|
|
66
|
+
opendevbrowser_network_poll sessionId="<session-id>" max=50
|
|
67
|
+
FLOW
|
|
68
|
+
;;
|
|
69
|
+
challenge-checkpoint)
|
|
70
|
+
cat <<'FLOW'
|
|
71
|
+
# if challenge is detected, pause automation and resume after manual completion
|
|
72
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="outline"
|
|
73
|
+
opendevbrowser_wait sessionId="<session-id>" until="networkidle"
|
|
74
|
+
opendevbrowser_snapshot sessionId="<session-id>" format="actionables"
|
|
75
|
+
FLOW
|
|
76
|
+
;;
|
|
77
|
+
*)
|
|
78
|
+
echo "Unknown workflow: $workflow" >&2
|
|
79
|
+
print_help
|
|
80
|
+
exit 2
|
|
81
|
+
;;
|
|
82
|
+
esac
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
5
|
+
skill_file="$root/SKILL.md"
|
|
6
|
+
|
|
7
|
+
required=(
|
|
8
|
+
"artifacts/form-workflows.md"
|
|
9
|
+
"assets/templates/validation-matrix.json"
|
|
10
|
+
"assets/templates/challenge-decision-tree.json"
|
|
11
|
+
"assets/templates/a11y-assertions.md"
|
|
12
|
+
"assets/templates/multi-step-state.json"
|
|
13
|
+
"scripts/run-form-workflow.sh"
|
|
14
|
+
"scripts/validate-skill-assets.sh"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
status=0
|
|
18
|
+
for rel in "${required[@]}"; do
|
|
19
|
+
if [[ ! -f "$root/$rel" ]]; then
|
|
20
|
+
echo "Missing required asset: $rel" >&2
|
|
21
|
+
status=1
|
|
22
|
+
fi
|
|
23
|
+
if ! grep -Fq "$rel" "$skill_file"; then
|
|
24
|
+
echo "SKILL.md missing reference: $rel" >&2
|
|
25
|
+
status=1
|
|
26
|
+
fi
|
|
27
|
+
done
|
|
28
|
+
|
|
29
|
+
for rel in scripts/run-form-workflow.sh scripts/validate-skill-assets.sh; do
|
|
30
|
+
if [[ -f "$root/$rel" && ! -x "$root/$rel" ]]; then
|
|
31
|
+
echo "Script is not executable: $rel" >&2
|
|
32
|
+
status=1
|
|
33
|
+
fi
|
|
34
|
+
done
|
|
35
|
+
|
|
36
|
+
for rel in assets/templates/validation-matrix.json assets/templates/challenge-decision-tree.json assets/templates/multi-step-state.json; do
|
|
37
|
+
if [[ -f "$root/$rel" ]]; then
|
|
38
|
+
if ! node -e 'const fs=require("fs"); JSON.parse(fs.readFileSync(process.argv[1], "utf8"));' "$root/$rel" >/dev/null 2>&1; then
|
|
39
|
+
echo "Invalid JSON template: $rel" >&2
|
|
40
|
+
status=1
|
|
41
|
+
fi
|
|
42
|
+
fi
|
|
43
|
+
done
|
|
44
|
+
|
|
45
|
+
if [[ $status -ne 0 ]]; then
|
|
46
|
+
exit $status
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
echo "Form testing skill assets validated."
|