import type { ExecutorContext } from '@nx/devkit'; import type { AgentDevExecutorSchema } from './schema'; interface ExecutorResult { success: boolean; } /** * `agent-dev` — long-running executor that spawns: * * 1. The host project's Vite dev server (with `@lensmcp/vite-plugin` * already wired by `setup-vite`). * 2. (Optional) a Chrome sidecar pointed at the dev URL so CDP * collectors see what the user sees. * 3. The LensMCP MCP server, so an agent can connect. * * The MCP server and the browser-capture runner are both spawned from the * self-contained `lensmcp` CLI bundle (`bundled/main.js` + * `bundled/capture-runner.js`), which inlines every internal `@lensmcp/*` * lib — so the executor itself imports NONE of them and a host needs only * `npm i @lensmcp/nx-plugin lensmcp` (no unpublished workspace libs, no * symlink bridging). * * Streams everyone's stdio to this terminal so the developer can see * what's happening. Ctrl-C triggers a clean teardown. */ export default function agentDevExecutor(options: AgentDevExecutorSchema, context: ExecutorContext): Promise; /** * May automatic capture point a browser at this URL? * * Loopback only, unless `LENSMCP_CAPTURE_ALLOW_REMOTE=1` says otherwise. `agent-dev` starts capture * by DEFAULT, so `openUrl` is the one place a workspace config decides what a browser on the * developer's machine renders — and, with the sandbox restored (issues/codex-security/60), a target * on the open internet is a decision worth stating rather than inheriting. * * Anything that does not parse, and any scheme other than http/https, is not local. */ export declare function isLocalCaptureTarget(url: string, env?: NodeJS.ProcessEnv): boolean; export {};