@jobshimo/browser-link 0.20.0 → 0.22.0

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.
Files changed (45) hide show
  1. package/README.md +74 -70
  2. package/dist/bridge/events.d.ts +1 -1
  3. package/dist/bridge/events.js +6 -1
  4. package/dist/bridge/events.js.map +1 -1
  5. package/dist/bridge/ipc-client.d.ts +6 -7
  6. package/dist/bridge/ipc-client.js +4 -3
  7. package/dist/bridge/ipc-client.js.map +1 -1
  8. package/dist/bridge/protocol.d.ts +28 -16
  9. package/dist/bridge/protocol.js +23 -7
  10. package/dist/bridge/protocol.js.map +1 -1
  11. package/dist/bridge/server.d.ts +8 -10
  12. package/dist/bridge/server.js.map +1 -1
  13. package/dist/bridge/ws-bridge.d.ts +53 -18
  14. package/dist/bridge/ws-bridge.js +129 -21
  15. package/dist/bridge/ws-bridge.js.map +1 -1
  16. package/dist/cli.js +62 -2
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/config.d.ts +5 -0
  19. package/dist/commands/config.js +62 -8
  20. package/dist/commands/config.js.map +1 -1
  21. package/dist/commands/map.d.ts +2 -0
  22. package/dist/commands/map.js +698 -0
  23. package/dist/commands/map.js.map +1 -0
  24. package/dist/config.d.ts +19 -0
  25. package/dist/config.js.map +1 -1
  26. package/dist/extension/background.js +424 -1
  27. package/dist/extension/background.js.map +1 -1
  28. package/dist/extension/flow-recording-policy.d.ts +47 -0
  29. package/dist/extension/flow-recording-policy.js +54 -0
  30. package/dist/extension/flow-recording-policy.js.map +1 -0
  31. package/dist/extension/inpage/recorder.d.ts +35 -0
  32. package/dist/extension/inpage/recorder.js +333 -0
  33. package/dist/extension/inpage/recorder.js.map +1 -0
  34. package/dist/extension/manifest.json +1 -1
  35. package/dist/extension/popup.html +56 -0
  36. package/dist/extension/popup.js +195 -4
  37. package/dist/extension/popup.js.map +1 -1
  38. package/dist/extension/recording.d.ts +158 -0
  39. package/dist/extension/recording.js +214 -0
  40. package/dist/extension/recording.js.map +1 -0
  41. package/dist/map/queries.d.ts +107 -0
  42. package/dist/map/queries.js +174 -0
  43. package/dist/map/queries.js.map +1 -1
  44. package/dist/messages.d.ts +53 -12
  45. package/package.json +1 -1
package/README.md CHANGED
@@ -17,9 +17,23 @@
17
17
 
18
18
  MCP server that bridges any MCP-compatible client (Claude Code, OpenCode,
19
19
  GitHub Copilot CLI, and friends) to the Chrome tabs you grant access to,
20
- through a small WebSocket relay and a companion Chrome extension. Ships
21
- with a persistent UI map so the agent remembers selectors, flows and
22
- gotchas it learned about each app, across sessions.
20
+ through a small WebSocket relay and a companion Chrome extension. Only
21
+ tabs you explicitly connect are ever reachable; everything else stays
22
+ invisible to the agent.
23
+
24
+ It exposes 31 MCP tools — 25 for driving the connected tab (read the DOM,
25
+ click, type, run JS, watch console/network, drive multi-step flows…) and 6
26
+ for a persistent UI map, a small local SQLite DB where the agent saves
27
+ selectors, flows and gotchas it learns about each app so it does not
28
+ rediscover them every session. Every tool is individually toggle-able, and
29
+ the whole thing runs loopback-only — nothing here talks to the network
30
+ except the npm registry, on `browser-link updates`.
31
+
32
+ A `browser-link` CLI binary handles setup (register with your MCP client,
33
+ show the extension install steps, diagnose the current state) and, new in
34
+ this release, lets a human inspect and manage the persistent map directly
35
+ from a terminal — list known apps, read what was saved about one of them,
36
+ delete stale knowledge, or export/import it as JSON.
23
37
 
24
38
  ## Install
