xcrawl-mcp 1.0.5 → 1.0.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/README.md CHANGED
@@ -222,15 +222,13 @@ Returns key validity and current credit status, including:
222
222
  - `valid`
223
223
  - `authorized`
224
224
  - `has_credits`
225
- - `is_expired`
226
- - `can_use_tools`
227
225
  - `remain_credits`
228
- - `consumed_credits`
229
- - `today_credits`
230
- - `total_credits`
231
- - `package_title`
232
- - `next_reset_at`
233
- - `expired_at`
226
+ - `expire_at`
227
+ - `expired_at` (UTC ISO-8601)
228
+ - `uid`
229
+ - `username`
230
+ - `concurrent`
231
+ - `message`
234
232
 
235
233
  ## Request Defaults
236
234
 
@@ -256,7 +254,7 @@ Defaults may vary by API version.
256
254
 
257
255
  ## Preflight Checks
258
256
 
259
- Before executing high-cost tools, the MCP server now performs a key and credits preflight check.
257
+ Before executing high-cost tools, the MCP server performs a key and credits preflight check.
260
258
 
261
259
  Current tools with preflight checks:
262
260
 
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAA6C,MAAM,aAAa,CAAC;AAiFtG,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAsD3F;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,CAEjF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/F"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAqF3D,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAsF3F;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,CAEjF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/F"}
@@ -1,9 +1,14 @@
1
- const ACCOUNT_API_BASE_URL = "https://api.xcrawl.com";
2
- const STATUS_PATH = "/web_v1/user/credit-user-info";
1
+ const BALANCE_API_URL = "https://run.xcrawl.com/v1/credits/balance";
3
2
  const REQUEST_TIMEOUT_MS = 30000;
4
3
  const CREDIT_CHECK_REQUIRED_TOOLS = new Set(["xcrawl_scrape", "xcrawl_search", "xcrawl_map", "xcrawl_crawl"]);
5
4
  function toNumber(value) {
6
- return typeof value === "number" && Number.isFinite(value) ? value : 0;
5
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
6
+ }
7
+ function toDateStringFromUnixSeconds(value) {
8
+ if (typeof value !== "number" || !Number.isFinite(value)) {
9
+ return null;
10
+ }
11
+ return new Date(value * 1000).toISOString();
7
12
  }
