@anvailabs/agentbrowser-mcp 1.8.13 → 1.8.14
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 +171 -18
- package/dist/bin.js.map +1 -1
- package/dist/index.js +127 -10
- package/dist/mcp-server.d.ts +9 -4
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +75 -8
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -4506,6 +4506,10 @@ var DELIVERED_WAIT_TYPES = [
|
|
|
4506
4506
|
|
|
4507
4507
|
// ../protocol/dist/schemas.js
|
|
4508
4508
|
var ErrorCodeEnum = Type.Union([
|
|
4509
|
+
Type.Literal("SESSION_BUSY"),
|
|
4510
|
+
Type.Literal("CONTROL_REVOKED"),
|
|
4511
|
+
Type.Literal("CONTROL_REQUIRED"),
|
|
4512
|
+
Type.Literal("OPERATION_CONFLICT"),
|
|
4509
4513
|
Type.Literal("INVALID_REQUEST"),
|
|
4510
4514
|
Type.Literal("INVALID_TENANT_ID"),
|
|
4511
4515
|
Type.Literal("UNAUTHORIZED"),
|
|
@@ -4523,6 +4527,7 @@ var ErrorCodeEnum = Type.Union([
|
|
|
4523
4527
|
Type.Literal("TARGET_DISABLED"),
|
|
4524
4528
|
Type.Literal("NAVIGATION_TIMEOUT"),
|
|
4525
4529
|
Type.Literal("ACTION_TIMEOUT"),
|
|
4530
|
+
Type.Literal("VALUE_MISMATCH"),
|
|
4526
4531
|
Type.Literal("PLAN_WAIT_TIMEOUT"),
|
|
4527
4532
|
Type.Literal("ENGINE_UNSUPPORTED"),
|
|
4528
4533
|
Type.Literal("ENGINE_CRASHED"),
|
|
@@ -4580,6 +4585,7 @@ var SessionCookieSchema = Type.Object({
|
|
|
4580
4585
|
sameSite: Type.Optional(Type.Union([Type.Literal("Strict"), Type.Literal("Lax"), Type.Literal("None")]))
|
|
4581
4586
|
});
|
|
4582
4587
|
var SessionRequestSchema = Type.Object({
|
|
4588
|
+
controlMode: Type.Optional(Type.Literal("delegated")),
|
|
4583
4589
|
tenantId: Type.Optional(Type.String({ minLength: 1 })),
|
|
4584
4590
|
// Known engine names plus any registered engine name (TD-BROWSER-7
|
|
4585
4591
|
// registry routes arbitrary names; unknown names fail at the service).
|
|
@@ -4713,7 +4719,7 @@ var PageStateSchema = Type.Object({
|
|
|
4713
4719
|
untrustedContent: Type.Boolean(),
|
|
4714
4720
|
continuation: Type.Optional(ContinuationCursorSchema),
|
|
4715
4721
|
degraded: Type.Optional(Type.Boolean()),
|
|
4716
|
-
degradedReason: Type.Optional(Type.Literal("aria-snapshot-timeout"))
|
|
4722
|
+
degradedReason: Type.Optional(Type.Union([Type.Literal("aria-snapshot-timeout"), Type.Literal("dom-semantic-subset")]))
|
|
4717
4723
|
});
|
|
4718
4724
|
var ElementTargetSchema = Type.Object({
|
|
4719
4725
|
ref: Type.String({ pattern: REF_PATTERN.source })
|
|
@@ -4743,7 +4749,8 @@ var FillActionSchema = Type.Object({
|
|
|
4743
4749
|
type: Type.Literal("fill"),
|
|
4744
4750
|
target: ElementTargetSchema,
|
|
4745
4751
|
value: Type.String(),
|
|
4746
|
-
sensitive: Type.Optional(Type.Boolean())
|
|
4752
|
+
sensitive: Type.Optional(Type.Boolean()),
|
|
4753
|
+
expectValue: Type.Optional(Type.String())
|
|
4747
4754
|
});
|
|
4748
4755
|
var SelectActionSchema = Type.Object({
|
|
4749
4756
|
type: Type.Literal("select"),
|
|
@@ -4824,6 +4831,8 @@ var PlanStepSchema = Type.Object({
|
|
|
4824
4831
|
promptText: Type.Optional(Type.String()),
|
|
4825
4832
|
wait: Type.Optional(DeliveredWaitConditionSchema),
|
|
4826
4833
|
condition: Type.Optional(DeliveredWaitConditionSchema),
|
|
4834
|
+
/** Verify a native field after one fill; never retry or echo the value. */
|
|
4835
|
+
expectValue: Type.Optional(Type.String()),
|
|
4827
4836
|
/** TD-BROWSER-8 Phase 2: pre-step label wait. */
|
|
4828
4837
|
waitForLabel: Type.Optional(Type.String({ minLength: 1, maxLength: 200 })),
|
|
4829
4838
|
/** Bounded hard (100-60000): garbage here wedged the poll loop pre-v1.8.2. */
|
|
@@ -5561,6 +5570,10 @@ function validatePlanStep(body) {
|
|
|
5561
5570
|
// ../protocol/dist/errors.js
|
|
5562
5571
|
var ErrorCode;
|
|
5563
5572
|
(function(ErrorCode2) {
|
|
5573
|
+
ErrorCode2["SESSION_BUSY"] = "SESSION_BUSY";
|
|
5574
|
+
ErrorCode2["CONTROL_REVOKED"] = "CONTROL_REVOKED";
|
|
5575
|
+
ErrorCode2["CONTROL_REQUIRED"] = "CONTROL_REQUIRED";
|
|
5576
|
+
ErrorCode2["OPERATION_CONFLICT"] = "OPERATION_CONFLICT";
|
|
5564
5577
|
ErrorCode2["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
5565
5578
|
ErrorCode2["INVALID_TENANT_ID"] = "INVALID_TENANT_ID";
|
|
5566
5579
|
ErrorCode2["UNAUTHORIZED"] = "UNAUTHORIZED";
|
|
@@ -5578,6 +5591,7 @@ var ErrorCode;
|
|
|
5578
5591
|
ErrorCode2["TARGET_DISABLED"] = "TARGET_DISABLED";
|
|
5579
5592
|
ErrorCode2["NAVIGATION_TIMEOUT"] = "NAVIGATION_TIMEOUT";
|
|
5580
5593
|
ErrorCode2["ACTION_TIMEOUT"] = "ACTION_TIMEOUT";
|
|
5594
|
+
ErrorCode2["VALUE_MISMATCH"] = "VALUE_MISMATCH";
|
|
5581
5595
|
ErrorCode2["PLAN_WAIT_TIMEOUT"] = "PLAN_WAIT_TIMEOUT";
|
|
5582
5596
|
ErrorCode2["ENGINE_UNSUPPORTED"] = "ENGINE_UNSUPPORTED";
|
|
5583
5597
|
ErrorCode2["ENGINE_CRASHED"] = "ENGINE_CRASHED";
|
|
@@ -5658,6 +5672,48 @@ function validateWireAction(body) {
|
|
|
5658
5672
|
};
|
|
5659
5673
|
}
|
|
5660
5674
|
|
|
5675
|
+
// ../protocol/dist/control.js
|
|
5676
|
+
var ControlStateSchema = Type.Union([
|
|
5677
|
+
Type.Literal("HUMAN_ACTIVE"),
|
|
5678
|
+
Type.Literal("RESUME_REVIEW"),
|
|
5679
|
+
Type.Literal("AGENT_ACTIVE"),
|
|
5680
|
+
Type.Literal("PAUSE_REQUESTED"),
|
|
5681
|
+
Type.Literal("STOPPED")
|
|
5682
|
+
]);
|
|
5683
|
+
var OperationRecordSchema = Type.Object({
|
|
5684
|
+
operationId: Type.String(),
|
|
5685
|
+
epoch: Type.Integer(),
|
|
5686
|
+
status: Type.Union([
|
|
5687
|
+
Type.Literal("in_flight"),
|
|
5688
|
+
Type.Literal("completed"),
|
|
5689
|
+
Type.Literal("failed"),
|
|
5690
|
+
Type.Literal("outcome_unknown")
|
|
5691
|
+
]),
|
|
5692
|
+
dispatched: Type.Boolean()
|
|
5693
|
+
});
|
|
5694
|
+
var ControlViewSchema = Type.Object({
|
|
5695
|
+
state: ControlStateSchema,
|
|
5696
|
+
epoch: Type.Integer(),
|
|
5697
|
+
busy: Type.Boolean(),
|
|
5698
|
+
operation: Type.Optional(OperationRecordSchema)
|
|
5699
|
+
});
|
|
5700
|
+
var ControlReviewSchema = Type.Intersect([
|
|
5701
|
+
ControlViewSchema,
|
|
5702
|
+
Type.Object({
|
|
5703
|
+
pages: Type.Array(Type.Object({
|
|
5704
|
+
pageId: Type.String(),
|
|
5705
|
+
url: Type.String(),
|
|
5706
|
+
title: Type.String(),
|
|
5707
|
+
revision: Type.Integer(),
|
|
5708
|
+
summary: Type.String()
|
|
5709
|
+
}))
|
|
5710
|
+
})
|
|
5711
|
+
]);
|
|
5712
|
+
var ControlGrantSchema = Type.Intersect([
|
|
5713
|
+
ControlViewSchema,
|
|
5714
|
+
Type.Object({ token: Type.String() })
|
|
5715
|
+
]);
|
|
5716
|
+
|
|
5661
5717
|
// ../sdk-typescript/dist/client.js
|
|
5662
5718
|
var AgentBrowserError = class extends Error {
|
|
5663
5719
|
code;
|
|
@@ -5685,6 +5741,7 @@ var HttpClient = class {
|
|
|
5685
5741
|
this.headers = headers;
|
|
5686
5742
|
}
|
|
5687
5743
|
async requestJson(path, init = {}) {
|
|
5744
|
+
const operationId = path.startsWith("/v1/sessions/") && !path.includes("/control") && init.method && init.method !== "GET" ? init.operationId ?? this.headers["x-agentbrowser-operation-id"] ?? crypto.randomUUID() : void 0;
|
|
5688
5745
|
const controller = new AbortController();
|
|
5689
5746
|
const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
5690
5747
|
try {
|
|
@@ -5692,6 +5749,7 @@ var HttpClient = class {
|
|
|
5692
5749
|
method: init.method ?? "GET",
|
|
5693
5750
|
headers: {
|
|
5694
5751
|
...this.headers,
|
|
5752
|
+
...operationId ? { "x-agentbrowser-operation-id": operationId } : {},
|
|
5695
5753
|
...init.body !== void 0 ? { "Content-Type": "application/json" } : {}
|
|
5696
5754
|
},
|
|
5697
5755
|
...init.body !== void 0 ? { body: JSON.stringify(init.body) } : {},
|
|
@@ -5715,13 +5773,18 @@ var HttpClient = class {
|
|
|
5715
5773
|
retryable: false
|
|
5716
5774
|
};
|
|
5717
5775
|
}
|
|
5718
|
-
throw new AgentBrowserError(error2.code, error2.message, error2.retryable, error2.details, error2.action, error2.traceId);
|
|
5776
|
+
throw new AgentBrowserError(error2.code, error2.message, error2.retryable, { ...error2.details, ...operationId ? { operationId } : {} }, error2.action, error2.traceId);
|
|
5719
5777
|
}
|
|
5720
|
-
|
|
5778
|
+
const result = await response.json();
|
|
5779
|
+
if (result?.replay === true)
|
|
5780
|
+
throw new AgentBrowserError("OPERATION_RECORDED", "Operation already recorded; reconcile its status before taking further action", false, { operationId, operation: result.operation });
|
|
5781
|
+
return result;
|
|
5721
5782
|
} catch (error2) {
|
|
5722
5783
|
if (controller.signal.aborted) {
|
|
5723
|
-
throw new AgentBrowserError("TIMEOUT", "Request timeout", false);
|
|
5784
|
+
throw new AgentBrowserError("TIMEOUT", "Request timeout; outcome may be unknown", false, operationId ? { operationId } : void 0);
|
|
5724
5785
|
}
|
|
5786
|
+
if (!(error2 instanceof AgentBrowserError) && operationId)
|
|
5787
|
+
throw new AgentBrowserError("TRANSPORT_ERROR", "Response unavailable; reconcile the operation before retrying", false, { operationId });
|
|
5725
5788
|
throw error2;
|
|
5726
5789
|
} finally {
|
|
5727
5790
|
clearTimeout(timeoutId);
|
|
@@ -5733,6 +5796,30 @@ var SessionsClient = class {
|
|
|
5733
5796
|
constructor(http) {
|
|
5734
5797
|
this.http = http;
|
|
5735
5798
|
}
|
|
5799
|
+
async control(sessionId) {
|
|
5800
|
+
return this.http.requestJson(`/v1/sessions/${sessionId}/control`);
|
|
5801
|
+
}
|
|
5802
|
+
async takeover(sessionId) {
|
|
5803
|
+
return this.http.requestJson(`/v1/sessions/${sessionId}/control/takeover`, { method: "POST" });
|
|
5804
|
+
}
|
|
5805
|
+
async prepareResume(sessionId) {
|
|
5806
|
+
return this.http.requestJson(`/v1/sessions/${sessionId}/control/prepare-resume`, {
|
|
5807
|
+
method: "POST"
|
|
5808
|
+
});
|
|
5809
|
+
}
|
|
5810
|
+
async delegate(sessionId, epoch) {
|
|
5811
|
+
return this.http.requestJson(`/v1/sessions/${sessionId}/control/delegate`, {
|
|
5812
|
+
method: "POST",
|
|
5813
|
+
body: { epoch }
|
|
5814
|
+
});
|
|
5815
|
+
}
|
|
5816
|
+
async operation(sessionId, operationId) {
|
|
5817
|
+
return this.http.requestJson(`/v1/sessions/${sessionId}/operations/${encodeURIComponent(operationId)}`);
|
|
5818
|
+
}
|
|
5819
|
+
async listPages(sessionId) {
|
|
5820
|
+
const result = await this.http.requestJson(`/v1/sessions/${sessionId}/pages`);
|
|
5821
|
+
return result.pages;
|
|
5822
|
+
}
|
|
5736
5823
|
async create(request) {
|
|
5737
5824
|
return this.http.requestJson("/v1/sessions", { method: "POST", body: request });
|
|
5738
5825
|
}
|
|
@@ -5746,9 +5833,10 @@ var SessionsClient = class {
|
|
|
5746
5833
|
async close(sessionId) {
|
|
5747
5834
|
await this.http.requestJson(`/v1/sessions/${sessionId}`, { method: "DELETE" });
|
|
5748
5835
|
}
|
|
5749
|
-
async createPage(sessionId, request) {
|
|
5836
|
+
async createPage(sessionId, request, options = {}) {
|
|
5750
5837
|
return this.http.requestJson(`/v1/sessions/${sessionId}/pages`, {
|
|
5751
5838
|
method: "POST",
|
|
5839
|
+
...options,
|
|
5752
5840
|
...request !== void 0 ? { body: request } : {}
|
|
5753
5841
|
});
|
|
5754
5842
|
}
|
|
@@ -5798,10 +5886,11 @@ var SessionsClient = class {
|
|
|
5798
5886
|
return body.events;
|
|
5799
5887
|
}
|
|
5800
5888
|
/** TD-BROWSER-8: execute a batched action plan; returns per-step results. */
|
|
5801
|
-
async plan(sessionId, pageId, actions) {
|
|
5889
|
+
async plan(sessionId, pageId, actions, options = {}) {
|
|
5802
5890
|
return this.http.requestJson(`/v1/sessions/${sessionId}/pages/${pageId}/plan`, {
|
|
5803
5891
|
method: "POST",
|
|
5804
|
-
body: { actions }
|
|
5892
|
+
body: { actions },
|
|
5893
|
+
...options
|
|
5805
5894
|
});
|
|
5806
5895
|
}
|
|
5807
5896
|
/** TD-BROWSER-8: self-contained snapshot payload for one-shot LLM reasoning. */
|
|
@@ -5814,8 +5903,9 @@ var SessionsClient = class {
|
|
|
5814
5903
|
const qs = query.toString();
|
|
5815
5904
|
return this.http.requestJson(`/v1/sessions/${sessionId}/pages/${pageId}/snapshot${qs ? `?${qs}` : ""}`);
|
|
5816
5905
|
}
|
|
5817
|
-
async navigate(sessionId, pageId, request) {
|
|
5906
|
+
async navigate(sessionId, pageId, request, options = {}) {
|
|
5818
5907
|
return this.http.requestJson(`/v1/sessions/${sessionId}/pages/${pageId}/navigate`, {
|
|
5908
|
+
...options,
|
|
5819
5909
|
method: "POST",
|
|
5820
5910
|
body: request
|
|
5821
5911
|
});
|
|
@@ -5826,8 +5916,9 @@ var SessionsClient = class {
|
|
|
5826
5916
|
body: request
|
|
5827
5917
|
});
|
|
5828
5918
|
}
|
|
5829
|
-
async executeAction(sessionId, pageId, request) {
|
|
5919
|
+
async executeAction(sessionId, pageId, request, options = {}) {
|
|
5830
5920
|
return this.http.requestJson(`/v1/sessions/${sessionId}/pages/${pageId}/act`, {
|
|
5921
|
+
...options,
|
|
5831
5922
|
method: "POST",
|
|
5832
5923
|
body: request
|
|
5833
5924
|
});
|
|
@@ -5884,6 +5975,13 @@ function sessionAndPage(args) {
|
|
|
5884
5975
|
}
|
|
5885
5976
|
return [args.sessionId, args.pageId];
|
|
5886
5977
|
}
|
|
5978
|
+
function operationOptions(args) {
|
|
5979
|
+
if (args.operationId === void 0)
|
|
5980
|
+
return [];
|
|
5981
|
+
if (typeof args.operationId !== "string" || !/^[a-zA-Z0-9_-]{1,128}$/.test(args.operationId))
|
|
5982
|
+
throw new UsageError("A valid operationId is required");
|
|
5983
|
+
return [{ operationId: args.operationId }];
|
|
5984
|
+
}
|
|
5887
5985
|
function buildTools(client) {
|
|
5888
5986
|
return [
|
|
5889
5987
|
{
|
|
@@ -6014,7 +6112,7 @@ function buildTools(client) {
|
|
|
6014
6112
|
if (!Array.isArray(args.actions)) {
|
|
6015
6113
|
throw new UsageError("actions is required and must be an array of plan steps.");
|
|
6016
6114
|
}
|
|
6017
|
-
return await client.sessions.plan(sessionId, pageId, args.actions);
|
|
6115
|
+
return await client.sessions.plan(sessionId, pageId, args.actions, ...operationOptions(args));
|
|
6018
6116
|
}
|
|
6019
6117
|
},
|
|
6020
6118
|
{
|
|
@@ -6056,7 +6154,7 @@ function buildTools(client) {
|
|
|
6056
6154
|
if (typeof args.waitUntil === "string") {
|
|
6057
6155
|
request.waitUntil = args.waitUntil;
|
|
6058
6156
|
}
|
|
6059
|
-
return await client.sessions.navigate(sessionId, pageId, request);
|
|
6157
|
+
return await client.sessions.navigate(sessionId, pageId, request, ...operationOptions(args));
|
|
6060
6158
|
}
|
|
6061
6159
|
},
|
|
6062
6160
|
{
|
|
@@ -6083,7 +6181,7 @@ function buildTools(client) {
|
|
|
6083
6181
|
},
|
|
6084
6182
|
include: {
|
|
6085
6183
|
type: "array",
|
|
6086
|
-
items: { type: "string", enum: ["overlays", "fileInputs"] },
|
|
6184
|
+
items: { type: "string", enum: ["overlays", "fileInputs", "formControls"] },
|
|
6087
6185
|
description: 'Optional enrichments. "overlays" adds an aggregated list of elements that cover observed targets (useful when clicks would be intercepted). "fileInputs" adds role:"fileinput" elements for every input[type=file] (hidden ones included) so upload can target one by ref.'
|
|
6088
6186
|
}
|
|
6089
6187
|
},
|
|
@@ -6135,11 +6233,11 @@ function buildTools(client) {
|
|
|
6135
6233
|
if (args.target !== void 0 && (typeof ref !== "string" || !REF_PATTERN.test(ref))) {
|
|
6136
6234
|
throw new UsageError(`Invalid element reference '${String(ref)}'. Expected a ref of the form e<revision>_<ordinal>, such as e1_0. Call browser_observe to list current refs.`);
|
|
6137
6235
|
}
|
|
6138
|
-
const { sessionId: _session, pageId: _page, ...request } = args;
|
|
6236
|
+
const { sessionId: _session, pageId: _page, operationId: _operation, ...request } = args;
|
|
6139
6237
|
const validated = validateWireAction(request);
|
|
6140
6238
|
if (!validated.ok)
|
|
6141
6239
|
throw new UsageError(`Invalid action: ${validated.issues.map((issue) => `${issue.path}: ${issue.message}`).join("; ")}. Element-targeted actions require a ref from browser_observe.`);
|
|
6142
|
-
return await client.sessions.executeAction(sessionId, pageId, validated.value);
|
|
6240
|
+
return await client.sessions.executeAction(sessionId, pageId, validated.value, ...operationOptions(args));
|
|
6143
6241
|
}
|
|
6144
6242
|
},
|
|
6145
6243
|
{
|
|
@@ -6283,7 +6381,54 @@ function buildTools(client) {
|
|
|
6283
6381
|
function buildMcpServer(deps) {
|
|
6284
6382
|
const client = deps.createClient({ baseUrl: deps.baseUrl ?? "http://localhost:5709" });
|
|
6285
6383
|
const serverInfo = deps.serverInfo ?? { name: "agentbrowser", version: "1.0.0" };
|
|
6286
|
-
const tools = buildTools(client);
|
|
6384
|
+
const tools = buildTools(client).filter((tool) => !deps.sessionId || !["browser_create", "browser_close", "browser_cookies"].includes(tool.name));
|
|
6385
|
+
for (const tool of tools) {
|
|
6386
|
+
if (deps.sessionId && Array.isArray(tool.inputSchema.required))
|
|
6387
|
+
tool.inputSchema.required = tool.inputSchema.required.filter((name) => name !== "sessionId");
|
|
6388
|
+
if (["browser_act", "browser_plan", "browser_navigate"].includes(tool.name)) {
|
|
6389
|
+
tool.inputSchema.properties.operationId = {
|
|
6390
|
+
type: "string",
|
|
6391
|
+
pattern: "^[a-zA-Z0-9_-]{1,128}$",
|
|
6392
|
+
description: "Choose a unique ID before the call. If its response is lost, query browser_operation with this ID before another write."
|
|
6393
|
+
};
|
|
6394
|
+
if (deps.sessionId)
|
|
6395
|
+
tool.inputSchema.required = [
|
|
6396
|
+
...tool.inputSchema.required ?? [],
|
|
6397
|
+
"operationId"
|
|
6398
|
+
];
|
|
6399
|
+
}
|
|
6400
|
+
}
|
|
6401
|
+
if (deps.sessionId) {
|
|
6402
|
+
const sessionId = deps.sessionId;
|
|
6403
|
+
tools.push({
|
|
6404
|
+
name: "browser_session",
|
|
6405
|
+
description: "Inspect the delegated session control status and available pages. Human takeover revokes this connection; ask the operator for a new grant.",
|
|
6406
|
+
inputSchema: { type: "object", properties: {} },
|
|
6407
|
+
handler: async () => {
|
|
6408
|
+
if (!client.sessions.control || !client.sessions.listPages)
|
|
6409
|
+
throw new UsageError("Client does not support delegated sessions");
|
|
6410
|
+
return {
|
|
6411
|
+
sessionId,
|
|
6412
|
+
control: await client.sessions.control(sessionId),
|
|
6413
|
+
pages: await client.sessions.listPages(sessionId)
|
|
6414
|
+
};
|
|
6415
|
+
}
|
|
6416
|
+
});
|
|
6417
|
+
tools.push({
|
|
6418
|
+
name: "browser_operation",
|
|
6419
|
+
description: "Reconcile a lost response using its operationId. outcome_unknown requires independent inspection; never blindly repeat the action.",
|
|
6420
|
+
inputSchema: {
|
|
6421
|
+
type: "object",
|
|
6422
|
+
properties: { operationId: { type: "string" } },
|
|
6423
|
+
required: ["operationId"]
|
|
6424
|
+
},
|
|
6425
|
+
handler: async (args) => {
|
|
6426
|
+
if (!client.sessions.operation || typeof args.operationId !== "string")
|
|
6427
|
+
throw new UsageError("operationId is required");
|
|
6428
|
+
return client.sessions.operation(sessionId, args.operationId);
|
|
6429
|
+
}
|
|
6430
|
+
});
|
|
6431
|
+
}
|
|
6287
6432
|
const toolByName = new Map(tools.map((tool) => [tool.name, tool]));
|
|
6288
6433
|
return {
|
|
6289
6434
|
async handle(line) {
|
|
@@ -6322,7 +6467,11 @@ function buildMcpServer(deps) {
|
|
|
6322
6467
|
}
|
|
6323
6468
|
const args = message.params?.arguments ?? {};
|
|
6324
6469
|
try {
|
|
6325
|
-
|
|
6470
|
+
if (deps.sessionId && args.sessionId !== void 0 && args.sessionId !== deps.sessionId)
|
|
6471
|
+
throw new UsageError("This MCP connection is bound to another session");
|
|
6472
|
+
if (deps.sessionId && ["browser_act", "browser_plan", "browser_navigate"].includes(name) && args.operationId === void 0)
|
|
6473
|
+
throw new UsageError("operationId is required for a delegated mutation; choose it before dispatch so a lost response can be reconciled");
|
|
6474
|
+
const result = await tool.handler(deps.sessionId ? { ...args, sessionId: deps.sessionId } : args);
|
|
6326
6475
|
return ok(message.id, textResult(result));
|
|
6327
6476
|
} catch (err) {
|
|
6328
6477
|
return ok(message.id, errorResult(formatToolError(err)));
|
|
@@ -6356,7 +6505,10 @@ function errorResult(message) {
|
|
|
6356
6505
|
};
|
|
6357
6506
|
}
|
|
6358
6507
|
function formatToolError(error2) {
|
|
6359
|
-
|
|
6508
|
+
const operationId = error2?.details?.operationId;
|
|
6509
|
+
const suffix = typeof operationId === "string" ? `
|
|
6510
|
+
Reconcile with browser_operation: ${JSON.stringify({ operationId })}` : "";
|
|
6511
|
+
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;
|
|
6360
6512
|
}
|
|
6361
6513
|
function ok(id, result) {
|
|
6362
6514
|
return JSON.stringify({ jsonrpc: "2.0", id, result });
|
|
@@ -6397,6 +6549,7 @@ var server = buildMcpServer({
|
|
|
6397
6549
|
...process.env.AGENTBROWSER_API_KEY !== void 0 ? { apiKey: process.env.AGENTBROWSER_API_KEY } : {}
|
|
6398
6550
|
}),
|
|
6399
6551
|
baseUrl: process.env.AGENTBROWSER_BASE_URL,
|
|
6552
|
+
sessionId: process.env.AGENTBROWSER_SESSION_ID,
|
|
6400
6553
|
serverInfo: { name: "agentbrowser", version: resolveVersion() }
|
|
6401
6554
|
});
|
|
6402
6555
|
var rl = createInterface({ input: process.stdin });
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,GAAG,cAAc,CAAC;IAC5B,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,IAAI,kBAAkB,CAAC;QACrB,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,SAAS;YAChD,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;IAC1C,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE;CAChE,CAAC,CAAC;AAEH,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAErD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM;SACH,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,uEAAuE;QACvE,iDAAiD;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,GAAG,cAAc,CAAC;IAC5B,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,IAAI,kBAAkB,CAAC;QACrB,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,SAAS;YAChD,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;IAC1C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;IAC9C,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE;CAChE,CAAC,CAAC;AAEH,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAErD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM;SACH,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,uEAAuE;QACvE,iDAAiD;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4502,6 +4502,10 @@ var DELIVERED_WAIT_TYPES = [
|
|
|
4502
4502
|
|
|
4503
4503
|
// ../protocol/dist/schemas.js
|
|
4504
4504
|
var ErrorCodeEnum = Type.Union([
|
|
4505
|
+
Type.Literal("SESSION_BUSY"),
|
|
4506
|
+
Type.Literal("CONTROL_REVOKED"),
|
|
4507
|
+
Type.Literal("CONTROL_REQUIRED"),
|
|
4508
|
+
Type.Literal("OPERATION_CONFLICT"),
|
|
4505
4509
|
Type.Literal("INVALID_REQUEST"),
|
|
4506
4510
|
Type.Literal("INVALID_TENANT_ID"),
|
|
4507
4511
|
Type.Literal("UNAUTHORIZED"),
|
|
@@ -4519,6 +4523,7 @@ var ErrorCodeEnum = Type.Union([
|
|
|
4519
4523
|
Type.Literal("TARGET_DISABLED"),
|
|
4520
4524
|
Type.Literal("NAVIGATION_TIMEOUT"),
|
|
4521
4525
|
Type.Literal("ACTION_TIMEOUT"),
|
|
4526
|
+
Type.Literal("VALUE_MISMATCH"),
|
|
4522
4527
|
Type.Literal("PLAN_WAIT_TIMEOUT"),
|
|
4523
4528
|
Type.Literal("ENGINE_UNSUPPORTED"),
|
|
4524
4529
|
Type.Literal("ENGINE_CRASHED"),
|
|
@@ -4576,6 +4581,7 @@ var SessionCookieSchema = Type.Object({
|
|
|
4576
4581
|
sameSite: Type.Optional(Type.Union([Type.Literal("Strict"), Type.Literal("Lax"), Type.Literal("None")]))
|
|
4577
4582
|
});
|
|
4578
4583
|
var SessionRequestSchema = Type.Object({
|
|
4584
|
+
controlMode: Type.Optional(Type.Literal("delegated")),
|
|
4579
4585
|
tenantId: Type.Optional(Type.String({ minLength: 1 })),
|
|
4580
4586
|
// Known engine names plus any registered engine name (TD-BROWSER-7
|
|
4581
4587
|
// registry routes arbitrary names; unknown names fail at the service).
|
|
@@ -4709,7 +4715,7 @@ var PageStateSchema = Type.Object({
|
|
|
4709
4715
|
untrustedContent: Type.Boolean(),
|
|
4710
4716
|
continuation: Type.Optional(ContinuationCursorSchema),
|
|
4711
4717
|
degraded: Type.Optional(Type.Boolean()),
|
|
4712
|
-
degradedReason: Type.Optional(Type.Literal("aria-snapshot-timeout"))
|
|
4718
|
+
degradedReason: Type.Optional(Type.Union([Type.Literal("aria-snapshot-timeout"), Type.Literal("dom-semantic-subset")]))
|
|
4713
4719
|
});
|
|
4714
4720
|
var ElementTargetSchema = Type.Object({
|
|
4715
4721
|
ref: Type.String({ pattern: REF_PATTERN.source })
|
|
@@ -4739,7 +4745,8 @@ var FillActionSchema = Type.Object({
|
|
|
4739
4745
|
type: Type.Literal("fill"),
|
|
4740
4746
|
target: ElementTargetSchema,
|
|
4741
4747
|
value: Type.String(),
|
|
4742
|
-
sensitive: Type.Optional(Type.Boolean())
|
|
4748
|
+
sensitive: Type.Optional(Type.Boolean()),
|
|
4749
|
+
expectValue: Type.Optional(Type.String())
|
|
4743
4750
|
});
|
|
4744
4751
|
var SelectActionSchema = Type.Object({
|
|
4745
4752
|
type: Type.Literal("select"),
|
|
@@ -4820,6 +4827,8 @@ var PlanStepSchema = Type.Object({
|
|
|
4820
4827
|
promptText: Type.Optional(Type.String()),
|
|
4821
4828
|
wait: Type.Optional(DeliveredWaitConditionSchema),
|
|
4822
4829
|
condition: Type.Optional(DeliveredWaitConditionSchema),
|
|
4830
|
+
/** Verify a native field after one fill; never retry or echo the value. */
|
|
4831
|
+
expectValue: Type.Optional(Type.String()),
|
|
4823
4832
|
/** TD-BROWSER-8 Phase 2: pre-step label wait. */
|
|
4824
4833
|
waitForLabel: Type.Optional(Type.String({ minLength: 1, maxLength: 200 })),
|
|
4825
4834
|
/** Bounded hard (100-60000): garbage here wedged the poll loop pre-v1.8.2. */
|
|
@@ -5557,6 +5566,10 @@ function validatePlanStep(body) {
|
|
|
5557
5566
|
// ../protocol/dist/errors.js
|
|
5558
5567
|
var ErrorCode;
|
|
5559
5568
|
(function(ErrorCode2) {
|
|
5569
|
+
ErrorCode2["SESSION_BUSY"] = "SESSION_BUSY";
|
|
5570
|
+
ErrorCode2["CONTROL_REVOKED"] = "CONTROL_REVOKED";
|
|
5571
|
+
ErrorCode2["CONTROL_REQUIRED"] = "CONTROL_REQUIRED";
|
|
5572
|
+
ErrorCode2["OPERATION_CONFLICT"] = "OPERATION_CONFLICT";
|
|
5560
5573
|
ErrorCode2["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
5561
5574
|
ErrorCode2["INVALID_TENANT_ID"] = "INVALID_TENANT_ID";
|
|
5562
5575
|
ErrorCode2["UNAUTHORIZED"] = "UNAUTHORIZED";
|
|
@@ -5574,6 +5587,7 @@ var ErrorCode;
|
|
|
5574
5587
|
ErrorCode2["TARGET_DISABLED"] = "TARGET_DISABLED";
|
|
5575
5588
|
ErrorCode2["NAVIGATION_TIMEOUT"] = "NAVIGATION_TIMEOUT";
|
|
5576
5589
|
ErrorCode2["ACTION_TIMEOUT"] = "ACTION_TIMEOUT";
|
|
5590
|
+
ErrorCode2["VALUE_MISMATCH"] = "VALUE_MISMATCH";
|
|
5577
5591
|
ErrorCode2["PLAN_WAIT_TIMEOUT"] = "PLAN_WAIT_TIMEOUT";
|
|
5578
5592
|
ErrorCode2["ENGINE_UNSUPPORTED"] = "ENGINE_UNSUPPORTED";
|
|
5579
5593
|
ErrorCode2["ENGINE_CRASHED"] = "ENGINE_CRASHED";
|
|
@@ -5654,6 +5668,48 @@ function validateWireAction(body) {
|
|
|
5654
5668
|
};
|
|
5655
5669
|
}
|
|
5656
5670
|
|
|
5671
|
+
// ../protocol/dist/control.js
|
|
5672
|
+
var ControlStateSchema = Type.Union([
|
|
5673
|
+
Type.Literal("HUMAN_ACTIVE"),
|
|
5674
|
+
Type.Literal("RESUME_REVIEW"),
|
|
5675
|
+
Type.Literal("AGENT_ACTIVE"),
|
|
5676
|
+
Type.Literal("PAUSE_REQUESTED"),
|
|
5677
|
+
Type.Literal("STOPPED")
|
|
5678
|
+
]);
|
|
5679
|
+
var OperationRecordSchema = Type.Object({
|
|
5680
|
+
operationId: Type.String(),
|
|
5681
|
+
epoch: Type.Integer(),
|
|
5682
|
+
status: Type.Union([
|
|
5683
|
+
Type.Literal("in_flight"),
|
|
5684
|
+
Type.Literal("completed"),
|
|
5685
|
+
Type.Literal("failed"),
|
|
5686
|
+
Type.Literal("outcome_unknown")
|
|
5687
|
+
]),
|
|
5688
|
+
dispatched: Type.Boolean()
|
|
5689
|
+
});
|
|
5690
|
+
var ControlViewSchema = Type.Object({
|
|
5691
|
+
state: ControlStateSchema,
|
|
5692
|
+
epoch: Type.Integer(),
|
|
5693
|
+
busy: Type.Boolean(),
|
|
5694
|
+
operation: Type.Optional(OperationRecordSchema)
|
|
5695
|
+
});
|
|
5696
|
+
var ControlReviewSchema = Type.Intersect([
|
|
5697
|
+
ControlViewSchema,
|
|
5698
|
+
Type.Object({
|
|
5699
|
+
pages: Type.Array(Type.Object({
|
|
5700
|
+
pageId: Type.String(),
|
|
5701
|
+
url: Type.String(),
|
|
5702
|
+
title: Type.String(),
|
|
5703
|
+
revision: Type.Integer(),
|
|
5704
|
+
summary: Type.String()
|
|
5705
|
+
}))
|
|
5706
|
+
})
|
|
5707
|
+
]);
|
|
5708
|
+
var ControlGrantSchema = Type.Intersect([
|
|
5709
|
+
ControlViewSchema,
|
|
5710
|
+
Type.Object({ token: Type.String() })
|
|
5711
|
+
]);
|
|
5712
|
+
|
|
5657
5713
|
// dist/mcp-server.js
|
|
5658
5714
|
var PROTOCOL_VERSION = "2024-11-05";
|
|
5659
5715
|
function sessionAndPage(args) {
|
|
@@ -5665,6 +5721,13 @@ function sessionAndPage(args) {
|
|
|
5665
5721
|
}
|
|
5666
5722
|
return [args.sessionId, args.pageId];
|
|
5667
5723
|
}
|
|
5724
|
+
function operationOptions(args) {
|
|
5725
|
+
if (args.operationId === void 0)
|
|
5726
|
+
return [];
|
|
5727
|
+
if (typeof args.operationId !== "string" || !/^[a-zA-Z0-9_-]{1,128}$/.test(args.operationId))
|
|
5728
|
+
throw new UsageError("A valid operationId is required");
|
|
5729
|
+
return [{ operationId: args.operationId }];
|
|
5730
|
+
}
|
|
5668
5731
|
function buildTools(client) {
|
|
5669
5732
|
return [
|
|
5670
5733
|
{
|
|
@@ -5795,7 +5858,7 @@ function buildTools(client) {
|
|
|
5795
5858
|
if (!Array.isArray(args.actions)) {
|
|
5796
5859
|
throw new UsageError("actions is required and must be an array of plan steps.");
|
|
5797
5860
|
}
|
|
5798
|
-
return await client.sessions.plan(sessionId, pageId, args.actions);
|
|
5861
|
+
return await client.sessions.plan(sessionId, pageId, args.actions, ...operationOptions(args));
|
|
5799
5862
|
}
|
|
5800
5863
|
},
|
|
5801
5864
|
{
|
|
@@ -5837,7 +5900,7 @@ function buildTools(client) {
|
|
|
5837
5900
|
if (typeof args.waitUntil === "string") {
|
|
5838
5901
|
request.waitUntil = args.waitUntil;
|
|
5839
5902
|
}
|
|
5840
|
-
return await client.sessions.navigate(sessionId, pageId, request);
|
|
5903
|
+
return await client.sessions.navigate(sessionId, pageId, request, ...operationOptions(args));
|
|
5841
5904
|
}
|
|
5842
5905
|
},
|
|
5843
5906
|
{
|
|
@@ -5864,7 +5927,7 @@ function buildTools(client) {
|
|
|
5864
5927
|
},
|
|
5865
5928
|
include: {
|
|
5866
5929
|
type: "array",
|
|
5867
|
-
items: { type: "string", enum: ["overlays", "fileInputs"] },
|
|
5930
|
+
items: { type: "string", enum: ["overlays", "fileInputs", "formControls"] },
|
|
5868
5931
|
description: 'Optional enrichments. "overlays" adds an aggregated list of elements that cover observed targets (useful when clicks would be intercepted). "fileInputs" adds role:"fileinput" elements for every input[type=file] (hidden ones included) so upload can target one by ref.'
|
|
5869
5932
|
}
|
|
5870
5933
|
},
|
|
@@ -5916,11 +5979,11 @@ function buildTools(client) {
|
|
|
5916
5979
|
if (args.target !== void 0 && (typeof ref !== "string" || !REF_PATTERN.test(ref))) {
|
|
5917
5980
|
throw new UsageError(`Invalid element reference '${String(ref)}'. Expected a ref of the form e<revision>_<ordinal>, such as e1_0. Call browser_observe to list current refs.`);
|
|
5918
5981
|
}
|
|
5919
|
-
const { sessionId: _session, pageId: _page, ...request } = args;
|
|
5982
|
+
const { sessionId: _session, pageId: _page, operationId: _operation, ...request } = args;
|
|
5920
5983
|
const validated = validateWireAction(request);
|
|
5921
5984
|
if (!validated.ok)
|
|
5922
5985
|
throw new UsageError(`Invalid action: ${validated.issues.map((issue) => `${issue.path}: ${issue.message}`).join("; ")}. Element-targeted actions require a ref from browser_observe.`);
|
|
5923
|
-
return await client.sessions.executeAction(sessionId, pageId, validated.value);
|
|
5986
|
+
return await client.sessions.executeAction(sessionId, pageId, validated.value, ...operationOptions(args));
|
|
5924
5987
|
}
|
|
5925
5988
|
},
|
|
5926
5989
|
{
|
|
@@ -6064,7 +6127,54 @@ function buildTools(client) {
|
|
|
6064
6127
|
function buildMcpServer(deps) {
|
|
6065
6128
|
const client = deps.createClient({ baseUrl: deps.baseUrl ?? "http://localhost:5709" });
|
|
6066
6129
|
const serverInfo = deps.serverInfo ?? { name: "agentbrowser", version: "1.0.0" };
|
|
6067
|
-
const tools = buildTools(client);
|
|
6130
|
+
const tools = buildTools(client).filter((tool) => !deps.sessionId || !["browser_create", "browser_close", "browser_cookies"].includes(tool.name));
|
|
6131
|
+
for (const tool of tools) {
|
|
6132
|
+
if (deps.sessionId && Array.isArray(tool.inputSchema.required))
|
|
6133
|
+
tool.inputSchema.required = tool.inputSchema.required.filter((name) => name !== "sessionId");
|
|
6134
|
+
if (["browser_act", "browser_plan", "browser_navigate"].includes(tool.name)) {
|
|
6135
|
+
tool.inputSchema.properties.operationId = {
|
|
6136
|
+
type: "string",
|
|
6137
|
+
pattern: "^[a-zA-Z0-9_-]{1,128}$",
|
|
6138
|
+
description: "Choose a unique ID before the call. If its response is lost, query browser_operation with this ID before another write."
|
|
6139
|
+
};
|
|
6140
|
+
if (deps.sessionId)
|
|
6141
|
+
tool.inputSchema.required = [
|
|
6142
|
+
...tool.inputSchema.required ?? [],
|
|
6143
|
+
"operationId"
|
|
6144
|
+
];
|
|
6145
|
+
}
|
|
6146
|
+
}
|
|
6147
|
+
if (deps.sessionId) {
|
|
6148
|
+
const sessionId = deps.sessionId;
|
|
6149
|
+
tools.push({
|
|
6150
|
+
name: "browser_session",
|
|
6151
|
+
description: "Inspect the delegated session control status and available pages. Human takeover revokes this connection; ask the operator for a new grant.",
|
|
6152
|
+
inputSchema: { type: "object", properties: {} },
|
|
6153
|
+
handler: async () => {
|
|
6154
|
+
if (!client.sessions.control || !client.sessions.listPages)
|
|
6155
|
+
throw new UsageError("Client does not support delegated sessions");
|
|
6156
|
+
return {
|
|
6157
|
+
sessionId,
|
|
6158
|
+
control: await client.sessions.control(sessionId),
|
|
6159
|
+
pages: await client.sessions.listPages(sessionId)
|
|
6160
|
+
};
|
|
6161
|
+
}
|
|
6162
|
+
});
|
|
6163
|
+
tools.push({
|
|
6164
|
+
name: "browser_operation",
|
|
6165
|
+
description: "Reconcile a lost response using its operationId. outcome_unknown requires independent inspection; never blindly repeat the action.",
|
|
6166
|
+
inputSchema: {
|
|
6167
|
+
type: "object",
|
|
6168
|
+
properties: { operationId: { type: "string" } },
|
|
6169
|
+
required: ["operationId"]
|
|
6170
|
+
},
|
|
6171
|
+
handler: async (args) => {
|
|
6172
|
+
if (!client.sessions.operation || typeof args.operationId !== "string")
|
|
6173
|
+
throw new UsageError("operationId is required");
|
|
6174
|
+
return client.sessions.operation(sessionId, args.operationId);
|
|
6175
|
+
}
|
|
6176
|
+
});
|
|
6177
|
+
}
|
|
6068
6178
|
const toolByName = new Map(tools.map((tool) => [tool.name, tool]));
|
|
6069
6179
|
return {
|
|
6070
6180
|
async handle(line) {
|
|
@@ -6103,7 +6213,11 @@ function buildMcpServer(deps) {
|
|
|
6103
6213
|
}
|
|
6104
6214
|
const args = message.params?.arguments ?? {};
|
|
6105
6215
|
try {
|
|
6106
|
-
|
|
6216
|
+
if (deps.sessionId && args.sessionId !== void 0 && args.sessionId !== deps.sessionId)
|
|
6217
|
+
throw new UsageError("This MCP connection is bound to another session");
|
|
6218
|
+
if (deps.sessionId && ["browser_act", "browser_plan", "browser_navigate"].includes(name) && args.operationId === void 0)
|
|
6219
|
+
throw new UsageError("operationId is required for a delegated mutation; choose it before dispatch so a lost response can be reconciled");
|
|
6220
|
+
const result = await tool.handler(deps.sessionId ? { ...args, sessionId: deps.sessionId } : args);
|
|
6107
6221
|
return ok(message.id, textResult(result));
|
|
6108
6222
|
} catch (err) {
|
|
6109
6223
|
return ok(message.id, errorResult(formatToolError(err)));
|
|
@@ -6137,7 +6251,10 @@ function errorResult(message) {
|
|
|
6137
6251
|
};
|
|
6138
6252
|
}
|
|
6139
6253
|
function formatToolError(error2) {
|
|
6140
|
-
|
|
6254
|
+
const operationId = error2?.details?.operationId;
|
|
6255
|
+
const suffix = typeof operationId === "string" ? `
|
|
6256
|
+
Reconcile with browser_operation: ${JSON.stringify({ operationId })}` : "";
|
|
6257
|
+
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;
|
|
6141
6258
|
}
|
|
6142
6259
|
function ok(id, result) {
|
|
6143
6260
|
return JSON.stringify({ jsonrpc: "2.0", id, result });
|
package/dist/mcp-server.d.ts
CHANGED
|
@@ -8,16 +8,19 @@
|
|
|
8
8
|
* The message handler is pure: it takes a JSON-RPC line and returns a
|
|
9
9
|
* JSON-RPC line (or null for notifications), so any transport can drive it.
|
|
10
10
|
*/
|
|
11
|
-
import type { ActionRequest, ActionResult, ArtifactRef, ClientOptions, ExportedCookie, ExtractRequest, ExtractResult, NavigationRequest, NavigationResponse, ObservationRequest, ObservationResponse, PageResponse, PageSnapshot, PdfRequest, ScreenshotRequest, SessionRequest, SessionResponse } from '@agentbrowser/sdk-typescript';
|
|
11
|
+
import type { ActionRequest, ActionResult, ArtifactRef, ClientOptions, ExportedCookie, ExtractRequest, ExtractResult, MutationOptions, NavigationRequest, NavigationResponse, ObservationRequest, ObservationResponse, PageResponse, PageSnapshot, PdfRequest, ScreenshotRequest, SessionRequest, SessionResponse } from '@agentbrowser/sdk-typescript';
|
|
12
12
|
export type { ClientOptions, ExportedCookie };
|
|
13
13
|
/** The slice of the SDK the MCP server depends on. */
|
|
14
14
|
export interface McpClient {
|
|
15
15
|
sessions: {
|
|
16
|
+
control?(sessionId: string): Promise<import('@agentbrowser/protocol').ControlView>;
|
|
17
|
+
listPages?(sessionId: string): Promise<PageResponse[]>;
|
|
18
|
+
operation?(sessionId: string, operationId: string): Promise<import('@agentbrowser/protocol').OperationRecord>;
|
|
16
19
|
create(request: SessionRequest): Promise<SessionResponse>;
|
|
17
20
|
close(sessionId: string): Promise<void>;
|
|
18
21
|
/** TD-BROWSER-6: scoped cookie export for the credential handoff loop. */
|
|
19
22
|
cookies(sessionId: string): Promise<ExportedCookie[]>;
|
|
20
|
-
plan(sessionId: string, pageId: string, actions: Array<Record<string, unknown
|
|
23
|
+
plan(sessionId: string, pageId: string, actions: Array<Record<string, unknown>>, options?: MutationOptions): Promise<{
|
|
21
24
|
ok: boolean;
|
|
22
25
|
completed: number;
|
|
23
26
|
results: Array<{
|
|
@@ -30,9 +33,9 @@ export interface McpClient {
|
|
|
30
33
|
/** TD-BROWSER-8: self-contained snapshot payload for one-shot LLM reasoning. */
|
|
31
34
|
snapshot(sessionId: string, pageId: string): Promise<PageSnapshot>;
|
|
32
35
|
createPage(sessionId: string): Promise<PageResponse>;
|
|
33
|
-
navigate(sessionId: string, pageId: string, request: NavigationRequest): Promise<NavigationResponse>;
|
|
36
|
+
navigate(sessionId: string, pageId: string, request: NavigationRequest, options?: MutationOptions): Promise<NavigationResponse>;
|
|
34
37
|
observe(sessionId: string, pageId: string, request: ObservationRequest): Promise<ObservationResponse>;
|
|
35
|
-
executeAction(sessionId: string, pageId: string, request: ActionRequest): Promise<ActionResult>;
|
|
38
|
+
executeAction(sessionId: string, pageId: string, request: ActionRequest, options?: MutationOptions): Promise<ActionResult>;
|
|
36
39
|
screenshot(sessionId: string, pageId: string, request: ScreenshotRequest): Promise<ArtifactRef>;
|
|
37
40
|
extract(sessionId: string, pageId: string, request: ExtractRequest): Promise<ExtractResult>;
|
|
38
41
|
pdf(sessionId: string, pageId: string, request: PdfRequest): Promise<ArtifactRef>;
|
|
@@ -51,6 +54,8 @@ export interface McpClient {
|
|
|
51
54
|
};
|
|
52
55
|
}
|
|
53
56
|
export interface McpDependencies {
|
|
57
|
+
/** Operator-configured binding. Never supplied by model tool arguments. */
|
|
58
|
+
sessionId?: string | undefined;
|
|
54
59
|
createClient(options: ClientOptions): McpClient;
|
|
55
60
|
serverInfo?: {
|
|
56
61
|
name: string;
|
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;AASH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AAE9C,sDAAsD;AACtD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE;QACR,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC1D,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,0EAA0E;QAC1E,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QACtD,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -28,6 +28,13 @@ function sessionAndPage(args) {
|
|
|
28
28
|
* not a control-flow edit. Every tool object below is byte-identical to
|
|
29
29
|
* before; only its container moved.
|
|
30
30
|
*/
|
|
31
|
+
function operationOptions(args) {
|
|
32
|
+
if (args.operationId === undefined)
|
|
33
|
+
return [];
|
|
34
|
+
if (typeof args.operationId !== 'string' || !/^[a-zA-Z0-9_-]{1,128}$/.test(args.operationId))
|
|
35
|
+
throw new UsageError('A valid operationId is required');
|
|
36
|
+
return [{ operationId: args.operationId }];
|
|
37
|
+
}
|
|
31
38
|
function buildTools(client) {
|
|
32
39
|
return [
|
|
33
40
|
{
|
|
@@ -202,7 +209,7 @@ function buildTools(client) {
|
|
|
202
209
|
if (!Array.isArray(args.actions)) {
|
|
203
210
|
throw new UsageError('actions is required and must be an array of plan steps.');
|
|
204
211
|
}
|
|
205
|
-
return await client.sessions.plan(sessionId, pageId, args.actions);
|
|
212
|
+
return await client.sessions.plan(sessionId, pageId, args.actions, ...operationOptions(args));
|
|
206
213
|
},
|
|
207
214
|
},
|
|
208
215
|
{
|
|
@@ -244,7 +251,7 @@ function buildTools(client) {
|
|
|
244
251
|
if (typeof args.waitUntil === 'string') {
|
|
245
252
|
request.waitUntil = args.waitUntil;
|
|
246
253
|
}
|
|
247
|
-
return await client.sessions.navigate(sessionId, pageId, request);
|
|
254
|
+
return await client.sessions.navigate(sessionId, pageId, request, ...operationOptions(args));
|
|
248
255
|
},
|
|
249
256
|
},
|
|
250
257
|
{
|
|
@@ -289,7 +296,7 @@ function buildTools(client) {
|
|
|
289
296
|
},
|
|
290
297
|
include: {
|
|
291
298
|
type: 'array',
|
|
292
|
-
items: { type: 'string', enum: ['overlays', 'fileInputs'] },
|
|
299
|
+
items: { type: 'string', enum: ['overlays', 'fileInputs', 'formControls'] },
|
|
293
300
|
description: 'Optional enrichments. "overlays" adds an aggregated list of elements that ' +
|
|
294
301
|
'cover observed targets (useful when clicks would be intercepted). ' +
|
|
295
302
|
'"fileInputs" adds role:"fileinput" elements for every input[type=file] ' +
|
|
@@ -366,11 +373,11 @@ function buildTools(client) {
|
|
|
366
373
|
if (args.target !== undefined && (typeof ref !== 'string' || !REF_PATTERN.test(ref))) {
|
|
367
374
|
throw new UsageError(`Invalid element reference '${String(ref)}'. Expected a ref of the form e<revision>_<ordinal>, such as e1_0. Call browser_observe to list current refs.`);
|
|
368
375
|
}
|
|
369
|
-
const { sessionId: _session, pageId: _page, ...request } = args;
|
|
376
|
+
const { sessionId: _session, pageId: _page, operationId: _operation, ...request } = args;
|
|
370
377
|
const validated = validateWireAction(request);
|
|
371
378
|
if (!validated.ok)
|
|
372
379
|
throw new UsageError(`Invalid action: ${validated.issues.map((issue) => `${issue.path}: ${issue.message}`).join('; ')}. Element-targeted actions require a ref from browser_observe.`);
|
|
373
|
-
return await client.sessions.executeAction(sessionId, pageId, validated.value);
|
|
380
|
+
return await client.sessions.executeAction(sessionId, pageId, validated.value, ...operationOptions(args));
|
|
374
381
|
},
|
|
375
382
|
},
|
|
376
383
|
{
|
|
@@ -544,7 +551,54 @@ function buildTools(client) {
|
|
|
544
551
|
export function buildMcpServer(deps) {
|
|
545
552
|
const client = deps.createClient({ baseUrl: deps.baseUrl ?? 'http://localhost:5709' });
|
|
546
553
|
const serverInfo = deps.serverInfo ?? { name: 'agentbrowser', version: '1.0.0' };
|
|
547
|
-
const tools = buildTools(client);
|
|
554
|
+
const tools = buildTools(client).filter((tool) => !deps.sessionId || !['browser_create', 'browser_close', 'browser_cookies'].includes(tool.name));
|
|
555
|
+
for (const tool of tools) {
|
|
556
|
+
if (deps.sessionId && Array.isArray(tool.inputSchema.required))
|
|
557
|
+
tool.inputSchema.required = tool.inputSchema.required.filter((name) => name !== 'sessionId');
|
|
558
|
+
if (['browser_act', 'browser_plan', 'browser_navigate'].includes(tool.name)) {
|
|
559
|
+
tool.inputSchema.properties.operationId = {
|
|
560
|
+
type: 'string',
|
|
561
|
+
pattern: '^[a-zA-Z0-9_-]{1,128}$',
|
|
562
|
+
description: 'Choose a unique ID before the call. If its response is lost, query browser_operation with this ID before another write.',
|
|
563
|
+
};
|
|
564
|
+
if (deps.sessionId)
|
|
565
|
+
tool.inputSchema.required = [
|
|
566
|
+
...(tool.inputSchema.required ?? []),
|
|
567
|
+
'operationId',
|
|
568
|
+
];
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
if (deps.sessionId) {
|
|
572
|
+
const sessionId = deps.sessionId;
|
|
573
|
+
tools.push({
|
|
574
|
+
name: 'browser_session',
|
|
575
|
+
description: 'Inspect the delegated session control status and available pages. Human takeover revokes this connection; ask the operator for a new grant.',
|
|
576
|
+
inputSchema: { type: 'object', properties: {} },
|
|
577
|
+
handler: async () => {
|
|
578
|
+
if (!client.sessions.control || !client.sessions.listPages)
|
|
579
|
+
throw new UsageError('Client does not support delegated sessions');
|
|
580
|
+
return {
|
|
581
|
+
sessionId,
|
|
582
|
+
control: await client.sessions.control(sessionId),
|
|
583
|
+
pages: await client.sessions.listPages(sessionId),
|
|
584
|
+
};
|
|
585
|
+
},
|
|
586
|
+
});
|
|
587
|
+
tools.push({
|
|
588
|
+
name: 'browser_operation',
|
|
589
|
+
description: 'Reconcile a lost response using its operationId. outcome_unknown requires independent inspection; never blindly repeat the action.',
|
|
590
|
+
inputSchema: {
|
|
591
|
+
type: 'object',
|
|
592
|
+
properties: { operationId: { type: 'string' } },
|
|
593
|
+
required: ['operationId'],
|
|
594
|
+
},
|
|
595
|
+
handler: async (args) => {
|
|
596
|
+
if (!client.sessions.operation || typeof args.operationId !== 'string')
|
|
597
|
+
throw new UsageError('operationId is required');
|
|
598
|
+
return client.sessions.operation(sessionId, args.operationId);
|
|
599
|
+
},
|
|
600
|
+
});
|
|
601
|
+
}
|
|
548
602
|
const toolByName = new Map(tools.map((tool) => [tool.name, tool]));
|
|
549
603
|
return {
|
|
550
604
|
async handle(line) {
|
|
@@ -585,7 +639,15 @@ export function buildMcpServer(deps) {
|
|
|
585
639
|
}
|
|
586
640
|
const args = (message.params?.arguments ?? {});
|
|
587
641
|
try {
|
|
588
|
-
|
|
642
|
+
if (deps.sessionId &&
|
|
643
|
+
args.sessionId !== undefined &&
|
|
644
|
+
args.sessionId !== deps.sessionId)
|
|
645
|
+
throw new UsageError('This MCP connection is bound to another session');
|
|
646
|
+
if (deps.sessionId &&
|
|
647
|
+
['browser_act', 'browser_plan', 'browser_navigate'].includes(name) &&
|
|
648
|
+
args.operationId === undefined)
|
|
649
|
+
throw new UsageError('operationId is required for a delegated mutation; choose it before dispatch so a lost response can be reconciled');
|
|
650
|
+
const result = await tool.handler(deps.sessionId ? { ...args, sessionId: deps.sessionId } : args);
|
|
589
651
|
return ok(message.id, textResult(result));
|
|
590
652
|
}
|
|
591
653
|
catch (err) {
|
|
@@ -621,7 +683,12 @@ function errorResult(message) {
|
|
|
621
683
|
};
|
|
622
684
|
}
|
|
623
685
|
function formatToolError(error) {
|
|
624
|
-
|
|
686
|
+
const operationId = error?.details
|
|
687
|
+
?.operationId;
|
|
688
|
+
const suffix = typeof operationId === 'string'
|
|
689
|
+
? `\nReconcile with browser_operation: ${JSON.stringify({ operationId })}`
|
|
690
|
+
: '';
|
|
691
|
+
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);
|
|
625
692
|
}
|
|
626
693
|
function ok(id, result) {
|
|
627
694
|
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.8.
|
|
3
|
+
"version": "1.8.14",
|
|
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",
|