flycode-mcp 1.14.4 → 1.14.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
@@ -11,15 +11,15 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the
11
11
  - 基于官方 `@modelcontextprotocol/sdk` 实现,使用标准 `stdio` 传输协议。
12
12
  - 启动即完成 APaaS IDE 平台鉴权链路:账号登录 → 获取租户信息 → 获取 IDE Token。
13
13
  - 内置统一请求层 `request`,自动按请求类型(`center` / `tenant` / `business`)切换中心服务地址、当前租户连接地址或当前租户业务地址,并自动注入鉴权 Token:`business` 类型主要用于 H5 表单查询(需以特定预览账号 token 发起)。
14
- - 当前提供工具:业务逻辑类 `page_model_logic_directories`(分页查询业务逻辑所属目录,返回各业务模型目录项,含 modellogic 用到的 modelcode)、`page_model_logic_list`(分页查询业务逻辑列表)、`get_model_logic`(查询单个业务逻辑详情)、`save_model_logic`(新增业务逻辑:保存完整 `LogicResult`)、`patch_model_logic`(局部补丁修改业务逻辑的 input/output 结构或顶层元数据,无需回传整份对象,替代旧版轻量保存)、`str_replace_flycode`(批量局部替换 flycode 脚本,或用 `rewrite: true` 整份重写);实体类 `page_entity_list`(分页查询实体列表)、`get_entity`(查询实体详情)、`page_entity_directories`(查询实体所属目录,取回的 `directorytypecode` 即 `create_entity` 的 `directorytypecode` 必填入参;该接口不支持分页、全量数百条,故在服务层强制收敛——默认最多回 30 条、硬上限 200 条,未传筛选条件时只回顶级目录,并回 `truncated` / `hint` 提示)、`create_entity`(新增实体:仅传必要参数,完整实体对象由 MCP 侧组装后调平台保存;保存后处于未发布态需手动发布)、`patch_entity`(给已有实体加字段的 patch ops,当前仅实现 `add_field`;修改 / 删除字段保留未实现、运行时提示去 IDE 平台手动操作;数据字典不允许调整字段);表单 / 页面类 `page_form_directories`(查询表单所属目录,取回的 `directorytypecode` 即表单 `pageinfo.directorytypecode` 的取值;该接口不支持分页、全量数百条,故在服务层强制收敛——默认最多回 30 条、硬上限 200 条,未传筛选条件时只回顶级目录,并回 `truncated` / `hint` 提示)、`page_form_list`(分页查询表单 / 页面列表)、`get_form`(查询表单 / 页面详情);H5 表单类 `page_h5_form`(分页查询 H5 表单列表)、`get_h5_form`(查询 H5 表单详情,含 `confjson` 内容 JSON);函数类 `page_function_list`(分页查询 flycode 函数列表)、`get_function`(查询 flycode 函数详情,含 `confjson` 函数代码内容);数据库函数类 `page_database_function_list`(分页查询 PostgreSQL 自定义数据库函数列表,列表结果随行返回函数体 `functionscript`);SQL 执行类 `run_sql`(在业务库中执行一条 SELECT 查询,返回查询结果数据与结果总数);通用类 `generate_unique_code`(生成唯一编码,用于新建实体 / 领域 / 表单时生成 JSON 中的 `code` 字段)。
14
+ - 当前提供工具:业务逻辑类;实体类;表单类;H5 表单类;flycode 函数类;数据库函数类;SQL 执行类;通用类。
15
15
 
16
16
  ---
17
17
 
18
18
  ## 工具渐进式披露(Progressive Disclosure)
19
19
 
20
- 客户端在 `tools/list` 阶段会把全部工具的 schema 一次性塞进上下文,受预算 / 截断策略影响可能只保留一部分,导致 AI 看不到另一些工具。本服务采用 MCP 协议原生支持的渐进式披露机制缓解该问题:
20
+ 部分客户端在 `tools/list` 阶段会把全部工具的 schema 一次性塞进上下文,受预算 / 截断策略影响可能只保留一部分,导致 AI 看不到另一些工具。本服务采用 MCP 协议原生支持的渐进式披露机制缓解该问题:
21
21
 
22
- - **始终可见(连接后)**:`mcp_catalog`(工具目录)、`mcp_activate`(启用 / 收起域)两个网关联工具,外加 `core` 域的 `run_sql`、`generate_unique_code`,共 4 个工具。
22
+ - **始终可见(连接后)**:`mcp_catalog`(工具目录)、`mcp_activate`(启用 / 收起域)两个网关工具,外加 `core` 域的 `run_sql`、`generate_unique_code`,共 4 个工具。
23
23
  - **按需解锁**:其余工具按能力聚为 `entity` / `form` / `logic` / `function` / `h5` 五个域,默认隐藏。AI 先调 `mcp_catalog` 了解有哪些域与工具,再调 `mcp_activate('form')` 启用某域;服务端随即推送 `tools/list_changed` 通知,合规客户端重拉清单后即见该域工具。亦可 `mcp_activate('form', true)` 收起以回收上下文。
24
24
 
25
25
  实现要点:`src/tools/registry.ts` 预注册全部工具并维护「域 → 工具」映射,progressive 模式下对非核心域工具默认 `disable()`;`enable()/disable()` 由 `@modelcontextprotocol/sdk` 的 `RegisteredTool` 提供,并自动触发 `tools/list_changed`。回归用例见 `test/unit/gateway-registry.test.ts`。
@@ -33,7 +33,7 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the
33
33
  环境变量:
34
34
 
35
35
  - `PROGRESSIVE_DISCLOSURE=on`(默认):启用渐进式披露。
