@jobshimo/browser-link 0.26.0 → 0.27.1
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/dist/agent-instructions/content.js +53 -6
- package/dist/agent-instructions/content.js.map +1 -1
- package/dist/bridge/events.d.ts +1 -1
- package/dist/bridge/events.js +11 -1
- package/dist/bridge/events.js.map +1 -1
- package/dist/bridge/ws-bridge.d.ts +18 -0
- package/dist/bridge/ws-bridge.js +24 -0
- package/dist/bridge/ws-bridge.js.map +1 -1
- package/dist/cdp/detached-flows.d.ts +127 -0
- package/dist/cdp/detached-flows.js +272 -0
- package/dist/cdp/detached-flows.js.map +1 -0
- package/dist/cdp/support.js +2 -0
- package/dist/cdp/support.js.map +1 -1
- package/dist/cdp/transport.js +105 -20
- package/dist/cdp/transport.js.map +1 -1
- package/dist/extension/background.js +396 -37
- package/dist/extension/background.js.map +1 -1
- package/dist/extension/flow-registry.d.ts +298 -13
- package/dist/extension/flow-registry.js +443 -37
- package/dist/extension/flow-registry.js.map +1 -1
- package/dist/extension/manifest.json +1 -1
- package/dist/extension/popup.html +15 -0
- package/dist/extension/popup.js +6 -0
- package/dist/extension/popup.js.map +1 -1
- package/dist/messages.d.ts +9 -5
- package/dist/permissions.js +12 -0
- package/dist/permissions.js.map +1 -1
- package/dist/server.js +10 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/browser-definitions.js +63 -2
- package/dist/tools/browser-definitions.js.map +1 -1
- package/dist/tools/browser-dispatch.d.ts +13 -0
- package/dist/tools/browser-dispatch.js +149 -22
- package/dist/tools/browser-dispatch.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detached-flow bookkeeping for the cdp-direct transport — the in-process
|
|
3
|
+
* counterpart of the extension's `flow-registry.ts`.
|
|
4
|
+
*
|
|
5
|
+
* The two exist for the same reason and answer the same three questions
|
|
6
|
+
* (`what is running on this tab`, `what is this flow doing`, `stop it`),
|
|
7
|
+
* but they are deliberately NOT a shared module and not a verbatim copy
|
|
8
|
+
* under the drift guard. The extension's version has to survive service
|
|
9
|
+
* worker termination, so it persists records to `chrome.storage.session`
|
|
10
|
+
* and reconciles them on restart; here there is nothing to survive — the
|
|
11
|
+
* runner lives in this Node process, so if the process dies the flow dies
|
|
12
|
+
* with it and there is no state left to be wrong about. That difference is
|
|
13
|
+
* most of the extension file, and pretending the two are the same shape
|
|
14
|
+
* would import a persistence model this side has no use for.
|
|
15
|
+
*
|
|
16
|
+
* What IS identical is the contract an agent sees: the same `flow_status`
|
|
17
|
+
* payload keys, the same `'unknown'` answer for an id nobody recognises,
|
|
18
|
+
* the same one-detached-flow-per-tab rule, the same 30-minute ceiling, and
|
|
19
|
+
* exactly one summary `flow-finished` event per detached flow. On this
|
|
20
|
+
* transport the event is added to `BridgeEventLog` directly (there is no
|
|
21
|
+
* extension to push a `bridge.event` frame), through a sink `server.ts`
|
|
22
|
+
* installs at startup.
|
|
23
|
+
*/
|
|
24
|
+
/** Mirrors `MAX_DETACHED_FLOW_MS` in the extension's `flow-registry.ts` and
|
|
25
|
+
* `MAX_DETACHED_FLOW_TIMEOUT_MS` in `tools/browser-dispatch.ts`. Kept in
|
|
26
|
+
* sync manually — the three live in packages that share no module. */
|
|
27
|
+
export const MAX_DETACHED_FLOW_MS = 30 * 60_000;
|
|
28
|
+
/** How many finished detached flows keep their manifest addressable.
|
|
29
|
+
* Oldest-first eviction. Unlike the extension's cap this is a memory bound
|
|
30
|
+
* rather than a storage-quota one, but the reasoning is the same: the
|
|
31
|
+
* access pattern is "the agent that launched it reads the manifest once". */
|
|
32
|
+
export const MAX_DETACHED_FLOW_RECORDS = 10;
|
|
33
|
+
/** Byte ceiling on ONE finished flow's manifest. Mirrors
|
|
34
|
+
* `MAX_DETACHED_MANIFEST_BYTES` in the extension's `flow-registry.ts`: over
|
|
35
|
+
* there the pressure is a session-storage quota, here it is process memory
|
|
36
|
+
* times `MAX_DETACHED_FLOW_RECORDS`, but the agent-visible answer has to be
|
|
37
|
+
* the same one on both transports. Over the ceiling the manifest is dropped
|
|
38
|
+
* and `manifest_truncated` says so, rather than a silently short array the
|
|
39
|
+
* agent would read as "that's all that happened". */
|
|
40
|
+
export const MAX_DETACHED_MANIFEST_BYTES = 128_000;
|
|
41
|
+
const running = new Map();
|
|
42
|
+
const finished = new Map();
|
|
43
|
+
let eventSink = null;
|
|
44
|
+
export function setCdpFlowEventSink(sink) {
|
|
45
|
+
eventSink = sink;
|
|
46
|
+
}
|
|
47
|
+
/** The detached flow already running on this tab, if any. Returned rather
|
|
48
|
+
* than a boolean so the rejection can NAME it — "busy" with no id leaves
|
|
49
|
+
* the caller unable to inspect or stop what is blocking them. */
|
|
50
|
+
export function detachedFlowForTab(tabId) {
|
|
51
|
+
for (const flow of running.values()) {
|
|
52
|
+
if (flow.tabId === tabId)
|
|
53
|
+
return { flowId: flow.flowId };
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
export function registerDetachedFlow(input) {
|
|
58
|
+
const startedAt = input.now ?? Date.now();
|
|
59
|
+
const flow = {
|
|
60
|
+
flowId: input.flowId,
|
|
61
|
+
tabId: input.tabId,
|
|
62
|
+
startedAt,
|
|
63
|
+
steps: input.steps,
|
|
64
|
+
expiresAt: startedAt + MAX_DETACHED_FLOW_MS,
|
|
65
|
+
cancelled: false,
|
|
66
|
+
step: 0,
|
|
67
|
+
};
|
|
68
|
+
running.set(flow.flowId, flow);
|
|
69
|
+
return flow;
|
|
70
|
+
}
|
|
71
|
+
/** Record progress — bound to `runFlow`'s `onProgress`. */
|
|
72
|
+
export function reportDetachedProgress(flowId, progress) {
|
|
73
|
+
const flow = running.get(flowId);
|
|
74
|
+
if (!flow)
|
|
75
|
+
return;
|
|
76
|
+
flow.step = progress.step;
|
|
77
|
+
flow.iteration = progress.iteration;
|
|
78
|
+
}
|
|
79
|
+
/** Flip a running flow to cancelled. Returns whether THIS call is what
|
|
80
|
+
* flipped it — an unknown id, a finished one, or a second request is a
|
|
81
|
+
* clean no-op, exactly as on the extension path. */
|
|
82
|
+
export function cancelDetachedFlow(flowId, reason = 'cancelled') {
|
|
83
|
+
const flow = running.get(flowId);
|
|
84
|
+
if (!flow || flow.cancelled)
|
|
85
|
+
return false;
|
|
86
|
+
flow.cancelled = true;
|
|
87
|
+
flow.stopReason = reason;
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
/** The per-step question, ceiling included: cancelled, or past the
|
|
91
|
+
* 30-minute deadline. Flipping the reason HERE is what makes an expiry
|
|
92
|
+
* report as `'expired'` instead of being indistinguishable from a human
|
|
93
|
+
* pressing Stop. */
|
|
94
|
+
export function shouldStopDetachedFlow(flowId, now) {
|
|
95
|
+
const flow = running.get(flowId);
|
|
96
|
+
// An id the registry has forgotten is not "still allowed to run" — see
|
|
97
|
+
// the extension registry's `shouldStop` for the same reasoning.
|
|
98
|
+
if (!flow)
|
|
99
|
+
return true;
|
|
100
|
+
if (flow.cancelled)
|
|
101
|
+
return true;
|
|
102
|
+
if (now >= flow.expiresAt) {
|
|
103
|
+
flow.cancelled = true;
|
|
104
|
+
flow.stopReason = 'expired';
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
/** Sum the completed iterations of every `repeat` step. Same derivation the
|
|
110
|
+
* extension uses, over the same `results[]`. */
|
|
111
|
+
function countIterations(results) {
|
|
112
|
+
let total;
|
|
113
|
+
for (const entry of results) {
|
|
114
|
+
if (typeof entry !== 'object' || entry === null)
|
|
115
|
+
continue;
|
|
116
|
+
const value = entry.iterations_completed;
|
|
117
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
118
|
+
continue;
|
|
119
|
+
total = (total ?? 0) + value;
|
|
120
|
+
}
|
|
121
|
+
return total;
|
|
122
|
+
}
|
|
123
|
+
/** UTF-8 byte size of a value serialized as JSON, or `Infinity` when it
|
|
124
|
+
* cannot be serialized at all (a cycle, a BigInt). Unserializable counts as
|
|
125
|
+
* over the ceiling: a manifest nothing can encode is a manifest nothing can
|
|
126
|
+
* hand back. Same measurement the extension's `measureJsonBytes` makes, so
|
|
127
|
+
* the same payload crosses the same threshold on both transports. */
|
|
128
|
+
function measureJsonBytes(value) {
|
|
129
|
+
try {
|
|
130
|
+
const json = JSON.stringify(value);
|
|
131
|
+
return typeof json === 'string'
|
|
132
|
+
? new TextEncoder().encode(json).length
|
|
133
|
+
: Number.POSITIVE_INFINITY;
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return Number.POSITIVE_INFINITY;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Retire a finished detached flow: move it to the finished map (manifest
|
|
141
|
+
* included, addressable by id), enforce the record cap, and emit the ONE
|
|
142
|
+
* summary event this flow gets — never one per iteration, which with
|
|
143
|
+
* `MAX_EVENTS = 200` would evict the entire event log on a single long run.
|
|
144
|
+
*/
|
|
145
|
+
export function finishDetachedFlow(flowId, result, now = Date.now()) {
|
|
146
|
+
const flow = running.get(flowId);
|
|
147
|
+
if (!flow)
|
|
148
|
+
return;
|
|
149
|
+
running.delete(flowId);
|
|
150
|
+
let state;
|
|
151
|
+
let stepsCompleted;
|
|
152
|
+
let manifest = [];
|
|
153
|
+
let error;
|
|
154
|
+
let iterationsCompleted;
|
|
155
|
+
if (result === null) {
|
|
156
|
+
// The runner threw (the CDP socket died, the tab closed). No result to
|
|
157
|
+
// read, so fall back to the last progress report: step N announced
|
|
158
|
+
// means N-1 finished.
|
|
159
|
+
state = 'failed';
|
|
160
|
+
stepsCompleted = Math.max(0, flow.step - 1);
|
|
161
|
+
}
|
|
162
|
+
else if (!result.ok) {
|
|
163
|
+
state = 'failed';
|
|
164
|
+
stepsCompleted = result.steps_completed;
|
|
165
|
+
error = result.error;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
manifest = result.results;
|
|
169
|
+
stepsCompleted = result.steps_completed;
|
|
170
|
+
iterationsCompleted = countIterations(result.results);
|
|
171
|
+
state =
|
|
172
|
+
result.stopped_by === 'cancelled'
|
|
173
|
+
? flow.stopReason === 'expired'
|
|
174
|
+
? 'expired'
|
|
175
|
+
: 'cancelled'
|
|
176
|
+
: 'completed';
|
|
177
|
+
}
|
|
178
|
+
// Measured on the manifest alone, exactly as the extension measures it:
|
|
179
|
+
// the rest of the record is a handful of numbers and an error string, and
|
|
180
|
+
// charging them against the ceiling would make the cutoff depend on how
|
|
181
|
+
// long a failure message happened to be.
|
|
182
|
+
const oversized = measureJsonBytes(manifest) > MAX_DETACHED_MANIFEST_BYTES;
|
|
183
|
+
finished.set(flowId, {
|
|
184
|
+
flowId,
|
|
185
|
+
tabId: flow.tabId,
|
|
186
|
+
state,
|
|
187
|
+
startedAt: flow.startedAt,
|
|
188
|
+
endedAt: now,
|
|
189
|
+
steps: flow.steps,
|
|
190
|
+
stepsCompleted,
|
|
191
|
+
...(iterationsCompleted === undefined ? {} : { iterationsCompleted }),
|
|
192
|
+
...(flow.stopReason === undefined || state === 'completed'
|
|
193
|
+
? {}
|
|
194
|
+
: { stopReason: flow.stopReason }),
|
|
195
|
+
...(error === undefined ? {} : { error }),
|
|
196
|
+
...(oversized ? { manifestTruncated: true } : { manifest }),
|
|
197
|
+
});
|
|
198
|
+
evictOldFinishedFlows();
|
|
199
|
+
eventSink?.({
|
|
200
|
+
tab_id: flow.tabId,
|
|
201
|
+
flow_id: flowId,
|
|
202
|
+
state,
|
|
203
|
+
detached: true,
|
|
204
|
+
steps: flow.steps,
|
|
205
|
+
steps_completed: stepsCompleted,
|
|
206
|
+
...(iterationsCompleted === undefined ? {} : { iterations_completed: iterationsCompleted }),
|
|
207
|
+
duration_ms: Math.max(0, now - flow.startedAt),
|
|
208
|
+
...(flow.stopReason === undefined || state === 'completed'
|
|
209
|
+
? {}
|
|
210
|
+
: { stopped_by: flow.stopReason }),
|
|
211
|
+
manifest_available: !oversized,
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
function evictOldFinishedFlows() {
|
|
215
|
+
if (finished.size <= MAX_DETACHED_FLOW_RECORDS)
|
|
216
|
+
return;
|
|
217
|
+
const oldestFirst = [...finished.values()].sort((a, b) => a.startedAt - b.startedAt);
|
|
218
|
+
for (const flow of oldestFirst.slice(0, finished.size - MAX_DETACHED_FLOW_RECORDS)) {
|
|
219
|
+
finished.delete(flow.flowId);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/** Status of any flow this process knows about, running or finished.
|
|
223
|
+
* `'unknown'` for anything else — never an error, for the same reason
|
|
224
|
+
* cancelling an unknown id is a no-op. */
|
|
225
|
+
export function detachedFlowStatus(flowId) {
|
|
226
|
+
const live = running.get(flowId);
|
|
227
|
+
if (live) {
|
|
228
|
+
return {
|
|
229
|
+
flow_id: flowId,
|
|
230
|
+
state: 'running',
|
|
231
|
+
detached: true,
|
|
232
|
+
started_at: live.startedAt,
|
|
233
|
+
steps: live.steps,
|
|
234
|
+
// The runner reports the step it is ABOUT to dispatch.
|
|
235
|
+
steps_completed: Math.max(0, live.step - 1),
|
|
236
|
+
...(live.iteration === undefined
|
|
237
|
+
? {}
|
|
238
|
+
: { iterations_completed: Math.max(0, live.iteration - 1) }),
|
|
239
|
+
...(live.cancelled ? { cancelling: true } : {}),
|
|
240
|
+
expires_at: live.expiresAt,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
const done = finished.get(flowId);
|
|
244
|
+
if (done) {
|
|
245
|
+
return {
|
|
246
|
+
flow_id: flowId,
|
|
247
|
+
state: done.state,
|
|
248
|
+
detached: true,
|
|
249
|
+
started_at: done.startedAt,
|
|
250
|
+
ended_at: done.endedAt,
|
|
251
|
+
steps: done.steps,
|
|
252
|
+
steps_completed: done.stepsCompleted,
|
|
253
|
+
...(done.iterationsCompleted === undefined
|
|
254
|
+
? {}
|
|
255
|
+
: { iterations_completed: done.iterationsCompleted }),
|
|
256
|
+
...(done.stopReason === undefined ? {} : { stopped_by: done.stopReason }),
|
|
257
|
+
...(done.error === undefined ? {} : { error: done.error }),
|
|
258
|
+
...(done.manifest === undefined ? {} : { manifest: done.manifest }),
|
|
259
|
+
...(done.manifestTruncated === true ? { manifest_truncated: true } : {}),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
return { flow_id: flowId, state: 'unknown', detached: false };
|
|
263
|
+
}
|
|
264
|
+
/** Drop every tracked flow and unwire the event sink. Test-only — module
|
|
265
|
+
* state is per-process by design and nothing on an agent-reachable path
|
|
266
|
+
* clears it. */
|
|
267
|
+
export function resetDetachedFlowsForTest() {
|
|
268
|
+
running.clear();
|
|
269
|
+
finished.clear();
|
|
270
|
+
eventSink = null;
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=detached-flows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detached-flows.js","sourceRoot":"","sources":["../../src/cdp/detached-flows.ts"],"names":[],"mappings":"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"}
|
package/dist/cdp/support.js
CHANGED
package/dist/cdp/support.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/cdp/support.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wEAAwE;AACxE,qEAAqE;AACrE,4EAA4E;AAC5E,yEAAyE;AACzE,sEAAsE;AACtE,0EAA0E;AAC1E,eAAe;AACf,MAAM,CAAC,MAAM,gBAAgB,GAAiC,IAAI,GAAG,CAAC;IACpE,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,MAAM,EAAE,KAAK,CAAC;IACf,CAAC,SAAS,EAAE,KAAK,CAAC;IAClB,CAAC,SAAS,EAAE,KAAK,CAAC;IAClB,CAAC,cAAc,EAAE,KAAK,CAAC;IACvB,CAAC,mBAAmB,EAAE,KAAK,CAAC;IAC5B,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACzB,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACzB,CAAC,cAAc,EAAE,KAAK,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED;;gCAEgC;AAChC,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI,KAAK,CACd,WAAW,IAAI,oGAAoG,CACpH,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/cdp/support.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wEAAwE;AACxE,qEAAqE;AACrE,4EAA4E;AAC5E,yEAAyE;AACzE,sEAAsE;AACtE,0EAA0E;AAC1E,eAAe;AACf,MAAM,CAAC,MAAM,gBAAgB,GAAiC,IAAI,GAAG,CAAC;IACpE,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,aAAa,EAAE,IAAI,CAAC;IACrB,CAAC,aAAa,EAAE,IAAI,CAAC;IACrB,CAAC,MAAM,EAAE,KAAK,CAAC;IACf,CAAC,SAAS,EAAE,KAAK,CAAC;IAClB,CAAC,SAAS,EAAE,KAAK,CAAC;IAClB,CAAC,cAAc,EAAE,KAAK,CAAC;IACvB,CAAC,mBAAmB,EAAE,KAAK,CAAC;IAC5B,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACzB,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACzB,CAAC,cAAc,EAAE,KAAK,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED;;gCAEgC;AAChC,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI,KAAK,CACd,WAAW,IAAI,oGAAoG,CACpH,CAAC;AACJ,CAAC"}
|
package/dist/cdp/transport.js
CHANGED
|
@@ -25,6 +25,7 @@ import { cdpUnsupportedToolError } from './support.js';
|
|
|
25
25
|
import { buildClickResolveJs, buildFindJs, buildFocusJs, buildSnapshotJs, buildStateJs, buildTypeResolveJs, } from './inpage/builders.js';
|
|
26
26
|
import { resolveSettleParams, settleSafely } from './settle.js';
|
|
27
27
|
import { buildKeyEventSequence, modifiersToBitmask, resolveKey } from './keymap.js';
|
|
28
|
+
import { cancelDetachedFlow, detachedFlowForTab, detachedFlowStatus, finishDetachedFlow, registerDetachedFlow, reportDetachedProgress, shouldStopDetachedFlow, } from './detached-flows.js';
|
|
28
29
|
import { runFlow, } from './flow.js';
|
|
29
30
|
// The declarative v1 support table lives in `./support.ts` (zero
|
|
30
31
|
// dependencies, importable by `tools/browser-dispatch.ts` without pulling
|
|
@@ -470,6 +471,26 @@ shouldCancel) {
|
|
|
470
471
|
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
471
472
|
}
|
|
472
473
|
}
|
|
474
|
+
/** The perform* bindings `runFlow` needs over one CDP connection, in one
|
|
475
|
+
* place so the foreground run, the dry-run projection and the detached run
|
|
476
|
+
* cannot drift apart — the same role `buildFlowDeps` plays in the
|
|
477
|
+
* extension's `background.ts`. */
|
|
478
|
+
function buildCdpFlowDeps(client, shouldCancel) {
|
|
479
|
+
return {
|
|
480
|
+
performFind: (fp) => performFind(client, fp),
|
|
481
|
+
performClick: (cp) => performClick(client, cp),
|
|
482
|
+
performType: (tp) => performType(client, tp),
|
|
483
|
+
performPress: (pp) => performPress(client, pp),
|
|
484
|
+
performWaitFor: (wp) => performWaitFor(client, wp, shouldCancel),
|
|
485
|
+
shouldCancel,
|
|
486
|
+
// Drag is out of cdp-direct's v1 scope (CDP_TOOL_SUPPORT maps it to
|
|
487
|
+
// false), so a flow drag step fails fast at this step with the exact
|
|
488
|
+
// error the standalone browser.drag returns on a cdp: tab — naming the
|
|
489
|
+
// extension transport as the fallback.
|
|
490
|
+
performDrag: () => Promise.resolve({ ok: false, error: cdpUnsupportedToolError('drag').message }),
|
|
491
|
+
buildRecoverySnapshot: () => evaluateInTab(client, buildSnapshotJs({ only_interactive: true, max_interactive: 40 })),
|
|
492
|
+
};
|
|
493
|
+
}
|
|
473
494
|
async function getTargetInfo(client) {
|
|
474
495
|
const info = await client.send('Target.getTargetInfo');
|
|
475
496
|
return { title: info.targetInfo.title ?? '', url: info.targetInfo.url ?? '' };
|
|
@@ -603,9 +624,16 @@ export async function callCdpTool(tabId, tool, params, timeoutMs) {
|
|
|
603
624
|
const rawSteps = Array.isArray(p.steps)
|
|
604
625
|
? p.steps.filter((s) => typeof s === 'object' && s !== null)
|
|
605
626
|
: [];
|
|
627
|
+
// Strict `=== true` on both flags: any other value runs the flow FOR
|
|
628
|
+
// REAL and in the foreground. A dry run that silently became a real
|
|
629
|
+
// run, or a foreground run that silently detached, would each be the
|
|
630
|
+
// worst possible failure of their flag.
|
|
631
|
+
const dryRun = p.dry_run === true;
|
|
632
|
+
const detach = p.dry_run !== true && p.detach === true;
|
|
633
|
+
const flowId = typeof p.flow_id === 'string' && p.flow_id.length > 0 ? p.flow_id : '';
|
|
606
634
|
// THE cdp-direct kill switch. There is no extension here and
|
|
607
635
|
// therefore no popup Stop button, so the user's only lever is
|
|
608
|
-
// `browser-link cdp revoke` — and until
|
|
636
|
+
// `browser-link cdp revoke` — and until slice 4, revoking
|
|
609
637
|
// mid-flow did nothing to the flow already running: it was
|
|
610
638
|
// grandfathered until it finished. Re-checking the gate per step
|
|
611
639
|
// turns revoke into a real stop with a worst-case latency of one
|
|
@@ -618,25 +646,82 @@ export async function callCdpTool(tabId, tool, params, timeoutMs) {
|
|
|
618
646
|
// the gate's own contract is that a revoked grant is visible to the
|
|
619
647
|
// very next check, and a cache here would be exactly the staleness
|
|
620
648
|
// window a kill switch must not have.
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
{
|
|
649
|
+
//
|
|
650
|
+
// A DETACHED flow additionally answers to `browser.flow_cancel` and
|
|
651
|
+
// to its own 30-minute ceiling, both of which live in the
|
|
652
|
+
// detached-flow registry — so on that path both questions are asked.
|
|
653
|
+
// Revoking the grant still stops a detached flow, which matters: it
|
|
654
|
+
// is the only lever a human at a terminal has here.
|
|
655
|
+
const gateAllows = () => checkCdpDirectGate().ok;
|
|
656
|
+
if (!detach) {
|
|
657
|
+
const shouldCancel = () => !gateAllows();
|
|
658
|
+
return runFlow(rawSteps, buildCdpFlowDeps(client, shouldCancel), { dryRun });
|
|
659
|
+
}
|
|
660
|
+
// ONE detached flow per tab — same rule, same reason, same error
|
|
661
|
+
// shape as the extension path (see `handleFlow` in background.ts).
|
|
662
|
+
const already = detachedFlowForTab(tabId);
|
|
663
|
+
if (already) {
|
|
664
|
+
throw new Error(`flow: a detached flow is already running on this tab (${already.flowId}). ` +
|
|
665
|
+
`Wait for it, or stop it with browser.flow_cancel, before detaching another.`);
|
|
666
|
+
}
|
|
667
|
+
const flow = registerDetachedFlow({ flowId, tabId, steps: rawSteps.length });
|
|
668
|
+
// The gate branch cancels THROUGH the registry rather than short-
|
|
669
|
+
// circuiting past it: `stopped_by: 'grant-revoked'` is the only thing
|
|
670
|
+
// that tells the agent a human pulled the grant, as opposed to
|
|
671
|
+
// `browser.flow_cancel` or the ceiling. Same reason the ceiling flips
|
|
672
|
+
// its own reason inside `shouldStopDetachedFlow`.
|
|
673
|
+
const shouldCancel = () => {
|
|
674
|
+
if (shouldStopDetachedFlow(flow.flowId, Date.now()))
|
|
675
|
+
return true;
|
|
676
|
+
if (gateAllows())
|
|
677
|
+
return false;
|
|
678
|
+
cancelDetachedFlow(flow.flowId, 'grant-revoked');
|
|
679
|
+
return true;
|
|
680
|
+
};
|
|
681
|
+
// Deliberately floating: this IS detach. The result below goes back
|
|
682
|
+
// now, the loop keeps running, and the agent's turn is free.
|
|
683
|
+
void (async () => {
|
|
684
|
+
let result = null;
|
|
685
|
+
try {
|
|
686
|
+
result = await runFlow(rawSteps, {
|
|
687
|
+
...buildCdpFlowDeps(client, shouldCancel),
|
|
688
|
+
onProgress: (progress) => {
|
|
689
|
+
reportDetachedProgress(flow.flowId, progress);
|
|
690
|
+
},
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
catch {
|
|
694
|
+
// A throw (dead CDP socket, closed tab) is a `failed` outcome,
|
|
695
|
+
// recorded below from a null result. There is no caller left to
|
|
696
|
+
// rethrow to.
|
|
697
|
+
}
|
|
698
|
+
finally {
|
|
699
|
+
finishDetachedFlow(flow.flowId, result);
|
|
700
|
+
}
|
|
701
|
+
})();
|
|
702
|
+
return {
|
|
703
|
+
detached: true,
|
|
704
|
+
started_at: flow.startedAt,
|
|
705
|
+
steps: rawSteps.length,
|
|
706
|
+
expires_at: flow.expiresAt,
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
case 'flow_status': {
|
|
710
|
+
const flowId = typeof p.flow_id === 'string' ? p.flow_id : '';
|
|
711
|
+
if (flowId.length === 0)
|
|
712
|
+
throw new Error('flow_status: flow_id required');
|
|
713
|
+
return detachedFlowStatus(flowId);
|
|
714
|
+
}
|
|
715
|
+
case 'flow_cancel': {
|
|
716
|
+
const flowId = typeof p.flow_id === 'string' ? p.flow_id : '';
|
|
717
|
+
if (flowId.length === 0)
|
|
718
|
+
throw new Error('flow_cancel: flow_id required');
|
|
719
|
+
// In-process, so the flag flips synchronously and there is no wire
|
|
720
|
+
// frame to send — the extension path's one asymmetry. The status
|
|
721
|
+
// read that follows is the same one `browser.flow_cancel` returns on
|
|
722
|
+
// either transport, so the two look identical to the agent.
|
|
723
|
+
cancelDetachedFlow(flowId);
|
|
724
|
+
return detachedFlowStatus(flowId);
|
|
640
725
|
}
|
|
641
726
|
default:
|
|
642
727
|
// Reached only if a caller bypasses CDP_TOOL_SUPPORT's gate — defense
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/cdp/transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/cdp/transport.ts"],"names":[],"mappings":"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"}
|