mcp-scraper 0.66.5 → 0.66.6
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/CHANGELOG.md +9 -1
- package/README.md +1 -1
- package/dist/bin/api-server.cjs +22 -5
- package/dist/bin/api-server.js +1 -1
- package/dist/bin/mcp-scraper-cli.cjs +1 -1
- package/dist/bin/mcp-scraper-cli.js +1 -1
- package/dist/bin/mcp-scraper-install.cjs +2 -2
- package/dist/bin/mcp-scraper-install.js +2 -2
- package/dist/bin/mcp-stdio-server.cjs +5 -4
- package/dist/bin/mcp-stdio-server.js +3 -3
- package/dist/{chunk-TCOP5BT7.js → chunk-KPE52NPT.js} +1 -1
- package/dist/{chunk-RSFMR7O7.js → chunk-NLEAYKOC.js} +1 -1
- package/dist/{chunk-OJFWURGD.js → chunk-VMWVEKZT.js} +4 -3
- package/dist/{server-LESUYFDI.js → server-5WPS3LZD.js} +19 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.66.6] - 2026-08-26
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Google Search Console bulk URL Inspection now uses one bounded provider batch request, preserves successful URL results beside localized failures, and no longer inherits the former one-minute connected-tool cutoff.
|
|
12
|
+
|
|
7
13
|
## [0.66.5] - 2026-08-25
|
|
8
14
|
|
|
9
15
|
### Fixed
|
|
@@ -1115,7 +1121,9 @@ All notable changes to MCP Scraper are documented here. The format is based on [
|
|
|
1115
1121
|
- Write actions remain unavailable until the account owner explicitly enables them.
|
|
1116
1122
|
- Provider-specific connection data is normalized into one agent-facing contract.
|
|
1117
1123
|
|
|
1118
|
-
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.
|
|
1124
|
+
[Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.6...HEAD
|
|
1125
|
+
[0.66.6]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.5...v0.66.6
|
|
1126
|
+
[0.66.5]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.4...v0.66.5
|
|
1119
1127
|
[0.66.4]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.3...v0.66.4
|
|
1120
1128
|
[0.66.3]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.2...v0.66.3
|
|
1121
1129
|
[0.66.2]: https://github.com/VilovietaSEO/mcp-scraper/compare/v0.66.1...v0.66.2
|
package/README.md
CHANGED
|
@@ -159,7 +159,7 @@ Build the branded one-click bundle:
|
|
|
159
159
|
npm run build:mcpb
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
-
The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.66.
|
|
162
|
+
The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.66.6`, SHA-256 `828f1685c159314275c2ffd1ac437cc466801e1b0d4f43f09a65073581cb7db1`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, API-key configuration field, and manually curated current-release message from the bundle manifest.
|
|
163
163
|
|
|
164
164
|
The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
|
|
165
165
|
|
package/dist/bin/api-server.cjs
CHANGED
|
@@ -49706,7 +49706,7 @@ var PACKAGE_VERSION;
|
|
|
49706
49706
|
var init_version = __esm({
|
|
49707
49707
|
"src/version.ts"() {
|
|
49708
49708
|
"use strict";
|
|
49709
|
-
PACKAGE_VERSION = "0.66.
|
|
49709
|
+
PACKAGE_VERSION = "0.66.6";
|
|
49710
49710
|
}
|
|
49711
49711
|
});
|
|
49712
49712
|
|
|
@@ -56618,7 +56618,8 @@ function httpErrorPayload(path6, res, data) {
|
|
|
56618
56618
|
const safeCode = privateUpstreamState ? "service_unavailable" : recognized ? candidateCode : normalizePublicErrorCode(candidateCode);
|
|
56619
56619
|
const bodyMessage = objectData ? objectData.message ?? objectData.error ?? rawCode : data;
|
|
56620
56620
|
return {
|
|
56621
|
-
...recognized && objectData ? objectData : {},
|
|
56621
|
+
...recognized && objectData && safeCode !== "mcp_request_timeout" ? objectData : {},
|
|
56622
|
+
...recognized ? { code: safeCode } : {},
|
|
56622
56623
|
error: safeCode,
|
|
56623
56624
|
error_code: safeCode,
|
|
56624
56625
|
error_type: recognized && typeof objectData?.error_type === "string" ? objectData.error_type : "http",
|
|
@@ -56626,7 +56627,7 @@ function httpErrorPayload(path6, res, data) {
|
|
|
56626
56627
|
status: res.status,
|
|
56627
56628
|
statusText: res.statusText,
|
|
56628
56629
|
path: path6,
|
|
56629
|
-
message: recognized && typeof bodyMessage === "string" && bodyMessage.trim() ? sanitizeVendorName(bodyMessage) : publicErrorMessage(safeCode)
|
|
56630
|
+
message: safeCode === "mcp_request_timeout" ? "The connected service operation timed out before returning a result. Retry failed items or use a smaller batch." : recognized && typeof bodyMessage === "string" && bodyMessage.trim() ? sanitizeVendorName(bodyMessage) : publicErrorMessage(safeCode)
|
|
56630
56631
|
};
|
|
56631
56632
|
}
|
|
56632
56633
|
function withDefaultHostedProfile(input) {
|
|
@@ -84444,6 +84445,15 @@ function retryAfterMsFromText(value) {
|
|
|
84444
84445
|
function normalizeNangoClientError(error) {
|
|
84445
84446
|
if (error instanceof MainNangoTransportError) return error;
|
|
84446
84447
|
const detail = nangoClientErrorText(error);
|
|
84448
|
+
const structured = error && typeof error === "object" ? error : null;
|
|
84449
|
+
if (structured?.code === -32001 || structured?.name === "RequestTimeout" || /Request timed out|RequestTimeout|Maximum total timeout exceeded/i.test(detail)) {
|
|
84450
|
+
return new MainNangoTransportError(
|
|
84451
|
+
"The connected service operation timed out before returning a result. Retry failed items or use a smaller batch.",
|
|
84452
|
+
503,
|
|
84453
|
+
"mcp_request_timeout",
|
|
84454
|
+
true
|
|
84455
|
+
);
|
|
84456
|
+
}
|
|
84447
84457
|
if (/SERVICE_DISABLED|accessNotConfigured/i.test(detail)) {
|
|
84448
84458
|
return new MainNangoTransportError(
|
|
84449
84459
|
"The provider API required by this connection is disabled. Enable it in the provider project, wait for propagation, then retry.",
|
|
@@ -84474,6 +84484,12 @@ function normalizeNangoClientError(error) {
|
|
|
84474
84484
|
}
|
|
84475
84485
|
return new MainNangoTransportError("The service connection is temporarily unavailable.", 503, "connection_transport_unavailable");
|
|
84476
84486
|
}
|
|
84487
|
+
async function callNangoToolWithBudget(client2, tool, input) {
|
|
84488
|
+
return client2.callTool(
|
|
84489
|
+
{ name: tool, arguments: input },
|
|
84490
|
+
{ timeout: NANGO_TOOL_CALL_TIMEOUT_MS }
|
|
84491
|
+
);
|
|
84492
|
+
}
|
|
84477
84493
|
function asRecord2(value) {
|
|
84478
84494
|
return value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
84479
84495
|
}
|
|
@@ -84917,7 +84933,7 @@ async function callNangoToolDirect(args) {
|
|
|
84917
84933
|
let result;
|
|
84918
84934
|
let providerError;
|
|
84919
84935
|
try {
|
|
84920
|
-
result = await withNangoClient(connection, (client2) => client2
|
|
84936
|
+
result = await withNangoClient(connection, (client2) => callNangoToolWithBudget(client2, args.tool, args.input));
|
|
84921
84937
|
} catch (error) {
|
|
84922
84938
|
providerError = error;
|
|
84923
84939
|
}
|
|
@@ -84982,7 +84998,7 @@ async function describeNangoToolDirect(identity, connectionId, toolName) {
|
|
|
84982
84998
|
fetchedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
84983
84999
|
};
|
|
84984
85000
|
}
|
|
84985
|
-
var import_node_crypto68, import_client13, DEFAULT_NANGO_MCP_URL, NANGO_TIMEOUT_MS, NANGO_CONNECTION_PAGE_SIZE, NANGO_CONNECTION_MAX_PAGES, PROVIDER_IDENTITY_RETRY_MS, MAIN_INTEGRATION_CONTRACT_VERSION, MAIN_INTEGRATION_CONTRACT_HASH, MainNangoTransportError, IDENTITY_SUPPORTED_PROVIDERS;
|
|
85001
|
+
var import_node_crypto68, import_client13, DEFAULT_NANGO_MCP_URL, NANGO_TIMEOUT_MS, NANGO_TOOL_CALL_TIMEOUT_MS, NANGO_CONNECTION_PAGE_SIZE, NANGO_CONNECTION_MAX_PAGES, PROVIDER_IDENTITY_RETRY_MS, MAIN_INTEGRATION_CONTRACT_VERSION, MAIN_INTEGRATION_CONTRACT_HASH, MainNangoTransportError, IDENTITY_SUPPORTED_PROVIDERS;
|
|
84986
85002
|
var init_main_nango_transport = __esm({
|
|
84987
85003
|
"src/api/main-nango-transport.ts"() {
|
|
84988
85004
|
"use strict";
|
|
@@ -84994,6 +85010,7 @@ var init_main_nango_transport = __esm({
|
|
|
84994
85010
|
init_connected_tool_policy();
|
|
84995
85011
|
DEFAULT_NANGO_MCP_URL = "https://api.nango.dev/mcp";
|
|
84996
85012
|
NANGO_TIMEOUT_MS = 2e4;
|
|
85013
|
+
NANGO_TOOL_CALL_TIMEOUT_MS = 24e4;
|
|
84997
85014
|
NANGO_CONNECTION_PAGE_SIZE = 100;
|
|
84998
85015
|
NANGO_CONNECTION_MAX_PAGES = 20;
|
|
84999
85016
|
PROVIDER_IDENTITY_RETRY_MS = 6 * 60 * 60 * 1e3;
|
package/dist/bin/api-server.js
CHANGED
|
@@ -17,7 +17,7 @@ loadDotEnv();
|
|
|
17
17
|
async function main() {
|
|
18
18
|
const [{ serve }, { app }, { startWorker }, { migrate }] = await Promise.all([
|
|
19
19
|
import("@hono/node-server"),
|
|
20
|
-
import("../server-
|
|
20
|
+
import("../server-5WPS3LZD.js"),
|
|
21
21
|
import("../worker-UTBUWEXQ.js"),
|
|
22
22
|
import("../db-4RVZ3NYZ.js")
|
|
23
23
|
]);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
// release-message.json
|
|
5
5
|
var release_message_default = {
|
|
6
|
-
message: "
|
|
6
|
+
message: "Search Console bulk URL Inspection now returns one ordered partial-result receipt without the former one-minute cutoff."
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
// src/install-terminal.ts
|
|
@@ -112,7 +112,7 @@ function renderInstallTerminal(options) {
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
// src/version.ts
|
|
115
|
-
var PACKAGE_VERSION = "0.66.
|
|
115
|
+
var PACKAGE_VERSION = "0.66.6";
|
|
116
116
|
|
|
117
117
|
// bin/mcp-scraper-install.ts
|
|
118
118
|
var noColor = process.argv.includes("--no-color") || process.env.NO_COLOR !== void 0 || process.env.FORCE_COLOR === "0" || !process.stdout.isTTY;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
renderInstallTerminal
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-KPE52NPT.js";
|
|
5
5
|
import {
|
|
6
6
|
PACKAGE_VERSION
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-NLEAYKOC.js";
|
|
8
8
|
|
|
9
9
|
// bin/mcp-scraper-install.ts
|
|
10
10
|
var noColor = process.argv.includes("--no-color") || process.env.NO_COLOR !== void 0 || process.env.FORCE_COLOR === "0" || !process.stdout.isTTY;
|
|
@@ -431,7 +431,8 @@ function httpErrorPayload(path, res, data) {
|
|
|
431
431
|
const safeCode = privateUpstreamState ? "service_unavailable" : recognized ? candidateCode : normalizePublicErrorCode(candidateCode);
|
|
432
432
|
const bodyMessage = objectData ? objectData.message ?? objectData.error ?? rawCode : data;
|
|
433
433
|
return {
|
|
434
|
-
...recognized && objectData ? objectData : {},
|
|
434
|
+
...recognized && objectData && safeCode !== "mcp_request_timeout" ? objectData : {},
|
|
435
|
+
...recognized ? { code: safeCode } : {},
|
|
435
436
|
error: safeCode,
|
|
436
437
|
error_code: safeCode,
|
|
437
438
|
error_type: recognized && typeof objectData?.error_type === "string" ? objectData.error_type : "http",
|
|
@@ -439,7 +440,7 @@ function httpErrorPayload(path, res, data) {
|
|
|
439
440
|
status: res.status,
|
|
440
441
|
statusText: res.statusText,
|
|
441
442
|
path,
|
|
442
|
-
message: recognized && typeof bodyMessage === "string" && bodyMessage.trim() ? sanitizeVendorName(bodyMessage) : publicErrorMessage(safeCode)
|
|
443
|
+
message: safeCode === "mcp_request_timeout" ? "The connected service operation timed out before returning a result. Retry failed items or use a smaller batch." : recognized && typeof bodyMessage === "string" && bodyMessage.trim() ? sanitizeVendorName(bodyMessage) : publicErrorMessage(safeCode)
|
|
443
444
|
};
|
|
444
445
|
}
|
|
445
446
|
function withDefaultHostedProfile(input) {
|
|
@@ -1232,7 +1233,7 @@ render();
|
|
|
1232
1233
|
}
|
|
1233
1234
|
|
|
1234
1235
|
// src/version.ts
|
|
1235
|
-
var PACKAGE_VERSION = "0.66.
|
|
1236
|
+
var PACKAGE_VERSION = "0.66.6";
|
|
1236
1237
|
|
|
1237
1238
|
// src/mcp/input-field-descriptions.ts
|
|
1238
1239
|
var import_zod = require("zod");
|
|
@@ -18665,7 +18666,7 @@ var HostedMemoryMcpToolExecutor = class {
|
|
|
18665
18666
|
|
|
18666
18667
|
// release-message.json
|
|
18667
18668
|
var release_message_default = {
|
|
18668
|
-
message: "
|
|
18669
|
+
message: "Search Console bulk URL Inspection now returns one ordered partial-result receipt without the former one-minute cutoff."
|
|
18669
18670
|
};
|
|
18670
18671
|
|
|
18671
18672
|
// src/install-terminal.ts
|
|
@@ -13,18 +13,18 @@ import {
|
|
|
13
13
|
registerScheduledResultsMcpTools,
|
|
14
14
|
registerSerpIntelligenceCaptureTools,
|
|
15
15
|
resolveDeploymentProfile
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-VMWVEKZT.js";
|
|
17
17
|
import "../chunk-PGJQDMC2.js";
|
|
18
18
|
import "../chunk-3EYALCYK.js";
|
|
19
19
|
import "../chunk-3TKKJQB4.js";
|
|
20
20
|
import {
|
|
21
21
|
renderInstallTerminal
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-KPE52NPT.js";
|
|
23
23
|
import "../chunk-VXLU74YZ.js";
|
|
24
24
|
import "../chunk-GGZEC22A.js";
|
|
25
25
|
import {
|
|
26
26
|
PACKAGE_VERSION
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-NLEAYKOC.js";
|
|
28
28
|
import "../chunk-DNM65UCK.js";
|
|
29
29
|
import "../chunk-AYJHI2FK.js";
|
|
30
30
|
import "../chunk-55B3T5L2.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// release-message.json
|
|
2
2
|
var release_message_default = {
|
|
3
|
-
message: "
|
|
3
|
+
message: "Search Console bulk URL Inspection now returns one ordered partial-result receipt without the former one-minute cutoff."
|
|
4
4
|
};
|
|
5
5
|
|
|
6
6
|
// src/install-terminal.ts
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "./chunk-VXLU74YZ.js";
|
|
26
26
|
import {
|
|
27
27
|
PACKAGE_VERSION
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-NLEAYKOC.js";
|
|
29
29
|
import {
|
|
30
30
|
createPrivateArtifact,
|
|
31
31
|
privateArtifactOwnerId,
|
|
@@ -12094,7 +12094,8 @@ function httpErrorPayload(path, res, data) {
|
|
|
12094
12094
|
const safeCode = privateUpstreamState ? "service_unavailable" : recognized ? candidateCode : normalizePublicErrorCode(candidateCode);
|
|
12095
12095
|
const bodyMessage = objectData ? objectData.message ?? objectData.error ?? rawCode : data;
|
|
12096
12096
|
return {
|
|
12097
|
-
...recognized && objectData ? objectData : {},
|
|
12097
|
+
...recognized && objectData && safeCode !== "mcp_request_timeout" ? objectData : {},
|
|
12098
|
+
...recognized ? { code: safeCode } : {},
|
|
12098
12099
|
error: safeCode,
|
|
12099
12100
|
error_code: safeCode,
|
|
12100
12101
|
error_type: recognized && typeof objectData?.error_type === "string" ? objectData.error_type : "http",
|
|
@@ -12102,7 +12103,7 @@ function httpErrorPayload(path, res, data) {
|
|
|
12102
12103
|
status: res.status,
|
|
12103
12104
|
statusText: res.statusText,
|
|
12104
12105
|
path,
|
|
12105
|
-
message: recognized && typeof bodyMessage === "string" && bodyMessage.trim() ? sanitizeVendorName(bodyMessage) : publicErrorMessage(safeCode)
|
|
12106
|
+
message: safeCode === "mcp_request_timeout" ? "The connected service operation timed out before returning a result. Retry failed items or use a smaller batch." : recognized && typeof bodyMessage === "string" && bodyMessage.trim() ? sanitizeVendorName(bodyMessage) : publicErrorMessage(safeCode)
|
|
12106
12107
|
};
|
|
12107
12108
|
}
|
|
12108
12109
|
function withDefaultHostedProfile(input) {
|
|
@@ -199,7 +199,7 @@ import {
|
|
|
199
199
|
resolveDeploymentProfile,
|
|
200
200
|
resolveLocalSourcebookSchemaType,
|
|
201
201
|
transcribeMediaUrl
|
|
202
|
-
} from "./chunk-
|
|
202
|
+
} from "./chunk-VMWVEKZT.js";
|
|
203
203
|
import {
|
|
204
204
|
auditImageUrls,
|
|
205
205
|
auditImages,
|
|
@@ -256,7 +256,7 @@ import {
|
|
|
256
256
|
} from "./chunk-GGZEC22A.js";
|
|
257
257
|
import {
|
|
258
258
|
PACKAGE_VERSION
|
|
259
|
-
} from "./chunk-
|
|
259
|
+
} from "./chunk-NLEAYKOC.js";
|
|
260
260
|
import {
|
|
261
261
|
SITE_EXTRACT_ARTIFACT_PREFIX,
|
|
262
262
|
abandonExtractSettlement,
|
|
@@ -44203,6 +44203,7 @@ function connectedToolPolicyOrThrow(registry, toolName) {
|
|
|
44203
44203
|
// src/api/main-nango-transport.ts
|
|
44204
44204
|
var DEFAULT_NANGO_MCP_URL = "https://api.nango.dev/mcp";
|
|
44205
44205
|
var NANGO_TIMEOUT_MS = 2e4;
|
|
44206
|
+
var NANGO_TOOL_CALL_TIMEOUT_MS = 24e4;
|
|
44206
44207
|
var NANGO_CONNECTION_PAGE_SIZE = 100;
|
|
44207
44208
|
var NANGO_CONNECTION_MAX_PAGES = 20;
|
|
44208
44209
|
var PROVIDER_IDENTITY_RETRY_MS = 6 * 60 * 60 * 1e3;
|
|
@@ -44241,6 +44242,15 @@ function retryAfterMsFromText(value) {
|
|
|
44241
44242
|
function normalizeNangoClientError(error) {
|
|
44242
44243
|
if (error instanceof MainNangoTransportError) return error;
|
|
44243
44244
|
const detail = nangoClientErrorText(error);
|
|
44245
|
+
const structured = error && typeof error === "object" ? error : null;
|
|
44246
|
+
if (structured?.code === -32001 || structured?.name === "RequestTimeout" || /Request timed out|RequestTimeout|Maximum total timeout exceeded/i.test(detail)) {
|
|
44247
|
+
return new MainNangoTransportError(
|
|
44248
|
+
"The connected service operation timed out before returning a result. Retry failed items or use a smaller batch.",
|
|
44249
|
+
503,
|
|
44250
|
+
"mcp_request_timeout",
|
|
44251
|
+
true
|
|
44252
|
+
);
|
|
44253
|
+
}
|
|
44244
44254
|
if (/SERVICE_DISABLED|accessNotConfigured/i.test(detail)) {
|
|
44245
44255
|
return new MainNangoTransportError(
|
|
44246
44256
|
"The provider API required by this connection is disabled. Enable it in the provider project, wait for propagation, then retry.",
|
|
@@ -44271,6 +44281,12 @@ function normalizeNangoClientError(error) {
|
|
|
44271
44281
|
}
|
|
44272
44282
|
return new MainNangoTransportError("The service connection is temporarily unavailable.", 503, "connection_transport_unavailable");
|
|
44273
44283
|
}
|
|
44284
|
+
async function callNangoToolWithBudget(client2, tool, input) {
|
|
44285
|
+
return client2.callTool(
|
|
44286
|
+
{ name: tool, arguments: input },
|
|
44287
|
+
{ timeout: NANGO_TOOL_CALL_TIMEOUT_MS }
|
|
44288
|
+
);
|
|
44289
|
+
}
|
|
44274
44290
|
function asRecord(value) {
|
|
44275
44291
|
return value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
44276
44292
|
}
|
|
@@ -44730,7 +44746,7 @@ async function callNangoToolDirect(args) {
|
|
|
44730
44746
|
let result;
|
|
44731
44747
|
let providerError;
|
|
44732
44748
|
try {
|
|
44733
|
-
result = await withNangoClient(connection, (client2) => client2
|
|
44749
|
+
result = await withNangoClient(connection, (client2) => callNangoToolWithBudget(client2, args.tool, args.input));
|
|
44734
44750
|
} catch (error) {
|
|
44735
44751
|
providerError = error;
|
|
44736
44752
|
}
|