8
13
  function extractErrorMessage(payload, fallback) {
9
14
  if (!payload || typeof payload !== "object") {
@@ -21,46 +26,39 @@ function tryParseJson(text) {
21
26
  return text;
22
27
  }
23
28
  }
24
- function getStatusData(payload) {
25
- if ("data" in payload) {
26
- return payload.data ?? {};
27
- }
28
- return payload;
29
- }
30
- function isExpired(expiredAt) {
31
- if (!expiredAt) {
32
- return false;
33
- }
34
- const timestamp = Date.parse(expiredAt);
35
- return Number.isFinite(timestamp) ? timestamp <= Date.now() : false;
36
- }
37
- function normalizeStatusPayload(payload) {
38
- const data = getStatusData(payload);
39
- const remainCredits = toNumber(data.remain_credits);
40
- const consumedCredits = toNumber(data.consumed_credits);
41
- const todayCredits = toNumber(data.today_credits);
42
- const totalCredits = toNumber(data.total_credits);
43
- const expiredAt = typeof data.expired_at === "string" ? data.expired_at : null;
44
- const expired = isExpired(expiredAt);
29
+ function normalizeBalancePayload(apiKey, payload) {
30
+ const remainCredits = toNumber(payload.credits) ?? 0;
31
+ const concurrent = toNumber(payload.concurrent);
32
+ const expireAt = toNumber(payload.expire_at);
33
+ const expiredAt = toDateStringFromUnixSeconds(payload.expire_at);
34
+ const expiresAtMs = typeof payload.expire_at === "number" ? payload.expire_at * 1000 : null;
35
+ const isExpired = expiresAtMs !== null ? expiresAtMs <= Date.now() : false;
45
36
  const hasCredits = remainCredits > 0;
46
- const canUseTools = !expired && hasCredits;
47
- const status = expired ? "expired" : hasCredits ? "ok" : "no_credits";
37
+ const canUseTools = !isExpired && hasCredits;
38
+ const status = isExpired ? "expired" : hasCredits ? "ok" : "no_credits";
48
39
  return {
49
40
  status,
41
+ api_key_configured: apiKey.trim().length > 0,
42
+ check_supported: true,
50
43
  valid: true,
51
44
  authorized: true,
52
45
  has_credits: hasCredits,
53
- is_expired: expired,
46
+ is_expired: isExpired,
54
47
  can_use_tools: canUseTools,
55
- credit_level: toNumber(data.credit_level),
56
- total_credits: totalCredits,
48
+ credit_level: null,
49
+ total_credits: null,
57
50
  remain_credits: remainCredits,
58
- consumed_credits: consumedCredits,
59
- today_credits: todayCredits,
60
- next_reset_at: typeof data.next_reset_at === "string" ? data.next_reset_at : null,
51
+ consumed_credits: null,
52
+ today_credits: null,
53
+ next_reset_at: null,
54
+ expire_at: expireAt,
61
55
  expired_at: expiredAt,
62
- package_title: typeof data.package_title === "string" ? data.package_title : null,
63
- message: expired
56
+ package_title: null,
57
+ uid: typeof payload.uid === "string" ? payload.uid : null,
58
+ username: typeof payload.username === "string" ? payload.username : null,
59
+ concurrent,
60
+ reason: "balance_api",
61
+ message: isExpired
64
62
  ? "API key is valid but the credit package is expired."
65
63
  : hasCredits
66
64
  ? "API key is valid and has available credits."
@@ -71,12 +69,11 @@ export async function fetchXCrawlKeyStatus(apiKey) {
71
69
  const controller = new AbortController();
72
70
  const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
73
71
  try {
74
- const url = new URL(STATUS_PATH, ACCOUNT_API_BASE_URL);
75
- url.searchParams.set("app_key", apiKey);
76
- const response = await fetch(url, {
72
+ const response = await fetch(BALANCE_API_URL, {
77
73
  method: "GET",
78
74
  headers: {
79
75
  Accept: "application/json",
76
+ Authorization: `Bearer ${apiKey}`,
80
77
  },
81
78
  signal: controller.signal,
82
79
  });
@@ -87,25 +84,58 @@ export async function fetchXCrawlKeyStatus(apiKey) {
87
84
  if (response.status === 401 || response.status === 403) {
88
85
  return {
89
86
  status: "unauthorized",
87
+ api_key_configured: apiKey.trim().length > 0,
88
+ check_supported: true,
90
89
  valid: false,
91
90
  authorized: false,
92
91
  has_credits: false,
93
92
  is_expired: false,
94
93
  can_use_tools: false,
95
- credit_level: 0,
96
- total_credits: 0,
94
+ credit_level: null,
95
+ total_credits: null,
97
96
  remain_credits: 0,
98
- consumed_credits: 0,
99
- today_credits: 0,
97
+ consumed_credits: null,
98
+ today_credits: null,
100
99
  next_reset_at: null,
100
+ expire_at: null,
101
101
  expired_at: null,
102
102
  package_title: null,
103
+ uid: null,
104
+ username: null,
105
+ concurrent: null,
106
+ reason: "invalid_credentials",
103
107
  message: `API key is invalid or unauthorized: ${message}`,
104
108
  };
105
109
  }
106
110
  throw new Error(`XCrawl status API error: ${response.status} ${response.statusText} - ${message}`);
107
111
  }
108
- return normalizeStatusPayload(parsed);
112
+ if (!parsed || typeof parsed !== "object") {
113
+ return {
114
+ status: "unknown",
115
+ api_key_configured: apiKey.trim().length > 0,
116
+ check_supported: true,
117
+ valid: false,
118
+ authorized: false,
119
+ has_credits: false,
120
+ is_expired: false,
121
+ can_use_tools: false,
122
+ credit_level: null,
123
+ total_credits: null,
124
+ remain_credits: 0,
125
+ consumed_credits: null,
126
+ today_credits: null,
127
+ next_reset_at: null,
128
+ expire_at: null,
129
+ expired_at: null,
130
+ package_title: null,
131
+ uid: null,
132
+ username: null,
133
+ concurrent: null,
134
+ reason: "unexpected_response",
135
+ message: "XCrawl balance API returned an unexpected response.",
136
+ };
137
+ }
138
+ return normalizeBalancePayload(apiKey, parsed);
109
139
  }
110
140
  catch (error) {
111
141
  if (error instanceof Error && error.name === "AbortError") {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/core/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=status.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.test.d.ts","sourceRoot":"","sources":["../../src/core/status.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ import { afterEach, describe, expect, it, vi } from "vitest";
2
+ import { assertXCrawlToolPreflight, fetchXCrawlKeyStatus, requiresCreditPreflight } from "./status.js";
3
+ describe("status helpers", () => {
4
+ afterEach(() => {
5
+ vi.restoreAllMocks();
6
+ });
7
+ it("parses a successful balance response", async () => {
8
+ vi.stubGlobal("fetch", vi.fn().mockResolvedValue({
9
+ ok: true,
10
+ text: vi.fn().mockResolvedValue(JSON.stringify({
11
+ uid: "580101",
12
+ username: "api-test",
13
+ credits: 923,
14
+ concurrent: 10,
15
+ expire_at: 2090909858,
16
+ })),
17
+ }));
18
+ const response = await fetchXCrawlKeyStatus("test-key");
19
+ expect(response).toMatchObject({
20
+ status: "ok",
21
+ api_key_configured: true,
22
+ check_supported: true,
23
+ valid: true,
24
+ authorized: true,
25
+ has_credits: true,
26
+ remain_credits: 923,
27
+ expire_at: 2090909858,
28
+ uid: "580101",
29
+ username: "api-test",
30
+ concurrent: 10,
31
+ reason: "balance_api",
32
+ });
33
+ expect(response.expired_at).toBe("2036-04-04T08:17:38.000Z");
34
+ });
35
+ it("maps 401 responses to unauthorized", async () => {
36
+ vi.stubGlobal("fetch", vi.fn().mockResolvedValue({
37
+ ok: false,
38
+ status: 401,
39
+ statusText: "Unauthorized",
40
+ text: vi.fn().mockResolvedValue(JSON.stringify({ message: "Invalid credentials" })),
41
+ }));
42
+ const response = await fetchXCrawlKeyStatus("bad-key");
43
+ expect(response).toMatchObject({
44
+ status: "unauthorized",
45
+ valid: false,
46
+ authorized: false,
47
+ has_credits: false,
48
+ remain_credits: 0,
49
+ expire_at: null,
50
+ reason: "invalid_credentials",
51
+ });
52
+ });
53
+ it("keeps credit preflight enabled for billable tools", async () => {
54
+ expect(requiresCreditPreflight("xcrawl_scrape")).toBe(true);
55
+ expect(requiresCreditPreflight("xcrawl_check_status")).toBe(false);
56
+ });
57
+ it("blocks tool execution when no credits remain", async () => {
58
+ vi.stubGlobal("fetch", vi.fn().mockResolvedValue({
59
+ ok: true,
60
+ text: vi.fn().mockResolvedValue(JSON.stringify({
61
+ uid: "580101",
62
+ username: "api-test",
63
+ credits: 0,
64
+ concurrent: 10,
65
+ expire_at: 2090909858,
66
+ })),
67
+ }));
68
+ await expect(assertXCrawlToolPreflight("test-key", "xcrawl_scrape")).rejects.toThrow("Insufficient XCrawl credits");
69
+ });
70
+ });
71
+ //# sourceMappingURL=status.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.test.js","sourceRoot":"","sources":["../../src/core/status.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6K9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CA8BpC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwE9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkD3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkL7B,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAwB1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;CAuBlC,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6K9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CA8BpC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwE9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkD3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkL7B,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;CAwB1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;CAyBlC,CAAC"}
package/dist/tools.js CHANGED
@@ -538,8 +538,10 @@ export const XCRAWL_KEY_STATUS_TOOL = {
538
538
  - \`valid\`: whether the API key is valid
539
539
  - \`authorized\`: whether the API key is authorized
540
540
  - \`has_credits\`: whether the account still has remaining credits
541
- - \`remain_credits\`, \`consumed_credits\`, \`today_credits\`, \`total_credits\`
542
- - package metadata such as \`package_title\`, \`next_reset_at\`, and \`expired_at\`
541
+ - \`remain_credits\`: current remaining credits
542
+ - \`expire_at\`: original Unix timestamp returned by XCrawl
543
+ - \`expired_at\`: the same expiry time normalized to a UTC ISO-8601 string
544
+ - \`uid\`, \`username\`, \`concurrent\`: account info returned by the balance endpoint
543
545
  - a human-readable \`message\`
544
546
 
545
547
  **Notes:**
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -214,39 +214,29 @@ export interface XCrawlCrawlResponse {
214
214
  /**
215
215
  * Account status / key validation types
216
216
  */
217
- export interface XCrawlStatusData {
218
- credit_level?: number;
219
- total_credits?: number;
220
- remain_credits?: number;
221
- consumed_credits?: number;
222
- today_credits?: number;
223
- next_reset_at?: string | null;
224
- expired_at?: string | null;
225
- package_title?: string | null;
226
- }
227
- export interface XCrawlStatusEnvelope {
228
- data?: XCrawlStatusData;
229
- code?: string | number;
230
- message?: string;
231
- msg?: string;
232
- }
233
- export type XCrawlStatusApiResponse = XCrawlStatusEnvelope | XCrawlStatusData;
234
- export type XCrawlKeyStatus = "ok" | "no_credits" | "unauthorized" | "expired";
217
+ export type XCrawlKeyStatus = "ok" | "no_credits" | "unauthorized" | "expired" | "unknown";
235
218
  export interface XCrawlKeyStatusResponse {
236
219
  status: XCrawlKeyStatus;
220
+ api_key_configured: boolean;
221
+ check_supported: boolean;
237
222
  valid: boolean;
238
223
  authorized: boolean;
239
224
  has_credits: boolean;
240
225
  is_expired: boolean;
241
226
  can_use_tools: boolean;
242
- credit_level: number;
243
- total_credits: number;
227
+ credit_level: number | null;
228
+ total_credits: number | null;
244
229
  remain_credits: number;
245
- consumed_credits: number;
246
- today_credits: number;
230
+ consumed_credits: number | null;
231
+ today_credits: number | null;
247
232
  next_reset_at: string | null;
233
+ expire_at: number | null;
248
234
  expired_at: string | null;
249
235
  package_title: string | null;
236
+ uid?: string | null;
237
+ username?: string | null;
238
+ concurrent?: number | null;
239
+ reason: "balance_api" | "invalid_credentials" | "unexpected_response";
250
240
  message: string;
251
241
  }
252
242
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xcrawl-mcp",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "license": "UNLICENSED",
5
5
  "type": "module",
6
6
  "main": "dist/stdio.js",
@@ -1,12 +1,27 @@
1
- import type { XCrawlKeyStatusResponse, XCrawlStatusApiResponse, XCrawlStatusData } from "../types.js";
1
+ import type { XCrawlKeyStatusResponse } from "../types.js";
2
2
 
3
- const ACCOUNT_API_BASE_URL = "https://api.xcrawl.com";
4
- const STATUS_PATH = "/web_v1/user/credit-user-info";
3
+ const BALANCE_API_URL = "https://run.xcrawl.com/v1/credits/balance";
5
4
  const REQUEST_TIMEOUT_MS = 30000;
6
5
  const CREDIT_CHECK_REQUIRED_TOOLS = new Set(["xcrawl_scrape", "xcrawl_search", "xcrawl_map", "xcrawl_crawl"]);
7
6
 
8
- function toNumber(value: unknown): number {
9
- return typeof value === "number" && Number.isFinite(value) ? value : 0;
7
+ interface XCrawlBalanceApiResponse {
8
+ uid?: string;
9
+ username?: string;
10
+ credits?: number;
11
+ concurrent?: number;
12
+ expire_at?: number;
13
+ }
14
+
15
+ function toNumber(value: unknown): number | null {
16
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
17
+ }
18
+
19
+ function toDateStringFromUnixSeconds(value: unknown): string | null {
20
+ if (typeof value !== "number" || !Number.isFinite(value)) {
21
+ return null;
22
+ }
23
+
24
+ return new Date(value * 1000).toISOString();
10
25
  }
11
26
 
12
27
  function extractErrorMessage(payload: unknown, fallback: string): string {
@@ -27,51 +42,40 @@ function tryParseJson(text: string): unknown {
27
42
  }
28
43
  }
29
44
 
30
- function getStatusData(payload: XCrawlStatusApiResponse): XCrawlStatusData {
31
- if ("data" in payload) {
32
- return payload.data ?? {};
33
- }
34
-
35
- return payload as XCrawlStatusData;
36
- }
37
-
38
- function isExpired(expiredAt: string | null): boolean {
39
- if (!expiredAt) {
40
- return false;
41
- }
42
-
43
- const timestamp = Date.parse(expiredAt);
44
- return Number.isFinite(timestamp) ? timestamp <= Date.now() : false;
45
- }
46
-
47
- function normalizeStatusPayload(payload: XCrawlStatusApiResponse): XCrawlKeyStatusResponse {
48
- const data = getStatusData(payload);
49
- const remainCredits = toNumber(data.remain_credits);
50
- const consumedCredits = toNumber(data.consumed_credits);
51
- const todayCredits = toNumber(data.today_credits);
52
- const totalCredits = toNumber(data.total_credits);
53
- const expiredAt = typeof data.expired_at === "string" ? data.expired_at : null;
54
- const expired = isExpired(expiredAt);
45
+ function normalizeBalancePayload(apiKey: string, payload: XCrawlBalanceApiResponse): XCrawlKeyStatusResponse {
46
+ const remainCredits = toNumber(payload.credits) ?? 0;
47
+ const concurrent = toNumber(payload.concurrent);
48
+ const expireAt = toNumber(payload.expire_at);
49
+ const expiredAt = toDateStringFromUnixSeconds(payload.expire_at);
50
+ const expiresAtMs = typeof payload.expire_at === "number" ? payload.expire_at * 1000 : null;
51
+ const isExpired = expiresAtMs !== null ? expiresAtMs <= Date.now() : false;
55
52
  const hasCredits = remainCredits > 0;
56
- const canUseTools = !expired && hasCredits;
57
- const status = expired ? "expired" : hasCredits ? "ok" : "no_credits";
53
+ const canUseTools = !isExpired && hasCredits;
54
+ const status = isExpired ? "expired" : hasCredits ? "ok" : "no_credits";
58
55
 
59
56
  return {
60
57
  status,
58
+ api_key_configured: apiKey.trim().length > 0,
59
+ check_supported: true,
61
60
  valid: true,
62
61
  authorized: true,
63
62
  has_credits: hasCredits,
64
- is_expired: expired,
63
+ is_expired: isExpired,
65
64
  can_use_tools: canUseTools,
66
- credit_level: toNumber(data.credit_level),
67
- total_credits: totalCredits,
65
+ credit_level: null,
66
+ total_credits: null,
68
67
  remain_credits: remainCredits,
69
- consumed_credits: consumedCredits,
70
- today_credits: todayCredits,
71
- next_reset_at: typeof data.next_reset_at === "string" ? data.next_reset_at : null,
68
+ consumed_credits: null,
69
+ today_credits: null,
70
+ next_reset_at: null,
71
+ expire_at: expireAt,
72
72
  expired_at: expiredAt,
73
- package_title: typeof data.package_title === "string" ? data.package_title : null,
74
- message: expired
73
+ package_title: null,
74
+ uid: typeof payload.uid === "string" ? payload.uid : null,
75
+ username: typeof payload.username === "string" ? payload.username : null,
76
+ concurrent,
77
+ reason: "balance_api",
78
+ message: isExpired
75
79
  ? "API key is valid but the credit package is expired."
76
80
  : hasCredits
77
81
  ? "API key is valid and has available credits."
@@ -84,13 +88,11 @@ export async function fetchXCrawlKeyStatus(apiKey: string): Promise<XCrawlKeySta
84
88
  const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
85
89
 
86
90
  try {
87
- const url = new URL(STATUS_PATH, ACCOUNT_API_BASE_URL);
88
- url.searchParams.set("app_key", apiKey);
89
-
90
- const response = await fetch(url, {
91
+ const response = await fetch(BALANCE_API_URL, {
91
92
  method: "GET",
92
93
  headers: {
93
94
  Accept: "application/json",
95
+ Authorization: `Bearer ${apiKey}`,
94
96
  },
95
97
  signal: controller.signal,
96
98
  });
@@ -103,19 +105,26 @@ export async function fetchXCrawlKeyStatus(apiKey: string): Promise<XCrawlKeySta
103
105
  if (response.status === 401 || response.status === 403) {
104
106
  return {
105
107
  status: "unauthorized",
108
+ api_key_configured: apiKey.trim().length > 0,
109
+ check_supported: true,
106
110
  valid: false,
107
111
  authorized: false,
108
112
  has_credits: false,
109
113
  is_expired: false,
110
114
  can_use_tools: false,
111
- credit_level: 0,
112
- total_credits: 0,
115
+ credit_level: null,
116
+ total_credits: null,
113
117
  remain_credits: 0,
114
- consumed_credits: 0,
115
- today_credits: 0,
118
+ consumed_credits: null,
119
+ today_credits: null,
116
120
  next_reset_at: null,
121
+ expire_at: null,
117
122
  expired_at: null,
118
123
  package_title: null,
124
+ uid: null,
125
+ username: null,
126
+ concurrent: null,
127
+ reason: "invalid_credentials",
119
128
  message: `API key is invalid or unauthorized: ${message}`,
120
129
  };
121
130
  }
@@ -123,7 +132,34 @@ export async function fetchXCrawlKeyStatus(apiKey: string): Promise<XCrawlKeySta
123
132
  throw new Error(`XCrawl status API error: ${response.status} ${response.statusText} - ${message}`);
124
133
  }
125
134
 
126
- return normalizeStatusPayload(parsed as XCrawlStatusApiResponse);
135
+ if (!parsed || typeof parsed !== "object") {
136
+ return {
137
+ status: "unknown",
138
+ api_key_configured: apiKey.trim().length > 0,
139
+ check_supported: true,
140
+ valid: false,
141
+ authorized: false,
142
+ has_credits: false,
143
+ is_expired: false,
144
+ can_use_tools: false,
145
+ credit_level: null,
146
+ total_credits: null,
147
+ remain_credits: 0,
148
+ consumed_credits: null,
149
+ today_credits: null,
150
+ next_reset_at: null,
151
+ expire_at: null,
152
+ expired_at: null,
153
+ package_title: null,
154
+ uid: null,
155
+ username: null,
156
+ concurrent: null,
157
+ reason: "unexpected_response",
158
+ message: "XCrawl balance API returned an unexpected response.",
159
+ };
160
+ }
161
+
162
+ return normalizeBalancePayload(apiKey, parsed as XCrawlBalanceApiResponse);
127
163
  } catch (error) {
128
164
  if (error instanceof Error && error.name === "AbortError") {
129
165
  throw new Error(`Status request timeout after ${REQUEST_TIMEOUT_MS / 1000} seconds`);
package/src/tools.ts CHANGED
@@ -551,8 +551,10 @@ export const XCRAWL_KEY_STATUS_TOOL = {
551
551
  - \`valid\`: whether the API key is valid
552
552
  - \`authorized\`: whether the API key is authorized
553
553
  - \`has_credits\`: whether the account still has remaining credits
554
- - \`remain_credits\`, \`consumed_credits\`, \`today_credits\`, \`total_credits\`
555
- - package metadata such as \`package_title\`, \`next_reset_at\`, and \`expired_at\`
554
+ - \`remain_credits\`: current remaining credits
555
+ - \`expire_at\`: original Unix timestamp returned by XCrawl
556
+ - \`expired_at\`: the same expiry time normalized to a UTC ISO-8601 string
557
+ - \`uid\`, \`username\`, \`concurrent\`: account info returned by the balance endpoint
556
558
  - a human-readable \`message\`
557
559
 
558
560
  **Notes:**
package/src/types.ts CHANGED
@@ -223,46 +223,34 @@ export interface XCrawlCrawlResponse {
223
223
  /**
224
224
  * Account status / key validation types
225
225
  */
226
- export interface XCrawlStatusData {
227
- credit_level?: number;
228
- total_credits?: number;
229
- remain_credits?: number;
230
- consumed_credits?: number;
231
- today_credits?: number;
232
- next_reset_at?: string | null;
233
- expired_at?: string | null;
234
- package_title?: string | null;
235
- }
236
-
237
- export interface XCrawlStatusEnvelope {
238
- data?: XCrawlStatusData;
239
- code?: string | number;
240
- message?: string;
241
- msg?: string;
242
- }
243
-
244
- export type XCrawlStatusApiResponse = XCrawlStatusEnvelope | XCrawlStatusData;
245
-
246
226
  export type XCrawlKeyStatus =
247
227
  | "ok"
248
228
  | "no_credits"
249
229
  | "unauthorized"
250
- | "expired";
230
+ | "expired"
231
+ | "unknown";
251
232
 
252
233
  export interface XCrawlKeyStatusResponse {
253
234
  status: XCrawlKeyStatus;
235
+ api_key_configured: boolean;
236
+ check_supported: boolean;
254
237
  valid: boolean;
255
238
  authorized: boolean;
256
239
  has_credits: boolean;
257
240
  is_expired: boolean;
258
241
  can_use_tools: boolean;
259
- credit_level: number;
260
- total_credits: number;
242
+ credit_level: number | null;
243
+ total_credits: number | null;
261
244
  remain_credits: number;
262
- consumed_credits: number;
263
- today_credits: number;
245
+ consumed_credits: number | null;
246
+ today_credits: number | null;
264
247
  next_reset_at: string | null;
248
+ expire_at: number | null;
265
249
  expired_at: string | null;
266
250
  package_title: string | null;
251
+ uid?: string | null;
252
+ username?: string | null;
253
+ concurrent?: number | null;
254
+ reason: "balance_api" | "invalid_credentials" | "unexpected_response";
267
255
  message: string;
268
256
  }
Binary file