36
- - `PROGRESSIVE_DISCLOSURE=off`:退化回「全部 25 个工具始终启用」的原有行为,作为客户端未实现 `tools/list_changed` 重拉时的兜底。若 `mcp_activate` 启用某域后调用域工具仍报 `tool not found`,说明当前客户端不支持该通知,请设为 `off`。
36
+ - `PROGRESSIVE_DISCLOSURE=off`:退化回「全部 27 个工具始终启用」的原有行为,作为客户端未实现 `tools/list_changed` 重拉时的兜底。若 `mcp_activate` 启用某域后调用域工具仍报 `tool not found`,说明当前客户端不支持该通知,请设为 `off`。
37
37
  - `FLYCODE_MCP_INPUT_SCHEMA_PROFILE=full`(默认):`tools/list` 公告原始 schema,保持兼容。
38
38
  - `FLYCODE_MCP_INPUT_SCHEMA_PROFILE=compact`:启用公告 schema 压缩(见上「第三道防线」)。推荐给有 per-schema 大小限制或上下文预算紧张的客户端。
39
39
 
@@ -84,7 +84,7 @@ npm install -g flycode-mcp
84
84
  | 命令 | 说明 |
85
85
  | ----------------------------------- | -------------------------------------------------------------------------------------- |
86
86
  | `flycode-mcp` / `flycode-mcp mcp` | 启动 MCP stdio server(兼容 `key=value` 启动参数写法,行为与直跑 `dist/flycode-mcp.min.js` 一致) |
87
- | `flycode-mcp setup` | 交互安装配套 skill 到所选智能体(初版支持 WorkBuddy / Trae CN),不写任何 `mcp.json` |
87
+ | `flycode-mcp setup` | 交互安装配套 skill 到所选智能体(初版支持 WorkBuddy / Trae CN) |
88
88
  | `flycode-mcp update` | 自更新全局包,并刷新本工具安装过的 skill |
89
89
  | `flycode-mcp --version` / `--help` | 版本与帮助 |
90
90
 
@@ -159,11 +159,31 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
159
159
  }