25
39
 
@@ -29,98 +43,81 @@ npm install -g @jobshimo/browser-link
29
43
 
30
44
  This puts the `browser-link` binary on your PATH on macOS, Linux and Windows.
31
45
 
32
- ## Set it up
46
+ ## Quick start
33
47
 
34
- The fastest path is the interactive UI — a full-screen [Ink](https://github.com/vadimdemedes/ink)-based app with a pinned header, live status of every MCP client, and sub-screens that swap in place (no flicker, no scroll-off):
48
+ The fastest path is the interactive UI — a full-screen [Ink](https://github.com/vadimdemedes/ink)-based app with a pinned header, live status of every MCP client, and sub-screens that swap in place:
35
49
 
36
50
  ```bash
37
51
  browser-link
38
52
  ```
39
53
 
40
- That opens the welcome / disclaimer screen (English or Spanish), and then
41
- the setup menu where you can register `browser-link` with **Claude Code**,
42
- **OpenCode**, or **GitHub Copilot CLI**, see the Chrome extension install
43
- steps, run a doctor diagnose, and open the about / help page.
54
+ That opens the welcome screen and then a setup menu to register with
55
+ **Claude Code**, **OpenCode** or **GitHub Copilot CLI**, see the Chrome
56
+ extension install steps, run a doctor diagnose, and manage per-tool
57
+ permissions.
44
58
 
45
- If you prefer direct commands:
59
+ Or drive it directly:
46
60
 
47
61
  ```bash
48
62
  browser-link install # register in every detected client
49
63
  browser-link install --client claude # register only in Claude Code
50
- browser-link install --client opencode # register only in OpenCode
51
- browser-link install --client copilot # register only in GitHub Copilot CLI
52
- browser-link uninstall --client opencode # remove from one client
53
64
  browser-link extension # show the Chrome extension assets path + steps
54
65
  browser-link doctor # diagnose current setup
55
- browser-link tools # show which MCP tools are enabled / disabled
56
- browser-link tools disable browser.evaluate
66
+ browser-link tools # show which of the 31 MCP tools are enabled
57
67
  browser-link tools preset readonly # all | readonly | no-eval | no-map
58
- browser-link updates # check the npm registry for a newer version
59
- browser-link about # what this is, how it works, every tool
68
+ browser-link map # list apps the persistent UI map knows about
69
+ browser-link about # full help every command, every tool
60
70
  ```
61
71
 
62
- ## Per-tool permissions
72
+ After `install`, restart your MCP client. After `extension`, load the
73
+ unpacked extension as instructed, then click "Connect this tab" on every
74
+ tab you want the agent to reach.
63
75
 
64
- `browser-link` exposes 17 MCP tools by default — 10 browser-bridge tools,
65
- 6 UI-map tools, and `browser.events` for bridge traceability. You can
66
- disable any subset per machine, either through the **Permissions** screen
67
- in the interactive menu (toggle with Space, apply a preset with Enter,
68
- save with `s`) or through the scriptable `browser-link tools` subcommand.
69
- Available presets: `all` (default), `readonly`, `no-eval`, `no-map`.
70
- Changes take effect the next time your MCP client starts the server.
76
+ ## The 31 tools, at a glance
71
77
 
72
- ## Multi-agent mode
78
+ | Family | Count | What it covers |
79
+ | -------------------------- | ----: | ----------------------------------------------------------------------------------- |
80
+ | Browser bridge — read | 13 | list/claim tabs, snapshot/find/state, console, network, wait_for(_tab), events |
81
+ | Browser bridge — actions | 12 | navigate, click, type, press, drag, flow, evaluate, dialogs, permissions, reset |
82
+ | Persistent UI map | 6 | recall, save, record_use, forget, rename_app, apps |
73
83
 
74
- By default only one MCP client can have browser-link active at a time
75
- (EADDRINUSE on the second). Enable multi-agent mode and the second
76
- `browser-link` spawn becomes a proxy that forwards MCP requests to the
77
- first via `127.0.0.1:17530`, with the same kernel-level process binding
78
- the WS port already uses. All connected clients share the same Chrome
79
- tabs and persistent UI map.
84
+ Every tool can be disabled per machine via `browser-link tools disable
85
+ <name>` or a preset (`all` / `readonly` / `no-eval` / `no-map`). The full
86
+ tool-by-tool reference every name, its exact contract, and the
87
+ Shadow-DOM/iframe piercing and occlusion rules the bridge tools follow
88
+ lives in the [GitHub README](https://github.com/jobshimo/browser-link#what-the-agent-can-do);
89
+ this page stays a landing page on purpose.
80
90
 
81
- ```bash
82
- browser-link multi-agent enable
83
- browser-link multi-agent auto-reelect enable # optional
84
- ```
85
-
86
- With `auto-reelect` on, secondary proxies survive the primary closing:
87
- they enter a 5-second reconnect window, return `-32001 "temporarily
88
- unavailable"` for in-flight requests, and hot-swap to the fresh primary
89
- once it appears. The agent self-recovers from stale tab ids via the new
90
- `browser.events` tool, which surfaces a ring buffer of bridge lifecycle
91
- events (`primary-elected`, `tab-registered`, `tab-disconnected`,
92
- `tab-renamed`). The Chrome extension preserves the per-tab id across
93
- primary swaps via `chrome.storage.session`.
94
-
95
- After `install`, restart the MCP client so it picks up the new entry.
96
- After `extension`, follow the printed steps to load the unpacked extension
97
- in Chrome. Then click "Connect this tab" on every tab you want the agent to reach
98
- — and only on those.
99
-
100
- ## Supported MCP clients
91
+ ## `browser-link map` — inspect and manage the persistent map
101
92
 
102
- | Client | Config file written |
103
- | -------------------------------------------------------------------- | ---------------------------------------------------------------- |
104
- | [Claude Code](https://docs.claude.com/claude-code) | `~/.claude.json` (`%USERPROFILE%\.claude.json` on Windows) |
105
- | [OpenCode](https://opencode.ai) | `~/.config/opencode/opencode.json` on **every** OS (Win incl.) |
106
- | [GitHub Copilot CLI](https://docs.github.com/en/copilot/copilot-cli) | `~/.copilot/mcp-config.json` (override via `COPILOT_HOME` env) |
93
+ The 6 map tools above are how an *agent* reads and writes the map while it
94
+ works. `browser-link map` is how a *human* looks at the same data from a
95
+ terminal, no agent required:
107
96
 
108
- Every registration is idempotent — re-running `install` updates the
109
- entry instead of duplicating it. `uninstall --client <id>` removes it
110
- cleanly without touching anything else in the file.
111
-
112
- ## Tools exposed
97
+ ```bash
98
+ browser-link map # list every known app
99
+ browser-link map show <app> # entries + flows for one app (app_key or origin)
100
+ browser-link map forget <app> --yes # delete a whole app and its data
101
+ browser-link map forget <app> --flow <name> # delete just one named flow
102
+ browser-link map export --out map.json # back up the map as JSON
103
+ browser-link map import map.json # restore it (merge by default, --replace to overwrite)
104
+ ```
113
105
 
114
- Browser bridge: `browser.list_tabs`, `browser.ping`, `browser.navigate`,
115
- `browser.snapshot`, `browser.click`, `browser.type`, `browser.evaluate`,
116
- `browser.console`, `browser.network`, `browser.network_body`.
106
+ > **Privacy note.** An export can contain UI structure and flow steps an
107
+ > agent saved — selectors, page notes, multi-step recipes. Review a file
108
+ > before sharing it. The map is designed so agents never write real domain
109
+ > data into it (IDs, names, dates — placeholders like `<QUERY>` stand in
110
+ > instead), but an export is only as clean as what was actually saved.
117
111
 
118
- UI map (persistent across sessions): `browser.map.recall`,
119
- `browser.map.save`, `browser.map.record_use`, `browser.map.forget`,
120
- `browser.map.rename_app`, `browser.map.apps`.
112
+ ## Also inside
121
113
 
122
- The server also ships usage instructions for the agent via the MCP
123
- `initialize` handshake — no manual prompt setup required.
114
+ - **Supported clients**: Claude Code, OpenCode, GitHub Copilot CLI see
115
+ [Quick start](https://github.com/jobshimo/browser-link#quick-start) for
116
+ exact config paths.
117
+ - **Multi-agent mode** (on by default): more than one MCP client can share
118
+ the same bridge and map. `browser-link multi-agent` shows the current
119
+ state; see [Multi-agent mode](https://github.com/jobshimo/browser-link#multi-agent-mode)
120
+ for how it works.
124
121
 
125
122
  ## Where the data lives
126
123
 
@@ -134,6 +131,13 @@ Override with `BROWSER_LINK_DATA_DIR`. The database is local to your
134
131
  machine and never uploaded anywhere by this package. The WebSocket relay
135
132
  binds to `127.0.0.1:17529` (loopback only).
136
133
 
134
+ ## Learn more
135
+
136
+ The [GitHub README](https://github.com/jobshimo/browser-link#readme) has
137
+ the full picture: every tool's contract, multi-agent mode, the "how it
138
+ works" architecture diagram, supported MCP clients, and the FAQ on
139
+ Chrome's debugger infobar.
140
+
137
141
  ## License
138
142
 
139
143
  MIT — see [LICENSE](https://github.com/jobshimo/browser-link/blob/main/LICENSE).
@@ -10,7 +10,7 @@
10
10
  * `primary-elected` event as the fundamental marker — older history is
11
11
  * intentionally lost (the agent has nothing useful to do with it anyway).
12
12
  */
13
- export type BridgeEventKind = 'primary-elected' | 'tab-registered' | 'tab-disconnected' | 'tab-renamed' | 'tab-claimed' | 'tab-released' | 'tab-claim-rejected' | 'dialog-opening' | 'dialog-closed' | 'tab-created';
13
+ export type BridgeEventKind = 'primary-elected' | 'tab-registered' | 'tab-disconnected' | 'tab-renamed' | 'tab-claimed' | 'tab-released' | 'tab-claim-rejected' | 'dialog-opening' | 'dialog-closed' | 'tab-created' | 'flow-recorded';
14
14
  export declare function isExtensionEventKind(kind: string): kind is BridgeEventKind;
15
15
  export interface BridgeEvent {
16
16
  /** Monotonic id assigned by addEvent. */
@@ -12,7 +12,12 @@
12
12
  */
13
13
  /** Kinds the extension is permitted to push via `bridge.event`. Lifecycle
14
14
  * events (primary-elected, tab-registered, etc.) are produced server-side
15
- * and must NOT be spoofable from the extension side. */
15
+ * and must NOT be spoofable from the extension side. `flow-recorded` is
16
+ * ALSO server-owned — the extension sends the dedicated `flow.recorded`
17
+ * message (validated + persisted by `ws-bridge.ts`'s
18
+ * `handleFlowRecordedMessage`), never a raw `bridge.event`, so a recipe
19
+ * cannot be announced to `browser.events` without having actually passed
20
+ * `validateFlowSteps` and landed in the map. */
16
21
  const EXTENSION_EVENT_KINDS = new Set([
17
22
  'dialog-opening',
18
23
  'dialog-closed',
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/bridge/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/bridge/events.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type SettingsPushPayload } from './protocol.js';
1
2
  /** Raised when the proxy cannot complete the IPC handshake. */
2
3
  export declare class HandshakeError extends Error {
3
4
  constructor(message: string);
@@ -38,14 +39,12 @@ export declare class IpcClient {
38
39
  sendMcpRequest(jsonRpcPayload: unknown): Promise<unknown>;
39
40
  /**
40
41
  * Push a settings update to the primary (used by `browser-link config set
41
- * idle-ttl` — see `commands/config.ts`). Resolves with how many currently
42
- * connected extension tabs the primary forwarded a `settings.update` to.
43
- * Rejects if the socket closes before the ack arrives.
42
+ * idle-ttl` / `config set flow-recording` — see `commands/config.ts`).
43
+ * Resolves with how many currently connected extension tabs the primary
44
+ * forwarded a `settings.update` to. Rejects if the socket closes before
45
+ * the ack arrives.
44
46
  */
45
- sendSettingsPush(settings: {
46
- idleTtlMinutes: number;
47
- updatedAt: number;
48
- }): Promise<{
47
+ sendSettingsPush(settings: SettingsPushPayload): Promise<{
49
48
  notified: number;
50
49
  }>;
51
50
  /** Forward a JSON-RPC notification as an mcp.notification frame. Fire-
@@ -121,9 +121,10 @@ export class IpcClient {
121
121
  }
122
122
  /**
123
123
  * Push a settings update to the primary (used by `browser-link config set
124
- * idle-ttl` — see `commands/config.ts`). Resolves with how many currently
125
- * connected extension tabs the primary forwarded a `settings.update` to.
126
- * Rejects if the socket closes before the ack arrives.
124
+ * idle-ttl` / `config set flow-recording` — see `commands/config.ts`).
125
+ * Resolves with how many currently connected extension tabs the primary
126
+ * forwarded a `settings.update` to. Rejects if the socket closes before
127
+ * the ack arrives.
127
128
  */
128
129
  sendSettingsPush(settings) {
129
130
  const socket = this.socket;
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-client.js","sourceRoot":"","sources":["../../src/bridge/ipc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc-client.js","sourceRoot":"","sources":["../../src/bridge/ipc-client.ts"],"names":[],"mappings":"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"}
@@ -71,25 +71,37 @@ export interface PrimaryClosingFrame {
71
71
  reason?: string;
72
72
  }
73
73
  /**
74
- * One-shot push from a `browser-link config set idle-ttl` CLI invocation to
75
- * the running primary — proxy → primary despite the "settings" name, same
76
- * direction as `mcp.request`. The CLI process is short-lived: it connects,
77
- * sends exactly one of these, waits for the ack, and disconnects. Reuses
78
- * the IPC bridge instead of a bespoke side channel because it is already
79
- * the primary's one existing local control plane (token-authenticated,
80
- * loopback-only, same trust boundary as the multi-agent proxy protocol).
74
+ * One-shot push from a `browser-link config set idle-ttl` / `config set
75
+ * flow-recording` CLI invocation to the running primary — proxy → primary
76
+ * despite the "settings" name, same direction as `mcp.request`. The CLI
77
+ * process is short-lived: it connects, sends exactly one of these, waits
78
+ * for the ack, and disconnects. Reuses the IPC bridge instead of a bespoke
79
+ * side channel because it is already the primary's one existing local
80
+ * control plane (token-authenticated, loopback-only, same trust boundary
81
+ * as the multi-agent proxy protocol).
82
+ *
83
+ * Carries either the idle-TTL pair, the flow-recording pair, or both — see
84
+ * `SettingsPushPayload`. `updatedAt` / `flowRecordingUpdatedAt` is stamped
85
+ * ONCE by the CLI (the same value it just wrote to config.json) and
86
+ * carried through unchanged rather than re-stamped server-side — so the
87
+ * value pushed to already-connected tabs right now and the value a NEW tab
88
+ * reads from config.json a moment later always agree, instead of racing
89
+ * two `Date.now()` calls a few ms apart.
81
90
  */
82
91
  export interface SettingsPushFrame {
83
92
  kind: 'settings.push';
84
- /** `updatedAt` is stamped ONCE by the CLI (the same value it just wrote
85
- * to config.json) and carried through unchanged rather than re-stamped
86
- * server-side so the value pushed to already-connected tabs right now
87
- * and the value a NEW tab reads from config.json a moment later always
88
- * agree, instead of racing two `Date.now()` calls a few ms apart. */
89
- settings: {
90
- idleTtlMinutes: number;
91
- updatedAt: number;
92
- };
93
+ settings: SettingsPushPayload;
94
+ }
95
+ /** Shape shared by `SettingsPushFrame.settings`, `sendSettingsPush`,
96
+ * `IpcServerOptions.pushSettings` and `pushSettingsToAllTabs` one type so
97
+ * the IPC push path and the WS `settings.update` payload it feeds can never
98
+ * drift apart. Every field optional: a push may carry only the idle-TTL
99
+ * pair, only the flow-recording pair, or both. */
100
+ export interface SettingsPushPayload {
101
+ idleTtlMinutes?: number;
102
+ updatedAt?: number;
103
+ flowRecordingEnabled?: boolean;
104
+ flowRecordingUpdatedAt?: number;
93
105
  }
94
106
  /** Primary's reply to `settings.push` — how many currently-connected
95
107
  * extension tabs were sent a `settings.update` as a result. */
@@ -72,14 +72,30 @@ export function parseFrame(line) {
72
72
  if (!o.settings || typeof o.settings !== 'object')
73
73
  return null;
74
74
  const s = o.settings;
75
- if (typeof s.idleTtlMinutes !== 'number' || !Number.isFinite(s.idleTtlMinutes))
75
+ const hasIdlePair = 'idleTtlMinutes' in s || 'updatedAt' in s;
76
+ const hasFlowPair = 'flowRecordingEnabled' in s || 'flowRecordingUpdatedAt' in s;
77
+ if (!hasIdlePair && !hasFlowPair)
76
78
  return null;
77
- if (typeof s.updatedAt !== 'number' || !Number.isFinite(s.updatedAt))
78
- return null;
79
- return {
80
- kind: 'settings.push',
81
- settings: { idleTtlMinutes: s.idleTtlMinutes, updatedAt: s.updatedAt },
82
- };
79
+ const settings = {};
80
+ if (hasIdlePair) {
81
+ if (typeof s.idleTtlMinutes !== 'number' || !Number.isFinite(s.idleTtlMinutes))
82
+ return null;
83
+ if (typeof s.updatedAt !== 'number' || !Number.isFinite(s.updatedAt))
84
+ return null;
85
+ settings.idleTtlMinutes = s.idleTtlMinutes;
86
+ settings.updatedAt = s.updatedAt;
87
+ }
88
+ if (hasFlowPair) {
89
+ if (typeof s.flowRecordingEnabled !== 'boolean')
90
+ return null;
91
+ if (typeof s.flowRecordingUpdatedAt !== 'number' ||
92
+ !Number.isFinite(s.flowRecordingUpdatedAt)) {
93
+ return null;
94
+ }
95
+ settings.flowRecordingEnabled = s.flowRecordingEnabled;
96
+ settings.flowRecordingUpdatedAt = s.flowRecordingUpdatedAt;
97
+ }
98
+ return { kind: 'settings.push', settings };
83
99
  }
84
100
  case 'settings.push-ack':
85
101
  if (typeof o.notified === 'number' && Number.isFinite(o.notified))
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/bridge/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/bridge/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;wCACwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAwH1C,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACtC,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,OAAO;YACV,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;gBAC9D,OAAO,CAA0B,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,KAAK,WAAW;YACd,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;gBAClE,OAAO,CAA6B,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,KAAK,cAAc;YACjB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,CAAgC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,KAAK,aAAa;YAChB,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC;gBAAE,OAAO,CAA+B,CAAC;YAC9F,OAAO,IAAI,CAAC;QACd,KAAK,cAAc;YACjB,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,IAAI,CAAC;gBACnD,OAAO,CAAgC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,KAAK,kBAAkB;YACrB,IAAI,SAAS,IAAI,CAAC;gBAAE,OAAO,CAAoC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,iBAAiB;YACpB,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aAC5D,CAAC;QACJ,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,QAAmC,CAAC;YAChD,MAAM,WAAW,GAAG,gBAAgB,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,sBAAsB,IAAI,CAAC,IAAI,wBAAwB,IAAI,CAAC,CAAC;YACjF,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAC9C,MAAM,QAAQ,GAAwB,EAAE,CAAC;YACzC,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC5F,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAClF,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;gBAC3C,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YACnC,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,CAAC,oBAAoB,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC;gBAC7D,IACE,OAAO,CAAC,CAAC,sBAAsB,KAAK,QAAQ;oBAC5C,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAC1C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,QAAQ,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC;gBACvD,QAAQ,CAAC,sBAAsB,GAAG,CAAC,CAAC,sBAAsB,CAAC;YAC7D,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;QAC7C,CAAC;QACD,KAAK,mBAAmB;YACtB,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/D,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,WAAW,KAAK,oBAAoB,CAAC;AAC9C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type PeerProcess } from '../auth/process-identity.js';
2
+ import { type SettingsPushPayload } from './protocol.js';
2
3
  import { type DispatchDeps } from './dispatch.js';
3
4
  export interface IpcServerOptions {
4
5
  /** Override the bind host. Default 127.0.0.1. Production callers should
@@ -14,17 +15,14 @@ export interface IpcServerOptions {
14
15
  peerLookup?: (host: string, port: number) => Promise<PeerProcess | null>;
15
16
  /**
16
17
  * Called when a `settings.push` frame arrives (from `browser-link config
17
- * set idle-ttl`'s one-shot IPC client). Should forward the settings to
18
- * every currently-connected extension tab (see `ws-bridge.ts`'s
19
- * `pushSettingsToAllTabs`) and return how many tabs were notified — that
20
- * count is echoed back in the `settings.push-ack` reply. Left undefined
21
- * in tests that don't exercise this path; production wiring is in
22
- * `server.ts`'s `runPrimary`.
18
+ * set idle-ttl` / `config set flow-recording`'s one-shot IPC client).
19
+ * Should forward the settings to every currently-connected extension tab
20
+ * (see `ws-bridge.ts`'s `pushSettingsToAllTabs`) and return how many tabs
21
+ * were notified — that count is echoed back in the `settings.push-ack`
22
+ * reply. Left undefined in tests that don't exercise this path;
23
+ * production wiring is in `server.ts`'s `runPrimary`.
23
24
  */
24
- pushSettings?: (settings: {
25
- idleTtlMinutes: number;
26
- updatedAt: number;
27
- }) => number;
25
+ pushSettings?: (settings: SettingsPushPayload) => number;
28
26
  }
29
27
  export declare class IpcServer {
30
28
  private deps;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/bridge/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/bridge/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { WebSocket, WebSocketServer } from 'ws';
2
- import type { SettingsUpdateMessage } from '../messages.js';
2
+ import type { FlowRecordedPayload, ServerToExtension, SettingsUpdateMessage } from '../messages.js';
3
3
  import { type BridgeEventLog } from './events.js';
4
4
  export declare const WS_HOST = "127.0.0.1";
5
5
  export declare const WS_PORT = 17529;
@@ -22,35 +22,70 @@ export declare function isAddrInUse(err: unknown): boolean;
22
22
  export declare function startWsBridge(tabs: Map<string, TabSession>, pendingRequests: Map<string, PendingRequest>, events: BridgeEventLog): Promise<WebSocketServer>;
23
23
  /**
24
24
  * Build the `settings.update` a freshly-registered tab should receive, or
25
- * `null` when nothing should be sent. `idleTtlMinutes` stays undefined in
26
- * config.json until `browser-link config set idle-ttl` runs at least once —
27
- * a popup-only user (who never touched the CLI) never gets an unsolicited
28
- * settings.update overwriting their own popup choice. Note `0` ("never")
29
- * IS a real value and MUST push only `undefined` suppresses the message.
30
- * See messages.ts's SettingsUpdatePayload doc for the newest-wins
25
+ * `null` when nothing should be sent. Each of `idleTtlMinutes` and
26
+ * `flowRecordingEnabled` independently stays undefined in config.json until
27
+ * its own `browser-link config set` command runs at least once a
28
+ * popup-only user (who never touched the CLI) never gets an unsolicited
29
+ * settings.update overwriting their own popup choice for that setting.
30
+ * Note idle-ttl's `0` ("never") and flow-recording's `false` ("off") ARE
31
+ * real values and MUST push — only `undefined` suppresses a given pair, and
32
+ * the two pairs are independent (a message can carry one, the other, or
33
+ * both). See messages.ts's SettingsUpdatePayload doc for the newest-wins
31
34
  * precedence rule the extension applies on receipt. Exported so the
32
35
  * register-path push is unit-testable without binding the fixed WS port.
33
36
  */
34
37
  export declare function buildRegisterSettingsUpdate(cfg: {
35
38
  idleTtlMinutes?: number;
36
39
  idleTtlUpdatedAt?: number;
40
+ flowRecordingEnabled?: boolean;
41
+ flowRecordingUpdatedAt?: number;
37
42
  }): SettingsUpdateMessage | null;
38
43
  /**
39
44
  * Push a `settings.update` to every currently-connected extension tab.
40
45
  * Called from the IPC bridge's `settings.push` handler (see
41
46
  * `bridge/server.ts`'s `pushSettings` option) when `browser-link config set
42
- * idle-ttl` runs while a primary is already up — the "on demand, while
43
- * connected" half of the precedence contract; the "on (re)connect" half
44
- * lives inline in `startWsBridge`'s `tab.register` handler above (via
45
- * `buildRegisterSettingsUpdate`), since a tab that connects AFTER this push
46
- * already gets the fresh value from config.json directly. Returns how many
47
- * tabs were sent the update, so the CLI can report something more useful
48
- * than "done" (e.g. "0 tabs connected — applies next time one connects").
47
+ * idle-ttl` / `config set flow-recording` runs while a primary is already
48
+ * up — the "on demand, while connected" half of the precedence contract;
49
+ * the "on (re)connect" half lives inline in `startWsBridge`'s
50
+ * `tab.register` handler above (via `buildRegisterSettingsUpdate`), since a
51
+ * tab that connects AFTER this push already gets the fresh value from
52
+ * config.json directly. Returns how many tabs were sent the update, so the
53
+ * CLI can report something more useful than "done" (e.g. "0 tabs
54
+ * connected — applies next time one connects").
49
55
  */
50
- export declare function pushSettingsToAllTabs(tabs: Map<string, TabSession>, settings: {
51
- idleTtlMinutes: number;
52
- updatedAt: number;
53
- }): number;
56
+ export declare function pushSettingsToAllTabs(tabs: Map<string, TabSession>, settings: SettingsUpdateMessage['settings']): number;
57
+ /**
58
+ * Validate + persist a `flow.recorded` message from the extension (see the
59
+ * extension's `background.ts`'s `saveRecording`) and build the
60
+ * `flow.recorded.result` reply. Exported so it is unit-testable directly,
61
+ * without binding the fixed WS port — same rationale as
62
+ * `buildRegisterSettingsUpdate` above.
63
+ *
64
+ * `steps` is validated with the EXACT same `validateFlowSteps` rules
65
+ * `browser.flow` and `browser.map.save`'s `flows` array enforce — an
66
+ * invalid recording (over the step cap, a malformed step, an over-budget
67
+ * wait_for) is rejected here with the same actionable error message an
68
+ * agent would see from `browser.flow`, sent back to the popup so the user
69
+ * knows WHY the save failed rather than it silently vanishing.
70
+ * `origin` is untrusted free text from the extension and is canonicalized
71
+ * the normal way (`saveFlow` -> `upsertApp` -> `canonicalOrigin`), exactly
72
+ * like every other write path into the map.
73
+ *
74
+ * On success, emits a SERVER-OWNED `flow-recorded` bridge event (see
75
+ * `events.ts` — this kind is deliberately absent from
76
+ * `EXTENSION_EVENT_KINDS`, so it can only ever be produced by a recording
77
+ * that actually passed validation and landed in the map, never spoofed via
78
+ * a raw `bridge.event`) so `browser.events` surfaces the new recipe to any
79
+ * agent watching, per the mission's "agents notice new recipes" requirement.
80
+ */
81
+ /** Length caps on the free-text fields of a recorded flow — consistent
82
+ * with the selector cap on the recorder side and the map's general "store
83
+ * UI structure, not blobs" posture. Generous enough for any real recipe
84
+ * name / caution note, small enough that the channel cannot be used to
85
+ * park large payloads in the map DB. */
86
+ export declare const MAX_FLOW_NAME_LENGTH = 200;
87
+ export declare const MAX_FLOW_DESCRIPTION_LENGTH = 2000;
88
+ export declare function handleFlowRecordedMessage(payload: FlowRecordedPayload, events: BridgeEventLog): ServerToExtension;
54
89
  /** Build the callback that sends a tool.request frame to a specific tab and
55
90
  * resolves with the matching tool.response (or rejects on timeout). Kept here
56
91
  * because it touches the same `tabs` / `pendingRequests` maps the bridge