Files
orca/src/cli/browser-handler-groups.ts
T
Brennan BensonandMerge Sim b8d5b0486e Fix opening HTTPS URLs from headless runtimes (#17467)
* fix(runtime): open headless browser URLs on paired client

* fix(pty): tolerate runtimes without browser relay probe

* fix(browser): require automation-capable client host

* fix(browser): map client URL opener in sidecar

---------

Co-authored-by: Merge Sim <sim@local>
2026-08-30 16:48:43 -07:00

129 lines
2.9 KiB
TypeScript

import type { HandlerGroup } from './handler-group-manifest'
// Why split out: the browser command surface is a third of the CLI's groups and
// changes as a unit, so it keeps handler-group-manifest.ts readable at a glance.
export const BROWSER_HANDLER_GROUPS: readonly HandlerGroup[] = [
{
name: 'browser-nav',
keys: [
'snapshot',
'screenshot',
'goto',
'back',
'reload',
'forward',
'eval',
'scroll',
'wait',
'pdf',
'full-screenshot'
],
load: async () => (await import('./handlers/browser-nav.js')).BROWSER_NAV_HANDLERS
},
{
name: 'browser-interact',
keys: [
'click',
'dblclick',
'fill',
'type',
'select',
'check',
'uncheck',
'focus',
'clear',
'select-all',
'keypress',
'hover',
'drag',
'upload',
'scrollintoview',
'get',
'is',
'inserttext',
'mouse move',
'mouse down',
'mouse up',
'mouse wheel',
'find',
'download',
'highlight'
],
load: async () => (await import('./handlers/browser-interact.js')).BROWSER_INTERACT_HANDLERS
},
{
name: 'browser-tab',
keys: [
'open-url',
'tab list',
'tab show',
'tab current',
'tab switch',
'tab create',
'tab close',
'exec'
],
load: async () => (await import('./handlers/browser-tab.js')).BROWSER_TAB_HANDLERS
},
{
name: 'browser-profile',
keys: [
'tab profile list',
'tab profile create',
'tab profile delete',
'tab profile set',
'tab profile show',
'tab profile use-default',
'tab profile clone'
],
load: async () => (await import('./handlers/browser-profile.js')).BROWSER_PROFILE_HANDLERS
},
{
name: 'browser-cookie',
keys: ['cookie get', 'cookie set', 'cookie delete'],
load: async () => (await import('./handlers/browser-cookie.js')).BROWSER_COOKIE_HANDLERS
},
{
name: 'browser-capture',
keys: [
'intercept enable',
'intercept disable',
'intercept list',
'capture start',
'capture stop',
'console',
'network'
],
load: async () => (await import('./handlers/browser-capture.js')).BROWSER_CAPTURE_HANDLERS
},
{
name: 'browser-env',
keys: [
'viewport',
'geolocation',
'set device',
'set offline',
'set headers',
'set credentials',
'set media',
'clipboard read',
'clipboard write',
'dialog accept',
'dialog dismiss'
],
load: async () => (await import('./handlers/browser-env.js')).BROWSER_ENV_HANDLERS
},
{
name: 'browser-storage',
keys: [
'storage local get',
'storage local set',
'storage local clear',
'storage session get',
'storage session set',
'storage session clear'
],
load: async () => (await import('./handlers/browser-storage.js')).BROWSER_STORAGE_HANDLERS
}
]