160
160
  ```
161
161
 
162
+ v1.14.2 及以上版本以上推荐增加两个环境变量组合 `PROGRESSIVE_DISCLOSURE` 和 `FLYCODE_MCP_INPUT_SCHEMA_PROFILE` 获得更优体验:
163
+
164
+ ```json
165
+ {
166
+ "mcpServers": {
167
+ "flycode-mcp-你的环境": {
168
+ "command": "npx",
169
+ "args": [
170
+ "flycode-mcp",
171
+ "username=你的账号&password=你的密码&tenantCode=你的租户号&envName=你的环境名"
172
+ ],
173
+ "env": {
174
+ "PROGRESSIVE_DISCLOSURE": "off",
175
+ "FLYCODE_MCP_INPUT_SCHEMA_PROFILE": "compact"
176
+ }
177
+ }
178
+ }
179
+ }
180
+ ```
181
+
162
182
  ---
163
183
 
164
184
  ## 使用说明书网站(website/)
165
185
 
166
- 本仓库在 `website/` 子目录下附带一份 **面向终端用户的使用说明书网站**(不是给贡献者看的开发文档,而是给「通过 AI 客户端使用本 MCP 的普通用户」看的图文向导)。它用 [VitePress](https://vitepress.dev) 构建,整体二次元卡通风格、带轻量动画,内容是本 README 的「小白友好版」:首页 → 快速开始 → 接入 WorkBuddy / Cursor / Claude Desktop → 准备账号 → 能力清单 → 常见场景 → 排错 FAQ → 版本更新记录。
186
+ 本仓库在 `website/` 子目录下附带一份 **面向终端用户的使用说明书网站**(不是给贡献者看的开发文档,而是给「通过 AI 客户端使用本 MCP 的普通用户」看的图文向导)。它用 [VitePress](https://vitepress.dev) 构建,整体卡通风格、带轻量动画,内容是本 README 的「小白友好版」:首页 → 快速开始 → 接入 WorkBuddy / Cursor / Claude Desktop → 准备账号 → 能力清单 → 常见场景 → 排错 FAQ → 版本更新记录。
167
187
 
168
188
  > 说明:本 README 是开发者与工具行为的权威参考;`website/` 是给最终用户阅读的上手向导,两者内容定位不同、需随工具变更同步更新。
169
189
 
@@ -838,12 +858,12 @@ flycode-mcp/
838
858
 
839
859
  ## 工作原理
840
860
 
841
- 1. **解析配置**:从 `process.argv` 读取 `username / password / tenantCode / envName`(由 `utils/config.ts` 解析)。
842
- 2. **登录**:`service/auth.ts` 中的 `authenticate()` 调用 `/api/multiplat/auth/login` 获取 Token,存入内存。
843
- 3. **定位租户与环境**:`authenticate()` 调用 `/api/multiplat/auth/getTenantInfo`,依据 `tenantCode + envName` 匹配出目标租户,保存其连接信息(`conn.config`)到内存。
844
- 4. **获取 IDE Token**:`authenticate()` 调用 `/api/multiplat/auth/getIdeToken` 换取 IDE 专用 Token 并覆盖内存中的 Token。
845
- 5. **注册并启动**:创建 `McpServer`,注册 `page_model_logic_list`、`get_model_logic`、`save_model_logic`、`patch_model_logic`、`str_replace_flycode`、`page_entity_list`、`get_entity`、`page_entity_directories`、`create_entity`、`patch_entity`、`page_form_list`、`get_form`、`get_form_outline`、`get_form_fragment`、`patch_form`、`save_form`、`page_h5_form`、`get_h5_form`、`page_function_list`、`get_function`、`page_database_function_list`、`run_sql`、`generate_unique_code` 等工具,通过 `StdioServerTransport` 监听请求。
846
- 6. **业务请求**:工具被调用时,`logicClient` / `entityClient` / `formClient` / `functionClient` / `runClient` / `h5Client` 通过 `request({ type: "tenant" })` 或 `request({ type: "business" })` 自动切换到当前租户连接地址或业务地址。`h5Client` 的 H5 表单查询需以特定预览账号(职位为 `SFA系统管理员`)的 token 发起,该 token 由 `service/h5.ts` 通过 `test-case.ts` 的预览账号列表接口解析后,以 `request({ type: "business", token })` 显式传入。`request` 在请求头统一注入 Token:若调用方在配置里显式传入 `token`(如 `request({ url, method, type: "business", token: "xxxx" })`),则优先使用该传入 Token;否则回退到内存中的 Token(由 `authenticate()` 写入或通过 `setToken` 设置)。注入后自定义 `token` 字段会被剔除,不会泄漏给后端。
861
+ 1. **解析配置**:从 `process.argv` 读取 `username / password / tenantCode / envName` 解析。
862
+ 2. **登录**:登录 IDE 获取 Token,存入内存。
863
+ 3. **定位租户与环境**:依据 `tenantCode + envName` 匹配出目标租户,保存其连接信息(`conn.config`)到内存。
864
+ 4. **获取 IDE Token**:换取具体租户环境专用 Token 并覆盖内存中的 Token。
865
+ 5. **注册并启动**:创建 `McpServer`,注册工具,通过 `StdioServerTransport` 监听请求。
866
+ 6. **业务请求**:工具被调用时,分层处理 `Tool` 层定义工具 -> `Service` 层核心处理逻辑 -> `Client` 层发 `HTTP` 请求调用 IDE 接口。
847
867
 
848
868
  ---
849
869
 
package/dist/cli.js CHANGED
@@ -390,7 +390,7 @@ var init_registry = __esm({
390
390
  { name: "core", title: "\u6838\u5FC3\u5DE5\u5177", description: "\u8DE8\u57DF\u901A\u7528\u5DE5\u5177\uFF08\u5982\u6267\u884C SQL\u3001\u751F\u6210\u552F\u4E00\u7F16\u7801\uFF09\uFF0C\u59CB\u7EC8\u53EF\u7528", alwaysOn: true },
391
391
  { name: "entity", title: "\u5B9E\u4F53", description: "\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u7684\u67E5\u8BE2", alwaysOn: false },
392
392
  { name: "form", title: "\u8868\u5355", description: "\u8868\u5355\u7684\u67E5\u8BE2\u4E0E\u4FEE\u6539\uFF08\u542B flycode \u811A\u672C\u7247\u6BB5\uFF09", alwaysOn: false },
393
- { name: "logic", title: "\u4E1A\u52A1\u903B\u8F91", description: "FlyCode \u4E1A\u52A1\u903B\u8F91\u7684\u67E5\u8BE2\u4E0E\u4FEE\u6539", alwaysOn: false },
393
+ { name: "logic", title: "\u4E1A\u52A1\u903B\u8F91", description: "FlyCode \u4E1A\u52A1\u903B\u8F91(modelLogic/\u6A21\u578B\u903B\u8F91/\u9886\u57DF)\u7684\u67E5\u8BE2\u4E0E\u4FEE\u6539", alwaysOn: false },
394
394
  { name: "function", title: "\u51FD\u6570", description: "\u5E73\u53F0\u51FD\u6570\u4E0E\u6570\u636E\u5E93\u51FD\u6570\u7684\u67E5\u8BE2", alwaysOn: false },
395
395
  { name: "h5", title: "H5 \u8868\u5355", description: "H5 \u9875\u9762\u7684\u67E5\u8BE2", alwaysOn: false }
396
396
  ];
@@ -954,7 +954,7 @@ var init_read = __esm({
954
954
  name: "page_model_logic_directories",
955
955
  config: {
956
956
  title: "\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u76EE\u5F55",
957
- description: `\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u76EE\u5F55\uFF08\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55 / ModelDirectory\uFF09\u3002\u8FD4\u56DE\u5404\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55\u9879\uFF0C\u6BCF\u9879\u542B modelcode\uFF08\u5373 modellogic \u4E2D\u7684 modelcode\uFF0C\u67E5\u67D0\u76EE\u5F55\u4E0B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u7528\u7684\u7F16\u7801\uFF09\u3001modelname\uFF08\u76EE\u5F55\u540D\uFF09\u3001metamodelcode\u3001directorytypecode\uFF08\u7236\u76EE\u5F55\u7F16\u7801\uFF09\u7B49\u3002
957
+ description: `\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u6240\u5C5E\u76EE\u5F55(\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55 / ModelDirectory)\u3002\u8FD4\u56DE\u5404\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55\u9879\uFF0C\u6BCF\u9879\u542B modelcode (\u5373 modellogic \u4E2D\u7684 modelcode\uFF0C\u67E5\u67D0\u76EE\u5F55\u4E0B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u7528\u7684\u7F16\u7801)\u3001modelname(\u76EE\u5F55\u540D)\u3001metamodelcode\u3001directorytypecode(\u7236\u76EE\u5F55\u7F16\u7801)\u7B49\u3002
958
958
 
959
959
  \u53EF\u6309 modelname \u6A21\u7CCA\u641C\u7D22\uFF0C\u6216\u4F20\u5165 directorytypecode \u67E5\u8BE2\u67D0\u76EE\u5F55\u4E0B\u7684\u5B50\u76EE\u5F55\uFF08\u9ED8\u8BA4 rootNode \u67E5\u4E00\u7EA7\u76EE\u5F55\uFF09\u3002
960
960
 
@@ -1030,7 +1030,7 @@ ${LOGIC_ENUM}`,
1030
1030
  name: "page_model_logic_list",
