flycode-mcp 1.9.2 → 1.10.0

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.
Files changed (63) hide show
  1. package/README.md +69 -18
  2. package/dist/flycode-mcp.min.js +2 -0
  3. package/package.json +21 -8
  4. package/dist/clients/authClient.js +0 -43
  5. package/dist/clients/authClient.js.map +0 -1
  6. package/dist/clients/databaseFunctionClient.js +0 -16
  7. package/dist/clients/databaseFunctionClient.js.map +0 -1
  8. package/dist/clients/entityClient.js +0 -28
  9. package/dist/clients/entityClient.js.map +0 -1
  10. package/dist/clients/formClient.js +0 -30
  11. package/dist/clients/formClient.js.map +0 -1
  12. package/dist/clients/functionClient.js +0 -30
  13. package/dist/clients/functionClient.js.map +0 -1
  14. package/dist/clients/logicClient.js +0 -45
  15. package/dist/clients/logicClient.js.map +0 -1
  16. package/dist/clients/runClient.js +0 -16
  17. package/dist/clients/runClient.js.map +0 -1
  18. package/dist/clients/types.js +0 -7
  19. package/dist/clients/types.js.map +0 -1
  20. package/dist/index.js +0 -53
  21. package/dist/index.js.map +0 -1
  22. package/dist/service/auth.js +0 -84
  23. package/dist/service/auth.js.map +0 -1
  24. package/dist/service/logic.js +0 -261
  25. package/dist/service/logic.js.map +0 -1
  26. package/dist/store/tenant.js +0 -20
  27. package/dist/store/tenant.js.map +0 -1
  28. package/dist/store/token.js +0 -25
  29. package/dist/store/token.js.map +0 -1
  30. package/dist/tools/common.js +0 -61
  31. package/dist/tools/common.js.map +0 -1
  32. package/dist/tools/database-function/read.js +0 -98
  33. package/dist/tools/database-function/read.js.map +0 -1
  34. package/dist/tools/entity/read.js +0 -169
  35. package/dist/tools/entity/read.js.map +0 -1
  36. package/dist/tools/entity/schemas.js +0 -65
  37. package/dist/tools/entity/schemas.js.map +0 -1
  38. package/dist/tools/form/read.js +0 -202
  39. package/dist/tools/form/read.js.map +0 -1
  40. package/dist/tools/function/read.js +0 -187
  41. package/dist/tools/function/read.js.map +0 -1
  42. package/dist/tools/logic/read.js +0 -170
  43. package/dist/tools/logic/read.js.map +0 -1
  44. package/dist/tools/logic/schemas.js +0 -122
  45. package/dist/tools/logic/schemas.js.map +0 -1
  46. package/dist/tools/logic/write.js +0 -303
  47. package/dist/tools/logic/write.js.map +0 -1
  48. package/dist/tools/run/read.js +0 -65
  49. package/dist/tools/run/read.js.map +0 -1
  50. package/dist/utils/config.js +0 -26
  51. package/dist/utils/config.js.map +0 -1
  52. package/dist/utils/date.js +0 -45
  53. package/dist/utils/date.js.map +0 -1
  54. package/dist/utils/error.js +0 -30
  55. package/dist/utils/error.js.map +0 -1
  56. package/dist/utils/mcp-types.js +0 -2
  57. package/dist/utils/mcp-types.js.map +0 -1
  58. package/dist/utils/request.js +0 -74
  59. package/dist/utils/request.js.map +0 -1
  60. package/dist/utils/snowflake.js +0 -119
  61. package/dist/utils/snowflake.js.map +0 -1
  62. package/dist/utils/str-replace.js +0 -353
  63. package/dist/utils/str-replace.js.map +0 -1
