@te-river/opencode-team-mode 1.5.14 → 1.6.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.
- package/README.md +788 -674
- package/README.zh-CN.md +712 -618
- package/dist/agents.d.ts +5 -3
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +19 -8
- package/dist/agents.js.map +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/capabilities.js +2 -2
- package/dist/capabilities.js.map +1 -1
- package/dist/host-hooks.d.ts +13 -2
- package/dist/host-hooks.d.ts.map +1 -1
- package/dist/host-hooks.js +19 -5
- package/dist/host-hooks.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -14
- package/dist/index.js.map +1 -1
- package/dist/prompts/lead.d.ts +1 -1
- package/dist/prompts/lead.d.ts.map +1 -1
- package/dist/prompts/lead.js +135 -17
- package/dist/prompts/lead.js.map +1 -1
- package/dist/prompts/shared.d.ts +2 -2
- package/dist/prompts/shared.d.ts.map +1 -1
- package/dist/prompts/shared.js +94 -16
- package/dist/prompts/shared.js.map +1 -1
- package/dist/prompts/specialists.d.ts +2 -2
- package/dist/prompts/specialists.d.ts.map +1 -1
- package/dist/prompts/specialists.js +43 -10
- package/dist/prompts/specialists.js.map +1 -1
- package/dist/task-offload.d.ts +67 -0
- package/dist/task-offload.d.ts.map +1 -0
- package/dist/task-offload.js +123 -0
- package/dist/task-offload.js.map +1 -0
- package/dist/tm/args-schema.d.ts +4 -0
- package/dist/tm/args-schema.d.ts.map +1 -1
- package/dist/tm/args-schema.js +44 -3
- package/dist/tm/args-schema.js.map +1 -1
- package/dist/tm/board.d.ts +113 -0
- package/dist/tm/board.d.ts.map +1 -0
- package/dist/tm/board.js +275 -0
- package/dist/tm/board.js.map +1 -0
- package/dist/tm/browser.d.ts +325 -6
- package/dist/tm/browser.d.ts.map +1 -1
- package/dist/tm/browser.js +1329 -135
- package/dist/tm/browser.js.map +1 -1
- package/dist/tm/config.d.ts +36 -1
- package/dist/tm/config.d.ts.map +1 -1
- package/dist/tm/config.js +29 -1
- package/dist/tm/config.js.map +1 -1
- package/dist/tm/dispatch.d.ts +118 -31
- package/dist/tm/dispatch.d.ts.map +1 -1
- package/dist/tm/dispatch.js +385 -131
- package/dist/tm/dispatch.js.map +1 -1
- package/dist/tm/dupe-guard.js +1 -1
- package/dist/tm/dupe-guard.js.map +1 -1
- package/dist/tm/egress.d.ts +44 -0
- package/dist/tm/egress.d.ts.map +1 -0
- package/dist/tm/egress.js +191 -0
- package/dist/tm/egress.js.map +1 -0
- package/dist/tm/guard.js +1 -1
- package/dist/tm/guard.js.map +1 -1
- package/dist/tm/index.d.ts +28 -2
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +198 -10
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/perm-ask.d.ts +47 -5
- package/dist/tm/perm-ask.d.ts.map +1 -1
- package/dist/tm/perm-ask.js +98 -7
- package/dist/tm/perm-ask.js.map +1 -1
- package/dist/tm/pipelines.d.ts.map +1 -1
- package/dist/tm/pipelines.js +24 -2
- package/dist/tm/pipelines.js.map +1 -1
- package/dist/tm/ptc/tool.d.ts.map +1 -1
- package/dist/tm/ptc/tool.js +2 -4
- package/dist/tm/ptc/tool.js.map +1 -1
- package/dist/tm/pty.d.ts.map +1 -1
- package/dist/tm/pty.js +6 -3
- package/dist/tm/pty.js.map +1 -1
- package/dist/tm/search.d.ts +5 -0
- package/dist/tm/search.d.ts.map +1 -1
- package/dist/tm/search.js +19 -17
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/stats.d.ts +46 -0
- package/dist/tm/stats.d.ts.map +1 -1
- package/dist/tm/stats.js +124 -7
- package/dist/tm/stats.js.map +1 -1
- package/dist/tm/store.d.ts +3 -0
- package/dist/tm/store.d.ts.map +1 -1
- package/dist/tm/store.js +6 -1
- package/dist/tm/store.js.map +1 -1
- package/dist/tm/webfetch.d.ts +52 -0
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +128 -22
- package/dist/tm/webfetch.js.map +1 -1
- package/dist/tool-coerce.d.ts +24 -0
- package/dist/tool-coerce.d.ts.map +1 -0
- package/dist/tool-coerce.js +63 -0
- package/dist/tool-coerce.js.map +1 -0
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/docs/installation.md +69 -2
- package/package.json +61 -59
package/dist/tm/browser.d.ts
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
* verbatim as the fallback. On cdp-legacy only the core subset works
|
|
13
13
|
* (open/navigate/read/screenshot/close + navigate_page/take_screenshot/
|
|
14
14
|
* list_pages/evaluate_script aliases); the snapshot-first actions
|
|
15
|
-
* (take_snapshot + uid addressing,
|
|
15
|
+
* (take_snapshot + uid addressing, 18-verb chrome-devtools-mcp surface)
|
|
16
16
|
* require the playwright engine.
|
|
17
17
|
*
|
|
18
|
-
* Action surface aligns with chrome-devtools-mcp's
|
|
18
|
+
* Action surface aligns with chrome-devtools-mcp's 18 verbs (R2 mapping):
|
|
19
19
|
* navigate_page · take_snapshot · click · fill · hover · drag ·
|
|
20
20
|
* press_key · select_page · upload_file · wait_for · evaluate_script ·
|
|
21
21
|
* list_console_messages · list_network_requests · list_pages ·
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
* Role access mirrors tm_webfetch: network roles (team + researcher) only,
|
|
62
62
|
* tester browser-only (UI verification).
|
|
63
63
|
*/
|
|
64
|
-
import type { ToolResult } from "../types.js";
|
|
64
|
+
import type { ToolAttachment, ToolResult } from "../types.js";
|
|
65
65
|
import type { TmConfig } from "./config.js";
|
|
66
66
|
import type { TmPipelines } from "./pipelines.js";
|
|
67
67
|
/** Subprocess runner for the shell/registry probes; injectable for tests. */
|
|
@@ -102,6 +102,24 @@ export declare function findBrowserExecutable(env?: Record<string, string | unde
|
|
|
102
102
|
* auto (default) → headless ONLY when there is no
|
|
103
103
|
* display possible (Linux without DISPLAY/WAYLAND_DISPLAY).
|
|
104
104
|
*/
|
|
105
|
+
/** Decide what profile directory TM_BROWSER_USER_DATA_DIR asks for.
|
|
106
|
+
*
|
|
107
|
+
* The tool description has claimed for a long time that "the real profile is
|
|
108
|
+
* never touched" while nothing enforced it: the string went straight into
|
|
109
|
+
* `launchPersistentContext`. Pointing it at the user's own browser data dir is
|
|
110
|
+
* not a neutral choice — with the browser open, the new process hands its URL
|
|
111
|
+
* to the running instance and exits (the confusing "本机已有同品牌浏览器在跑"
|
|
112
|
+
* failure), and with it closed the agent browses AS THE USER, with every cookie
|
|
113
|
+
* and saved session, while our orphan reaper force-kills (`taskkill /T /F`) any
|
|
114
|
+
* browser whose owner died — a real route to corrupting a profile.
|
|
115
|
+
*
|
|
116
|
+
* So: a real browser data dir is refused with the fix named, anything else is
|
|
117
|
+
* honored, and an unset value keeps the isolated temp profile (the default).
|
|
118
|
+
* Pure, so both engines and the tests share one answer. */
|
|
119
|
+
export declare function classifyProfileDir(env?: Record<string, string | undefined>): {
|
|
120
|
+
dir: string | null;
|
|
121
|
+
refusal: string | null;
|
|
122
|
+
};
|
|
105
123
|
export declare function resolveHeadless(env?: Record<string, string | undefined>): boolean;
|
|
106
124
|
/** Approximate registrable site (eTLD+1) of a hostname. */
|
|
107
125
|
export declare function siteOf(host: string): string;
|
|
@@ -133,6 +151,63 @@ export declare function subresourcePass(opts: {
|
|
|
133
151
|
* footprint to its own site. Called for EVERY top-level/document request
|
|
134
152
|
* that passed the allowlist side. */
|
|
135
153
|
export declare function rememberSite(allowedSites: Set<string>, url: string): void;
|
|
154
|
+
/**
|
|
155
|
+
* Human-verification walls. This exists because "0 个可寻址节点" and "this
|
|
156
|
+
* site wants a human to prove it is one" look identical to the agent, and the
|
|
157
|
+
* two have opposite next moves: an empty page is worth retrying, a wall never
|
|
158
|
+
* is — retrying just spends rounds on a captcha. Measured on baike.baidu.com
|
|
159
|
+
* item pages, where every arm (raw playwright included, all resources allowed)
|
|
160
|
+
* returns 0–6 nodes titled 百度安全验证, and the agent reported "该网站没有内容".
|
|
161
|
+
*
|
|
162
|
+
* Deliberately narrow: signatures we observed live, plus the unambiguous
|
|
163
|
+
* English ones. Callers consult it ONLY when the page came back thin, so an
|
|
164
|
+
* article that merely mentions 验证码 is never mislabelled as a wall.
|
|
165
|
+
*/
|
|
166
|
+
export declare const CHALLENGE_WALL_SIGNS: ReadonlyArray<{
|
|
167
|
+
readonly re: RegExp;
|
|
168
|
+
readonly label: string;
|
|
169
|
+
}>;
|
|
170
|
+
/** Which wall this thin page actually is, or null when it is just empty. */
|
|
171
|
+
export declare function challengeWallOf(...texts: ReadonlyArray<string | null | undefined>): string | null;
|
|
172
|
+
/** One hostname for `allow_host`, or "" when the argument is not a single bare
|
|
173
|
+
* domain. Strict on purpose: this value becomes the pattern in an official
|
|
174
|
+
* consent dialog, and a user approving "bkssl.bdimg.com" must not be getting a
|
|
175
|
+
* wildcard, a URL with a path, or a port. */
|
|
176
|
+
export declare function normalizeApprovalHost(raw: unknown): string;
|
|
177
|
+
/**
|
|
178
|
+
* The launch pid, asked more than once.
|
|
179
|
+
*
|
|
180
|
+
* Why this exists: `childProcRows` folds EVERY OS-query failure (PowerShell
|
|
181
|
+
* exiting non-zero, the 6 s timeout killing it mid-flight, a JSON parse miss)
|
|
182
|
+
* into an empty list, and the launcher used to ask exactly once. Under load —
|
|
183
|
+
* this plugin's own parallel test runner reproduces it, four suites hammering
|
|
184
|
+
* CIM at once — one such query fails now and then, and a single failed query
|
|
185
|
+
* used to cost the session two things permanently: the orphan-ledger entry (so
|
|
186
|
+
* the next boot could not reclaim that browser) and `close`'s process
|
|
187
|
+
* verification. Worse, an exception escaping the lookup failed `open` itself,
|
|
188
|
+
* reporting a browser that had launched fine as an error.
|
|
189
|
+
*
|
|
190
|
+
* So: a failed or empty answer is retried a bounded number of times, and any
|
|
191
|
+
* throw is swallowed into the retry counter — the pid is diagnostic and
|
|
192
|
+
* reclamation metadata, never a reason to lose the session. When it still
|
|
193
|
+
* cannot be resolved, `via: "none"` says so and close keeps refusing the
|
|
194
|
+
* 已确认关闭 sentence (pinned by §25).
|
|
195
|
+
*/
|
|
196
|
+
export declare const LAUNCH_PID_ATTEMPTS = 3;
|
|
197
|
+
export declare const LAUNCH_PID_RETRY_MS = 250;
|
|
198
|
+
export declare function resolveLaunchPid(opts: {
|
|
199
|
+
/** playwright's own accessor — it does not exist on 1.63, so this is usually 0 */
|
|
200
|
+
playwrightPid?: () => number;
|
|
201
|
+
executablePath: string;
|
|
202
|
+
/** may throw, may answer empty, may answer undefined (let the scanner query) */
|
|
203
|
+
rows: () => ChildProcRow[] | undefined;
|
|
204
|
+
sleep?: (ms: number) => Promise<void>;
|
|
205
|
+
attempts?: number;
|
|
206
|
+
}): Promise<{
|
|
207
|
+
pid: number;
|
|
208
|
+
via: "playwright" | "child-scan" | "none";
|
|
209
|
+
failures: number;
|
|
210
|
+
}>;
|
|
136
211
|
/** `evaluate_script` is the one browser verb the network gate cannot cover:
|
|
137
212
|
* the allowlist limits where we NAVIGATE, not what an already-loaded page
|
|
138
213
|
* hands back. In a `TM_BROWSER_USER_DATA_DIR` profile that page may be a
|
|
@@ -152,12 +227,142 @@ export declare function redactEvalResult(text: string): {
|
|
|
152
227
|
text: string;
|
|
153
228
|
masked: string[];
|
|
154
229
|
};
|
|
230
|
+
export interface BrowserLedgerEntry {
|
|
231
|
+
pid: number;
|
|
232
|
+
ownerPid: number;
|
|
233
|
+
engine: string;
|
|
234
|
+
at: number;
|
|
235
|
+
/** The executable we launched, recorded so a pid that has been recycled to
|
|
236
|
+
* an unrelated program is never force-killed. */
|
|
237
|
+
exe?: string;
|
|
238
|
+
}
|
|
239
|
+
export declare function browserLedgerFile(storeRoot: string): string;
|
|
240
|
+
/** Best-effort append: a ledger that cannot be written must never cost the
|
|
241
|
+
* user their browser session. */
|
|
242
|
+
export declare function appendBrowserLedger(file: string, rec: BrowserLedgerEntry): void;
|
|
243
|
+
/** Read the ledger, terminate the orphans, and rewrite what is still live.
|
|
244
|
+
* Returns the counts so the caller can log them; never throws. */
|
|
245
|
+
export declare function reapOrphanBrowsers(file: string, opts?: {
|
|
246
|
+
now?: number;
|
|
247
|
+
alive?: (pid: number) => boolean;
|
|
248
|
+
kill?: (pid: number) => void;
|
|
249
|
+
/** seam for tests — what a pid currently IS (name + command line) */
|
|
250
|
+
identity?: (pid: number) => {
|
|
251
|
+
name: string;
|
|
252
|
+
cmdline: string;
|
|
253
|
+
} | null;
|
|
254
|
+
}): {
|
|
255
|
+
reaped: number[];
|
|
256
|
+
kept: number;
|
|
257
|
+
dropped: number;
|
|
258
|
+
};
|
|
259
|
+
/** Is this OS pid still alive? `process.kill(pid, 0)` is the portable probe:
|
|
260
|
+
* ESRCH means gone, EPERM means alive but owned by someone else — both are
|
|
261
|
+
* answers, and "no answer" is never one of them. */
|
|
262
|
+
export declare function pidAlive(pid: number): boolean;
|
|
263
|
+
/** Wait up to `ms` for a pid to disappear, then terminate it once and give it
|
|
264
|
+
* a short grace. Returns whether the process is GONE — the only honest basis
|
|
265
|
+
* for a "已确认关闭" claim. */
|
|
266
|
+
export declare function waitForPidExit(pid: number, ms?: number, kill?: (p: number) => void): Promise<boolean>;
|
|
267
|
+
/** One row of the OS process table, as far as the pid lookup below needs it. */
|
|
268
|
+
export interface ChildProcRow {
|
|
269
|
+
pid: number;
|
|
270
|
+
name: string;
|
|
271
|
+
cmdline: string;
|
|
272
|
+
}
|
|
273
|
+
/** Does this identity look like the executable we launched? Compared on the
|
|
274
|
+
* file NAME: the command line's quoting and path form can differ from ours
|
|
275
|
+
* (8.3-short vs long path, escaped quotes), while a pid recycled by an
|
|
276
|
+
* unrelated program almost never carries the same image name. A missing
|
|
277
|
+
* identity counts as NO — the safe answer before a force-kill. */
|
|
278
|
+
export declare function identityMatchesExecutable(exePath: string, ident: {
|
|
279
|
+
name: string;
|
|
280
|
+
cmdline: string;
|
|
281
|
+
} | null): boolean;
|
|
282
|
+
/** The same question asked of a live pid (see identityMatchesExecutable). */
|
|
283
|
+
export declare function pidMatchesExecutable(pid: number, exePath: string): boolean;
|
|
284
|
+
export interface KillTreeOpts {
|
|
285
|
+
platform?: NodeJS.Platform;
|
|
286
|
+
/** seam for tests — how the platform tool gets invoked */
|
|
287
|
+
run?: (cmd: string, args: string[]) => void;
|
|
288
|
+
/** seam for tests — the POSIX child enumeration */
|
|
289
|
+
children?: (pid: number) => ChildProcRow[];
|
|
290
|
+
/** seam for tests — how a single process gets signalled */
|
|
291
|
+
signal?: (pid: number) => void;
|
|
292
|
+
}
|
|
293
|
+
/** Terminate a browser process AND everything it spawned.
|
|
294
|
+
*
|
|
295
|
+
* `process.kill(pid)` signals the ROOT only. Measured on the desktop host the
|
|
296
|
+
* day this was written: the orphan reaper's default kill took the msedge root
|
|
297
|
+
* down and left all NINE of its child processes running — which is exactly the
|
|
298
|
+
* leftover the reaper exists to remove. The graceful path does not have this
|
|
299
|
+
* problem (playwright's `browser.close()` shuts its children down first, and
|
|
300
|
+
* the real-host leg verifies it), so this is the fallback's job.
|
|
301
|
+
*
|
|
302
|
+
* win32: `taskkill /T /F` walks the tree for us.
|
|
303
|
+
* POSIX: no tree flag, so descendants are enumerated and killed deepest-first.
|
|
304
|
+
* Best-effort throughout: a process that vanishes mid-walk is not an error.
|
|
305
|
+
*/
|
|
306
|
+
export declare function killBrowserTree(pid: number, opts?: KillTreeOpts): void;
|
|
307
|
+
/** The OS pid behind a playwright-launched browser.
|
|
308
|
+
*
|
|
309
|
+
* playwright-core has NO `Browser.process()` — that accessor belongs to
|
|
310
|
+
* ElectronApplication and BrowserServer. Measured on the desktop host with a
|
|
311
|
+
* real 1.63 session: `typeof browser.process === "undefined"`, so the pid
|
|
312
|
+
* stayed 0, the orphan ledger recorded nothing, and close printed 已确认关闭
|
|
313
|
+
* over a browser process it had never checked.
|
|
314
|
+
*
|
|
315
|
+
* The only exact anchor available is that the browser is a DIRECT CHILD of
|
|
316
|
+
* this process, started from the executable WE resolved. That matters: this
|
|
317
|
+
* machine carries a dozen unrelated msedge trees (the user's own windows,
|
|
318
|
+
* msedgewebview2 under SearchHost.exe and under a vendor utility), so matching
|
|
319
|
+
* by process name would be a loaded gun pointed at them.
|
|
320
|
+
*
|
|
321
|
+
* 0 = not found, and every caller treats 0 as "no verification" — never as
|
|
322
|
+
* "verified gone".
|
|
323
|
+
*/
|
|
324
|
+
export declare function launchedBrowserPid(executablePath: string, opts?: {
|
|
325
|
+
ppid?: number;
|
|
326
|
+
rows?: ChildProcRow[];
|
|
327
|
+
}): number;
|
|
155
328
|
/** Consent is per BROWSER SESSION, not per call: one dialog when the lead
|
|
156
329
|
* decides to script the page, then the round stops paying for it. */
|
|
157
330
|
export declare function needsEvalConsent(policy: "on" | "off", alreadyApproved: boolean | undefined): boolean;
|
|
331
|
+
/** A function-shaped source has to be INVOKED. Every browser MCP documents
|
|
332
|
+
* `function: "() => …"`, but evaluate() treats a STRING as an expression: a
|
|
333
|
+
* function source evaluates to a function object, which is not serializable,
|
|
334
|
+
* so the call resolves to undefined and the agent reads "null" and goes
|
|
335
|
+
* looking for a bug that is in our call rather than in the page (measured
|
|
336
|
+
* live 2026-09-21 — six rounds lost this way). An expression the model
|
|
337
|
+
* already wrapped, or a bare `document.title`, passes through untouched. */
|
|
338
|
+
export declare function evalExpression(src: string): string;
|
|
339
|
+
/** `null` is not a diagnosis. The render names the type, so "the page has no
|
|
340
|
+
* such links" and "your function returned nothing" and "it was not called"
|
|
341
|
+
* stop looking like the same answer. */
|
|
342
|
+
export declare function renderEvalResult(value: unknown): string;
|
|
158
343
|
/** Host only — the consent line in the dialog and in the trajectory never
|
|
159
344
|
* carries a query string (a search URL can hold the very token we guard). */
|
|
160
345
|
export declare function hostOnly(url: string): string;
|
|
346
|
+
/** What a click can be observed to change, read in ONE round-trip. */
|
|
347
|
+
export interface ClickProbe {
|
|
348
|
+
attrs: Record<string, string>;
|
|
349
|
+
url: string;
|
|
350
|
+
ready: string;
|
|
351
|
+
nodes: number;
|
|
352
|
+
}
|
|
353
|
+
/** What differs between two probes, in the order a reader cares about. */
|
|
354
|
+
export declare function describeClickChange(before: ClickProbe, after: ClickProbe): string[];
|
|
355
|
+
/** The reply. Pure, so the wording is pinnable without a browser: a click that
|
|
356
|
+
* observably did something says what changed; one that did not says so and
|
|
357
|
+
* names the next move instead of reporting success. */
|
|
358
|
+
export declare function clickVerdict(target: string, before: ClickProbe | null, changed: string[], opts: {
|
|
359
|
+
retried: boolean;
|
|
360
|
+
dialog: boolean;
|
|
361
|
+
blocked?: {
|
|
362
|
+
count: number;
|
|
363
|
+
hosts: string[];
|
|
364
|
+
};
|
|
365
|
+
}): string;
|
|
161
366
|
export type BrowserEngineKind = "playwright" | "cdp-legacy";
|
|
162
367
|
/** playwright-core 1.63 targets node >= 20; on anything older we refuse the
|
|
163
368
|
* engine up-front and stay on the zero-dependency CDP pipe (the node>=18
|
|
@@ -218,6 +423,10 @@ export interface PwPage {
|
|
|
218
423
|
url(): string;
|
|
219
424
|
title?(): Promise<string>;
|
|
220
425
|
bringToFront?(): Promise<void>;
|
|
426
|
+
/** Bounded settle before retrying an action that changed nothing. */
|
|
427
|
+
waitForLoadState?(state: string, opts?: Record<string, unknown>): Promise<unknown>;
|
|
428
|
+
/** close_page — the tab only; the browser session survives it. */
|
|
429
|
+
close?(): Promise<unknown>;
|
|
221
430
|
}
|
|
222
431
|
export interface PwLocator {
|
|
223
432
|
ariaSnapshot(): Promise<string>;
|
|
@@ -228,7 +437,14 @@ export interface PwLocator {
|
|
|
228
437
|
setInputFiles(files: string | string[]): Promise<unknown>;
|
|
229
438
|
waitFor(opts?: Record<string, unknown>): Promise<unknown>;
|
|
230
439
|
nth(index: number): PwLocator;
|
|
440
|
+
/** Optional on the seam: a mock without them takes the single-match path. */
|
|
441
|
+
first?(): PwLocator;
|
|
442
|
+
count?(): Promise<number>;
|
|
231
443
|
dragTo(target: PwLocator): Promise<unknown>;
|
|
444
|
+
/** Read the element's own state in ONE round-trip, so verifying an action
|
|
445
|
+
* costs less than the action. Optional: a locator without it cannot be
|
|
446
|
+
* verified, and then the reply must claim no more than it knows. */
|
|
447
|
+
evaluate?(fn: unknown): Promise<unknown>;
|
|
232
448
|
}
|
|
233
449
|
export interface PwRoute {
|
|
234
450
|
continue(): Promise<unknown>;
|
|
@@ -284,13 +500,100 @@ export declare class SnapshotIndex {
|
|
|
284
500
|
}
|
|
285
501
|
/** ariaSnapshot escapes whitespace/quotes inside names (\s \n \t \" \\). */
|
|
286
502
|
export declare function unescapeAriaName(raw: string): string;
|
|
287
|
-
/** The
|
|
288
|
-
export declare const BROWSER_PLAYWRIGHT_ACTIONS: readonly ["navigate_page", "take_snapshot", "click", "fill", "hover", "drag", "press_key", "select_page", "upload_file", "wait_for", "evaluate_script", "list_console_messages", "list_network_requests", "list_pages", "take_screenshot", "handle_dialog"];
|
|
289
|
-
/** Legacy compat verbs that ride on top of the
|
|
503
|
+
/** The 18 canonical verbs, named byte-identical to chrome-devtools-mcp. */
|
|
504
|
+
export declare const BROWSER_PLAYWRIGHT_ACTIONS: readonly ["navigate_page", "take_snapshot", "click", "fill", "hover", "drag", "press_key", "select_page", "new_page", "close_page", "upload_file", "wait_for", "evaluate_script", "list_console_messages", "list_network_requests", "list_pages", "take_screenshot", "handle_dialog"];
|
|
505
|
+
/** Legacy compat verbs that ride on top of the 18 (both engines). */
|
|
290
506
|
export declare const BROWSER_COMPAT_ACTIONS: readonly ["open", "navigate", "read", "screenshot", "close"];
|
|
507
|
+
/** Verbs of our own that act on the GATE rather than the DOM: no page is
|
|
508
|
+
* involved, so both engines serve them and neither can drift. */
|
|
509
|
+
export declare const BROWSER_GATE_ACTIONS: readonly ["allow_host"];
|
|
510
|
+
/** Every verb the execute layer accepts — the ONE table the refusal menu and
|
|
511
|
+
* the args schema are both built from. The hand-written copies drifted the
|
|
512
|
+
* day `new_page` landed (§6o/unknown-action menu), and a schema that omits a
|
|
513
|
+
* verb is a capability no agent knows it has. */
|
|
514
|
+
export declare const ALL_BROWSER_ACTIONS: readonly string[];
|
|
515
|
+
export declare const BROWSER_ACTION_MENU: string;
|
|
291
516
|
/** What the cdp-legacy fallback can still do (R2: degradation must keep the
|
|
292
517
|
* §6o behavior; everything snapshot-shaped is playwright-only). */
|
|
293
518
|
export declare const BROWSER_LEGACY_ACTIONS: readonly ["open", "navigate", "navigate_page", "read", "screenshot", "take_screenshot", "list_pages", "evaluate_script", "close"];
|
|
519
|
+
export declare const BROWSER_DENY_PERMISSIONS_ARG = "--deny-permission-prompts";
|
|
520
|
+
interface ActiveSession {
|
|
521
|
+
kind: BrowserEngineKind;
|
|
522
|
+
currentUrl: string;
|
|
523
|
+
/** The mode the session was ACTUALLY launched in. Reported back to the
|
|
524
|
+
* agent from here — never from the caller's request — so a reused
|
|
525
|
+
* (sticky) session cannot be described as something it is not. */
|
|
526
|
+
headless: boolean;
|
|
527
|
+
/** The profile this session was ACTUALLY launched with, or null for the
|
|
528
|
+
* isolated temp one. Reported from here for the same reason `headless` is:
|
|
529
|
+
* reading TM_BROWSER_USER_DATA_DIR again at reply time lets a cdp-legacy
|
|
530
|
+
* session (which used a temp dir) be described as 持久登录配置. */
|
|
531
|
+
persistentProfile: string | null;
|
|
532
|
+
/** Engine/profile identity for the open + close lines the agent quotes. */
|
|
533
|
+
label: string;
|
|
534
|
+
/** Screenshot pixels the model asked for, drained by execute() into the
|
|
535
|
+
* ToolResult's `attachments`. act() pushes; nothing else reads it. */
|
|
536
|
+
attachments: ToolAttachment[];
|
|
537
|
+
/** Subresource verdicts since the last observation, for the "page looks
|
|
538
|
+
* empty" note (count + distinct blocked hosts). */
|
|
539
|
+
blocked: {
|
|
540
|
+
count: number;
|
|
541
|
+
hosts: Set<string>;
|
|
542
|
+
};
|
|
543
|
+
/** Registrable sites this session navigated to (same-site subresources). */
|
|
544
|
+
allowedSites: Set<string>;
|
|
545
|
+
/** evaluate_script consent was granted for THIS browser session (see
|
|
546
|
+
* needsEvalConsent) — one dialog per session, not per call. */
|
|
547
|
+
evalApproved?: boolean;
|
|
548
|
+
/** Engine action dispatch; throws Error with an agent-actionable message
|
|
549
|
+
* (the execute() catch renders it as phase=execute). */
|
|
550
|
+
act(action: string, args: Record<string, unknown>, stepId: string): Promise<string>;
|
|
551
|
+
/** Is the BROWSER still there? "Target page, context or browser has been
|
|
552
|
+
* closed" is one string covering two very different facts — a tab the user
|
|
553
|
+
* closed and a browser that died. Only the second one may cost the caller
|
|
554
|
+
* their lease, or a window the plugin walked away from stays on the user's
|
|
555
|
+
* screen with nothing holding it. */
|
|
556
|
+
alive?(): boolean;
|
|
557
|
+
/** Closes the session and reports VERBATIM what it managed to close — a
|
|
558
|
+
* close that failed must not read like a success (issue #3 of 2026-09-18:
|
|
559
|
+
* an agent told the user the window was gone while it was still up). */
|
|
560
|
+
close(): Promise<{
|
|
561
|
+
text: string;
|
|
562
|
+
closed: boolean;
|
|
563
|
+
}>;
|
|
564
|
+
}
|
|
565
|
+
/** Who is calling. The host gives a tool ctx `{agent, sessionID, directory,
|
|
566
|
+
* ask}`; sessionID is the identity a browser lease belongs to. */
|
|
567
|
+
export interface BrowserCaller {
|
|
568
|
+
owner: string;
|
|
569
|
+
agent: string;
|
|
570
|
+
}
|
|
571
|
+
/** ONE BROWSER PER CALLER.
|
|
572
|
+
*
|
|
573
|
+
* This tool used to hold a single session for the whole plugin process, and
|
|
574
|
+
* three agents carry it (lead + researcher for the web, tester for UI
|
|
575
|
+
* verification) — with host `task` children running in the SAME process. So
|
|
576
|
+
* they shared one window, one "current tab" and ONE uid registry: a
|
|
577
|
+
* `take_snapshot` from A renumbered every uid B was holding (`SnapshotIndex
|
|
578
|
+
* .annotate` clears and restarts at e1), and B's next `click {uid}` landed on
|
|
579
|
+
* a different element while still reporting success. Nothing in the reply
|
|
580
|
+
* could show it, because the browser was the same browser.
|
|
581
|
+
*
|
|
582
|
+
* A lease per owner removes the sharing: separate window, separate uid
|
|
583
|
+
* namespace, separate dialog-approved hosts. The `id` is what the model
|
|
584
|
+
* carries, and it is checked against the owner — an id is not a capability
|
|
585
|
+
* token, it is a name, so guessing `b1` must not let a second agent drive the
|
|
586
|
+
* first one's window.
|
|
587
|
+
*/
|
|
588
|
+
export interface BrowserLease {
|
|
589
|
+
id: string;
|
|
590
|
+
owner: string;
|
|
591
|
+
agent: string;
|
|
592
|
+
session: ActiveSession;
|
|
593
|
+
at: number;
|
|
594
|
+
lastActivity: number;
|
|
595
|
+
}
|
|
596
|
+
export declare function callerOf(ctx: unknown): BrowserCaller;
|
|
294
597
|
export declare function buildTmBrowserTool(deps: {
|
|
295
598
|
pipelines: TmPipelines;
|
|
296
599
|
cfg: TmConfig;
|
|
@@ -307,6 +610,11 @@ export declare function buildTmBrowserTool(deps: {
|
|
|
307
610
|
* the override is read from env so the channel-substitution rule stays
|
|
308
611
|
* honest in tests too). */
|
|
309
612
|
findExecutable?: (env: Record<string, string | undefined>) => string | null;
|
|
613
|
+
/** seam for tests — the OS child listing the launch-pid scan reads. Without
|
|
614
|
+
* it a mocked playwright (which has no `process()` accessor, exactly like
|
|
615
|
+
* the real 1.63) would make every unit test scan the developer's real
|
|
616
|
+
* process table and possibly adopt a live browser's pid. */
|
|
617
|
+
listChildren?: (ppid: number) => ChildProcRow[];
|
|
310
618
|
}): {
|
|
311
619
|
description: string;
|
|
312
620
|
args: Record<string, unknown>;
|
|
@@ -319,5 +627,16 @@ export declare function buildTmBrowserTool(deps: {
|
|
|
319
627
|
kind: BrowserEngineKind | null;
|
|
320
628
|
reason: string | null;
|
|
321
629
|
};
|
|
630
|
+
/** Which browsers are alive right now and who owns each. tm_join reads this
|
|
631
|
+
* to tell the lead that a child settled while still holding a window — the
|
|
632
|
+
* close duty is otherwise a prompt rule, and a prompt rule the agent forgets
|
|
633
|
+
* leaves a window on the user's screen with nothing said about it. */
|
|
634
|
+
leases: () => {
|
|
635
|
+
id: string;
|
|
636
|
+
owner: string;
|
|
637
|
+
agent: string;
|
|
638
|
+
idleMs: number;
|
|
639
|
+
}[];
|
|
322
640
|
};
|
|
641
|
+
export {};
|
|
323
642
|
//# sourceMappingURL=browser.d.ts.map
|
package/dist/tm/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/tm/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/tm/browser.ts"],"names":[],"mappings":"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"}
|