1031
1031
  config: {
1032
1032
  title: "\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91",
1033
- description: `\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u5217\u8868\uFF08ModelLogic\uFF09\u3002\u652F\u6301\u6309\u6807\u9898/\u7F16\u7801/\u65B9\u6CD5\u540D/\u5173\u952E\u5B57/\u4FEE\u6539\u4EBA/\u7C7B\u578B\u7B5B\u9009\u3002
1033
+ description: `\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u5217\u8868(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u3002\u652F\u6301\u6309\u6807\u9898/\u7F16\u7801/\u65B9\u6CD5\u540D/\u5173\u952E\u5B57/\u4FEE\u6539\u4EBA/\u7C7B\u578B\u7B5B\u9009\u3002
1034
1034
 
1035
1035
  ${COMMON_ENUM}
1036
1036
  ${LOGIC_ENUM}`,
@@ -1124,7 +1124,7 @@ ${LOGIC_ENUM}`,
1124
1124
  name: "get_model_logic",
1125
1125
  config: {
1126
1126
  title: "\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u8BE6\u60C5",
1127
- description: `\u6309 modellogiccode \u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u5B8C\u6574\u8BE6\u60C5\uFF1Aflycode \u811A\u672C\u3001input/output \u53C2\u6570\u53CA\u5B57\u6BB5\u5C5E\u6027\u3001\u64CD\u4F5C\u6B65\u9AA4\u3002\u6CE8\u610F\uFF1A\u8BE6\u60C5\u63A5\u53E3 status \u8FD4\u56DE\u4E0D\u7A33\u5B9A\uFF08\u90E8\u5206\u8C03\u7528\u4E0D\u8FD4\u56DE\uFF09\uFF0Cdatapattern \u662F\u5217\u8868\u63A5\u53E3\u5B57\u6BB5\uFF08\u8BE6\u60C5\u591A\u6570\u4E0D\u8FD4\u56DE\uFF09\u3002
1127
+ description: `\u6309 modellogiccode \u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u5B8C\u6574\u8BE6\u60C5\uFF1Aflycode \u811A\u672C\u3001input/output \u53C2\u6570\u53CA\u5B57\u6BB5\u5C5E\u6027\u3001\u64CD\u4F5C\u6B65\u9AA4\u3002
1128
1128
 
1129
1129
  ${COMMON_ENUM}
1130
1130
  ${LOGIC_ENUM}
@@ -2156,7 +2156,7 @@ var init_write = __esm({
2156
2156
  name: "save_model_logic",
2157
2157
  config: {
2158
2158
  title: "\u4FDD\u5B58\u4E1A\u52A1\u903B\u8F91\uFF08\u4EC5\u65B0\u589E / \u6216\u5168\u91CF JSON \u5F88\u5C0F\u5982\u5FAE\u670D\u52A1\uFF09",
2159
- description: `\u5168\u91CF\u4FDD\u5B58\u4E00\u6761\u4E1A\u52A1\u903B\u8F91\u3002\u4EC5\u7528\u4E8E\uFF1A\u2460\u65B0\u589E\uFF1B\u2461\u5DF2\u6709\u903B\u8F91 JSON \u5F88\u5C0F\uFF08\u5982\u5FAE\u670D\u52A1 actioncategory=2\uFF09\u3002\u7F16\u8F91\u666E\u901A flycode \u63A5\u53E3\u7684\u5DF2\u6709\u903B\u8F91\u8BF7\u52FF\u56DE\u4F20\u6574\u4EFD\u5927\u5BF9\u8C61\u2014\u2014\u6539\u811A\u672C\u7528 str_replace_flycode\uFF0C\u6539\u7ED3\u6784/\u5143\u6570\u636E\u7528 patch_model_logic\u3002
2159
+ description: `\u5168\u91CF\u4FDD\u5B58\u4E00\u6761\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u3002\u4EC5\u7528\u4E8E\uFF1A\u2460\u65B0\u589E\uFF1B\u2461\u5DF2\u6709\u903B\u8F91 JSON \u5F88\u5C0F\uFF08\u5982\u5FAE\u670D\u52A1 actioncategory=2\uFF09\u3002\u7F16\u8F91\u666E\u901A flycode \u63A5\u53E3\u7684\u5DF2\u6709\u903B\u8F91\u8BF7\u52FF\u56DE\u4F20\u6574\u4EFD\u5927\u5BF9\u8C61\u2014\u2014\u6539\u811A\u672C\u7528 str_replace_flycode\uFF0C\u6539\u7ED3\u6784/\u5143\u6570\u636E\u7528 patch_model_logic\u3002
2160
2160
  actioncategory \u679A\u4E3E\u89C1 get_model_logic / page_model_logic_list\u3002
2161
2161
 
2162
2162
  ${COMMON_ENUM}`,
@@ -2207,7 +2207,7 @@ ${COMMON_ENUM}`,
2207
2207
  {
2208
2208
  name: "patch_model_logic",
2209
2209
  config: {
2210
- title: "\u5C40\u90E8\u8865\u4E01\u4FEE\u6539\u4E1A\u52A1\u903B\u8F91\uFF08input/output/\u5143\u6570\u636E\uFF09",
2210
+ title: "\u5C40\u90E8\u8865\u4E01\u4FEE\u6539\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u7684input/output/\u5143\u6570\u636E",
2211
2211
  description: `\u4EE5 delta ops \u5C40\u90E8\u4FEE\u6539 input/output \u7ED3\u6784\u6216\u9876\u5C42\u5143\u6570\u636E\uFF0C\u65E0\u9700\u56DE\u4F20\u6574\u4EFD LogicResult\u3002ops \u5206\u4E09\u7C7B\uFF1A\u2460input/output \u7ED3\u6784\uFF08add_param/remove_param/set_param_attrs/add_property/remove_property/replace_property\uFF09\uFF1B\u2461\u5143\u6570\u636E\uFF08set_meta\uFF0C\u4E0D\u542B input/output/operations\uFF09\uFF1B\u2462\u5BFC\u51FA\u5217\uFF08\u4EC5 actioncategory=5\uFF1Aadd_export_column/remove_export_column/replace_export_column/set_export_column_attrs/set_bind_meta\uFF09\u3002\u5168\u90E8 op \u9884\u6F14\u6210\u529F\u624D\u843D\u5E93\uFF0C\u4EFB\u4E00\u5931\u8D25\u6574\u6279\u56DE\u6EDA\u3002\u6539 flycode \u811A\u672C\u8BF7\u7528 str_replace_flycode\uFF1B\u5FAE\u670D\u52A1 JSON \u5C0F\u8BF7\u76F4\u63A5\u7528 save_model_logic\u3002
2212
2212
 
2213
2213
  ${COMMON_ENUM}
@@ -2607,14 +2607,14 @@ var init_schemas2 = __esm({
2607
2607
  relationobjectcode: z6.string().optional().nullable().describe("\u5173\u8054\u7684\u5B9E\u4F53\u7F16\u7801\uFF0C\u6B64\u5C5E\u6027\u5173\u8054\u4E86\u5176\u4ED6\u5B9E\u4F53\uFF0C\u5219\u8BF4\u660E SQL \u67E5\u8BE2\u7684\u65F6\u5019\u53EF\u4EE5\u7528\u6B64\u5B57\u6BB5\u8FDE\u5176\u4ED6\u5B9E\u4F53\u5BF9\u5E94\u7684\u8868\u7684\u4E3B\u952E"),
2608
2608
  relationpropertycode: z6.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u4E00\u822C\u4E3A\u7A7A\u5B57\u7B26\u4E32\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u7F3A\u7701"),
2609
2609
  status: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5C5E\u6027\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u4EE5\u6570\u5B57\u8FD4\u56DE"),
2610
- seq: z6.coerce.number().optional().nullable().describe("\u5C5E\u6027\u5E8F\u53F7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),
2610
+ seq: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5C5E\u6027\u5E8F\u53F7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),
2611
2611
  columnnameError: z6.boolean().optional().nullable().describe("\u89C6\u56FE\u5B9E\u4F53\u5C5E\u6027\u5B57\u6BB5\uFF0C\u6807\u8BB0\u5217\u540D\u662F\u5426\u9519\u8BEF\uFF0C\u4EC5\u89C6\u56FE\u8FD4\u56DE"),
2612
2612
  candelete: z6.boolean().optional().nullable().describe("\u89C6\u56FE\u5B9E\u4F53\u5C5E\u6027\u5B57\u6BB5\uFF0C\u6807\u8BB0\u662F\u5426\u53EF\u5220\u9664\uFF0C\u4EC5\u89C6\u56FE\u8FD4\u56DE"),
2613
2613
  parentpropertycode: z6.string().optional().nullable().describe("\u6570\u636E\u5B57\u5178\u5C5E\u6027\u5B57\u6BB5\uFF0C\u7236\u5C5E\u6027\u7F16\u7801\uFF0C\u4EC5\u6570\u636E\u5B57\u5178\u8FD4\u56DE"),
2614
2614
  defaultvalue: z6.string().optional().nullable().describe("\u6570\u636E\u5B57\u5178\u5C5E\u6027\u5B57\u6BB5\uFF0C\u9ED8\u8BA4\u503C\uFF0C\u4EC5\u6570\u636E\u5B57\u5178\u8FD4\u56DE")
2615
2615
  }).catchall(z6.unknown()));
2616
2616
  entityResultShape = {
2617
- confsource: z6.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E\u3002\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),
2617
+ confsource: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E\u3002\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),
2618
2618
  datapattern: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u6570\u636E\u6A21\u5F0F\uFF0C\u542B\u4E49\uFF1A1-\u539F\u751F\u5B9E\u4F53\uFF1B2-\u884D\u751F\u5B9E\u4F53\uFF1B3-\u89C6\u56FE\uFF1B4-\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u3002\u6CE8\u610F\uFF1A\u8BE6\u60C5\u63A5\u53E3(getBizObject)\u591A\u6570\u5B9E\u4F53\u7C7B\u578B\u4E0D\u8FD4\u56DE\u8BE5\u5B57\u6BB5\uFF08\u5B83\u662F\u5217\u8868\u63A5\u53E3\u5B57\u6BB5\uFF09\uFF0C\u6545\u58F0\u660E\u4E3A\u53EF\u9009\uFF1B\u8D85\u7EA7\u8868\u5355\u4EE5\u6570\u5B57\u8FD4\u56DE"),
2619
2619
  diclayer: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5B57\u5178\u5C42\u7EA7\uFF0C\u539F\u751F/\u5173\u8054\u5B9E\u4F53/\u6570\u636E\u5B57\u5178\u4EE5\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u4EE5\u6570\u5B57\u8FD4\u56DE"),
2620
2620
  directorytypecode: z6.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),
@@ -2629,11 +2629,11 @@ var init_schemas2 = __esm({
2629
2629
  objecttypecode: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5B9E\u4F53\u5206\u7C7B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u57FA\u672C\u5B9E\u4F53\uFF1B2-\u6811\u5F62\u5B9E\u4F53\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5B9E\u4F53\u3002\u6570\u636E\u5B57\u5178\u4EE5\u6570\u5B57\u8FD4\u56DE"),
2630
2630
  parentobjectcode: z6.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode\u3002\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),
2631
2631
  properties: entityPropertySchema.optional().nullable().describe("\u5B9E\u4F53\u7684\u5C5E\u6027\u6570\u7EC4\uFF1A\u6BCF\u4E2A\u5C5E\u6027\u5B9A\u4E49\u5B9E\u4F53\u7684\u4E00\u4E2A\u5B57\u6BB5\uFF08\u5217\u540D\u3001\u7C7B\u578B\u3001\u5173\u8054\u5B9E\u4F53\u3001\u7D22\u5F15\u65B9\u5F0F\u7B49\uFF09"),
2632
- publishstatus: z6.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),
2632
+ publishstatus: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),
2633
2633
  script: z6.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5/\u5B9A\u4E49\u811A\u672C\uFF0C\u539F\u751F/\u89C6\u56FE/\u5173\u8054\u5B9E\u4F53\u8FD4\u56DE\uFF0C\u4E00\u822C\u4E3A\u7A7A\u5B57\u7B26\u4E32"),
2634
2634
  status: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u6570\u636E\u5B57\u5178/\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u4EE5\u6570\u5B57\u8FD4\u56DE\uFF1B\u8BE6\u60C5\u63A5\u53E3\u5BF9\u8BE5\u5B57\u6BB5\u8FD4\u56DE\u4E0D\u7A33\u5B9A\uFF08\u90E8\u5206\u8C03\u7528\u4E0D\u8FD4\u56DE\uFF09\uFF0C\u6545\u58F0\u660E\u4E3A\u53EF\u9009"),
2635
- storagelevel: z6.coerce.number().optional().nullable().describe("\u5B58\u50A8\u7B49\u7EA7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),
2636
- seq: z6.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u5E8F\u53F7\u3002\u4EC5\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),
2635
+ storagelevel: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5B58\u50A8\u7B49\u7EA7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),
2636
+ seq: z6.union([z6.string(), z6.number()]).optional().nullable().describe("\u5B9E\u4F53\u5E8F\u53F7\u3002\u4EC5\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),
2637
2637
  tablename: z6.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D")
2638
2638
  };
2639
2639
  entityResultSchema = z6.looseObject(entityResultShape);
@@ -2657,7 +2657,7 @@ var init_read2 = __esm({
2657
2657
  name: "page_entity_list",
2658
2658
  config: {
2659
2659
  title: "\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53",
2660
- description: `\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53\u5217\u8868\u3002\u652F\u6301\u6309\u540D\u79F0/\u7C7B\u578B\u7B5B\u9009\u3002
2660
+ description: `\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53(\u6570\u636E\u5E93\u8868)\u5217\u8868\u3002\u652F\u6301\u6309\u540D\u79F0/\u7C7B\u578B\u7B5B\u9009\u3002
2661
2661
 
2662
2662
  ${COMMON_ENUM}
2663
2663
  ${ENTITY_ENUM}`,
@@ -2672,28 +2672,28 @@ ${ENTITY_ENUM}`,
2672
2672
  },
2673
2673
  outputSchema: {
2674
2674
  data: z7.array(z7.object({
2675
- confsource: z7.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),
2676
- createaccountcode: z7.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),
2675
+ confsource: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),
2676
+ createaccountcode: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),
2677
2677
  createaccountname: z7.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),
2678
2678
  createtime: z7.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),
2679
- datapattern: z7.coerce.number().optional().nullable().describe("\u6570\u636E\u6A21\u5F0F\uFF0C\u542B\u4E49\uFF1A1-\u539F\u751F\u5B9E\u4F53\uFF1B2-\u884D\u751F\u5B9E\u4F53\uFF1B3-\u89C6\u56FE\uFF1B4-\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u3002\u539F\u751F\u5B9E\u4F53\uFF1A\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF1B\u884D\u751F\u3001\u89C6\u56FE\uFF1A\u4E0D\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF1B\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\uFF1A\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF0C\u4F46\u662F\u662F\u5E73\u53F0\u6839\u636E\u7528\u6237\u7684\u914D\u7F6E\u81EA\u52A8\u521B\u5EFA\u7684\uFF0C\u8868\u540D\u65E0\u542B\u4E49"),
2679
+ datapattern: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u6570\u636E\u6A21\u5F0F\uFF0C\u542B\u4E49\uFF1A1-\u539F\u751F\u5B9E\u4F53\uFF1B2-\u884D\u751F\u5B9E\u4F53\uFF1B3-\u89C6\u56FE\uFF1B4-\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u3002\u539F\u751F\u5B9E\u4F53\uFF1A\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF1B\u884D\u751F\u3001\u89C6\u56FE\uFF1A\u4E0D\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF1B\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\uFF1A\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF0C\u4F46\u662F\u662F\u5E73\u53F0\u6839\u636E\u7528\u6237\u7684\u914D\u7F6E\u81EA\u52A8\u521B\u5EFA\u7684\uFF0C\u8868\u540D\u65E0\u542B\u4E49"),
2680
2680
  directorytypecode: z7.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),
2681
2681
  directorytypename: z7.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),
2682
2682
  hasoffline: z7.string().optional().nullable().describe("\u5B9E\u4F53\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C1-\u6709\uFF1B0-\u65E0"),
2683
- marktype: z7.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),
2683
+ marktype: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),
2684
2684
  metamodelcode: z7.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C objectcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),
2685
- objectcatgory: z7.coerce.number().optional().nullable().describe("\u5BF9\u8C61\u7C7B\u522B\uFF0C\u8868\u793A\u662F\u5426\u4E3A\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF0C1-\u662F\uFF1B2-\u5426"),
2685
+ objectcatgory: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u5BF9\u8C61\u7C7B\u522B\uFF0C\u8868\u793A\u662F\u5426\u4E3A\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF0C1-\u662F\uFF1B2-\u5426"),
2686
2686
  objectcode: z7.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),
2687
2687
  objectdescr: z7.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),
2688
2688
  objectmark: z7.string().optional().nullable().describe("\u5B9E\u4F53\u6807\u8BB0\uFF0C\u4E00\u822C\u548C\u6570\u636E\u5E93\u8868\u540D\u540C\u540D\uFF0C\u5B57\u5178\u7C7B\u578B\u7684\u5B9E\u4F53\u6709\u81EA\u5DF1\u7684\u6807\u8BB0"),
2689
2689
  objectname: z7.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),
2690
2690
  objecttemplatecode: z7.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801"),
2691
- objecttypecode: z7.string().optional().nullable().describe("\u5B9E\u4F53\u5206\u7C7B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u57FA\u672C\u5B9E\u4F53\uFF1B2-\u6811\u5F62\u5B9E\u4F53\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5B9E\u4F53"),
2691
+ objecttypecode: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u5B9E\u4F53\u5206\u7C7B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u57FA\u672C\u5B9E\u4F53\uFF1B2-\u6811\u5F62\u5B9E\u4F53\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5B9E\u4F53"),
2692
2692
  parentobjectcode: z7.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode"),
2693
- publishstatus: z7.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),
2694
- status: z7.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528"),
2693
+ publishstatus: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),
2694
+ status: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528"),
2695
2695
  tablename: z7.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D"),
2696
- updateaccountcode: z7.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),
2696
+ updateaccountcode: z7.union([z7.string(), z7.number()]).optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),
2697
2697
  updateaccountname: z7.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),
2698
2698
  updatetime: z7.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")
2699
2699
  }).catchall(z7.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),
@@ -2745,7 +2745,7 @@ ${ENTITY_ENUM}`,
2745
2745
  name: "get_entity",
2746
2746
  config: {
2747
2747
  title: "\u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5",
2748
- description: `\u6309 objectcode \u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5\uFF1A\u57FA\u672C\u4FE1\u606F\u4E0E\u5C5E\u6027\u6570\u7EC4 properties\u3002\u6CE8\u610F\uFF1A\u8BE6\u60C5\u63A5\u53E3 status \u8FD4\u56DE\u4E0D\u7A33\u5B9A\uFF08\u90E8\u5206\u8C03\u7528\u4E0D\u8FD4\u56DE\uFF09\uFF0Cdatapattern \u662F\u5217\u8868\u63A5\u53E3\u5B57\u6BB5\u3001\u8BE6\u60C5\u591A\u6570\u4E0D\u8FD4\u56DE\u3002
2748
+ description: `\u6309 objectcode \u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5\uFF1A\u57FA\u672C\u4FE1\u606F\u4E0E\u5C5E\u6027\u6570\u7EC4 properties\u3002
2749
2749
  propertytypecode \u5B8C\u6574\u679A\u4E3E\u89C1 get_model_logic\u3002
2750
2750
 
2751
2751
  ${COMMON_ENUM}
@@ -2780,9 +2780,8 @@ ${ENTITY_ENUM}`,
2780
2780
  name: "page_entity_directories",
2781
2781
  config: {
2782
2782
  title: "\u67E5\u8BE2\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55",
2783
- description: `\u67E5\u8BE2\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u6240\u5C5E\u76EE\u5F55\uFF08getDirectorys\uFF09\uFF0C\u53D6\u56DE\u7684 directorytypecode \u5373 create_entity \u7684 directorytypecode \u5FC5\u586B\u5165\u53C2\uFF0C\u4E5F\u662F\u4E3A\u5B9E\u4F53\u6307\u5B9A\u76EE\u5F55\u65F6\u8981\u7528\u7684\u7F16\u7801\u3002
2783
+ description: `\u67E5\u8BE2\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u6240\u5C5E\u76EE\u5F55\u5217\u8868\uFF0C\u53D6\u56DE\u7684 directorytypecode \u5373\u76EE\u5F55\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u4E3A\u5B9E\u4F53\u6307\u5B9A\u76EE\u5F55\u65F6\u4F7F\u7528\u3002
2784
2784
 
2785
- \u3010\u91CD\u8981\uFF1A\u63A5\u53E3\u4E0D\u652F\u6301\u5206\u9875\uFF0C\u5168\u91CF\u6570\u767E\u6761\uFF0C\u672C\u5DE5\u5177\u5DF2\u5F3A\u5236\u6536\u655B\u3011
2786
2785
  - \u9ED8\u8BA4\u6700\u591A\u56DE ${DIRECTORY_DEFAULT_LIMIT} \u6761\uFF0C\u786C\u4E0A\u9650 ${DIRECTORY_MAX_LIMIT} \u6761\uFF1B
2787
2786
  - \u672A\u4F20\u4EFB\u4F55\u7B5B\u9009\u6761\u4EF6\u65F6\uFF0C\u53EA\u56DE\u9876\u7EA7\u76EE\u5F55\uFF08\u901A\u5E38\u5341\u4F59\u6761\u91CF\u7EA7\uFF09\u5E76\u5728 hint \u4E2D\u8BF4\u660E\uFF1B
2788
2787
  - \u547D\u4E2D\u8FC7\u591A\u65F6 truncated=true\uFF0C\u8BF7\u7F29\u5C0F keys \u6216\u7528 offset \u7FFB\u9875\u3002
@@ -4641,7 +4640,6 @@ var init_read3 = __esm({
4641
4640
  title: "\u67E5\u8BE2\u8868\u5355\u6240\u5C5E\u76EE\u5F55",
4642
4641
  description: `\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u6240\u5C5E\u76EE\u5F55\uFF08getDirectorys\uFF09\uFF0C\u53D6\u56DE\u7684 directorytypecode \u5373\u8868\u5355 pageinfo.directorytypecode \u7684\u53D6\u503C\uFF0C\u4E5F\u662F\u6309\u76EE\u5F55\u7B5B\u8868\u5355\u3001\u6216\u4E3A\u8868\u5355\u6307\u5B9A\u76EE\u5F55\u65F6\u8981\u7528\u7684\u7F16\u7801\u3002
4643
4642
 
4644
- \u3010\u91CD\u8981\uFF1A\u63A5\u53E3\u4E0D\u652F\u6301\u5206\u9875\uFF0C\u5168\u91CF\u6570\u767E\u6761\uFF0C\u672C\u5DE5\u5177\u5DF2\u5F3A\u5236\u6536\u655B\u3011
4645
4643
  - \u9ED8\u8BA4\u6700\u591A\u56DE ${DIRECTORY_DEFAULT_LIMIT} \u6761\uFF0C\u786C\u4E0A\u9650 ${DIRECTORY_MAX_LIMIT} \u6761\uFF1B
4646
4644
  - \u672A\u4F20\u4EFB\u4F55\u7B5B\u9009\u6761\u4EF6\u65F6\uFF0C\u53EA\u56DE\u9876\u7EA7\u76EE\u5F55\uFF08\u901A\u5E38\u5341\u6761\u91CF\u7EA7\uFF09\u5E76\u5728 hint \u4E2D\u8BF4\u660E\uFF1B
4647
4645
  - \u547D\u4E2D\u8FC7\u591A\u65F6 truncated=true\uFF0C\u8BF7\u7F29\u5C0F keys \u6216\u7528 offset \u7FFB\u9875\u3002
@@ -5710,7 +5708,8 @@ var init_read7 = __esm({
5710
5708
  name: "run_sql",
5711
5709
  config: {
5712
5710
  title: "\u6267\u884C SQL \u67E5\u8BE2",
5713
- description: "\u5728\u4E1A\u52A1\u5E93\uFF08PostgreSQL\uFF09\u4E2D\u6267\u884C\u4E00\u6761 SELECT \u67E5\u8BE2\uFF08\u63A5\u53E3\u4EC5\u652F\u6301 SELECT\uFF0C\u4E00\u6B21\u4E00\u6761\uFF0C\u53EA\u80FD\u67E5\u4E1A\u52A1\u8868\uFF1B\u67E5\u8868\u5B57\u6BB5\u7ED3\u6784\u8BF7\u7528 get_entity\uFF09\uFF0C\u8FD4\u56DE\u7ED3\u679C data \u4E0E\u603B\u6570 influenceCount\u3002\u9002\u7528\u4E8E\u76F4\u63A5\u63A2\u67E5\u4E1A\u52A1\u8868\u6570\u636E\u3001\u6838\u5BF9\u5B57\u6BB5\u503C\u3001\u9A8C\u8BC1\u540C\u6B65\u7ED3\u679C\u7B49\u53EA\u8BFB\u573A\u666F\u3002",
5711
+ description: `\u5728\u4E1A\u52A1\u5E93\uFF08PostgreSQL\uFF09\u4E2D\u6267\u884C\u4E00\u6761 SELECT \u67E5\u8BE2\uFF08\u63A5\u53E3\u4EC5\u652F\u6301 SELECT\uFF0C\u4E00\u6B21\u4E00\u6761\uFF0C\u53EA\u80FD\u67E5\u4E1A\u52A1\u8868\uFF1B\u67E5\u8868\u5B57\u6BB5\u7ED3\u6784\u8BF7\u7528 get_entity\uFF09\uFF0C\u8FD4\u56DE\u7ED3\u679C data \u4E0E\u603B\u6570 influenceCount\u3002\u9002\u7528\u4E8E\u76F4\u63A5\u63A2\u67E5\u4E1A\u52A1\u8868\u6570\u636E\u3001\u6838\u5BF9\u5B57\u6BB5\u503C\u3001\u9A8C\u8BC1\u540C\u6B65\u7ED3\u679C\u7B49\u53EA\u8BFB\u573A\u666F\u3002
5712
+ \u6CE8\u610F\uFF1A\u67E5\u8BE2\u7684\u5B57\u6BB5\u548C\u8868\u5FC5\u987B\u5728 get_entity \u4E2D\u80FD\u53D6\u5230\uFF1B\u53EA\u80FD\u7528\u57FA\u7840\u7684\u7B80\u5355\u67E5\u8BE2\u8BED\u53E5\uFF0C\u4E0D\u652F\u6301 WITH \u7B49\u590D\u6742\u8BED\u53E5\uFF1B\u6700\u7EC8\u5B9E\u9645\u6267\u884C\u7684 SQL \u4F1A\u88AB\u5F15\u64CE\u5904\u7406\uFF0C\u4E0D\u652F\u6301 platstatus \u7B49\u5E73\u53F0\u5B57\u6BB5\u3002`,
5714
5713
  inputSchema: {
5715
5714
  sql: z14.string().describe("\u8981\u6267\u884C\u7684 SQL \u67E5\u8BE2\u8BED\u53E5\uFF0C\u53EA\u652F\u6301 SELECT \u67E5\u8BE2\uFF0C\u4E00\u6B21\u53EA\u80FD\u4E00\u6761 SQL")
5716
5715
  },