You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(pdf-server): port to v2 (raw-shape inputSchema → z.object, .tool→.registerTool)
All 33 fails fixed: v2 registerTool requires StandardSchema (raw shapes lack
~standard.validate). Also extra.signal→extra.mcpReq.signal, drop stale v1
import. test:full now 277/2/0 (was 197/1/33). e2e API tests pass; browser
tests need playwright install (env, not v2 break).
@@ -1381,7 +1379,7 @@ Returns a viewUUID in structuredContent. Pass it to \`interact\`:
1381
1379
1382
1380
Accepts local files (use list_pdfs), client MCP root directories, or any HTTPS URL.
1383
1381
Set \`elicit_form_inputs\` to true to prompt the user to fill form fields before display.`,
1384
-
inputSchema: {
1382
+
inputSchema: z.object({
1385
1383
url: z
1386
1384
.string()
1387
1385
.default(DEFAULT_PDF)
@@ -1397,7 +1395,7 @@ Set \`elicit_form_inputs\` to true to prompt the user to fill form fields before
1397
1395
"If true and the PDF has form fields, prompt the user to fill them before displaying",
1398
1396
),
1399
1397
}),
1400
-
},
1398
+
}),
1401
1399
outputSchema: z.object({
1402
1400
viewUUID: z
1403
1401
.string()
@@ -2348,7 +2346,7 @@ Example — add a signature image and a stamp, then screenshot to verify:
2348
2346
**FORMS** — fill_form: fill fields with \`fields\` array of {name, value}.
2349
2347
2350
2348
**SAVE** — save_as: write the annotated PDF (annotations + form values) to a file. Pass \`path\` (absolute path or file://) for a new location, or omit \`path\` to overwrite the original. Set \`overwrite: true\` to replace an existing file (always required when omitting \`path\`).`,
2351
-
inputSchema: {
2349
+
inputSchema: z.object({
2352
2350
viewUUID: z
2353
2351
.string()
2354
2352
.describe(
@@ -2445,7 +2443,7 @@ Example — add a signature image and a stamp, then screenshot to verify:
2445
2443
.describe(
2446
2444
"Array of commands to execute sequentially. More efficient than separate calls. Tip: end with get_pages+getScreenshots to verify changes.",
2447
2445
),
2448
-
},
2446
+
}),
2449
2447
},
2450
2448
async(
2451
2449
{
@@ -2522,7 +2520,7 @@ Example — add a signature image and a stamp, then screenshot to verify:
2522
2520
constresult=awaitprocessInteractCommand(
2523
2521
uuid,
2524
2522
commandList[i],
2525
-
extra.signal,
2523
+
extra.mcpReq.signal,
2526
2524
);
2527
2525
if(result.isError){
2528
2526
consterrText=result.content
@@ -2579,7 +2577,7 @@ Example — add a signature image and a stamp, then screenshot to verify:
2579
2577
title: "Submit Page Data",
2580
2578
description:
2581
2579
"Submit rendered page data for a get_pages request (used by viewer). The model should NOT call this tool directly.",
2582
-
inputSchema: {
2580
+
inputSchema: z.object({
2583
2581
requestId: z
2584
2582
.string()
2585
2583
.describe("The request ID from the get_pages command"),
@@ -2592,7 +2590,7 @@ Example — add a signature image and a stamp, then screenshot to verify:
0 commit comments