zuckerbot-mcp 0.3.3 → 0.3.4
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/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +38 -26
- package/dist/client.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class ZuckerBotClient {
|
|
|
14
14
|
requireAuth(): void;
|
|
15
15
|
private headers;
|
|
16
16
|
private handleResponse;
|
|
17
|
+
private request;
|
|
17
18
|
get(path: string): Promise<unknown>;
|
|
18
19
|
post(path: string, body?: Record<string, unknown>): Promise<unknown>;
|
|
19
20
|
put(path: string, body?: Record<string, unknown>): Promise<unknown>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAaA,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,UAAU,EAAE,MAAM;aAClB,SAAS,EAAE,MAAM;aAEjB,UAAU,CAAC,EAAE,MAAM;gBAHnB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjC,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,EAAE,MAAM,YAAA;CAKtC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,wBAAwB,CAAgB;IAChD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;gBAEpB,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM;IAUlD,WAAW,IAAI,IAAI;IAUnB,OAAO,CAAC,OAAO;YAQD,cAAc;YAgDd,OAAO;IAiCf,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAInC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CA+BrE"}
|
package/dist/client.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
// ── ZuckerBot API Client ─────────────────────────────────────────────
|
|
2
|
+
// Hard ceiling for any single backend request. The backend serverless function
|
|
3
|
+
// caps out at maxDuration=120s, so a request still pending past this is a
|
|
4
|
+
// stalled/black-holed connection, not a slow-but-valid response. Without it,
|
|
5
|
+
// fetch() has no timeout and a stalled backend hangs the tool until the MCP
|
|
6
|
+
// client's own multi-minute ceiling — with no response and no error.
|
|
7
|
+
// Override via ZUCKERBOT_API_TIMEOUT_MS.
|
|
8
|
+
const DEFAULT_REQUEST_TIMEOUT_MS = (() => {
|
|
9
|
+
const raw = Number(process.env.ZUCKERBOT_API_TIMEOUT_MS);
|
|
10
|
+
return Number.isFinite(raw) && raw > 0 ? raw : 120_000;
|
|
11
|
+
})();
|
|
2
12
|
export class ZuckerBotApiError extends Error {
|
|
3
13
|
statusCode;
|
|
4
14
|
errorCode;
|
|
@@ -65,39 +75,41 @@ export class ZuckerBotClient {
|
|
|
65
75
|
}
|
|
66
76
|
return data;
|
|
67
77
|
}
|
|
68
|
-
async
|
|
78
|
+
async request(method, path, body) {
|
|
69
79
|
const url = `${this.baseUrl}${path.startsWith("/") ? path : `/${path}`}`;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
80
|
+
try {
|
|
81
|
+
const response = await fetch(url, {
|
|
82
|
+
method,
|
|
83
|
+
headers: this.headers(),
|
|
84
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
85
|
+
signal: AbortSignal.timeout(DEFAULT_REQUEST_TIMEOUT_MS),
|
|
86
|
+
});
|
|
87
|
+
return await this.handleResponse(response);
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
// Preserve HTTP-status errors already classified by handleResponse.
|
|
91
|
+
if (err instanceof ZuckerBotApiError)
|
|
92
|
+
throw err;
|
|
93
|
+
// A timed-out connection (AbortSignal.timeout → "TimeoutError") or any
|
|
94
|
+
// other network failure. Surface it as a clean error instead of letting
|
|
95
|
+
// the await hang forever with no response and no error.
|
|
96
|
+
const isTimeout = err instanceof Error && err.name === "TimeoutError";
|
|
97
|
+
throw new ZuckerBotApiError(isTimeout ? 504 : 503, isTimeout ? "request_timeout" : "network_error", isTimeout
|
|
98
|
+
? `Request to ${path} timed out after ${DEFAULT_REQUEST_TIMEOUT_MS}ms — the backend did not respond. Check the ZuckerBot API status, or raise ZUCKERBOT_API_TIMEOUT_MS.`
|
|
99
|
+
: `Network request to ${path} failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async get(path) {
|
|
103
|
+
return this.request("GET", path);
|
|
75
104
|
}
|
|
76
105
|
async post(path, body) {
|
|
77
|
-
|
|
78
|
-
const response = await fetch(url, {
|
|
79
|
-
method: "POST",
|
|
80
|
-
headers: this.headers(),
|
|
81
|
-
body: body ? JSON.stringify(body) : undefined,
|
|
82
|
-
});
|
|
83
|
-
return this.handleResponse(response);
|
|
106
|
+
return this.request("POST", path, body);
|
|
84
107
|
}
|
|
85
108
|
async put(path, body) {
|
|
86
|
-
|
|
87
|
-
const response = await fetch(url, {
|
|
88
|
-
method: "PUT",
|
|
89
|
-
headers: this.headers(),
|
|
90
|
-
body: body ? JSON.stringify(body) : undefined,
|
|
91
|
-
});
|
|
92
|
-
return this.handleResponse(response);
|
|
109
|
+
return this.request("PUT", path, body);
|
|
93
110
|
}
|
|
94
111
|
async delete(path) {
|
|
95
|
-
|
|
96
|
-
const response = await fetch(url, {
|
|
97
|
-
method: "DELETE",
|
|
98
|
-
headers: this.headers(),
|
|
99
|
-
});
|
|
100
|
-
return this.handleResponse(response);
|
|
112
|
+
return this.request("DELETE", path);
|
|
101
113
|
}
|
|
102
114
|
async resolveBusinessId(businessId) {
|
|
103
115
|
const explicitBusinessId = typeof businessId === "string" ? businessId.trim() : "";
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|