AGENTS.md@packages/browser-plugin · git:20261018.4533be0 · 2026-10-18 · sha256 2dad5c837a6715c4
AGENTS.md@packages/browser-plugin git:20261018.4533be0A
Immutable. This exact content never changes and is served at /api/v1/blob/2dad5c837a6715c4.
# DOX — packages/browser-plugin
Files in this directory. One row per source file. See change: add-browser-relay.
| File | Purpose |
|------|---------|
| `README.md` | Package overview. CDP relay plugin: extension-dial-in per-guid instances, per-profile SSO tokens (writeOnly), screencast live-view tiles. Vendored playwright-core relay pointer. Adds dedicated agent browser (`@dedicated`, dashboard-owned Chrome profile over a debugging pipe), `browser_connect` tool, "Agent browsing" settings. See change: add-dedicated-agent-browser. |
| `package.json` | pi-dashboard-plugin manifest. id `browser`, priority 500, `defaultEnabled: false` (opt-in — design Migration Plan step 2 / GAP B). Claims `settings-section`→`BrowserSettings`, `session-card-badge`→`BrowserRelayBadge` (`shouldRender: hasRelayTabsForBadge`; reads the relay store), `shell-headless`→`BrowserRelayFeed` (always-mounted sole feeder of the relay store), `editor-pane-tab`→`BrowserPaneTab`. See change: fix-empty-status-subcard. server `./src/server/index.ts`, client `./src/client/index.tsx`, `configSchema: ./configSchema.json`. Deps: runtime, shared, `ws`, `debug` (declared properly — was phantom transitive). devDeps `@types/ws`+`@types/debug` (vendored code imports both). Description mentions the dedicated agent browser. See change: add-dedicated-agent-browser. |
| `configSchema.json` | draft-07 plugin config, persisted `plugins.browser.*`. `enabled` (default false — kill switch), `defaultBrowser`, `allowMultipleInstancesPerProfile` (default false; user decision under task 2.2b — both busy/multi paths behind one flag), `browsers.<profileDirectory>.{token (writeOnly:true), zeroDialog, allowedDomains}`. `token` writeOnly → `redactWriteOnly` strips it from every client-facing payload (spec browser-plugin-settings F2). Adds `realProfile`, `onUnavailable` (`ask`|`next`|`stop`, default `ask`), `idleDisconnectMinutes` (0/5/30/120, default 30), `openLiveViewOnConnect` (default true), global `allowedDomains` (default `[]`); `defaultBrowser` default `@dedicated` (`@headless` or a `profileDirectory`); `allowMultipleInstancesPerProfile` applies to Chrome profiles only. See change: add-dedicated-agent-browser. |
| `tsconfig.json` | Extends `../../tsconfig.base.json`. jsx react-jsx, noEmit. No vendor `paths` — the vendored relay's specifiers are package-relative, so nothing resolves through tsconfig. |
| `vitest.config.ts` | Vitest project. jsdom, forks pool, react plugin, `PARALLEL_MAX_WORKERS`. `resolve.alias` maps ONLY `@blackbelt-technology/pi-dashboard-shared`→worktree-local src (worktree-local shared wins over the hoisted symlink). No vendor aliases: the vendored relay imports `../../../../shims/*.js` relative to itself. Registered in ROOT `vitest.config.ts` `test.projects`. |