@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 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 a new isolated browser session. Sessions are ephemeral; element refs are scoped to a single session and page. Returns the sessionId.",
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
- const page = await client.sessions.createPage(session.sessionId);
8807
- return { ...session, pageId: page.pageId };
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
- return ok(message.id, textResult(result, structured));
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 textResult(value, structured = false) {
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
- 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.") + suffix;
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 a new isolated browser session. Sessions are ephemeral; element refs are scoped to a single session and page. Returns the sessionId.",
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
- const page = await client.sessions.createPage(session.sessionId);
8283
- return { ...session, pageId: page.pageId };
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
- return ok(message.id, textResult(result, structured));
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 textResult(value, structured = false) {
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
- 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.") + suffix;
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 });
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA4BH,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,CAylBvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,CA0J/D"}
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"}
@@ -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 a new isolated browser session. Sessions are ephemeral; element refs are ' +
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
- const page = await client.sessions.createPage(session.sessionId);
151
- return { ...session, pageId: page.pageId };
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
- return ok(message.id, textResult(result, structured));
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 textResult(value, structured = false) {
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
- ...(typeof value === 'object' && value !== null && 'ok' in value && value.ok === false
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
- 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.') + suffix);
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 });
@@ -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.11.0",
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",