@@ -1,61 +0,0 @@
1
- import { z } from 'zod';
2
- import { nextId } from '../utils/snowflake.js';
3
- /**
4
- * 通用工具:生成唯一编码(code)。
5
- *
6
- * 在新建实体、领域、表单等内容时,其 JSON 字段中通常需要携带一个唯一
7
- * code(如实体的 objectcode、领域的 objecttypecode、表单的 formcode 等)。
8
- * 本工具借助 @utils/snowflake 的雪花算法生成全局唯一 ID 作为该 code,
9
- * 以字符串形式返回以避免超过 Number.MAX_SAFE_INTEGER 时的大整数精度丢失。
10
- */
11
- export const commonTools = [
12
- {
13
- name: 'generate_unique_code',
14
- config: {
15
- title: '生成唯一编码',
16
- description: '通过雪花算法(snowflake)生成一个全局唯一 ID(code)。在新建实体、领域、表单等内容时,其 JSON 字段中通常需要携带一个唯一 code,可调用本工具获取。',
17
- inputSchema: {
18
- prefix: z.string().optional().describe('可选前缀,拼接到生成的唯一 ID 之前(例如实体编码前缀);不传则只返回纯数字 ID 字符串')
19
- },
20
- outputSchema: {
21
- code: z.string().describe('生成的唯一编码(code)。字符串形式以避免大整数精度丢失')
22
- },
23
- annotations: {
24
- readOnlyHint: true, // 仅本地生成 ID,不修改任何服务端数据
25
- destructiveHint: false, // 无破坏性
26
- idempotentHint: false // 每次调用返回不同 ID
27
- }
28
- },
29
- handler: async (args) => {
30
- const { prefix = '' } = args;
31
- try {
32
- const id = nextId().toString();
33
- const code = prefix ? `${prefix}${id}` : id;
34
- const result = { code };
35
- return {
36
- content: [{
37
- type: 'text',
38
- text: JSON.stringify(result)
39
- }],
40
- // outputSchema 已在工具上声明,SDK 1.30 要求调用结果必须携带
41
- // structuredContent 与之匹配,否则会抛 -32602;这里同时返回
42
- // 文本(给人/模型阅读)和结构化内容(供 schema 校验)。
43
- structuredContent: result
44
- };
45
- }
46
- catch (e) {
47
- // 雪花算法在时钟回拨过大等异常情况下会抛错,原样返回错误信息。
48
- const err = e;
49
- const body = { error: err.message ?? String(e) };
50
- return {
51
- isError: true,
52
- content: [{
53
- type: 'text',
54
- text: JSON.stringify(body)
55
- }]
56
- };
57
- }
58
- }
59
- }
60
- ];
61
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAc;IACpC;QACE,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wFAAwF;YACrG,WAAW,EAAE;gBACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;aACzF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;aAC3D;YACD,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI,EAAO,sBAAsB;gBAC/C,eAAe,EAAE,KAAK,EAAG,OAAO;gBAChC,cAAc,EAAE,KAAK,CAAI,cAAc;aACxC;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC3C,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAA;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;yBAC7B,CAAC;oBACF,2CAA2C;oBAC3C,4CAA4C;oBAC5C,kCAAkC;oBAClC,iBAAiB,EAAE,MAA4C;iBAChE,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,iCAAiC;gBACjC,MAAM,GAAG,GAAG,CAAyB,CAAA;gBACrC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;gBAChD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;yBAC3B,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC;KACF;CACF,CAAA"}
@@ -1,98 +0,0 @@
1
- import { z } from 'zod';
2
- import { extractError } from '../../utils/error.js';
3
- import { pageDatabaseFunctionList } from '../../clients/databaseFunctionClient.js';
4
- /**
5
- * 数据库函数(PostgreSQL 自定义函数)列表查询结果的 outputSchema。
6
- * 字段类型严格依据 databaseFunctionClient.ts 中的 DatabaseFunctionPageResult 接口声明构建:
7
- * 除 string | null 外,marktype / publishstatus / status 为 string | number | null(可选且可空)。
8
- * string | null -> z.union([z.string(), z.null()]).optional()
9
- * string | number | null -> z.union([z.string(), z.number()]).nullable().optional()
10
- * 描述文字直接采用 databaseFunctionClient.ts 中 DatabaseFunctionPageParams / DatabaseFunctionPageResult 的注释内容;
11
- * catchall 实现服务端返回的额外字段原样透传(不被 SDK 的 outputSchema 校验剥离)。
12
- *
13
- * 说明:数据库函数的函数内容(functionscript,PostgreSQL 函数体)已在列表查询中随行返回,
14
- * 因此此处只提供列表查询工具,无需单独的详情查询工具。
15
- */
16
- const databaseFunctionPageResultShape = z.object({
17
- createtime: z.union([z.string(), z.null()]).optional().describe('创建时间'),
18
- creator: z.union([z.string(), z.null()]).optional().describe('创建人姓名'),
19
- dbfunctionname: z.union([z.string(), z.null()]).optional().describe('数据库函数名'),
20
- functioncode: z.union([z.string(), z.null()]).optional().describe('函数唯一编码'),
21
- functionname: z.union([z.string(), z.null()]).optional().describe('函数中文名'),
22
- /** 数据库函数内容(PostgreSQL 函数体),列表查询随行返回 */
23
- functionscript: z.union([z.string(), z.null()]).optional().describe('数据库函数内容(PostgreSQL 函数体)'),
24
- marktype: z.union([z.string(), z.number()]).nullable().optional().describe('创建标记:0-平台;1-产品;2-租户'),
25
- metamodelcode: z.union([z.string(), z.null()]).optional().describe('领域模型编码,和 functioncode 共同构成复合主键'),
26
- publishstatus: z.union([z.string(), z.number()]).nullable().optional().describe('发布状态,1-未发布;2-已发布'),
27
- remark: z.union([z.string(), z.null()]).optional().describe('备注'),
28
- status: z.union([z.string(), z.number()]).nullable().optional().describe('状态:1-启用;2-停用'),
29
- updatetime: z.union([z.string(), z.null()]).optional().describe('最近更新时间'),
30
- updator: z.union([z.string(), z.null()]).optional().describe('最近更新人')
31
- }).catchall(z.unknown());
32
- /** 只读类工具:查询、列表、读取等不会修改数据的操作。 */
33
- export const readTools = [
34
- {
35
- name: 'page_database_function_list',
36
- config: {
37
- title: '分页查询数据库函数',
38
- description: `根据查询条件分页查询数据库函数(PostgreSQL 自定义函数)列表。适用于查找数据库函数及其元信息,列表结果已随行返回函数内容 functionscript(PostgreSQL 函数体),因此无需再调用详情接口。
39
-
40
- 【整数映射速查】(输入筛选按字符串传入,如 status 传 "1";输出字段以数字或字符串返回,两种都兼容)
41
- - marktype(创建标记,仅输出):0-平台;1-产品;2-租户
42
- - publishstatus(发布状态,仅输出):1-未发布;2-已发布
43
- - status(状态,仅输出):1-启用;2-停用`,
44
- inputSchema: {
45
- dbfunctionname: z.string().optional().describe('数据库函数名,模糊匹配'),
46
- name: z.string().optional().describe('函数中文名,模糊匹配'),
47
- pageindex: z.string().optional().describe('分页查询参数,当前页,从 1 开始'),
48
- pagesize: z.string().optional().describe('分页查询参数,每页记录数')
49
- },
50
- outputSchema: {
51
- data: z.array(databaseFunctionPageResultShape).describe('这一页的业务数据'),
52
- pageCount: z.coerce.number().describe('总页数'),
53
- pageIndex: z.coerce.number().describe('第几页'),
54
- pageSize: z.coerce.number().describe('每页记录数'),
55
- resultCount: z.coerce.number().describe('总记录数')
56
- },
57
- annotations: {
58
- readOnlyHint: true, // 此操作不会修改数据
59
- destructiveHint: false, // 此操作不具有破坏性
60
- idempotentHint: true // 重复调用结果相同
61
- }
62
- },
63
- handler: async (args) => {
64
- const { dbfunctionname = '', name = '', pageindex = 1, pagesize = 20 } = args;
65
- try {
66
- const res = await pageDatabaseFunctionList({
67
- dbfunctionname,
68
- name,
69
- pageindex: Number(pageindex) || 1,
70
- pagesize: Number(pagesize) || 20
71
- });
72
- return {
73
- content: [{
74
- type: 'text',
75
- text: JSON.stringify(res.resp_data)
76
- }],
77
- // outputSchema 已在工具上声明,SDK 1.30 要求调用结果必须携带
78
- // structuredContent 与之匹配,否则会抛 -32602;这里同时返回
79
- // 文本(给人/模型阅读)和结构化内容(供 schema 校验)。
80
- structuredContent: res.resp_data
81
- };
82
- }
83
- catch (e) {
84
- // 业务/网络错误:HTTP 非 200 时 Axios 已在传输层抛出,
85
- // 错误体形如 {"error_type":600,"error_code":"token无效,请重新登录","error_params":null}
86
- // 将其原始 JSON 原样返回给模型,不做二次包装。
87
- return {
88
- isError: true,
89
- content: [{
90
- type: 'text',
91
- text: extractError(e)
92
- }]
93
- };
94
- }
95
- }
96
- }
97
- ];
98
- //# sourceMappingURL=read.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/tools/database-function/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAElF;;;;;;;;;;;GAWG;AACH,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IACrE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC7E,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC3E,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC1E,uCAAuC;IACvC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjG,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACpG,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACnG,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACxF,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;CACtE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AAExB,gCAAgC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC;QACE,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE;YACN,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE;;;;;2BAKQ;YACrB,WAAW,EAAE;gBACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;aACzD;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACnE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;aAChD;YACD,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI,EAAM,YAAY;gBACpC,eAAe,EAAE,KAAK,EAAE,YAAY;gBACpC,cAAc,EAAE,IAAI,CAAI,WAAW;aACpC;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EACJ,cAAc,GAAG,EAAE,EACnB,IAAI,GAAG,EAAE,EACT,SAAS,GAAG,CAAC,EACb,QAAQ,GAAG,EAAE,EACd,GAAG,IAAI,CAAA;YACR,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC;oBACzC,cAAc;oBACd,IAAI;oBACJ,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;iBACjC,CAAC,CAAA;gBACF,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;yBACpC,CAAC;oBACF,2CAA2C;oBAC3C,4CAA4C;oBAC5C,kCAAkC;oBAClC,iBAAiB,EAAE,GAAG,CAAC,SAA+C;iBACvE,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,sCAAsC;gBACtC,4EAA4E;gBAC5E,4BAA4B;gBAC5B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;yBACtB,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC;KACF;CACF,CAAA"}
@@ -1,169 +0,0 @@
1
- import { z } from 'zod';
2
- import { extractError } from '../../utils/error.js';
3
- import { getEntity, pageEntityList } from '../../clients/entityClient.js';
4
- import { entityResultSchema } from './schemas.js';
5
- /** 只读类工具:查询、列表、读取等不会修改数据的操作。 */
6
- export const readTools = [
7
- {
8
- name: 'page_entity_list',
9
- config: {
10
- title: '分页查询实体',
11
- description: `根据查询条件分页查询实体列表。适用于查找业务对象(表)及其元信息。
12
-
13
- 【整数映射速查】(输入筛选按字符串传入,如 datapattern 传 "3" 表示视图;输出字段以数字返回,部分实体类型以字符串返回)
14
- - datapattern(实体类型):1-原生实体;2-衍生实体;3-视图;4-超级表单实体
15
- - objecttypecode(实体分类):1-基本实体;2-树形实体;3-数据字典;4-关联实体
16
- - objectcatgory(是否权限设置对象,仅输出):1-是;2-否
17
- - status(状态,仅输出):1-启用;2-停用
18
- - publishstatus(发布状态,仅输出):1-已发布;2-未发布
19
- - marktype(创建标记,仅输出):0-平台;1-产品;2-租户
20
- - confsource(配置来源,仅输出):1-IDE配置;2-用户级配置
21
- - hasoffline(是否有离线设置,仅输出):1-有;0-无`,
22
- inputSchema: {
23
- objectname: z.string().optional().describe('实体中文名、实体表名、实体 objectcode 模糊匹配'),
24
- page: z.string().optional().describe('分页参数,当前页,从 1 开始'),
25
- rows: z.string().optional().describe('分页参数,每页记录数'),
26
- updatetimestart: z.string().optional().describe('修改开始时间,格式:yyyy-MM-dd hh:mm:ss,和修改结束时间成对出现'),
27
- updatetimeend: z.string().optional().describe('修改结束时间,格式:yyyy-MM-dd hh:mm:ss,和修改开始时间成对出现'),
28
- datapattern: z.string().optional().describe('实体类型,整数,含义:1-原生实体;2-衍生实体;3-视图;4-超级表单实体'),
29
- objecttypecode: z.string().optional().describe('实体分类,整数,含义:1-基本实体;2-树形实体;3-数据字典;4-关联实体')
30
- },
31
- outputSchema: {
32
- data: z.array(z.object({
33
- confsource: z.coerce.number().optional().nullable().describe('配置来源,含义:1-IDE配置;2-用户级配置'),
34
- createaccountcode: z.coerce.number().optional().nullable().describe('创建人的账号 code'),
35
- createaccountname: z.string().optional().nullable().describe('创建人姓名'),
36
- createtime: z.string().optional().nullable().describe('创建时间'),
37
- datapattern: z.coerce.number().optional().nullable().describe('数据模式,含义:1-原生实体;2-衍生实体;3-视图;4-超级表单实体。原生实体:需要在数据库真正创建表;衍生、视图:不需要在数据库真正创建表;超级表单实体:需要在数据库真正创建表,但是是平台根据用户的配置自动创建的,表名无含义'),
38
- directorytypecode: z.string().optional().nullable().describe('实体所属目录分类的编码'),
39
- directorytypename: z.string().optional().nullable().describe('实体所属目录分类的名称'),
40
- hasoffline: z.string().optional().nullable().describe('实体是否有离线设置,1-有;0-无'),
41
- marktype: z.coerce.number().optional().nullable().describe('创建标记:0-平台;1-产品;2-租户'),
42
- metamodelcode: z.string().optional().nullable().describe('领域模型编码,和 objectcode 共同构成复合主键'),
43
- objectcatgory: z.coerce.number().optional().nullable().describe('对象类别,表示是否为权限设置对象,1-是;2-否'),
44
- objectcode: z.string().optional().nullable().describe('实体的编码,和 metamodelcode 共同构成复合主键'),
45
- objectdescr: z.string().optional().nullable().describe('实体的描述'),
46
- objectmark: z.string().optional().nullable().describe('实体标记,一般和数据库表名同名,字典类型的实体有自己的标记'),
47
- objectname: z.string().optional().nullable().describe('实体的中文名,便于阅读'),
48
- objecttemplatecode: z.string().optional().nullable().describe('实体的模板编码'),
49
- objecttypecode: z.string().optional().nullable().describe('实体分类,整数,含义:1-基本实体;2-树形实体;3-数据字典;4-关联实体'),
50
- parentobjectcode: z.string().optional().nullable().describe('父实体的 objectcode'),
51
- publishstatus: z.coerce.number().optional().nullable().describe('实体的发布状态,1-已发布;2-未发布'),
52
- status: z.coerce.number().optional().nullable().describe('实体的状态,1-启用;2-停用'),
53
- tablename: z.string().optional().nullable().describe('数据库表名'),
54
- updateaccountcode: z.coerce.number().optional().nullable().describe('最近更新人的账号编码'),
55
- updateaccountname: z.string().optional().nullable().describe('最近更新人的姓名'),
56
- updatetime: z.string().optional().nullable().describe('最近更新时间')
57
- }).catchall(z.unknown())).describe('这一页的业务数据'),
58
- pageCount: z.coerce.number().describe('总页数'),
59
- pageIndex: z.coerce.number().describe('第几页'),
60
- pageSize: z.coerce.number().describe('每页记录数'),
61
- resultCount: z.coerce.number().describe('总记录数')
62
- },
63
- annotations: {
64
- readOnlyHint: true, // 此操作不会修改数据
65
- destructiveHint: false, // 此操作不具有破坏性
66
- idempotentHint: true // 重复调用结果相同
67
- }
68
- },
69
- handler: async (args) => {
70
- const { objectname = '', page = 1, rows = 20, updatetimestart = '', updatetimeend = '', datapattern = '', objecttypecode = '' } = args;
71
- try {
72
- const res = await pageEntityList({
73
- // 以下为接口固定默认传值,不对外暴露
74
- centercode: '',
75
- directorytypecode: 'rootNode',
76
- starttime: '',
77
- objectname,
78
- page: Number(page) || 1,
79
- rows: Number(rows) || 20,
80
- updatetimestart,
81
- updatetimeend,
82
- datapattern,
83
- objecttypecode
84
- });
85
- return {
86
- content: [{
87
- type: 'text',
88
- text: JSON.stringify(res.resp_data)
89
- }],
90
- // outputSchema 已在工具上声明,SDK 1.30 要求调用结果必须携带
91
- // structuredContent 与之匹配,否则会抛 -32602;这里同时返回
92
- // 文本(给人/模型阅读)和结构化内容(供 schema 校验)。
93
- structuredContent: res.resp_data
94
- };
95
- }
96
- catch (e) {
97
- // 业务/网络错误:HTTP 非 200 时 Axios 已在传输层抛出,
98
- // 错误体形如 {"error_type":600,"error_code":"token无效,请重新登录","error_params":null}
99
- // 将其原始 JSON 原样返回给模型,不做二次包装。
100
- return {
101
- isError: true,
102
- content: [{
103
- type: 'text',
104
- text: extractError(e)
105
- }]
106
- };
107
- }
108
- }
109
- },
110
- {
111
- name: 'get_entity',
112
- config: {
113
- title: '查询实体详情',
114
- description: `根据实体的编码 objectcode 查询其完整详情:包含实体的基本信息(中文名、标记、描述、分类、数据模式、发布状态等)以及实体的属性数组 properties(每个属性的列名、类型、关联实体、索引方式等)。
115
-
116
- 【整数映射速查】(详情返回字段,多数以数字返回,部分实体类型以字符串返回,解析时两种都兼容)
117
- - datapattern(数据模式):1-原生实体;2-衍生实体;3-视图;4-超级表单实体(注:详情接口多数实体类型不返回该字段,它是列表接口字段)
118
- - objecttypecode(实体分类):1-基本实体;2-树形实体;3-数据字典;4-关联实体
119
- - objectcatgory(是否权限设置对象):1-是;2-否
120
- - status(状态):1-启用;2-停用(详情接口该字段返回不稳定,部分调用不返回)
121
- - publishstatus(发布状态):1-已发布;2-未发布
122
- - marktype(创建标记):0-平台;1-产品;2-租户
123
- - confsource(配置来源):1-IDE配置;2-用户级配置
124
- - properties[].idxtype(索引方式):1-无;2-主键索引
125
- - properties[].propertytypecode(属性类型):1-主键(int8);2-名称(200);3-文本(200);4-长文本;5-整数(int4);6-长整数(int8);10-数字(numeric);7-日期时间(ts);30-时间范围;29-年月日(date);18-状态(int4);16-图片;26-附件;17-定位;19-选项集;200000000000-关联对象;100000000000-业务对象;10000000000-字典对象;300000000000-复杂关联对象;1000000000-本对象;8-创建人(int8);9-修改人(int8);11-创建时间(ts);12-修改时间(ts);31-拼音;100-是否默认;13-手机号;15-固定电话;14-邮箱;27-邮编;20-排序(int4)`,
126
- inputSchema: {
127
- objectcode: z.string().describe('要查详情的实体的编码')
128
- },
129
- // 使用宽松结构(z.looseObject):除复合主键 objectcode 必填外,
130
- // 其余字段可选且可空,且顶层 passthrough,保证 EntityResult 索引签名收集的服务端
131
- // 额外字段也能原样透传(不被 SDK 的 outputSchema 校验剥离)。
132
- outputSchema: entityResultSchema,
133
- annotations: {
134
- readOnlyHint: true, // 此操作不会修改数据
135
- destructiveHint: false, // 此操作不具有破坏性
136
- idempotentHint: true // 重复调用结果相同
137
- }
138
- },
139
- handler: async (args) => {
140
- const { objectcode } = args;
141
- try {
142
- const res = await getEntity({ objectcode });
143
- return {
144
- content: [{
145
- type: 'text',
146
- text: JSON.stringify(res.resp_data)
147
- }],
148
- // outputSchema 已在工具上声明,SDK 1.30 要求调用结果必须携带
149
- // structuredContent 与之匹配,否则会抛 -32602;这里同时返回
150
- // 文本(给人/模型阅读)和结构化内容(供 schema 校验)。
151
- structuredContent: res.resp_data
152
- };
153
- }
154
- catch (e) {
155
- // 业务/网络错误:HTTP 非 200 时 Axios 已在传输层抛出,
156
- // 错误体形如 {"error_type":600,"error_code":"token无效,请重新登录","error_params":null}
157
- // 将其原始 JSON 原样返回给模型,不做二次包装。
158
- return {
159
- isError: true,
160
- content: [{
161
- type: 'text',
162
- text: extractError(e)
163
- }]
164
- };
165
- }
166
- }
167
- }
168
- ];
169
- //# sourceMappingURL=read.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/tools/entity/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,gCAAgC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE;;;;;;;;;;kCAUe;YAC5B,WAAW,EAAE;gBACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAClD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBAC5F,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBAC1F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;gBACrF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;aACzF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;oBACvF,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAClF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oHAAoH,CAAC;oBACnL,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAC3E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBAC1E,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBACjF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;oBACxF,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;oBAC3F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;oBACvF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;oBACtF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;oBACpE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;oBACnG,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBAC9E,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBACtF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBAC3E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC7D,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACjF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACxE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBAChE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;aAChD;YACD,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI,EAAM,YAAY;gBACpC,eAAe,EAAE,KAAK,EAAE,YAAY;gBACpC,cAAc,EAAE,IAAI,CAAI,WAAW;aACpC;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EACJ,UAAU,GAAG,EAAE,EACf,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,EAAE,EACT,eAAe,GAAG,EAAE,EACpB,aAAa,GAAG,EAAE,EAClB,WAAW,GAAG,EAAE,EAChB,cAAc,GAAG,EAAE,EACpB,GAAG,IAAI,CAAA;YACR,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;oBAC/B,oBAAoB;oBACpB,UAAU,EAAE,EAAE;oBACd,iBAAiB,EAAE,UAAU;oBAC7B,SAAS,EAAE,EAAE;oBACb,UAAU;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACxB,eAAe;oBACf,aAAa;oBACb,WAAW;oBACX,cAAc;iBACf,CAAC,CAAA;gBACF,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;yBACpC,CAAC;oBACF,2CAA2C;oBAC3C,4CAA4C;oBAC5C,kCAAkC;oBAClC,iBAAiB,EAAE,GAAG,CAAC,SAA+C;iBACvE,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,sCAAsC;gBACtC,4EAA4E;gBAC5E,4BAA4B;gBAC5B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;yBACtB,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE;;;;;;;;;;;oXAWiW;YAC9W,WAAW,EAAE;gBACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;aAC9C;YACD,8CAA8C;YAC9C,uDAAuD;YACvD,0CAA0C;YAC1C,YAAY,EAAE,kBAA4C;YAC1D,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI,EAAM,YAAY;gBACpC,eAAe,EAAE,KAAK,EAAE,YAAY;gBACpC,cAAc,EAAE,IAAI,CAAI,WAAW;aACpC;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;gBAC3C,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;yBACpC,CAAC;oBACF,2CAA2C;oBAC3C,4CAA4C;oBAC5C,kCAAkC;oBAClC,iBAAiB,EAAE,GAAG,CAAC,SAA+C;iBACvE,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,sCAAsC;gBACtC,4EAA4E;gBAC5E,4BAA4B;gBAC5B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;yBACtB,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC;KACF;CACF,CAAA"}
@@ -1,65 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * 实体的“属性”结构(EntityProperty):
4
- * 实体详情中 properties 数组里每个对象携带的字段级属性。
5
- * 字段类型严格依据 entityClient.ts 中的 EntityProperty 接口声明构建:
6
- * - 该结构不含唯一编码字段,故全部字段均声明为可选且可空(匹配 TS 侧 EntityProperty);
7
- * - 追加 .catchall(z.unknown()),实现对服务端返回未声明字段的原样透传(不剥离、不报错)。
8
- */
9
- export const entityPropertySchema = z.array(z.object({
10
- columnname: z.string().optional().nullable().describe('属性列的列名,即数据库表的字段的名字'),
11
- idxtype: z.union([z.string(), z.number()]).optional().nullable().describe('索引方式:1-无;2-主键索引。数据字典/超级表单以数字返回'),
12
- ismaster: z.string().optional().nullable().describe('保留字段,暂无特殊含义。数据字典/超级表单实体缺省'),
13
- marktype: z.string().optional().nullable().describe('创建标记:0-平台;1-产品;2-租户'),
14
- propertycategorycode: z.string().optional().nullable().describe('属性类别编码'),
15
- propertycode: z.string().optional().nullable().describe('属性编码,唯一标识一个属性'),
16
- propertydescr: z.string().optional().nullable().describe('属性描述'),
17
- propertyname: z.string().optional().nullable().describe('属性中文名,便于阅读'),
18
- propertytypecode: z.string().optional().nullable().describe('属性类型编码,编码和值的对应关系:1-主键(int8);2-名称(200);3-文本(200);4-长文本;5-整数(int4);6-长整数(int8);10-数字(numeric);7-日期时间(ts);30-时间范围;29-年月日(date);18-状态(int4);16-图片;26-附件;17-定位;19-选项集;200000000000-关联对象;100000000000-业务对象;10000000000-字典对象;300000000000-复杂关联对象;1000000000-本对象;8-创建人(int8);9-修改人(int8);11-创建时间(ts);12-修改时间(ts);31-拼音;100-是否默认;13-手机号;15-固定电话;14-邮箱;27-邮编;20-排序(int4)'),
19
- publishstatus: z.union([z.string(), z.number()]).optional().nullable().describe('属性的发布状态,1-已发布;2-未发布。衍生实体以字符串返回'),
20
- relationobjectcode: z.string().optional().nullable().describe('关联的实体编码,此属性关联了其他实体,则说明 SQL 查询的时候可以用此字段连其他实体对应的表的主键'),
21
- relationpropertycode: z.string().optional().nullable().describe('保留字段,一般为空字符串。视图/数据字典/超级表单实体缺省'),
22
- status: z.union([z.string(), z.number()]).optional().nullable().describe('属性的状态,1-启用;2-停用。数据字典/超级表单以数字返回'),
23
- seq: z.coerce.number().optional().nullable().describe('属性序号。视图/数据字典/超级表单实体返回'),
24
- columnnameError: z.boolean().optional().nullable().describe('视图实体属性字段,标记列名是否错误,仅视图返回'),
25
- candelete: z.boolean().optional().nullable().describe('视图实体属性字段,标记是否可删除,仅视图返回'),
26
- parentpropertycode: z.string().optional().nullable().describe('数据字典属性字段,父属性编码,仅数据字典返回'),
27
- defaultvalue: z.string().optional().nullable().describe('数据字典属性字段,默认值,仅数据字典返回')
28
- }).catchall(z.unknown()));
29
- /**
30
- * 实体详情(EntityResult)的字段形状(ZodRawShape),即 get_entity 的返回结构。
31
- *
32
- * 字段可空性约定:除复合主键 objectcode 保持必填外,
33
- * 其余字段均声明为可选且可空(.optional().nullable()),以匹配 entityClient.ts 中
34
- * EntityResult 的类型定义(除复合主键外均可选 / null / undefined),
35
- * 避免服务端返回 null 或缺失字段时触发 -32602 Output validation 报错。
36
- */
37
- export const entityResultShape = {
38
- confsource: z.coerce.number().optional().nullable().describe('配置来源,含义:1-IDE配置;2-用户级配置。数据字典实体不返回'),
39
- datapattern: z.union([z.string(), z.number()]).optional().nullable().describe('数据模式,含义:1-原生实体;2-衍生实体;3-视图;4-超级表单实体。注意:详情接口(getBizObject)多数实体类型不返回该字段(它是列表接口字段),故声明为可选;超级表单以数字返回'),
40
- diclayer: z.union([z.string(), z.number()]).optional().nullable().describe('字典层级,原生/关联实体/数据字典以字符串返回,视图/超级表单以数字返回'),
41
- directorytypecode: z.string().optional().nullable().describe('实体所属目录分类的编码'),
42
- marktype: z.string().optional().nullable().describe('创建标记:0-平台;1-产品;2-租户'),
43
- message: z.string().optional().nullable().describe('保存时编写的提交信息,作用类似 git 提交信息。数据字典/超级表单实体不返回'),
44
- objectcatgory: z.union([z.string(), z.number()]).optional().nullable().describe('对象类别,表示是否为权限设置对象,1-是;2-否。数据字典/超级表单以数字返回'),
45
- objectcode: z.string().describe('实体的编码,和 metamodelcode 共同构成复合主键'),
46
- objectdescr: z.string().optional().nullable().describe('实体的描述'),
47
- objectmark: z.string().optional().nullable().describe('实体标记,一般和数据库表名同名,字典类型的实体有自己的标记'),
48
- objectname: z.string().optional().nullable().describe('实体的中文名,便于阅读'),
49
- objecttemplatecode: z.string().optional().nullable().describe('实体的模板编码。仅数据字典实体返回'),
50
- objecttypecode: z.union([z.string(), z.number()]).optional().nullable().describe('实体分类,整数,含义:1-基本实体;2-树形实体;3-数据字典;4-关联实体。数据字典以数字返回'),
51
- parentobjectcode: z.string().optional().nullable().describe('父实体的 objectcode。超级表单实体不返回'),
52
- properties: entityPropertySchema.optional().nullable().describe('实体的属性数组:每个属性定义实体的一个字段(列名、类型、关联实体、索引方式等)'),
53
- publishstatus: z.coerce.number().optional().nullable().describe('实体的发布状态,1-已发布;2-未发布'),
54
- script: z.string().optional().nullable().describe('保留字段/定义脚本,原生/视图/关联实体返回,一般为空字符串'),
55
- status: z.union([z.string(), z.number()]).optional().nullable().describe('实体的状态,1-启用;2-停用。数据字典/视图/超级表单以数字返回;详情接口对该字段返回不稳定(部分调用不返回),故声明为可选'),
56
- storagelevel: z.coerce.number().optional().nullable().describe('存储等级。视图/数据字典/超级表单实体不返回'),
57
- seq: z.coerce.number().optional().nullable().describe('实体序号。仅视图/超级表单实体返回'),
58
- tablename: z.string().optional().nullable().describe('数据库表名')
59
- };
60
- /**
61
- * 宽松版实体详情结构(顶层 passthrough),用于 get_entity 的 outputSchema,
62
- * 以保证 EntityResult 索引签名收集的服务端额外字段也能原样透传(不被剥离)。
63
- */
64
- export const entityResultSchema = z.looseObject(entityResultShape);
65
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/tools/entity/schemas.ts"],"names":[],"mappings":"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"}