@anvailabs/agentbrowser-mcp 1.11.0 → 1.12.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/dist/bin.js +220 -76
- package/dist/index.js +220 -76
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +47 -11
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -6095,6 +6095,106 @@ __export(value_exports2, {
|
|
|
6095
6095
|
ValueErrorIterator: () => ValueErrorIterator
|
|
6096
6096
|
});
|
|
6097
6097
|
|
|
6098
|
+
// ../protocol/dist/errors.js
|
|
6099
|
+
var ErrorCode;
|
|
6100
|
+
(function(ErrorCode2) {
|
|
6101
|
+
ErrorCode2["SESSION_BUSY"] = "SESSION_BUSY";
|
|
6102
|
+
ErrorCode2["CONTROL_REVOKED"] = "CONTROL_REVOKED";
|
|
6103
|
+
ErrorCode2["CONTROL_REQUIRED"] = "CONTROL_REQUIRED";
|
|
6104
|
+
ErrorCode2["OPERATION_CONFLICT"] = "OPERATION_CONFLICT";
|
|
6105
|
+
ErrorCode2["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
6106
|
+
ErrorCode2["INVALID_TENANT_ID"] = "INVALID_TENANT_ID";
|
|
6107
|
+
ErrorCode2["UNAUTHORIZED"] = "UNAUTHORIZED";
|
|
6108
|
+
ErrorCode2["FORBIDDEN"] = "FORBIDDEN";
|
|
6109
|
+
ErrorCode2["NOT_FOUND"] = "NOT_FOUND";
|
|
6110
|
+
ErrorCode2["POLICY_DENIED"] = "POLICY_DENIED";
|
|
6111
|
+
ErrorCode2["APPROVAL_REQUIRED"] = "APPROVAL_REQUIRED";
|
|
6112
|
+
ErrorCode2["SESSION_NOT_FOUND"] = "SESSION_NOT_FOUND";
|
|
6113
|
+
ErrorCode2["SESSION_EXPIRED"] = "SESSION_EXPIRED";
|
|
6114
|
+
ErrorCode2["PAGE_NOT_FOUND"] = "PAGE_NOT_FOUND";
|
|
6115
|
+
ErrorCode2["STALE_TARGET"] = "STALE_TARGET";
|
|
6116
|
+
ErrorCode2["TARGET_NOT_FOUND"] = "TARGET_NOT_FOUND";
|
|
6117
|
+
ErrorCode2["TARGET_AMBIGUOUS"] = "TARGET_AMBIGUOUS";
|
|
6118
|
+
ErrorCode2["TARGET_NOT_VISIBLE"] = "TARGET_NOT_VISIBLE";
|
|
6119
|
+
ErrorCode2["TARGET_DISABLED"] = "TARGET_DISABLED";
|
|
6120
|
+
ErrorCode2["NAVIGATION_TIMEOUT"] = "NAVIGATION_TIMEOUT";
|
|
6121
|
+
ErrorCode2["ACTION_TIMEOUT"] = "ACTION_TIMEOUT";
|
|
6122
|
+
ErrorCode2["VALUE_MISMATCH"] = "VALUE_MISMATCH";
|
|
6123
|
+
ErrorCode2["PLAN_WAIT_TIMEOUT"] = "PLAN_WAIT_TIMEOUT";
|
|
6124
|
+
ErrorCode2["ENGINE_UNSUPPORTED"] = "ENGINE_UNSUPPORTED";
|
|
6125
|
+
ErrorCode2["ENGINE_CRASHED"] = "ENGINE_CRASHED";
|
|
6126
|
+
ErrorCode2["DOWNLOAD_BLOCKED"] = "DOWNLOAD_BLOCKED";
|
|
6127
|
+
ErrorCode2["QUOTA_EXCEEDED"] = "QUOTA_EXCEEDED";
|
|
6128
|
+
ErrorCode2["OUTPUT_TRUNCATED"] = "OUTPUT_TRUNCATED";
|
|
6129
|
+
ErrorCode2["INTERNAL"] = "INTERNAL";
|
|
6130
|
+
})(ErrorCode || (ErrorCode = {}));
|
|
6131
|
+
var UsageError = class extends Error {
|
|
6132
|
+
constructor(message) {
|
|
6133
|
+
super(message);
|
|
6134
|
+
this.name = "UsageError";
|
|
6135
|
+
}
|
|
6136
|
+
};
|
|
6137
|
+
function formatErrorForUser(error2, staleHint) {
|
|
6138
|
+
if (error2 instanceof UsageError) {
|
|
6139
|
+
return error2.message;
|
|
6140
|
+
}
|
|
6141
|
+
if (error2 instanceof Error) {
|
|
6142
|
+
const code = error2.code;
|
|
6143
|
+
if (code === "STALE_TARGET" && staleHint) {
|
|
6144
|
+
return `${error2.message}
|
|
6145
|
+
|
|
6146
|
+
${staleHint}`;
|
|
6147
|
+
}
|
|
6148
|
+
return code && !error2.message.startsWith(code) ? `${code}: ${error2.message}` : error2.message;
|
|
6149
|
+
}
|
|
6150
|
+
return String(error2);
|
|
6151
|
+
}
|
|
6152
|
+
|
|
6153
|
+
// ../protocol/dist/operation-id.js
|
|
6154
|
+
var OPERATION_ID_PATTERN = "^[a-zA-Z0-9_-]{1,128}$";
|
|
6155
|
+
var CONTROL_OPERATION_ID = new RegExp(OPERATION_ID_PATTERN);
|
|
6156
|
+
var OperationIdSchema = Type.String({
|
|
6157
|
+
minLength: 1,
|
|
6158
|
+
maxLength: 128,
|
|
6159
|
+
pattern: OPERATION_ID_PATTERN
|
|
6160
|
+
});
|
|
6161
|
+
|
|
6162
|
+
// ../protocol/dist/navigation-failure.js
|
|
6163
|
+
var NavigationFailureReasonSchema = Type.Union([
|
|
6164
|
+
Type.Literal("dns_nxdomain"),
|
|
6165
|
+
Type.Literal("dns_unresolved"),
|
|
6166
|
+
Type.Literal("connection_refused"),
|
|
6167
|
+
Type.Literal("dns_timeout"),
|
|
6168
|
+
Type.Literal("dns_refused"),
|
|
6169
|
+
Type.Literal("tls_refused"),
|
|
6170
|
+
Type.Literal("egress_policy"),
|
|
6171
|
+
Type.Literal("browser_error_document"),
|
|
6172
|
+
Type.Literal("engine_error")
|
|
6173
|
+
]);
|
|
6174
|
+
var reasons = new Set(NavigationFailureReasonSchema.anyOf.map((item) => item.const));
|
|
6175
|
+
function isNavigationFailureReason(value) {
|
|
6176
|
+
return typeof value === "string" && reasons.has(value);
|
|
6177
|
+
}
|
|
6178
|
+
function navigationFailureDetail(error2) {
|
|
6179
|
+
if (!error2 || typeof error2 !== "object")
|
|
6180
|
+
return void 0;
|
|
6181
|
+
const candidate = error2;
|
|
6182
|
+
const reason = candidate.details?.reason;
|
|
6183
|
+
if (!isNavigationFailureReason(reason))
|
|
6184
|
+
return void 0;
|
|
6185
|
+
const code = Object.values(ErrorCode).includes(candidate.code) ? candidate.code : ErrorCode.INTERNAL;
|
|
6186
|
+
const operationId = candidate.details?.operationId;
|
|
6187
|
+
return {
|
|
6188
|
+
code,
|
|
6189
|
+
message: `Navigation failed: ${reason}`,
|
|
6190
|
+
retryable: false,
|
|
6191
|
+
details: {
|
|
6192
|
+
reason,
|
|
6193
|
+
...typeof operationId === "string" && CONTROL_OPERATION_ID.test(operationId) ? { operationId } : {}
|
|
6194
|
+
}
|
|
6195
|
+
};
|
|
6196
|
+
}
|
|
6197
|
+
|
|
6098
6198
|
// ../protocol/dist/types.js
|
|
6099
6199
|
var REF_PATTERN = /^e\d+_\d+$/;
|
|
6100
6200
|
var DELIVERED_EXTRACT_FORMATS = [
|
|
@@ -6249,6 +6349,7 @@ var SessionCookieSchema = Type.Object({
|
|
|
6249
6349
|
sameSite: Type.Optional(Type.Union([Type.Literal("Strict"), Type.Literal("Lax"), Type.Literal("None")]))
|
|
6250
6350
|
});
|
|
6251
6351
|
var SessionRequestSchema = Type.Object({
|
|
6352
|
+
cdpAttach: Type.Optional(Type.Boolean()),
|
|
6252
6353
|
controlMode: Type.Optional(Type.Literal("delegated")),
|
|
6253
6354
|
tenantId: Type.Optional(Type.String({ minLength: 1 })),
|
|
6254
6355
|
// Known engine names plus any registered engine name (TD-BROWSER-7
|
|
@@ -6306,6 +6407,7 @@ var EngineCapabilitiesSchema = Type.Object({
|
|
|
6306
6407
|
supportsPersistentStorage: Type.Boolean(),
|
|
6307
6408
|
supportsAccessibilityTree: Type.Boolean(),
|
|
6308
6409
|
supportsCdp: Type.Boolean(),
|
|
6410
|
+
supportsCdpAttach: Type.Optional(Type.Boolean()),
|
|
6309
6411
|
supportedObservationModes: Type.Array(ObservationModeSchema, { minItems: 1 }),
|
|
6310
6412
|
supportedActionTypes: Type.Array(ActionTypeSchema, { minItems: 1 })
|
|
6311
6413
|
});
|
|
@@ -6645,7 +6747,8 @@ var ActionRequestSchema = Type.Object({
|
|
|
6645
6747
|
var NavigationStatusSchema = Type.Object({
|
|
6646
6748
|
status: Type.Union([Type.Literal("success"), Type.Literal("timeout"), Type.Literal("blocked")]),
|
|
6647
6749
|
url: Type.String({ pattern: "^https?://[\\w\\-]+(\\.[\\w\\-]+)+\\S*$" }),
|
|
6648
|
-
redirectChain: Type.Array(Type.String())
|
|
6750
|
+
redirectChain: Type.Array(Type.String()),
|
|
6751
|
+
reason: Type.Optional(NavigationFailureReasonSchema)
|
|
6649
6752
|
});
|
|
6650
6753
|
var PolicyDecisionSchema = Type.Object({
|
|
6651
6754
|
allowed: Type.Boolean(),
|
|
@@ -7257,61 +7360,6 @@ var TypeCompiler;
|
|
|
7257
7360
|
TypeCompiler2.Compile = Compile;
|
|
7258
7361
|
})(TypeCompiler || (TypeCompiler = {}));
|
|
7259
7362
|
|
|
7260
|
-
// ../protocol/dist/errors.js
|
|
7261
|
-
var ErrorCode;
|
|
7262
|
-
(function(ErrorCode2) {
|
|
7263
|
-
ErrorCode2["SESSION_BUSY"] = "SESSION_BUSY";
|
|
7264
|
-
ErrorCode2["CONTROL_REVOKED"] = "CONTROL_REVOKED";
|
|
7265
|
-
ErrorCode2["CONTROL_REQUIRED"] = "CONTROL_REQUIRED";
|
|
7266
|
-
ErrorCode2["OPERATION_CONFLICT"] = "OPERATION_CONFLICT";
|
|
7267
|
-
ErrorCode2["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
7268
|
-
ErrorCode2["INVALID_TENANT_ID"] = "INVALID_TENANT_ID";
|
|
7269
|
-
ErrorCode2["UNAUTHORIZED"] = "UNAUTHORIZED";
|
|
7270
|
-
ErrorCode2["FORBIDDEN"] = "FORBIDDEN";
|
|
7271
|
-
ErrorCode2["NOT_FOUND"] = "NOT_FOUND";
|
|
7272
|
-
ErrorCode2["POLICY_DENIED"] = "POLICY_DENIED";
|
|
7273
|
-
ErrorCode2["APPROVAL_REQUIRED"] = "APPROVAL_REQUIRED";
|
|
7274
|
-
ErrorCode2["SESSION_NOT_FOUND"] = "SESSION_NOT_FOUND";
|
|
7275
|
-
ErrorCode2["SESSION_EXPIRED"] = "SESSION_EXPIRED";
|
|
7276
|
-
ErrorCode2["PAGE_NOT_FOUND"] = "PAGE_NOT_FOUND";
|
|
7277
|
-
ErrorCode2["STALE_TARGET"] = "STALE_TARGET";
|
|
7278
|
-
ErrorCode2["TARGET_NOT_FOUND"] = "TARGET_NOT_FOUND";
|
|
7279
|
-
ErrorCode2["TARGET_AMBIGUOUS"] = "TARGET_AMBIGUOUS";
|
|
7280
|
-
ErrorCode2["TARGET_NOT_VISIBLE"] = "TARGET_NOT_VISIBLE";
|
|
7281
|
-
ErrorCode2["TARGET_DISABLED"] = "TARGET_DISABLED";
|
|
7282
|
-
ErrorCode2["NAVIGATION_TIMEOUT"] = "NAVIGATION_TIMEOUT";
|
|
7283
|
-
ErrorCode2["ACTION_TIMEOUT"] = "ACTION_TIMEOUT";
|
|
7284
|
-
ErrorCode2["VALUE_MISMATCH"] = "VALUE_MISMATCH";
|
|
7285
|
-
ErrorCode2["PLAN_WAIT_TIMEOUT"] = "PLAN_WAIT_TIMEOUT";
|
|
7286
|
-
ErrorCode2["ENGINE_UNSUPPORTED"] = "ENGINE_UNSUPPORTED";
|
|
7287
|
-
ErrorCode2["ENGINE_CRASHED"] = "ENGINE_CRASHED";
|
|
7288
|
-
ErrorCode2["DOWNLOAD_BLOCKED"] = "DOWNLOAD_BLOCKED";
|
|
7289
|
-
ErrorCode2["QUOTA_EXCEEDED"] = "QUOTA_EXCEEDED";
|
|
7290
|
-
ErrorCode2["OUTPUT_TRUNCATED"] = "OUTPUT_TRUNCATED";
|
|
7291
|
-
ErrorCode2["INTERNAL"] = "INTERNAL";
|
|
7292
|
-
})(ErrorCode || (ErrorCode = {}));
|
|
7293
|
-
var UsageError = class extends Error {
|
|
7294
|
-
constructor(message) {
|
|
7295
|
-
super(message);
|
|
7296
|
-
this.name = "UsageError";
|
|
7297
|
-
}
|
|
7298
|
-
};
|
|
7299
|
-
function formatErrorForUser(error2, staleHint) {
|
|
7300
|
-
if (error2 instanceof UsageError) {
|
|
7301
|
-
return error2.message;
|
|
7302
|
-
}
|
|
7303
|
-
if (error2 instanceof Error) {
|
|
7304
|
-
const code = error2.code;
|
|
7305
|
-
if (code === "STALE_TARGET" && staleHint) {
|
|
7306
|
-
return `${error2.message}
|
|
7307
|
-
|
|
7308
|
-
${staleHint}`;
|
|
7309
|
-
}
|
|
7310
|
-
return code && !error2.message.startsWith(code) ? `${code}: ${error2.message}` : error2.message;
|
|
7311
|
-
}
|
|
7312
|
-
return String(error2);
|
|
7313
|
-
}
|
|
7314
|
-
|
|
7315
7363
|
// ../protocol/dist/interaction-guidance.js
|
|
7316
7364
|
var INTERACTION_GUIDANCE = Object.freeze({
|
|
7317
7365
|
snapshot: "Read a self-contained page snapshot with current refs. Prefer scoped bulk autofill, where available, for supported native forms; use a snapshot to prepare explicit steps. Degraded or truncated observations cannot establish complete target coverage.",
|
|
@@ -7625,13 +7673,6 @@ function agentModeAllows(mode, capability) {
|
|
|
7625
7673
|
|
|
7626
7674
|
// ../protocol/dist/control.js
|
|
7627
7675
|
var strict = { additionalProperties: false };
|
|
7628
|
-
var OPERATION_ID_PATTERN = "^[a-zA-Z0-9_-]{1,128}$";
|
|
7629
|
-
var CONTROL_OPERATION_ID = new RegExp(OPERATION_ID_PATTERN);
|
|
7630
|
-
var OperationIdSchema = Type.String({
|
|
7631
|
-
minLength: 1,
|
|
7632
|
-
maxLength: 128,
|
|
7633
|
-
pattern: OPERATION_ID_PATTERN
|
|
7634
|
-
});
|
|
7635
7676
|
var ControlStateSchema = Type.Union([
|
|
7636
7677
|
Type.Literal("HUMAN_ACTIVE"),
|
|
7637
7678
|
Type.Literal("RESUME_REVIEW"),
|
|
@@ -8243,7 +8284,7 @@ var BrowserVersionSchema = Type.String({
|
|
|
8243
8284
|
pattern: "^[a-zA-Z0-9._+ -]+$"
|
|
8244
8285
|
});
|
|
8245
8286
|
var SessionDiagnosticsSchema = Type.Object({
|
|
8246
|
-
attachment: choice(["local_launch", "remote_cdp", "unknown"]),
|
|
8287
|
+
attachment: choice(["local_launch", "remote_cdp", "cdp_attach", "unknown"]),
|
|
8247
8288
|
browserFamily: choice(["chromium", "firefox", "webkit", "unknown"]),
|
|
8248
8289
|
browserVersion: Type.Optional(BrowserVersionSchema),
|
|
8249
8290
|
executableSelection: choice([
|
|
@@ -8258,10 +8299,13 @@ var SessionDiagnosticsSchema = Type.Object({
|
|
|
8258
8299
|
"dedicated_local_browser",
|
|
8259
8300
|
"shared_local_browser",
|
|
8260
8301
|
"shared_remote_connection",
|
|
8302
|
+
"operator_owned_browser",
|
|
8261
8303
|
"unknown"
|
|
8262
8304
|
]),
|
|
8305
|
+
endpointClass: Type.Optional(choice(["loopback_http"])),
|
|
8306
|
+
egress: Type.Optional(choice(["navigation_preflight_only"])),
|
|
8263
8307
|
context: Type.Object({
|
|
8264
|
-
isolation: choice(["new_context", "unknown"]),
|
|
8308
|
+
isolation: choice(["new_context", "existing_default_context", "unknown"]),
|
|
8265
8309
|
viewport: Type.Union([
|
|
8266
8310
|
Type.Object({
|
|
8267
8311
|
mode: Type.Literal("fixed"),
|
|
@@ -8274,6 +8318,69 @@ var SessionDiagnosticsSchema = Type.Object({
|
|
|
8274
8318
|
initScript: choice(["registered", "not_registered", "unknown"])
|
|
8275
8319
|
}, strict7)
|
|
8276
8320
|
}, strict7);
|
|
8321
|
+
var SessionLeaseSchema = Type.Object({
|
|
8322
|
+
sampledAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8323
|
+
expiresAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8324
|
+
lastActivityAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8325
|
+
idleExpiresAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER })
|
|
8326
|
+
}, strict7);
|
|
8327
|
+
var SessionCloseCauseSchema = choice([
|
|
8328
|
+
"ttl_expired",
|
|
8329
|
+
"idle_expired",
|
|
8330
|
+
"explicit_close",
|
|
8331
|
+
"policy_terminated",
|
|
8332
|
+
"engine_disconnected",
|
|
8333
|
+
"engine_crash",
|
|
8334
|
+
"unknown"
|
|
8335
|
+
]);
|
|
8336
|
+
var SessionTerminalViewSchema = Type.Object({
|
|
8337
|
+
closeCause: SessionCloseCauseSchema,
|
|
8338
|
+
endedAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8339
|
+
state: choice([
|
|
8340
|
+
"closed",
|
|
8341
|
+
"expired",
|
|
8342
|
+
"policy_terminated",
|
|
8343
|
+
"engine_disconnected",
|
|
8344
|
+
"engine_crashed",
|
|
8345
|
+
"quota_terminated"
|
|
8346
|
+
]),
|
|
8347
|
+
leaseRemainingMs: Type.Literal(0),
|
|
8348
|
+
lease: SessionLeaseSchema
|
|
8349
|
+
}, strict7);
|
|
8350
|
+
function sessionTerminalFailureDetail(error2) {
|
|
8351
|
+
try {
|
|
8352
|
+
if (!error2 || typeof error2 !== "object")
|
|
8353
|
+
return void 0;
|
|
8354
|
+
const candidate = error2.details?.sessionTerminal;
|
|
8355
|
+
if (!value_exports2.Check(SessionTerminalViewSchema, candidate))
|
|
8356
|
+
return void 0;
|
|
8357
|
+
const source = candidate;
|
|
8358
|
+
const snapshot = {
|
|
8359
|
+
closeCause: source.closeCause,
|
|
8360
|
+
endedAt: source.endedAt,
|
|
8361
|
+
state: source.state,
|
|
8362
|
+
leaseRemainingMs: source.leaseRemainingMs,
|
|
8363
|
+
lease: {
|
|
8364
|
+
sampledAt: source.lease.sampledAt,
|
|
8365
|
+
expiresAt: source.lease.expiresAt,
|
|
8366
|
+
lastActivityAt: source.lease.lastActivityAt,
|
|
8367
|
+
idleExpiresAt: source.lease.idleExpiresAt
|
|
8368
|
+
}
|
|
8369
|
+
};
|
|
8370
|
+
if (!value_exports2.Check(SessionTerminalViewSchema, snapshot))
|
|
8371
|
+
return void 0;
|
|
8372
|
+
Object.freeze(snapshot.lease);
|
|
8373
|
+
return Object.freeze(snapshot);
|
|
8374
|
+
} catch {
|
|
8375
|
+
return void 0;
|
|
8376
|
+
}
|
|
8377
|
+
}
|
|
8378
|
+
function formatSessionTerminalFailure(error2) {
|
|
8379
|
+
const terminal = sessionTerminalFailureDetail(error2);
|
|
8380
|
+
if (!terminal)
|
|
8381
|
+
return void 0;
|
|
8382
|
+
return `Session ended: close-cause=${terminal.closeCause}; ended-at=${terminal.endedAt}; lease-remaining=${terminal.leaseRemainingMs}ms; ttl-expires=${terminal.lease.expiresAt}; idle-expires=${terminal.lease.idleExpiresAt} (Unix ms)`;
|
|
8383
|
+
}
|
|
8277
8384
|
var SessionViewSchema = Type.Object({
|
|
8278
8385
|
sessionId: Type.String(),
|
|
8279
8386
|
status: Type.String(),
|
|
@@ -8284,7 +8391,12 @@ var SessionViewSchema = Type.Object({
|
|
|
8284
8391
|
pages: Type.Integer({ minimum: 0 }),
|
|
8285
8392
|
tenantId: Type.Optional(Type.String()),
|
|
8286
8393
|
warnings: Type.Optional(Type.Array(Type.String())),
|
|
8287
|
-
diagnostics: Type.Optional(SessionDiagnosticsSchema)
|
|
8394
|
+
diagnostics: Type.Optional(SessionDiagnosticsSchema),
|
|
8395
|
+
lease: Type.Optional(SessionLeaseSchema),
|
|
8396
|
+
/** Present only after the coordinator has observed the first terminal transition. */
|
|
8397
|
+
closeCause: Type.Optional(SessionCloseCauseSchema),
|
|
8398
|
+
/** Derived from the sampled lease at projection time; never stored as a countdown. */
|
|
8399
|
+
leaseRemainingMs: Type.Optional(Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }))
|
|
8288
8400
|
});
|
|
8289
8401
|
|
|
8290
8402
|
// ../sdk-typescript/dist/client.js
|
|
@@ -8734,13 +8846,17 @@ function buildTools(client, boundSessionId) {
|
|
|
8734
8846
|
{
|
|
8735
8847
|
name: "browser_create",
|
|
8736
8848
|
requiredCapabilities: ["session.manage"],
|
|
8737
|
-
description: "Create
|
|
8849
|
+
description: "Create an ephemeral browser session (isolated by default). The opt-in cdpAttach lane shares a dedicated operator profile and checks only initial explicit navigation URLs; it requires local startup configuration. Element refs are scoped to a single session and page. Returns the sessionId.",
|
|
8738
8850
|
inputSchema: {
|
|
8739
8851
|
type: "object",
|
|
8740
8852
|
properties: {
|
|
8741
8853
|
tenantId: { type: "string", description: "Tenant that owns the session." },
|
|
8742
8854
|
engine: { type: "string", description: "Engine to use, e.g. playwright-chromium." },
|
|
8743
8855
|
headless: { type: "boolean" },
|
|
8856
|
+
cdpAttach: {
|
|
8857
|
+
type: "boolean",
|
|
8858
|
+
description: "Select the local startup-configured operator Chrome profile. No endpoint input; incompatible with launch/cookie settings."
|
|
8859
|
+
},
|
|
8744
8860
|
ttlMs: {
|
|
8745
8861
|
type: "number",
|
|
8746
8862
|
description: "Session lifetime in ms (default 3.5 h; max 86400000). Set it explicitly for long flows: an expired session takes every ref with it, and pages that keep no server-side draft mean full re-entry."
|
|
@@ -8783,6 +8899,8 @@ function buildTools(client, boundSessionId) {
|
|
|
8783
8899
|
throw new UsageError("tenantId is required and must be a non-empty string.");
|
|
8784
8900
|
}
|
|
8785
8901
|
const request = { tenantId: args.tenantId };
|
|
8902
|
+
if (typeof args.cdpAttach === "boolean")
|
|
8903
|
+
request.cdpAttach = args.cdpAttach;
|
|
8786
8904
|
if (typeof args.engine === "string")
|
|
8787
8905
|
request.engine = args.engine;
|
|
8788
8906
|
if (typeof args.headless === "boolean")
|
|
@@ -8803,8 +8921,14 @@ function buildTools(client, boundSessionId) {
|
|
|
8803
8921
|
request.snapshotTimeoutMs = args.snapshotTimeoutMs;
|
|
8804
8922
|
}
|
|
8805
8923
|
const session = await client.sessions.create(request);
|
|
8806
|
-
|
|
8807
|
-
|
|
8924
|
+
try {
|
|
8925
|
+
const page = await client.sessions.createPage(session.sessionId);
|
|
8926
|
+
return { ...session, pageId: page.pageId };
|
|
8927
|
+
} catch (error2) {
|
|
8928
|
+
await client.sessions.close(session.sessionId).catch(() => {
|
|
8929
|
+
});
|
|
8930
|
+
throw error2;
|
|
8931
|
+
}
|
|
8808
8932
|
}
|
|
8809
8933
|
},
|
|
8810
8934
|
{
|
|
@@ -8946,7 +9070,7 @@ function buildTools(client, boundSessionId) {
|
|
|
8946
9070
|
{
|
|
8947
9071
|
name: "browser_navigate",
|
|
8948
9072
|
requiredCapabilities: ["page.navigate"],
|
|
8949
|
-
description: "Navigate a page to an http(s) URL and wait for it to load.",
|
|
9073
|
+
description: "Navigate a page to an http(s) URL and wait for it to load. Failures set isError and carry a bounded reason; transport errors do not prove a bot wall.",
|
|
8950
9074
|
inputSchema: {
|
|
8951
9075
|
type: "object",
|
|
8952
9076
|
properties: {
|
|
@@ -9162,7 +9286,7 @@ function buildTools(client, boundSessionId) {
|
|
|
9162
9286
|
{
|
|
9163
9287
|
name: "browser_session",
|
|
9164
9288
|
requiredCapabilities: ["session.control", "page.observe"],
|
|
9165
|
-
description: "Inspect one session's metadata and available pages. On a delegated connection, also returns current control status; human takeover revokes later delegated calls.",
|
|
9289
|
+
description: "Inspect one session's metadata, sampled service-lease deadlines and available pages without refreshing idle lifetime. Independently authenticated operators may receive bounded close facts for a recently ended session. On a delegated connection, also returns current control status; human takeover revokes later delegated calls.",
|
|
9166
9290
|
inputSchema: {
|
|
9167
9291
|
type: "object",
|
|
9168
9292
|
properties: { sessionId: { type: "string", minLength: 1 } },
|
|
@@ -9286,8 +9410,12 @@ function buildMcpServer(deps) {
|
|
|
9286
9410
|
throw new UsageError("operationId is required for a delegated mutation; choose it before dispatch so a lost response can be reconciled");
|
|
9287
9411
|
const structured = protocolVersion === STRUCTURED_PROTOCOL_VERSION && !!tool.outputSchema;
|
|
9288
9412
|
const result = await tool.handler(deps.sessionId ? { ...args, sessionId: deps.sessionId } : args);
|
|
9289
|
-
|
|
9413
|
+
const navigationFailed = name === "browser_navigate" && isFailedNavigationResult(result);
|
|
9414
|
+
return ok(message.id, textResult(result, structured, navigationFailed));
|
|
9290
9415
|
} catch (err) {
|
|
9416
|
+
const navigationFailure = name === "browser_navigate" ? navigationFailureDetail(err) : void 0;
|
|
9417
|
+
if (navigationFailure !== void 0)
|
|
9418
|
+
return ok(message.id, navigationErrorResult(navigationFailure));
|
|
9291
9419
|
return ok(message.id, errorResult(formatToolError(err, !!deps.sessionId)));
|
|
9292
9420
|
}
|
|
9293
9421
|
}
|
|
@@ -9307,11 +9435,25 @@ function requireHttpUrl(value) {
|
|
|
9307
9435
|
}
|
|
9308
9436
|
return url;
|
|
9309
9437
|
}
|
|
9310
|
-
function
|
|
9438
|
+
function isFailedNavigationResult(value) {
|
|
9439
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
9440
|
+
return false;
|
|
9441
|
+
const status = value.status;
|
|
9442
|
+
return status === "blocked" || status === "timeout";
|
|
9443
|
+
}
|
|
9444
|
+
function textResult(value, structured = false, forceError = false) {
|
|
9311
9445
|
return {
|
|
9312
9446
|
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
9313
|
-
...structured ? { structuredContent: value } : {},
|
|
9314
|
-
...typeof value === "object" && value !== null && "ok" in value && value.ok === false ? { isError: true } : {}
|
|
9447
|
+
...structured || forceError ? { structuredContent: value } : {},
|
|
9448
|
+
...forceError || typeof value === "object" && value !== null && "ok" in value && value.ok === false ? { isError: true } : {}
|
|
9449
|
+
};
|
|
9450
|
+
}
|
|
9451
|
+
function navigationErrorResult(detail) {
|
|
9452
|
+
const value = { error: detail };
|
|
9453
|
+
return {
|
|
9454
|
+
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
9455
|
+
structuredContent: value,
|
|
9456
|
+
isError: true
|
|
9315
9457
|
};
|
|
9316
9458
|
}
|
|
9317
9459
|
function errorResult(message) {
|
|
@@ -9324,7 +9466,9 @@ function formatToolError(error2, delegated) {
|
|
|
9324
9466
|
const operationId = error2?.details?.operationId;
|
|
9325
9467
|
const suffix = typeof operationId === "string" ? `
|
|
9326
9468
|
Reconcile under current authorization with ${delegated ? "browser_operation" : "SDK/REST operation status"}: ${JSON.stringify({ operationId })}` : "";
|
|
9327
|
-
|
|
9469
|
+
const terminal = formatSessionTerminalFailure(error2);
|
|
9470
|
+
return formatErrorForUser(error2, "The element ref is stale. Call browser_observe to get fresh refs at the current revision, then act on the new ref. Do not retry the old one.") + (terminal ? `
|
|
9471
|
+
${terminal}` : "") + suffix;
|
|
9328
9472
|
}
|
|
9329
9473
|
function ok(id, result) {
|
|
9330
9474
|
return JSON.stringify({ jsonrpc: "2.0", id, result });
|
package/dist/index.js
CHANGED
|
@@ -6091,6 +6091,106 @@ __export(value_exports2, {
|
|
|
6091
6091
|
ValueErrorIterator: () => ValueErrorIterator
|
|
6092
6092
|
});
|
|
6093
6093
|
|
|
6094
|
+
// ../protocol/dist/errors.js
|
|
6095
|
+
var ErrorCode;
|
|
6096
|
+
(function(ErrorCode2) {
|
|
6097
|
+
ErrorCode2["SESSION_BUSY"] = "SESSION_BUSY";
|
|
6098
|
+
ErrorCode2["CONTROL_REVOKED"] = "CONTROL_REVOKED";
|
|
6099
|
+
ErrorCode2["CONTROL_REQUIRED"] = "CONTROL_REQUIRED";
|
|
6100
|
+
ErrorCode2["OPERATION_CONFLICT"] = "OPERATION_CONFLICT";
|
|
6101
|
+
ErrorCode2["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
6102
|
+
ErrorCode2["INVALID_TENANT_ID"] = "INVALID_TENANT_ID";
|
|
6103
|
+
ErrorCode2["UNAUTHORIZED"] = "UNAUTHORIZED";
|
|
6104
|
+
ErrorCode2["FORBIDDEN"] = "FORBIDDEN";
|
|
6105
|
+
ErrorCode2["NOT_FOUND"] = "NOT_FOUND";
|
|
6106
|
+
ErrorCode2["POLICY_DENIED"] = "POLICY_DENIED";
|
|
6107
|
+
ErrorCode2["APPROVAL_REQUIRED"] = "APPROVAL_REQUIRED";
|
|
6108
|
+
ErrorCode2["SESSION_NOT_FOUND"] = "SESSION_NOT_FOUND";
|
|
6109
|
+
ErrorCode2["SESSION_EXPIRED"] = "SESSION_EXPIRED";
|
|
6110
|
+
ErrorCode2["PAGE_NOT_FOUND"] = "PAGE_NOT_FOUND";
|
|
6111
|
+
ErrorCode2["STALE_TARGET"] = "STALE_TARGET";
|
|
6112
|
+
ErrorCode2["TARGET_NOT_FOUND"] = "TARGET_NOT_FOUND";
|
|
6113
|
+
ErrorCode2["TARGET_AMBIGUOUS"] = "TARGET_AMBIGUOUS";
|
|
6114
|
+
ErrorCode2["TARGET_NOT_VISIBLE"] = "TARGET_NOT_VISIBLE";
|
|
6115
|
+
ErrorCode2["TARGET_DISABLED"] = "TARGET_DISABLED";
|
|
6116
|
+
ErrorCode2["NAVIGATION_TIMEOUT"] = "NAVIGATION_TIMEOUT";
|
|
6117
|
+
ErrorCode2["ACTION_TIMEOUT"] = "ACTION_TIMEOUT";
|
|
6118
|
+
ErrorCode2["VALUE_MISMATCH"] = "VALUE_MISMATCH";
|
|
6119
|
+
ErrorCode2["PLAN_WAIT_TIMEOUT"] = "PLAN_WAIT_TIMEOUT";
|
|
6120
|
+
ErrorCode2["ENGINE_UNSUPPORTED"] = "ENGINE_UNSUPPORTED";
|
|
6121
|
+
ErrorCode2["ENGINE_CRASHED"] = "ENGINE_CRASHED";
|
|
6122
|
+
ErrorCode2["DOWNLOAD_BLOCKED"] = "DOWNLOAD_BLOCKED";
|
|
6123
|
+
ErrorCode2["QUOTA_EXCEEDED"] = "QUOTA_EXCEEDED";
|
|
6124
|
+
ErrorCode2["OUTPUT_TRUNCATED"] = "OUTPUT_TRUNCATED";
|
|
6125
|
+
ErrorCode2["INTERNAL"] = "INTERNAL";
|
|
6126
|
+
})(ErrorCode || (ErrorCode = {}));
|
|
6127
|
+
var UsageError = class extends Error {
|
|
6128
|
+
constructor(message) {
|
|
6129
|
+
super(message);
|
|
6130
|
+
this.name = "UsageError";
|
|
6131
|
+
}
|
|
6132
|
+
};
|
|
6133
|
+
function formatErrorForUser(error2, staleHint) {
|
|
6134
|
+
if (error2 instanceof UsageError) {
|
|
6135
|
+
return error2.message;
|
|
6136
|
+
}
|
|
6137
|
+
if (error2 instanceof Error) {
|
|
6138
|
+
const code = error2.code;
|
|
6139
|
+
if (code === "STALE_TARGET" && staleHint) {
|
|
6140
|
+
return `${error2.message}
|
|
6141
|
+
|
|
6142
|
+
${staleHint}`;
|
|
6143
|
+
}
|
|
6144
|
+
return code && !error2.message.startsWith(code) ? `${code}: ${error2.message}` : error2.message;
|
|
6145
|
+
}
|
|
6146
|
+
return String(error2);
|
|
6147
|
+
}
|
|
6148
|
+
|
|
6149
|
+
// ../protocol/dist/operation-id.js
|
|
6150
|
+
var OPERATION_ID_PATTERN = "^[a-zA-Z0-9_-]{1,128}$";
|
|
6151
|
+
var CONTROL_OPERATION_ID = new RegExp(OPERATION_ID_PATTERN);
|
|
6152
|
+
var OperationIdSchema = Type.String({
|
|
6153
|
+
minLength: 1,
|
|
6154
|
+
maxLength: 128,
|
|
6155
|
+
pattern: OPERATION_ID_PATTERN
|
|
6156
|
+
});
|
|
6157
|
+
|
|
6158
|
+
// ../protocol/dist/navigation-failure.js
|
|
6159
|
+
var NavigationFailureReasonSchema = Type.Union([
|
|
6160
|
+
Type.Literal("dns_nxdomain"),
|
|
6161
|
+
Type.Literal("dns_unresolved"),
|
|
6162
|
+
Type.Literal("connection_refused"),
|
|
6163
|
+
Type.Literal("dns_timeout"),
|
|
6164
|
+
Type.Literal("dns_refused"),
|
|
6165
|
+
Type.Literal("tls_refused"),
|
|
6166
|
+
Type.Literal("egress_policy"),
|
|
6167
|
+
Type.Literal("browser_error_document"),
|
|
6168
|
+
Type.Literal("engine_error")
|
|
6169
|
+
]);
|
|
6170
|
+
var reasons = new Set(NavigationFailureReasonSchema.anyOf.map((item) => item.const));
|
|
6171
|
+
function isNavigationFailureReason(value) {
|
|
6172
|
+
return typeof value === "string" && reasons.has(value);
|
|
6173
|
+
}
|
|
6174
|
+
function navigationFailureDetail(error2) {
|
|
6175
|
+
if (!error2 || typeof error2 !== "object")
|
|
6176
|
+
return void 0;
|
|
6177
|
+
const candidate = error2;
|
|
6178
|
+
const reason = candidate.details?.reason;
|
|
6179
|
+
if (!isNavigationFailureReason(reason))
|
|
6180
|
+
return void 0;
|
|
6181
|
+
const code = Object.values(ErrorCode).includes(candidate.code) ? candidate.code : ErrorCode.INTERNAL;
|
|
6182
|
+
const operationId = candidate.details?.operationId;
|
|
6183
|
+
return {
|
|
6184
|
+
code,
|
|
6185
|
+
message: `Navigation failed: ${reason}`,
|
|
6186
|
+
retryable: false,
|
|
6187
|
+
details: {
|
|
6188
|
+
reason,
|
|
6189
|
+
...typeof operationId === "string" && CONTROL_OPERATION_ID.test(operationId) ? { operationId } : {}
|
|
6190
|
+
}
|
|
6191
|
+
};
|
|
6192
|
+
}
|
|
6193
|
+
|
|
6094
6194
|
// ../protocol/dist/types.js
|
|
6095
6195
|
var REF_PATTERN = /^e\d+_\d+$/;
|
|
6096
6196
|
var DELIVERED_EXTRACT_FORMATS = [
|
|
@@ -6245,6 +6345,7 @@ var SessionCookieSchema = Type.Object({
|
|
|
6245
6345
|
sameSite: Type.Optional(Type.Union([Type.Literal("Strict"), Type.Literal("Lax"), Type.Literal("None")]))
|
|
6246
6346
|
});
|
|
6247
6347
|
var SessionRequestSchema = Type.Object({
|
|
6348
|
+
cdpAttach: Type.Optional(Type.Boolean()),
|
|
6248
6349
|
controlMode: Type.Optional(Type.Literal("delegated")),
|
|
6249
6350
|
tenantId: Type.Optional(Type.String({ minLength: 1 })),
|
|
6250
6351
|
// Known engine names plus any registered engine name (TD-BROWSER-7
|
|
@@ -6302,6 +6403,7 @@ var EngineCapabilitiesSchema = Type.Object({
|
|
|
6302
6403
|
supportsPersistentStorage: Type.Boolean(),
|
|
6303
6404
|
supportsAccessibilityTree: Type.Boolean(),
|
|
6304
6405
|
supportsCdp: Type.Boolean(),
|
|
6406
|
+
supportsCdpAttach: Type.Optional(Type.Boolean()),
|
|
6305
6407
|
supportedObservationModes: Type.Array(ObservationModeSchema, { minItems: 1 }),
|
|
6306
6408
|
supportedActionTypes: Type.Array(ActionTypeSchema, { minItems: 1 })
|
|
6307
6409
|
});
|
|
@@ -6641,7 +6743,8 @@ var ActionRequestSchema = Type.Object({
|
|
|
6641
6743
|
var NavigationStatusSchema = Type.Object({
|
|
6642
6744
|
status: Type.Union([Type.Literal("success"), Type.Literal("timeout"), Type.Literal("blocked")]),
|
|
6643
6745
|
url: Type.String({ pattern: "^https?://[\\w\\-]+(\\.[\\w\\-]+)+\\S*$" }),
|
|
6644
|
-
redirectChain: Type.Array(Type.String())
|
|
6746
|
+
redirectChain: Type.Array(Type.String()),
|
|
6747
|
+
reason: Type.Optional(NavigationFailureReasonSchema)
|
|
6645
6748
|
});
|
|
6646
6749
|
var PolicyDecisionSchema = Type.Object({
|
|
6647
6750
|
allowed: Type.Boolean(),
|
|
@@ -7253,61 +7356,6 @@ var TypeCompiler;
|
|
|
7253
7356
|
TypeCompiler2.Compile = Compile;
|
|
7254
7357
|
})(TypeCompiler || (TypeCompiler = {}));
|
|
7255
7358
|
|
|
7256
|
-
// ../protocol/dist/errors.js
|
|
7257
|
-
var ErrorCode;
|
|
7258
|
-
(function(ErrorCode2) {
|
|
7259
|
-
ErrorCode2["SESSION_BUSY"] = "SESSION_BUSY";
|
|
7260
|
-
ErrorCode2["CONTROL_REVOKED"] = "CONTROL_REVOKED";
|
|
7261
|
-
ErrorCode2["CONTROL_REQUIRED"] = "CONTROL_REQUIRED";
|
|
7262
|
-
ErrorCode2["OPERATION_CONFLICT"] = "OPERATION_CONFLICT";
|
|
7263
|
-
ErrorCode2["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
7264
|
-
ErrorCode2["INVALID_TENANT_ID"] = "INVALID_TENANT_ID";
|
|
7265
|
-
ErrorCode2["UNAUTHORIZED"] = "UNAUTHORIZED";
|
|
7266
|
-
ErrorCode2["FORBIDDEN"] = "FORBIDDEN";
|
|
7267
|
-
ErrorCode2["NOT_FOUND"] = "NOT_FOUND";
|
|
7268
|
-
ErrorCode2["POLICY_DENIED"] = "POLICY_DENIED";
|
|
7269
|
-
ErrorCode2["APPROVAL_REQUIRED"] = "APPROVAL_REQUIRED";
|
|
7270
|
-
ErrorCode2["SESSION_NOT_FOUND"] = "SESSION_NOT_FOUND";
|
|
7271
|
-
ErrorCode2["SESSION_EXPIRED"] = "SESSION_EXPIRED";
|
|
7272
|
-
ErrorCode2["PAGE_NOT_FOUND"] = "PAGE_NOT_FOUND";
|
|
7273
|
-
ErrorCode2["STALE_TARGET"] = "STALE_TARGET";
|
|
7274
|
-
ErrorCode2["TARGET_NOT_FOUND"] = "TARGET_NOT_FOUND";
|
|
7275
|
-
ErrorCode2["TARGET_AMBIGUOUS"] = "TARGET_AMBIGUOUS";
|
|
7276
|
-
ErrorCode2["TARGET_NOT_VISIBLE"] = "TARGET_NOT_VISIBLE";
|
|
7277
|
-
ErrorCode2["TARGET_DISABLED"] = "TARGET_DISABLED";
|
|
7278
|
-
ErrorCode2["NAVIGATION_TIMEOUT"] = "NAVIGATION_TIMEOUT";
|
|
7279
|
-
ErrorCode2["ACTION_TIMEOUT"] = "ACTION_TIMEOUT";
|
|
7280
|
-
ErrorCode2["VALUE_MISMATCH"] = "VALUE_MISMATCH";
|
|
7281
|
-
ErrorCode2["PLAN_WAIT_TIMEOUT"] = "PLAN_WAIT_TIMEOUT";
|
|
7282
|
-
ErrorCode2["ENGINE_UNSUPPORTED"] = "ENGINE_UNSUPPORTED";
|
|
7283
|
-
ErrorCode2["ENGINE_CRASHED"] = "ENGINE_CRASHED";
|
|
7284
|
-
ErrorCode2["DOWNLOAD_BLOCKED"] = "DOWNLOAD_BLOCKED";
|
|
7285
|
-
ErrorCode2["QUOTA_EXCEEDED"] = "QUOTA_EXCEEDED";
|
|
7286
|
-
ErrorCode2["OUTPUT_TRUNCATED"] = "OUTPUT_TRUNCATED";
|
|
7287
|
-
ErrorCode2["INTERNAL"] = "INTERNAL";
|
|
7288
|
-
})(ErrorCode || (ErrorCode = {}));
|
|
7289
|
-
var UsageError = class extends Error {
|
|
7290
|
-
constructor(message) {
|
|
7291
|
-
super(message);
|
|
7292
|
-
this.name = "UsageError";
|
|
7293
|
-
}
|
|
7294
|
-
};
|
|
7295
|
-
function formatErrorForUser(error2, staleHint) {
|
|
7296
|
-
if (error2 instanceof UsageError) {
|
|
7297
|
-
return error2.message;
|
|
7298
|
-
}
|
|
7299
|
-
if (error2 instanceof Error) {
|
|
7300
|
-
const code = error2.code;
|
|
7301
|
-
if (code === "STALE_TARGET" && staleHint) {
|
|
7302
|
-
return `${error2.message}
|
|
7303
|
-
|
|
7304
|
-
${staleHint}`;
|
|
7305
|
-
}
|
|
7306
|
-
return code && !error2.message.startsWith(code) ? `${code}: ${error2.message}` : error2.message;
|
|
7307
|
-
}
|
|
7308
|
-
return String(error2);
|
|
7309
|
-
}
|
|
7310
|
-
|
|
7311
7359
|
// ../protocol/dist/interaction-guidance.js
|
|
7312
7360
|
var INTERACTION_GUIDANCE = Object.freeze({
|
|
7313
7361
|
snapshot: "Read a self-contained page snapshot with current refs. Prefer scoped bulk autofill, where available, for supported native forms; use a snapshot to prepare explicit steps. Degraded or truncated observations cannot establish complete target coverage.",
|
|
@@ -7618,13 +7666,6 @@ function agentModeAllows(mode, capability) {
|
|
|
7618
7666
|
|
|
7619
7667
|
// ../protocol/dist/control.js
|
|
7620
7668
|
var strict = { additionalProperties: false };
|
|
7621
|
-
var OPERATION_ID_PATTERN = "^[a-zA-Z0-9_-]{1,128}$";
|
|
7622
|
-
var CONTROL_OPERATION_ID = new RegExp(OPERATION_ID_PATTERN);
|
|
7623
|
-
var OperationIdSchema = Type.String({
|
|
7624
|
-
minLength: 1,
|
|
7625
|
-
maxLength: 128,
|
|
7626
|
-
pattern: OPERATION_ID_PATTERN
|
|
7627
|
-
});
|
|
7628
7669
|
var ControlStateSchema = Type.Union([
|
|
7629
7670
|
Type.Literal("HUMAN_ACTIVE"),
|
|
7630
7671
|
Type.Literal("RESUME_REVIEW"),
|
|
@@ -8128,7 +8169,7 @@ var BrowserVersionSchema = Type.String({
|
|
|
8128
8169
|
pattern: "^[a-zA-Z0-9._+ -]+$"
|
|
8129
8170
|
});
|
|
8130
8171
|
var SessionDiagnosticsSchema = Type.Object({
|
|
8131
|
-
attachment: choice(["local_launch", "remote_cdp", "unknown"]),
|
|
8172
|
+
attachment: choice(["local_launch", "remote_cdp", "cdp_attach", "unknown"]),
|
|
8132
8173
|
browserFamily: choice(["chromium", "firefox", "webkit", "unknown"]),
|
|
8133
8174
|
browserVersion: Type.Optional(BrowserVersionSchema),
|
|
8134
8175
|
executableSelection: choice([
|
|
@@ -8143,10 +8184,13 @@ var SessionDiagnosticsSchema = Type.Object({
|
|
|
8143
8184
|
"dedicated_local_browser",
|
|
8144
8185
|
"shared_local_browser",
|
|
8145
8186
|
"shared_remote_connection",
|
|
8187
|
+
"operator_owned_browser",
|
|
8146
8188
|
"unknown"
|
|
8147
8189
|
]),
|
|
8190
|
+
endpointClass: Type.Optional(choice(["loopback_http"])),
|
|
8191
|
+
egress: Type.Optional(choice(["navigation_preflight_only"])),
|
|
8148
8192
|
context: Type.Object({
|
|
8149
|
-
isolation: choice(["new_context", "unknown"]),
|
|
8193
|
+
isolation: choice(["new_context", "existing_default_context", "unknown"]),
|
|
8150
8194
|
viewport: Type.Union([
|
|
8151
8195
|
Type.Object({
|
|
8152
8196
|
mode: Type.Literal("fixed"),
|
|
@@ -8159,6 +8203,69 @@ var SessionDiagnosticsSchema = Type.Object({
|
|
|
8159
8203
|
initScript: choice(["registered", "not_registered", "unknown"])
|
|
8160
8204
|
}, strict7)
|
|
8161
8205
|
}, strict7);
|
|
8206
|
+
var SessionLeaseSchema = Type.Object({
|
|
8207
|
+
sampledAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8208
|
+
expiresAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8209
|
+
lastActivityAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8210
|
+
idleExpiresAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER })
|
|
8211
|
+
}, strict7);
|
|
8212
|
+
var SessionCloseCauseSchema = choice([
|
|
8213
|
+
"ttl_expired",
|
|
8214
|
+
"idle_expired",
|
|
8215
|
+
"explicit_close",
|
|
8216
|
+
"policy_terminated",
|
|
8217
|
+
"engine_disconnected",
|
|
8218
|
+
"engine_crash",
|
|
8219
|
+
"unknown"
|
|
8220
|
+
]);
|
|
8221
|
+
var SessionTerminalViewSchema = Type.Object({
|
|
8222
|
+
closeCause: SessionCloseCauseSchema,
|
|
8223
|
+
endedAt: Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }),
|
|
8224
|
+
state: choice([
|
|
8225
|
+
"closed",
|
|
8226
|
+
"expired",
|
|
8227
|
+
"policy_terminated",
|
|
8228
|
+
"engine_disconnected",
|
|
8229
|
+
"engine_crashed",
|
|
8230
|
+
"quota_terminated"
|
|
8231
|
+
]),
|
|
8232
|
+
leaseRemainingMs: Type.Literal(0),
|
|
8233
|
+
lease: SessionLeaseSchema
|
|
8234
|
+
}, strict7);
|
|
8235
|
+
function sessionTerminalFailureDetail(error2) {
|
|
8236
|
+
try {
|
|
8237
|
+
if (!error2 || typeof error2 !== "object")
|
|
8238
|
+
return void 0;
|
|
8239
|
+
const candidate = error2.details?.sessionTerminal;
|
|
8240
|
+
if (!value_exports2.Check(SessionTerminalViewSchema, candidate))
|
|
8241
|
+
return void 0;
|
|
8242
|
+
const source = candidate;
|
|
8243
|
+
const snapshot = {
|
|
8244
|
+
closeCause: source.closeCause,
|
|
8245
|
+
endedAt: source.endedAt,
|
|
8246
|
+
state: source.state,
|
|
8247
|
+
leaseRemainingMs: source.leaseRemainingMs,
|
|
8248
|
+
lease: {
|
|
8249
|
+
sampledAt: source.lease.sampledAt,
|
|
8250
|
+
expiresAt: source.lease.expiresAt,
|
|
8251
|
+
lastActivityAt: source.lease.lastActivityAt,
|
|
8252
|
+
idleExpiresAt: source.lease.idleExpiresAt
|
|
8253
|
+
}
|
|
8254
|
+
};
|
|
8255
|
+
if (!value_exports2.Check(SessionTerminalViewSchema, snapshot))
|
|
8256
|
+
return void 0;
|
|
8257
|
+
Object.freeze(snapshot.lease);
|
|
8258
|
+
return Object.freeze(snapshot);
|
|
8259
|
+
} catch {
|
|
8260
|
+
return void 0;
|
|
8261
|
+
}
|
|
8262
|
+
}
|
|
8263
|
+
function formatSessionTerminalFailure(error2) {
|
|
8264
|
+
const terminal = sessionTerminalFailureDetail(error2);
|
|
8265
|
+
if (!terminal)
|
|
8266
|
+
return void 0;
|
|
8267
|
+
return `Session ended: close-cause=${terminal.closeCause}; ended-at=${terminal.endedAt}; lease-remaining=${terminal.leaseRemainingMs}ms; ttl-expires=${terminal.lease.expiresAt}; idle-expires=${terminal.lease.idleExpiresAt} (Unix ms)`;
|
|
8268
|
+
}
|
|
8162
8269
|
var SessionViewSchema = Type.Object({
|
|
8163
8270
|
sessionId: Type.String(),
|
|
8164
8271
|
status: Type.String(),
|
|
@@ -8169,7 +8276,12 @@ var SessionViewSchema = Type.Object({
|
|
|
8169
8276
|
pages: Type.Integer({ minimum: 0 }),
|
|
8170
8277
|
tenantId: Type.Optional(Type.String()),
|
|
8171
8278
|
warnings: Type.Optional(Type.Array(Type.String())),
|
|
8172
|
-
diagnostics: Type.Optional(SessionDiagnosticsSchema)
|
|
8279
|
+
diagnostics: Type.Optional(SessionDiagnosticsSchema),
|
|
8280
|
+
lease: Type.Optional(SessionLeaseSchema),
|
|
8281
|
+
/** Present only after the coordinator has observed the first terminal transition. */
|
|
8282
|
+
closeCause: Type.Optional(SessionCloseCauseSchema),
|
|
8283
|
+
/** Derived from the sampled lease at projection time; never stored as a countdown. */
|
|
8284
|
+
leaseRemainingMs: Type.Optional(Type.Integer({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }))
|
|
8173
8285
|
});
|
|
8174
8286
|
|
|
8175
8287
|
// dist/mcp-server.js
|
|
@@ -8210,13 +8322,17 @@ function buildTools(client, boundSessionId) {
|
|
|
8210
8322
|
{
|
|
8211
8323
|
name: "browser_create",
|
|
8212
8324
|
requiredCapabilities: ["session.manage"],
|
|
8213
|
-
description: "Create
|
|
8325
|
+
description: "Create an ephemeral browser session (isolated by default). The opt-in cdpAttach lane shares a dedicated operator profile and checks only initial explicit navigation URLs; it requires local startup configuration. Element refs are scoped to a single session and page. Returns the sessionId.",
|
|
8214
8326
|
inputSchema: {
|
|
8215
8327
|
type: "object",
|
|
8216
8328
|
properties: {
|
|
8217
8329
|
tenantId: { type: "string", description: "Tenant that owns the session." },
|
|
8218
8330
|
engine: { type: "string", description: "Engine to use, e.g. playwright-chromium." },
|
|
8219
8331
|
headless: { type: "boolean" },
|
|
8332
|
+
cdpAttach: {
|
|
8333
|
+
type: "boolean",
|
|
8334
|
+
description: "Select the local startup-configured operator Chrome profile. No endpoint input; incompatible with launch/cookie settings."
|
|
8335
|
+
},
|
|
8220
8336
|
ttlMs: {
|
|
8221
8337
|
type: "number",
|
|
8222
8338
|
description: "Session lifetime in ms (default 3.5 h; max 86400000). Set it explicitly for long flows: an expired session takes every ref with it, and pages that keep no server-side draft mean full re-entry."
|
|
@@ -8259,6 +8375,8 @@ function buildTools(client, boundSessionId) {
|
|
|
8259
8375
|
throw new UsageError("tenantId is required and must be a non-empty string.");
|
|
8260
8376
|
}
|
|
8261
8377
|
const request = { tenantId: args.tenantId };
|
|
8378
|
+
if (typeof args.cdpAttach === "boolean")
|
|
8379
|
+
request.cdpAttach = args.cdpAttach;
|
|
8262
8380
|
if (typeof args.engine === "string")
|
|
8263
8381
|
request.engine = args.engine;
|
|
8264
8382
|
if (typeof args.headless === "boolean")
|
|
@@ -8279,8 +8397,14 @@ function buildTools(client, boundSessionId) {
|
|
|
8279
8397
|
request.snapshotTimeoutMs = args.snapshotTimeoutMs;
|
|
8280
8398
|
}
|
|
8281
8399
|
const session = await client.sessions.create(request);
|
|
8282
|
-
|
|
8283
|
-
|
|
8400
|
+
try {
|
|
8401
|
+
const page = await client.sessions.createPage(session.sessionId);
|
|
8402
|
+
return { ...session, pageId: page.pageId };
|
|
8403
|
+
} catch (error2) {
|
|
8404
|
+
await client.sessions.close(session.sessionId).catch(() => {
|
|
8405
|
+
});
|
|
8406
|
+
throw error2;
|
|
8407
|
+
}
|
|
8284
8408
|
}
|
|
8285
8409
|
},
|
|
8286
8410
|
{
|
|
@@ -8422,7 +8546,7 @@ function buildTools(client, boundSessionId) {
|
|
|
8422
8546
|
{
|
|
8423
8547
|
name: "browser_navigate",
|
|
8424
8548
|
requiredCapabilities: ["page.navigate"],
|
|
8425
|
-
description: "Navigate a page to an http(s) URL and wait for it to load.",
|
|
8549
|
+
description: "Navigate a page to an http(s) URL and wait for it to load. Failures set isError and carry a bounded reason; transport errors do not prove a bot wall.",
|
|
8426
8550
|
inputSchema: {
|
|
8427
8551
|
type: "object",
|
|
8428
8552
|
properties: {
|
|
@@ -8638,7 +8762,7 @@ function buildTools(client, boundSessionId) {
|
|
|
8638
8762
|
{
|
|
8639
8763
|
name: "browser_session",
|
|
8640
8764
|
requiredCapabilities: ["session.control", "page.observe"],
|
|
8641
|
-
description: "Inspect one session's metadata and available pages. On a delegated connection, also returns current control status; human takeover revokes later delegated calls.",
|
|
8765
|
+
description: "Inspect one session's metadata, sampled service-lease deadlines and available pages without refreshing idle lifetime. Independently authenticated operators may receive bounded close facts for a recently ended session. On a delegated connection, also returns current control status; human takeover revokes later delegated calls.",
|
|
8642
8766
|
inputSchema: {
|
|
8643
8767
|
type: "object",
|
|
8644
8768
|
properties: { sessionId: { type: "string", minLength: 1 } },
|
|
@@ -8762,8 +8886,12 @@ function buildMcpServer(deps) {
|
|
|
8762
8886
|
throw new UsageError("operationId is required for a delegated mutation; choose it before dispatch so a lost response can be reconciled");
|
|
8763
8887
|
const structured = protocolVersion === STRUCTURED_PROTOCOL_VERSION && !!tool.outputSchema;
|
|
8764
8888
|
const result = await tool.handler(deps.sessionId ? { ...args, sessionId: deps.sessionId } : args);
|
|
8765
|
-
|
|
8889
|
+
const navigationFailed = name === "browser_navigate" && isFailedNavigationResult(result);
|
|
8890
|
+
return ok(message.id, textResult(result, structured, navigationFailed));
|
|
8766
8891
|
} catch (err) {
|
|
8892
|
+
const navigationFailure = name === "browser_navigate" ? navigationFailureDetail(err) : void 0;
|
|
8893
|
+
if (navigationFailure !== void 0)
|
|
8894
|
+
return ok(message.id, navigationErrorResult(navigationFailure));
|
|
8767
8895
|
return ok(message.id, errorResult(formatToolError(err, !!deps.sessionId)));
|
|
8768
8896
|
}
|
|
8769
8897
|
}
|
|
@@ -8783,11 +8911,25 @@ function requireHttpUrl(value) {
|
|
|
8783
8911
|
}
|
|
8784
8912
|
return url;
|
|
8785
8913
|
}
|
|
8786
|
-
function
|
|
8914
|
+
function isFailedNavigationResult(value) {
|
|
8915
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
8916
|
+
return false;
|
|
8917
|
+
const status = value.status;
|
|
8918
|
+
return status === "blocked" || status === "timeout";
|
|
8919
|
+
}
|
|
8920
|
+
function textResult(value, structured = false, forceError = false) {
|
|
8787
8921
|
return {
|
|
8788
8922
|
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
8789
|
-
...structured ? { structuredContent: value } : {},
|
|
8790
|
-
...typeof value === "object" && value !== null && "ok" in value && value.ok === false ? { isError: true } : {}
|
|
8923
|
+
...structured || forceError ? { structuredContent: value } : {},
|
|
8924
|
+
...forceError || typeof value === "object" && value !== null && "ok" in value && value.ok === false ? { isError: true } : {}
|
|
8925
|
+
};
|
|
8926
|
+
}
|
|
8927
|
+
function navigationErrorResult(detail) {
|
|
8928
|
+
const value = { error: detail };
|
|
8929
|
+
return {
|
|
8930
|
+
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
8931
|
+
structuredContent: value,
|
|
8932
|
+
isError: true
|
|
8791
8933
|
};
|
|
8792
8934
|
}
|
|
8793
8935
|
function errorResult(message) {
|
|
@@ -8800,7 +8942,9 @@ function formatToolError(error2, delegated) {
|
|
|
8800
8942
|
const operationId = error2?.details?.operationId;
|
|
8801
8943
|
const suffix = typeof operationId === "string" ? `
|
|
8802
8944
|
Reconcile under current authorization with ${delegated ? "browser_operation" : "SDK/REST operation status"}: ${JSON.stringify({ operationId })}` : "";
|
|
8803
|
-
|
|
8945
|
+
const terminal = formatSessionTerminalFailure(error2);
|
|
8946
|
+
return formatErrorForUser(error2, "The element ref is stale. Call browser_observe to get fresh refs at the current revision, then act on the new ref. Do not retry the old one.") + (terminal ? `
|
|
8947
|
+
${terminal}` : "") + suffix;
|
|
8804
8948
|
}
|
|
8805
8949
|
function ok(id, result) {
|
|
8806
8950
|
return JSON.stringify({ jsonrpc: "2.0", id, result });
|
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8BH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EAKf,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AAE9C,mFAAmF;AACnF,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,IAAI,CACZ,kBAAkB,CAAC,UAAU,CAAC,EAC5B,QAAQ,GACR,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,YAAY,GACZ,UAAU,GACV,SAAS,GACT,eAAe,GACf,YAAY,GACZ,SAAS,GACT,KAAK,GACL,MAAM,GACN,UAAU,CACb,GACC,OAAO,CACL,IAAI,CACF,kBAAkB,CAAC,UAAU,CAAC,EAC9B,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,CAC3D,CACF,CAAC;CACL;AAED,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;IAChD,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9C;AAKD,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,SAAS,CAAC,eAAe,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;IACjE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D;AAwCD,eAAO,MAAM,kBAAkB,yGAMpB,CAAC;AAEZ,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAsmBvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CAgK/D"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* The transport-neutral handler accepts and returns JSON-RPC lines (or null
|
|
9
9
|
* for notifications). Negotiated protocol state belongs to each server instance.
|
|
10
10
|
*/
|
|
11
|
-
import { ArtifactRefSchema, AutofillReportSchema, AutofillRequestSchema, DEFAULT_AGENT_MODE, DELIVERED_ACTION_TYPES, ExtractMaxBytesSchema, INTERACTION_GUIDANCE, ObservationRequestSchema, PageStateSchema, PlanActionsSchema, PlanReportSchema, ScreenshotRequestSchema, UsageError, WireActionEnvelopeSchema, agentModeAllows, createPlanReportParser, formatErrorForUser, parseAutofillReport, parseAutofillRequest, parseExtractMaxBytes, parseObservationRequest, parsePlanSteps, parseScreenshotRequest, validateWireAction, } from '@agentbrowser/protocol';
|
|
11
|
+
import { ArtifactRefSchema, AutofillReportSchema, AutofillRequestSchema, DEFAULT_AGENT_MODE, DELIVERED_ACTION_TYPES, ExtractMaxBytesSchema, INTERACTION_GUIDANCE, ObservationRequestSchema, PageStateSchema, PlanActionsSchema, PlanReportSchema, ScreenshotRequestSchema, UsageError, WireActionEnvelopeSchema, agentModeAllows, createPlanReportParser, formatErrorForUser, formatSessionTerminalFailure, navigationFailureDetail, parseAutofillReport, parseAutofillRequest, parseExtractMaxBytes, parseObservationRequest, parsePlanSteps, parseScreenshotRequest, validateWireAction, } from '@agentbrowser/protocol';
|
|
12
12
|
import { DELIVERED_EXTRACT_FORMATS, REF_PATTERN } from '@agentbrowser/sdk-typescript';
|
|
13
13
|
const LEGACY_PROTOCOL_VERSION = '2024-11-05';
|
|
14
14
|
const STRUCTURED_PROTOCOL_VERSION = '2025-06-18';
|
|
@@ -59,7 +59,7 @@ export function buildTools(client, boundSessionId) {
|
|
|
59
59
|
{
|
|
60
60
|
name: 'browser_create',
|
|
61
61
|
requiredCapabilities: ['session.manage'],
|
|
62
|
-
description: 'Create
|
|
62
|
+
description: 'Create an ephemeral browser session (isolated by default). The opt-in cdpAttach lane shares a dedicated operator profile and checks only initial explicit navigation URLs; it requires local startup configuration. Element refs are ' +
|
|
63
63
|
'scoped to a single session and page. Returns the sessionId.',
|
|
64
64
|
inputSchema: {
|
|
65
65
|
type: 'object',
|
|
@@ -67,6 +67,10 @@ export function buildTools(client, boundSessionId) {
|
|
|
67
67
|
tenantId: { type: 'string', description: 'Tenant that owns the session.' },
|
|
68
68
|
engine: { type: 'string', description: 'Engine to use, e.g. playwright-chromium.' },
|
|
69
69
|
headless: { type: 'boolean' },
|
|
70
|
+
cdpAttach: {
|
|
71
|
+
type: 'boolean',
|
|
72
|
+
description: 'Select the local startup-configured operator Chrome profile. No endpoint input; incompatible with launch/cookie settings.',
|
|
73
|
+
},
|
|
70
74
|
ttlMs: {
|
|
71
75
|
type: 'number',
|
|
72
76
|
description: 'Session lifetime in ms (default 3.5 h; max 86400000). Set it explicitly ' +
|
|
@@ -125,6 +129,8 @@ export function buildTools(client, boundSessionId) {
|
|
|
125
129
|
throw new UsageError('tenantId is required and must be a non-empty string.');
|
|
126
130
|
}
|
|
127
131
|
const request = { tenantId: args.tenantId };
|
|
132
|
+
if (typeof args.cdpAttach === 'boolean')
|
|
133
|
+
request.cdpAttach = args.cdpAttach;
|
|
128
134
|
if (typeof args.engine === 'string')
|
|
129
135
|
request.engine = args.engine;
|
|
130
136
|
if (typeof args.headless === 'boolean')
|
|
@@ -147,8 +153,16 @@ export function buildTools(client, boundSessionId) {
|
|
|
147
153
|
const session = await client.sessions.create(request);
|
|
148
154
|
// Observing requires a page; create one up front so the caller's very
|
|
149
155
|
// next tool call can be navigate or observe.
|
|
150
|
-
|
|
151
|
-
|
|
156
|
+
try {
|
|
157
|
+
const page = await client.sessions.createPage(session.sessionId);
|
|
158
|
+
return { ...session, pageId: page.pageId };
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
// Provisioning owns this new session; do not strand its resources (or
|
|
162
|
+
// the exclusive operator attachment) when the first page fails.
|
|
163
|
+
await client.sessions.close(session.sessionId).catch(() => { });
|
|
164
|
+
throw error;
|
|
165
|
+
}
|
|
152
166
|
},
|
|
153
167
|
},
|
|
154
168
|
{
|
|
@@ -296,7 +310,7 @@ export function buildTools(client, boundSessionId) {
|
|
|
296
310
|
{
|
|
297
311
|
name: 'browser_navigate',
|
|
298
312
|
requiredCapabilities: ['page.navigate'],
|
|
299
|
-
description: 'Navigate a page to an http(s) URL and wait for it to load.',
|
|
313
|
+
description: 'Navigate a page to an http(s) URL and wait for it to load. Failures set isError and carry a bounded reason; transport errors do not prove a bot wall.',
|
|
300
314
|
inputSchema: {
|
|
301
315
|
type: 'object',
|
|
302
316
|
properties: {
|
|
@@ -559,7 +573,7 @@ export function buildTools(client, boundSessionId) {
|
|
|
559
573
|
{
|
|
560
574
|
name: 'browser_session',
|
|
561
575
|
requiredCapabilities: ['session.control', 'page.observe'],
|
|
562
|
-
description: "Inspect one session's metadata and available pages. On a delegated connection, " +
|
|
576
|
+
description: "Inspect one session's metadata, sampled service-lease deadlines and available pages without refreshing idle lifetime. Independently authenticated operators may receive bounded close facts for a recently ended session. On a delegated connection, " +
|
|
563
577
|
'also returns current control status; human takeover revokes later delegated calls.',
|
|
564
578
|
inputSchema: {
|
|
565
579
|
type: 'object',
|
|
@@ -702,9 +716,13 @@ export function buildMcpServer(deps) {
|
|
|
702
716
|
throw new UsageError('operationId is required for a delegated mutation; choose it before dispatch so a lost response can be reconciled');
|
|
703
717
|
const structured = protocolVersion === STRUCTURED_PROTOCOL_VERSION && !!tool.outputSchema;
|
|
704
718
|
const result = await tool.handler(deps.sessionId ? { ...args, sessionId: deps.sessionId } : args);
|
|
705
|
-
|
|
719
|
+
const navigationFailed = name === 'browser_navigate' && isFailedNavigationResult(result);
|
|
720
|
+
return ok(message.id, textResult(result, structured, navigationFailed));
|
|
706
721
|
}
|
|
707
722
|
catch (err) {
|
|
723
|
+
const navigationFailure = name === 'browser_navigate' ? navigationFailureDetail(err) : undefined;
|
|
724
|
+
if (navigationFailure !== undefined)
|
|
725
|
+
return ok(message.id, navigationErrorResult(navigationFailure));
|
|
708
726
|
return ok(message.id, errorResult(formatToolError(err, !!deps.sessionId)));
|
|
709
727
|
}
|
|
710
728
|
}
|
|
@@ -725,15 +743,30 @@ function requireHttpUrl(value) {
|
|
|
725
743
|
}
|
|
726
744
|
return url;
|
|
727
745
|
}
|
|
728
|
-
function
|
|
746
|
+
function isFailedNavigationResult(value) {
|
|
747
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
748
|
+
return false;
|
|
749
|
+
const status = value.status;
|
|
750
|
+
return status === 'blocked' || status === 'timeout';
|
|
751
|
+
}
|
|
752
|
+
function textResult(value, structured = false, forceError = false) {
|
|
729
753
|
return {
|
|
730
754
|
content: [{ type: 'text', text: JSON.stringify(value, null, 2) }],
|
|
731
|
-
...(structured ? { structuredContent: value } : {}),
|
|
732
|
-
...(
|
|
755
|
+
...(structured || forceError ? { structuredContent: value } : {}),
|
|
756
|
+
...(forceError ||
|
|
757
|
+
(typeof value === 'object' && value !== null && 'ok' in value && value.ok === false)
|
|
733
758
|
? { isError: true }
|
|
734
759
|
: {}),
|
|
735
760
|
};
|
|
736
761
|
}
|
|
762
|
+
function navigationErrorResult(detail) {
|
|
763
|
+
const value = { error: detail };
|
|
764
|
+
return {
|
|
765
|
+
content: [{ type: 'text', text: JSON.stringify(value, null, 2) }],
|
|
766
|
+
structuredContent: value,
|
|
767
|
+
isError: true,
|
|
768
|
+
};
|
|
769
|
+
}
|
|
737
770
|
function errorResult(message) {
|
|
738
771
|
return {
|
|
739
772
|
content: [{ type: 'text', text: message }],
|
|
@@ -746,7 +779,10 @@ function formatToolError(error, delegated) {
|
|
|
746
779
|
const suffix = typeof operationId === 'string'
|
|
747
780
|
? `\nReconcile under current authorization with ${delegated ? 'browser_operation' : 'SDK/REST operation status'}: ${JSON.stringify({ operationId })}`
|
|
748
781
|
: '';
|
|
749
|
-
|
|
782
|
+
const terminal = formatSessionTerminalFailure(error);
|
|
783
|
+
return (formatErrorForUser(error, 'The element ref is stale. Call browser_observe to get fresh refs at the current revision, then act on the new ref. Do not retry the old one.') +
|
|
784
|
+
(terminal ? `\n${terminal}` : '') +
|
|
785
|
+
suffix);
|
|
750
786
|
}
|
|
751
787
|
function ok(id, result) {
|
|
752
788
|
return JSON.stringify({ jsonrpc: '2.0', id, result });
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anvailabs/agentbrowser-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MCP server exposing AgentBrowser as high-level, safe, composable tools (talks to an AgentBrowser service via AGENTBROWSER_BASE_URL)",
|
|
6
6
|
"main": "dist/index.js",
|