@yjzf/mcp-server-yjzf 0.2.4 → 0.2.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/dist/index.js +20 -9
- package/dist/index.js.map +1 -1
- package/dist/tools/contract/investment_contract.d.ts +8 -0
- package/dist/tools/contract/investment_contract.d.ts.map +1 -0
- package/dist/tools/contract/investment_contract.js +100 -0
- package/dist/tools/contract/investment_contract.js.map +1 -0
- package/dist/tools/contract/lease_sale_contract_export.d.ts +30 -0
- package/dist/tools/contract/lease_sale_contract_export.d.ts.map +1 -0
- package/dist/tools/contract/lease_sale_contract_export.js +171 -0
- package/dist/tools/contract/lease_sale_contract_export.js.map +1 -0
- package/dist/tools/contract/new_house_contract_export.d.ts +14 -0
- package/dist/tools/contract/new_house_contract_export.d.ts.map +1 -0
- package/dist/tools/contract/new_house_contract_export.js +205 -0
- package/dist/tools/contract/new_house_contract_export.js.map +1 -0
- package/dist/tools/data/count_all_statement.d.ts +46 -0
- package/dist/tools/data/count_all_statement.d.ts.map +1 -0
- package/dist/tools/data/count_all_statement.js +322 -0
- package/dist/tools/data/count_all_statement.js.map +1 -0
- package/dist/tools/data/overview_by_c.d.ts +26 -0
- package/dist/tools/data/overview_by_c.d.ts.map +1 -0
- package/dist/tools/data/overview_by_c.js +190 -0
- package/dist/tools/data/overview_by_c.js.map +1 -0
- package/dist/tools/data/statement_query.d.ts +43 -0
- package/dist/tools/data/statement_query.d.ts.map +1 -0
- package/dist/tools/data/statement_query.js +430 -0
- package/dist/tools/data/statement_query.js.map +1 -0
- package/dist/tools/util/branch_select.d.ts +26 -0
- package/dist/tools/util/branch_select.d.ts.map +1 -0
- package/dist/tools/util/branch_select.js +50 -0
- package/dist/tools/util/branch_select.js.map +1 -0
- package/dist/tools/util/date_to_timestamp.d.ts +19 -0
- package/dist/tools/util/date_to_timestamp.d.ts.map +1 -0
- package/dist/tools/util/date_to_timestamp.js +45 -0
- package/dist/tools/util/date_to_timestamp.js.map +1 -0
- package/dist/tools/util/get_current_time.d.ts +13 -0
- package/dist/tools/util/get_current_time.d.ts.map +1 -0
- package/dist/tools/util/get_current_time.js +23 -0
- package/dist/tools/util/get_current_time.js.map +1 -0
- package/dist/tools/util/hello_world.d.ts +20 -0
- package/dist/tools/util/hello_world.d.ts.map +1 -0
- package/dist/tools/util/hello_world.js +47 -0
- package/dist/tools/util/hello_world.js.map +1 -0
- package/dist/utils/async-export.d.ts +37 -0
- package/dist/utils/async-export.d.ts.map +1 -0
- package/dist/utils/async-export.js +73 -0
- package/dist/utils/async-export.js.map +1 -0
- package/dist/utils/cities.d.ts +11 -0
- package/dist/utils/cities.d.ts.map +1 -0
- package/dist/utils/cities.js +22 -0
- package/dist/utils/cities.js.map +1 -0
- package/dist/utils/env.d.ts +0 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +0 -3
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +5 -5
- package/dist/utils/http.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date_to_timestamp.js","sourceRoot":"","sources":["../../../src/tools/util/date_to_timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAExC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE,kJAAkJ;IAC/J,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACb,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC;aAC1B,KAAK,CAAC,SAAS,EAAE,8BAA8B,CAAC;aAChD,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aAC7B,QAAQ,CAAC,sEAAsE,CAAC;KACpF,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAA0C;IACtE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEhC,iBAAiB;IACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW;IACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/C,qBAAqB;IACrB,gDAAgD;IAChD,IAAI,gBAAwB,CAAC;IAC7B,IAAI,QAAQ,EAAE,CAAC;QACb,uBAAuB;QACvB,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,SAAS,EAAE,gBAAgB;oBAC3B,aAAa,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE;iBACxD,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
export declare const name = "get_current_time";
|
|
3
|
+
export declare const schema: {
|
|
4
|
+
description: string;
|
|
5
|
+
inputSchema: z.ZodObject<{}, z.core.$strip>;
|
|
6
|
+
};
|
|
7
|
+
export declare function handler(): Promise<{
|
|
8
|
+
content: {
|
|
9
|
+
type: "text";
|
|
10
|
+
text: string;
|
|
11
|
+
}[];
|
|
12
|
+
}>;
|
|
13
|
+
//# sourceMappingURL=get_current_time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_current_time.d.ts","sourceRoot":"","sources":["../../../src/tools/util/get_current_time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,eAAO,MAAM,IAAI,qBAAqB,CAAC;AAEvC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,wBAAsB,OAAO;;;;;GAgB5B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
export const name = "get_current_time";
|
|
3
|
+
export const schema = {
|
|
4
|
+
description: "获取当前时间的毫秒时间戳和格式化时间 当需要知晓当前日期时间时必须先调用此工具",
|
|
5
|
+
inputSchema: z.object({}),
|
|
6
|
+
};
|
|
7
|
+
export async function handler() {
|
|
8
|
+
const now = new Date();
|
|
9
|
+
const timestamp = now.getTime();
|
|
10
|
+
const formattedTime = now.toISOString();
|
|
11
|
+
return {
|
|
12
|
+
content: [
|
|
13
|
+
{
|
|
14
|
+
type: "text",
|
|
15
|
+
text: JSON.stringify({
|
|
16
|
+
timestamp: timestamp,
|
|
17
|
+
formattedTime: formattedTime,
|
|
18
|
+
}, null, 2),
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=get_current_time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_current_time.js","sourceRoot":"","sources":["../../../src/tools/util/get_current_time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAChC,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAExC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,aAAa;iBAC7B,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
export declare const name = "hello_world";
|
|
3
|
+
export declare const schema: {
|
|
4
|
+
description: string;
|
|
5
|
+
inputSchema: z.ZodObject<{}, z.core.$strip>;
|
|
6
|
+
};
|
|
7
|
+
export declare function handler(): Promise<{
|
|
8
|
+
content: {
|
|
9
|
+
type: "text";
|
|
10
|
+
text: string;
|
|
11
|
+
}[];
|
|
12
|
+
isError: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
content: {
|
|
15
|
+
type: "text";
|
|
16
|
+
text: string;
|
|
17
|
+
}[];
|
|
18
|
+
isError?: undefined;
|
|
19
|
+
}>;
|
|
20
|
+
//# sourceMappingURL=hello_world.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hello_world.d.ts","sourceRoot":"","sources":["../../../src/tools/util/hello_world.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAI5B,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAElC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,wBAAsB,OAAO;;;;;;;;;;;;GAyC5B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import * as z from "zod/v4";
|
|
4
|
+
import { getDataDir, getGatewayBaseUrl } from "../../utils/env.js";
|
|
5
|
+
import { buildGatewayHeaders } from "../../utils/http.js";
|
|
6
|
+
export const name = "hello_world";
|
|
7
|
+
export const schema = {
|
|
8
|
+
description: "Say hello world to YJZF",
|
|
9
|
+
inputSchema: z.object({}),
|
|
10
|
+
};
|
|
11
|
+
export async function handler() {
|
|
12
|
+
const headers = buildGatewayHeaders();
|
|
13
|
+
// HTTP GET request
|
|
14
|
+
const response = await fetch(`${getGatewayBaseUrl()}/hello_world`, {
|
|
15
|
+
method: "GET",
|
|
16
|
+
headers,
|
|
17
|
+
});
|
|
18
|
+
if (!response.ok) {
|
|
19
|
+
return {
|
|
20
|
+
content: [
|
|
21
|
+
{
|
|
22
|
+
type: "text",
|
|
23
|
+
text: `Request failed with status ${response.status}: ${response.statusText}`,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
isError: true,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const body = await response.text();
|
|
30
|
+
// Ensure data directory exists
|
|
31
|
+
const dataDir = getDataDir();
|
|
32
|
+
fs.mkdirSync(dataDir, { recursive: true });
|
|
33
|
+
// Write response to file with datetime prefix
|
|
34
|
+
const now = new Date();
|
|
35
|
+
const datetimePrefix = now.toISOString().replace(/[:.]/g, "-").slice(0, 19);
|
|
36
|
+
const filePath = path.join(dataDir, `${datetimePrefix}-hello_world-response.txt`);
|
|
37
|
+
fs.writeFileSync(filePath, body, "utf-8");
|
|
38
|
+
return {
|
|
39
|
+
content: [
|
|
40
|
+
{
|
|
41
|
+
type: "text",
|
|
42
|
+
text: `Response saved to ${filePath}\n\n${body}`,
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=hello_world.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hello_world.js","sourceRoot":"","sources":["../../../src/tools/util/hello_world.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,mBAAmB;IACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,EAAE,cAAc,EAAE;QACjE,MAAM,EAAE,KAAK;QACb,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,8BAA8B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE;iBAC9E;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,+BAA+B;IAC/B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,8CAA8C;IAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,cAAc,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,2BAA2B,CAAC,CAAC;IAClF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,qBAAqB,QAAQ,OAAO,IAAI,EAAE;aACjD;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 单次轮询返回的状态
|
|
3
|
+
*/
|
|
4
|
+
export type PollStatus = {
|
|
5
|
+
state: "pending";
|
|
6
|
+
} | {
|
|
7
|
+
state: "success";
|
|
8
|
+
downloadUrl: string;
|
|
9
|
+
} | {
|
|
10
|
+
state: "failed";
|
|
11
|
+
reason?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 轮询配置
|
|
15
|
+
*/
|
|
16
|
+
export interface PollAsyncExportConfig {
|
|
17
|
+
/** 每次轮询调用,由各工具自行实现状态判定逻辑 */
|
|
18
|
+
checkStatus: () => Promise<PollStatus>;
|
|
19
|
+
/** 轮询间隔序列(ms),超出序列长度后重复最后一个值 */
|
|
20
|
+
intervals?: number[];
|
|
21
|
+
/** 最大等待时间(ms),默认 600000 (10分钟) */
|
|
22
|
+
maxWait?: number;
|
|
23
|
+
/** 连续错误次数上限,默认 3 */
|
|
24
|
+
maxConsecutiveErrors?: number;
|
|
25
|
+
/** 日志标签 */
|
|
26
|
+
logTag?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 轮询异步导出状态,成功时返回 downloadUrl。
|
|
30
|
+
* 失败或超时时 throw Error。
|
|
31
|
+
*/
|
|
32
|
+
export declare function pollAsyncExport(config: PollAsyncExportConfig): Promise<string>;
|
|
33
|
+
/**
|
|
34
|
+
* 从 URL 下载文件到 DATA_DIR,返回本地文件绝对路径。
|
|
35
|
+
*/
|
|
36
|
+
export declare function downloadToDataDir(url: string, fileName: string): Promise<string>;
|
|
37
|
+
//# sourceMappingURL=async-export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-export.d.ts","sourceRoot":"","sources":["../../src/utils/async-export.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,MAAM,UAAU,GAChB;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAkBD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CpF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWtF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { getDataDir } from "./env.js";
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// 默认配置
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
const DEFAULT_INTERVALS = [5000, 5000, 10000, 10000, 15000, 15000, 20000, 20000, 30000];
|
|
8
|
+
const DEFAULT_MAX_WAIT = 600_000; // 10分钟
|
|
9
|
+
const DEFAULT_MAX_CONSECUTIVE_ERRORS = 3;
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// 公共方法
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
function sleep(ms) {
|
|
14
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 轮询异步导出状态,成功时返回 downloadUrl。
|
|
18
|
+
* 失败或超时时 throw Error。
|
|
19
|
+
*/
|
|
20
|
+
export async function pollAsyncExport(config) {
|
|
21
|
+
const intervals = config.intervals ?? DEFAULT_INTERVALS;
|
|
22
|
+
const maxWait = config.maxWait ?? DEFAULT_MAX_WAIT;
|
|
23
|
+
const maxConsecutiveErrors = config.maxConsecutiveErrors ?? DEFAULT_MAX_CONSECUTIVE_ERRORS;
|
|
24
|
+
const logTag = config.logTag ?? "pollAsyncExport";
|
|
25
|
+
let totalWaited = 0;
|
|
26
|
+
let consecutiveErrors = 0;
|
|
27
|
+
for (let i = 0; totalWaited < maxWait; i++) {
|
|
28
|
+
const interval = intervals[Math.min(i, intervals.length - 1)];
|
|
29
|
+
await sleep(interval);
|
|
30
|
+
totalWaited += interval;
|
|
31
|
+
try {
|
|
32
|
+
const status = await config.checkStatus();
|
|
33
|
+
consecutiveErrors = 0;
|
|
34
|
+
if (status.state === "success") {
|
|
35
|
+
return status.downloadUrl;
|
|
36
|
+
}
|
|
37
|
+
if (status.state === "failed") {
|
|
38
|
+
throw new Error(status.reason ?? "异步导出失败");
|
|
39
|
+
}
|
|
40
|
+
// state === "pending",继续轮询
|
|
41
|
+
console.error(`[${logTag}] 尚未完成,已等待 ${totalWaited / 1000}s`);
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
45
|
+
// 如果是业务层明确失败(非网络错误),直接抛出
|
|
46
|
+
if (msg.includes("导出失败") || msg.includes("执行失败")) {
|
|
47
|
+
throw e;
|
|
48
|
+
}
|
|
49
|
+
consecutiveErrors++;
|
|
50
|
+
if (consecutiveErrors >= maxConsecutiveErrors) {
|
|
51
|
+
throw new Error(`轮询连续失败${maxConsecutiveErrors}次: ${msg}`);
|
|
52
|
+
}
|
|
53
|
+
console.error(`[${logTag}] 请求异常(${consecutiveErrors}/${maxConsecutiveErrors}): ${msg}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
throw new Error(`异步导出超时(${maxWait / 1000}s),请到 ERP"我的导出"页面查看`);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 从 URL 下载文件到 DATA_DIR,返回本地文件绝对路径。
|
|
60
|
+
*/
|
|
61
|
+
export async function downloadToDataDir(url, fileName) {
|
|
62
|
+
const resp = await fetch(url);
|
|
63
|
+
if (!resp.ok) {
|
|
64
|
+
throw new Error(`下载文件失败: ${resp.status} ${resp.statusText}`);
|
|
65
|
+
}
|
|
66
|
+
const buffer = Buffer.from(await resp.arrayBuffer());
|
|
67
|
+
const dataDir = getDataDir();
|
|
68
|
+
fs.mkdirSync(dataDir, { recursive: true });
|
|
69
|
+
const filePath = path.join(dataDir, fileName);
|
|
70
|
+
fs.writeFileSync(filePath, buffer);
|
|
71
|
+
return filePath;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=async-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-export.js","sourceRoot":"","sources":["../../src/utils/async-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface CityElement {
|
|
2
|
+
branchId: string;
|
|
3
|
+
cityCode: string;
|
|
4
|
+
branchName: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 从 Gateway 动态获取直营城市列表
|
|
8
|
+
* Gateway 端通过 ERP API 过滤: businessType=0(直营), mainType=2(二手), isEnabled=1(启用)
|
|
9
|
+
*/
|
|
10
|
+
export declare function fetchZyCities(): Promise<CityElement[]>;
|
|
11
|
+
//# sourceMappingURL=cities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cities.d.ts","sourceRoot":"","sources":["../../src/utils/cities.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAgB5D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { buildGatewayHeaders } from "./http.js";
|
|
2
|
+
import { getGatewayBaseUrl } from "./env.js";
|
|
3
|
+
import { debug } from "./debug.js";
|
|
4
|
+
/**
|
|
5
|
+
* 从 Gateway 动态获取直营城市列表
|
|
6
|
+
* Gateway 端通过 ERP API 过滤: businessType=0(直营), mainType=2(二手), isEnabled=1(启用)
|
|
7
|
+
*/
|
|
8
|
+
export async function fetchZyCities() {
|
|
9
|
+
const headers = buildGatewayHeaders();
|
|
10
|
+
const url = `${getGatewayBaseUrl()}/statement/branches?preset=直营`;
|
|
11
|
+
debug("fetchZyCities url", url);
|
|
12
|
+
const resp = await fetch(url, { method: "GET", headers });
|
|
13
|
+
if (!resp.ok) {
|
|
14
|
+
throw new Error(`获取直营城市列表失败: ${resp.status} ${resp.statusText}`);
|
|
15
|
+
}
|
|
16
|
+
const data = await resp.json();
|
|
17
|
+
if (!data.succeed) {
|
|
18
|
+
throw new Error(`获取直营城市列表失败: ${data.msg}`);
|
|
19
|
+
}
|
|
20
|
+
return data.data;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=cities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cities.js","sourceRoot":"","sources":["../../src/utils/cities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAQnC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,GAAG,iBAAiB,EAAE,+BAA+B,CAAC;IAClE,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAEhC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAA6D,CAAC;IAC1F,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC"}
|
package/dist/utils/env.d.ts
CHANGED
package/dist/utils/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,OAAc,GAC3B,MAAM,CAcR"}
|
package/dist/utils/env.js
CHANGED
|
@@ -14,9 +14,6 @@ export function getDataDir() {
|
|
|
14
14
|
}
|
|
15
15
|
return path.join(os.homedir(), "mcp-server-yjzf", "data");
|
|
16
16
|
}
|
|
17
|
-
export function getApiKey() {
|
|
18
|
-
return process.env.MCP_YJZF_API_KEY;
|
|
19
|
-
}
|
|
20
17
|
export function getYjzfAccessToken() {
|
|
21
18
|
return process.env.YJZF_ACCESS_TOKEN;
|
|
22
19
|
}
|
package/dist/utils/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,sBAAsB,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,SAAiB,EACjB,eAAwB,IAAI;IAE5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,yBAAyB;IACzB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,OAAO,GAAG,OAAO,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;AACzF,CAAC"}
|
package/dist/utils/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AAUA,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa5D;AAMD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAK7D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAI/D"}
|
package/dist/utils/http.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { getYjzfAccessToken } from "./env.js";
|
|
3
|
+
const require = createRequire(import.meta.url);
|
|
4
|
+
const { version } = require("../../package.json");
|
|
2
5
|
// ---------------------------------------------------------------------------
|
|
3
6
|
// Gateway 请求头
|
|
4
7
|
// ---------------------------------------------------------------------------
|
|
@@ -6,11 +9,8 @@ export function buildGatewayHeaders() {
|
|
|
6
9
|
const headers = {
|
|
7
10
|
Accept: "application/json",
|
|
8
11
|
"Content-Type": "application/json",
|
|
12
|
+
"X-MCP-Version": version,
|
|
9
13
|
};
|
|
10
|
-
const apiKey = getApiKey();
|
|
11
|
-
if (apiKey) {
|
|
12
|
-
headers["Authorization"] = `Bearer ${apiKey}`;
|
|
13
|
-
}
|
|
14
14
|
const yjzfToken = getYjzfAccessToken();
|
|
15
15
|
if (yjzfToken) {
|
|
16
16
|
headers["X-YJZF-Token"] = yjzfToken;
|
package/dist/utils/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAiBlD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,kBAAkB;QAC1B,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,OAAO;KACzB,CAAC;IAEF,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IACtC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yjzf/mcp-server-yjzf",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "MCP Server for YJZF",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"build": "tsc",
|
|
14
14
|
"dev": "tsc --watch",
|
|
15
15
|
"start": "node dist/index.js",
|
|
16
|
-
"prepublishOnly": "npm run build",
|
|
16
|
+
"prepublishOnly": "npm install && npm run build",
|
|
17
17
|
"inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
|
|
18
18
|
"test": "node test-mcp.js",
|
|
19
19
|
"test:debug": "DEBUG=1 node test-mcp.js",
|