flycode-mcp 1.9.1 → 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.
- package/README.md +69 -18
- package/dist/flycode-mcp.min.js +2 -0
- package/package.json +21 -8
- package/dist/clients/authClient.js +0 -43
- package/dist/clients/authClient.js.map +0 -1
- package/dist/clients/databaseFunctionClient.js +0 -16
- package/dist/clients/databaseFunctionClient.js.map +0 -1
- package/dist/clients/entityClient.js +0 -28
- package/dist/clients/entityClient.js.map +0 -1
- package/dist/clients/formClient.js +0 -30
- package/dist/clients/formClient.js.map +0 -1
- package/dist/clients/functionClient.js +0 -30
- package/dist/clients/functionClient.js.map +0 -1
- package/dist/clients/logicClient.js +0 -45
- package/dist/clients/logicClient.js.map +0 -1
- package/dist/clients/runClient.js +0 -16
- package/dist/clients/runClient.js.map +0 -1
- package/dist/clients/types.js +0 -7
- package/dist/clients/types.js.map +0 -1
- package/dist/index.js +0 -53
- package/dist/index.js.map +0 -1
- package/dist/service/auth.js +0 -84
- package/dist/service/auth.js.map +0 -1
- package/dist/service/logic.js +0 -261
- package/dist/service/logic.js.map +0 -1
- package/dist/store/tenant.js +0 -20
- package/dist/store/tenant.js.map +0 -1
- package/dist/store/token.js +0 -25
- package/dist/store/token.js.map +0 -1
- package/dist/tools/common.js +0 -61
- package/dist/tools/common.js.map +0 -1
- package/dist/tools/database-function/read.js +0 -98
- package/dist/tools/database-function/read.js.map +0 -1
- package/dist/tools/entity/read.js +0 -169
- package/dist/tools/entity/read.js.map +0 -1
- package/dist/tools/entity/schemas.js +0 -65
- package/dist/tools/entity/schemas.js.map +0 -1
- package/dist/tools/form/read.js +0 -202
- package/dist/tools/form/read.js.map +0 -1
- package/dist/tools/function/read.js +0 -187
- package/dist/tools/function/read.js.map +0 -1
- package/dist/tools/logic/read.js +0 -170
- package/dist/tools/logic/read.js.map +0 -1
- package/dist/tools/logic/schemas.js +0 -122
- package/dist/tools/logic/schemas.js.map +0 -1
- package/dist/tools/logic/write.js +0 -296
- package/dist/tools/logic/write.js.map +0 -1
- package/dist/tools/run/read.js +0 -65
- package/dist/tools/run/read.js.map +0 -1
- package/dist/utils/config.js +0 -26
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/date.js +0 -45
- package/dist/utils/date.js.map +0 -1
- package/dist/utils/error.js +0 -30
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/mcp-types.js +0 -2
- package/dist/utils/mcp-types.js.map +0 -1
- package/dist/utils/request.js +0 -74
- package/dist/utils/request.js.map +0 -1
- package/dist/utils/snowflake.js +0 -119
- package/dist/utils/snowflake.js.map +0 -1
- package/dist/utils/str-replace.js +0 -353
- package/dist/utils/str-replace.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,8 +10,8 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the
|
|
|
10
10
|
|
|
11
11
|
- 基于官方 `@modelcontextprotocol/sdk` 实现,使用标准 `stdio` 传输协议。
|
|
12
12
|
- 启动即完成 APaaS IDE 平台鉴权链路:账号登录 → 获取租户信息 → 获取 IDE Token。
|
|
13
|
-
- 内置统一请求层 `request`,自动按请求类型(`center` / `tenant
|
|
14
|
-
- 当前提供工具:业务逻辑类 `page_model_logic_list`(分页查询业务逻辑列表)、`get_model_logic`(查询单个业务逻辑详情)、`save_model_logic`(保存 / 更新业务逻辑完整 JSON)、`simple_save_flycode_model_logic`(轻量保存 flycode 业务逻辑,只传 `modelLogicCode` / `flycode` / 可选 `input` / `output`);实体类 `page_entity_list`(分页查询实体列表)、`get_entity`(查询实体详情);表单 / 页面类 `page_form_list`(分页查询表单 / 页面列表)、`get_form`(查询表单 /
|
|
13
|
+
- 内置统一请求层 `request`,自动按请求类型(`center` / `tenant` / `business`)切换中心服务地址、当前租户连接地址或当前租户业务地址,并自动注入鉴权 Token:`business` 类型主要用于 H5 表单查询(需以特定预览账号 token 发起)。
|
|
14
|
+
- 当前提供工具:业务逻辑类 `page_model_logic_list`(分页查询业务逻辑列表)、`get_model_logic`(查询单个业务逻辑详情)、`save_model_logic`(保存 / 更新业务逻辑完整 JSON)、`simple_save_flycode_model_logic`(轻量保存 flycode 业务逻辑,只传 `modelLogicCode` / `flycode` / 可选 `input` / `output`);实体类 `page_entity_list`(分页查询实体列表)、`get_entity`(查询实体详情);表单 / 页面类 `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` 字段)。
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -28,14 +28,17 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the
|
|
|
28
28
|
# 安装依赖
|
|
29
29
|
npm install
|
|
30
30
|
|
|
31
|
-
#
|
|
31
|
+
# 类型校验(tsc -p tsconfig.json,tsconfig 设 noEmit) + esbuild 经 scripts/build.mjs 打包压缩为单文件 dist/flycode-mcp.min.js
|
|
32
32
|
npm run build
|
|
33
33
|
|
|
34
|
-
#
|
|
34
|
+
# 仅做类型校验(不产出)
|
|
35
|
+
npm run typecheck
|
|
36
|
+
|
|
37
|
+
# 开发模式:esbuild --watch 持续重建产物
|
|
35
38
|
npm run dev
|
|
36
39
|
```
|
|
37
40
|
|
|
38
|
-
|
|
41
|
+
构建产物为单个压缩文件 `dist/flycode-mcp.min.js`(已在 `package.json` 的 `bin` 中注册为 `flycode-mcp`;minify 后折叠为单行以减小体积,运行时依赖 `@modelcontextprotocol/sdk` / `axios` / `zod` 保持外置)。
|
|
39
42
|
|
|
40
43
|
---
|
|
41
44
|
|
|
@@ -283,7 +286,50 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
|
|
|
283
286
|
- `pageswitch`:仅 switchpage 类型才有的页面切换配置(`mode` / `menu` / `pagerefs` / `eventlist`)
|
|
284
287
|
- `message`:每次保存填写的提交信息(类似 git 提交信息)
|
|
285
288
|
|
|
286
|
-
> 注:工具的 `description` 中附有「字段速查」,列出了各顶层对象的关键字段与编码枚举含义(如 `pageinfo.type` 页面类型、`marktype` 创建标记、`clientcategorycode` 用户端等),便于理解返回 JSON。详情类型的字段定义见 `src/clients/
|
|
289
|
+
> 注:工具的 `description` 中附有「字段速查」,列出了各顶层对象的关键字段与编码枚举含义(如 `pageinfo.type` 页面类型、`marktype` 创建标记、`clientcategorycode` 用户端等),便于理解返回 JSON。详情类型的字段定义见 `src/clients/form.ts`(`FormResult` / `FormPageInfo` / `FormViewNode` / `FormControl` 等接口)。
|
|
290
|
+
|
|
291
|
+
### `page_h5_form` — 分页查询 H5 表单列表
|
|
292
|
+
|
|
293
|
+
根据查询条件分页查询智慧100 H5 引擎配置的 H5 表单列表(只读、幂等)。底层调用 `h5Client.pageH5List`(接口 `POST /api/masterserv/hpage/listH5Page`)。
|
|
294
|
+
|
|
295
|
+
> 说明:列表结果**不包含** `confjson` 字段(该字段为 H5 表单的内容 JSON,体积较大);如需获取表单的 `confjson`(含 Vue 代码与元数据配置),请调用 `get_h5_form` 获取详情。
|
|
296
|
+
|
|
297
|
+
**输入参数:**
|
|
298
|
+
|
|
299
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
300
|
+
| --------------- | ------ | ---- | -------------------------------------------------------------------------- |
|
|
301
|
+
| `keywords` | string | 否 | H5 表单代码及其元数据中包含的关键字,模糊匹配 |
|
|
302
|
+
| `pagecode` | string | 否 | H5 表单的唯一编码,模糊匹配 |
|
|
303
|
+
| `status` | string | 否 | 状态,整数:1-启用;2-停用。示例传 `"1"` |
|
|
304
|
+
| `title` | string | 否 | H5 表单的标题,模糊匹配 |
|
|
305
|
+
| `updateopname` | string | 否 | 最近修改人姓名,模糊匹配 |
|
|
306
|
+
| `page` | string | 否 | 当前页,从 1 开始,默认 1 |
|
|
307
|
+
| `rows` | string | 否 | 每页记录数,默认 20 |
|
|
308
|
+
|
|
309
|
+
**返回:** H5 表单列表的 JSON(`resp_data`),包含分页信封 `pageCount` / `pageIndex` / `pageSize` / `resultCount`,以及 `data` 数组中每个 H5 表单的基本信息:`pagecode`(唯一编码)/ `title`(标题)/ `status`(状态:1-启用;2-停用)/ `pagedescr`(描述)/ `platstatus`(平台状态)/ `platcreateop` / `platcreatetime` / `platupdateop` / `platupdatetime` 等。字段值可能为 `null`,且 `status` 以字符串或数字两种形态返回。
|
|
310
|
+
|
|
311
|
+
> 注:当接口返回数据包含 `HTTP 404 Not Found` 时,说明此租户未安装 H5 引擎。该工具以宽松结构(`catchall`)透传服务端返回的额外字段,确保任意列表结果均可正常返回。字段定义见 `src/clients/h5.ts`(`H5PageResult` 接口)。
|
|
312
|
+
|
|
313
|
+
### `get_h5_form` — 查询 H5 表单详情
|
|
314
|
+
|
|
315
|
+
根据 H5 表单的唯一编码 `pagecode` 获取其完整详情(只读、幂等),核心内容 `confjson` 为 H5 表单的内容 JSON(含 Vue 代码与元数据配置)。底层调用 `h5Client.getH5`(接口 `POST /api/masterserv/hpage/listH5PageByOne`)。
|
|
316
|
+
|
|
317
|
+
**输入参数:**
|
|
318
|
+
|
|
319
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
320
|
+
| ---------- | ------ | ---- | -------------------------- |
|
|
321
|
+
| `pagecode` | string | 是 | 要查详情的 H5 表单的唯一编码 |
|
|
322
|
+
|
|
323
|
+
**返回:** H5 表单详情的 JSON(`resp_data`),主要字段:
|
|
324
|
+
|
|
325
|
+
- `pagecode` / `title` / `pagedescr`:H5 表单唯一编码、标题、描述
|
|
326
|
+
- `status`:状态(1-启用;2-停用),以字符串或数字返回
|
|
327
|
+
- `confjson`:H5 表单的内容 JSON 字符串,包含 H5 表单的 Vue 代码与元数据配置(核心内容)
|
|
328
|
+
- `platcreateop` / `platcreatetime`:创建人 / 创建时间
|
|
329
|
+
- `platupdateop` / `platupdatetime`:最近更新人 / 最近更新时间
|
|
330
|
+
- `platstatus`:平台状态
|
|
331
|
+
|
|
332
|
+
> 注:当接口返回数据包含 `HTTP 404 Not Found` 时,说明此租户未安装 H5 引擎。详情类型的字段定义见 `src/clients/h5.ts`(`H5PageResult` 接口)。H5 查询接口需要以特定预览账号(职位为 `SFA系统管理员`)的 token 发起,该鉴权细节由 `service/h5.ts` 自动解析,调用方无需关心。
|
|
287
333
|
|
|
288
334
|
### `page_function_list` — 分页查询 flycode 函数列表
|
|
289
335
|
|
|
@@ -322,7 +368,7 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
|
|
|
322
368
|
- `tablename` / `createtime` / `updatetime` / `createaccountname` / `updateaccountname`:数据库表名(函数一般无对应表,通常为空)、时间戳与创建 / 更新人
|
|
323
369
|
- `confjson`:flycode 函数代码内容,是函数实现体的核心字段
|
|
324
370
|
|
|
325
|
-
> 注:详情接口返回结构不稳定(部分字段调用时可能缺省),工具以宽松结构(`z.looseObject`)透传服务端返回的额外字段,确保任意详情均可正常返回。字段定义见 `src/clients/
|
|
371
|
+
> 注:详情接口返回结构不稳定(部分字段调用时可能缺省),工具以宽松结构(`z.looseObject`)透传服务端返回的额外字段,确保任意详情均可正常返回。字段定义见 `src/clients/function.ts`(`FunctionResult` / `FunctionPageResult` 接口)。
|
|
326
372
|
|
|
327
373
|
### `page_database_function_list` — 分页查询数据库函数列表
|
|
328
374
|
|
|
@@ -341,7 +387,7 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
|
|
|
341
387
|
|
|
342
388
|
**返回:** 数据库函数列表的 JSON(`resp_data`),包含分页信封 `pageCount` / `pageIndex` / `pageSize` / `resultCount`,以及 `data` 数组中每个数据库函数的基本信息:`dbfunctionname`(数据库函数名)/ `functionname`(函数中文名)/ `functioncode`(函数唯一编码)/ `functionscript`(数据库函数内容,PostgreSQL 函数体,列表随行返回)/ `metamodelcode`(领域模型编码)/ `marktype`(创建标记:0-平台;1-产品;2-租户)/ `publishstatus`(发布状态:1-已发布;2-未发布)/ `status`(状态:1-启用;2-停用)/ `creator` / `updator` / `createtime` / `updatetime` / `remark` 等。字段值可能为 `null`,且 `marktype` / `publishstatus` / `status` 等部分字段以数字或字符串两种形态返回。
|
|
343
389
|
|
|
344
|
-
> 注:返回的 `data` 为服务端实际结构透传,工具以宽松结构(`catchall`)保留服务端返回的额外字段,确保任意列表结果均可正常返回。字段定义见 `src/clients/
|
|
390
|
+
> 注:返回的 `data` 为服务端实际结构透传,工具以宽松结构(`catchall`)保留服务端返回的额外字段,确保任意列表结果均可正常返回。字段定义见 `src/clients/database-function.ts`(`DatabaseFunctionPageParams` / `DatabaseFunctionPageResult` 接口)。
|
|
345
391
|
|
|
346
392
|
### `run_sql` — 执行 SQL 查询
|
|
347
393
|
|
|
@@ -386,15 +432,18 @@ flycode-mcp/
|
|
|
386
432
|
│ ├── index.ts # 入口:启动鉴权、注册工具、启动 stdio 服务
|
|
387
433
|
│ ├── service/ # 业务封装
|
|
388
434
|
│ │ ├── auth.ts # 登录 → 获取租户信息 → 获取 IDE Token
|
|
389
|
-
│ │
|
|
435
|
+
│ │ ├── logic.ts # 保存业务逻辑(saveModelLogic / simpleSaveFlyCodeModelLogic / replaceFlyCodeSegments):提交信息处理 + 局部替换 + 异常兜底
|
|
436
|
+
│ │ └── h5.ts # H5 表单查询鉴权(解析 SFA系统管理员预览账号 token) + 列表/详情查询 service 封装
|
|
390
437
|
│ ├── clients/ # 平台接口封装
|
|
391
|
-
│ │ ├──
|
|
392
|
-
│ │ ├──
|
|
393
|
-
│ │ ├──
|
|
394
|
-
│ │ ├──
|
|
395
|
-
│ │ ├──
|
|
396
|
-
│ │ ├──
|
|
397
|
-
│ │ ├──
|
|
438
|
+
│ │ ├── auth.ts # 登录 / 获取租户信息 / 获取 IDE Token 请求
|
|
439
|
+
│ │ ├── logic.ts # 业务逻辑分页/详情查询、保存请求;LogicResult 等类型定义
|
|
440
|
+
│ │ ├── entity.ts # 实体列表 pageEntityList / 详情 getEntity 请求;EntityResult 等类型定义
|
|
441
|
+
│ │ ├── function.ts # flycode 函数列表 pageFunctionList、详情 getFunction 请求;FunctionResult 等类型定义
|
|
442
|
+
│ │ ├── database-function.ts # 数据库函数(PostgreSQL 自定义函数)列表 pageDatabaseFunctionList 请求;DatabaseFunctionPageResult 等类型定义
|
|
443
|
+
│ │ ├── form.ts # 表单 / 页面列表 pageFormList、详情 getForm 请求;FormResult 等详情类型定义
|
|
444
|
+
│ │ ├── h5.ts # H5 表单列表 listH5Page、详情 listH5PageByOne 请求;H5PageResult 等类型定义
|
|
445
|
+
│ │ ├── run.ts # SQL 查询 sqlRun 请求(POST /api/biz/sqlrun)
|
|
446
|
+
│ │ ├── test-case.ts # 预览账号列表 getPreviewAccounts 请求(H5 查询鉴权所需的 SFA系统管理员 token 来源)
|
|
398
447
|
│ │ └── types.ts # 公共响应信封类型(DataResponse / PageResponse / CommonResponse)
|
|
399
448
|
│ ├── store/ # 运行时内存存储
|
|
400
449
|
│ │ ├── token.ts # 鉴权 Token 存储器
|
|
@@ -410,6 +459,8 @@ flycode-mcp/
|
|
|
410
459
|
│ │ │ └── schemas.ts # 实体共享 zod schema(EntityResult / EntityProperty,宽松透传结构)
|
|
411
460
|
│ │ ├── form/
|
|
412
461
|
│ │ │ └── read.ts # 只读类工具(page_form_list / get_form)
|
|
462
|
+
│ │ ├── h5/
|
|
463
|
+
│ │ │ └── read.ts # 只读类工具(page_h5_form / get_h5_form)
|
|
413
464
|
│ │ ├── function/
|
|
414
465
|
│ │ │ └── read.ts # 只读类工具(page_function_list / get_function)
|
|
415
466
|
│ │ ├── database-function/
|
|
@@ -438,8 +489,8 @@ flycode-mcp/
|
|
|
438
489
|
2. **登录**:`service/auth.ts` 中的 `authenticate()` 调用 `/api/multiplat/auth/login` 获取 Token,存入内存。
|
|
439
490
|
3. **定位租户与环境**:`authenticate()` 调用 `/api/multiplat/auth/getTenantInfo`,依据 `tenantCode + envName` 匹配出目标租户,保存其连接信息(`conn.config`)到内存。
|
|
440
491
|
4. **获取 IDE Token**:`authenticate()` 调用 `/api/multiplat/auth/getIdeToken` 换取 IDE 专用 Token 并覆盖内存中的 Token。
|
|
441
|
-
5. **注册并启动**:创建 `McpServer`,注册 `page_model_logic_list`、`get_model_logic`、`save_model_logic`、`simple_save_flycode_model_logic`、`str_replace_flycode`、`page_entity_list`、`get_entity`、`page_form_list`、`get_form`、`page_function_list`、`get_function`、`page_database_function_list`、`run_sql`、`generate_unique_code` 等工具,通过 `StdioServerTransport` 监听请求。
|
|
442
|
-
6. **业务请求**:工具被调用时,`logicClient` / `entityClient` / `formClient` / `functionClient` / `runClient` 通过 `request({ type: "tenant" })`
|
|
492
|
+
5. **注册并启动**:创建 `McpServer`,注册 `page_model_logic_list`、`get_model_logic`、`save_model_logic`、`simple_save_flycode_model_logic`、`str_replace_flycode`、`page_entity_list`、`get_entity`、`page_form_list`、`get_form`、`page_h5_form`、`get_h5_form`、`page_function_list`、`get_function`、`page_database_function_list`、`run_sql`、`generate_unique_code` 等工具,通过 `StdioServerTransport` 监听请求。
|
|
493
|
+
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` 字段会被剔除,不会泄漏给后端。
|
|
443
494
|
|
|
444
495
|
---
|
|
445
496
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{McpServer as kt}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as Rt}from"@modelcontextprotocol/sdk/server/stdio.js";var J="http://mconfig.xuantongkeji.com:51074",Ue="username",Ye="password",Ve="tenantCode",Ze="envName";function q(e,n){let i=process.argv.slice(2).join("&"),a=new URLSearchParams(i).get(e);if(a!==null&&a!=="")return a;if(n!==void 0)return n;throw new Error(`Missing required arg: ${e}`)}var O={username:q(Ue),password:q(Ye),tenantCode:q(Ve),envName:q(Ze)};import Ke from"axios";var te=null;function U(e){te=e}function ne(){return te}var re=null;function oe(e){re=e}function F(){return re}var Y=Ke.create({baseURL:J||"",timeout:2e4,headers:{"Content-Type":"application/json"}});Y.interceptors.request.use(e=>{let t=e.token??ne();return t&&(e.headers=e.headers||{},e.headers.token=t),delete e.token,e});Y.interceptors.response.use(e=>e.data,e=>Promise.reject(e));function P(e){let{type:n="center",...t}=e,i;switch(n){case"center":i=J||"";break;case"tenant":case"business":{let o=F();if(!o)return Promise.reject(new Error(`type \u4E3A ${n} \u65F6\uFF0C\u5FC5\u987B\u5148\u8C03\u7528 setTenant() \u8BBE\u7F6E\u79DF\u6237\u4FE1\u606F`));i=n==="tenant"?o.conn.config:o.conn.business;break}}return Y({...t,baseURL:i})}var $="1";function ie(e){return P({url:"/api/multiplat/auth/login",method:"post",data:e})}function se(){return P({url:"/api/multiplat/auth/getTenantInfo",method:"post",data:{appid:$}})}function le(e){return P({url:"/api/multiplat/auth/getIdeToken",method:"post",data:e})}async function ae(){let e=await ie({appid:$,username:O.username,password:O.password});if(e.code!==200)throw new Error(`Unable to login: ${e.msg}`);U(e.data.token),console.error("flycode-mcp \u767B\u5F55\u5B8C\u6210");let t=(await se()).resp_data.find(p=>p.tenantcode===O.tenantCode),i=t?.envs.find(p=>p.envname===O.envName);if(t&&i){let p;try{p=JSON.parse(i.conn)}catch{throw new Error(`\u79DF\u6237\u73AF\u5883\u8FDE\u63A5\u4FE1\u606F\u89E3\u6790\u5931\u8D25, \u79DF\u6237\u53F7: ${O.tenantCode}, \u73AF\u5883\u540D: ${O.envName}, env.conn \u4E0D\u662F\u5408\u6CD5\u7684 JSON: ${i.conn}`)}oe({metaModelCode:t.metamodelcode,metaModelType:t.metamodeltype,productCode:t.productcode,productName:t.productname,productSeriesCode:t.productseriescode,productVersionCode:t.productversioncode,productVersionName:t.productversionname,tenantCode:t.tenantcode,tenantName:t.tenantname,conn:p,envId:i.envid,envName:i.envname,tenantEnvName:i.tenantenvname})}let o=F();if(!o)throw new Error(`\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u79DF\u6237\u4FE1\u606F, \u79DF\u6237\u53F7: ${O.tenantCode}, \u73AF\u5883\u540D: ${O.envName}`);console.error("flycode-mcp \u83B7\u53D6\u79DF\u6237\u4FE1\u606F\u5B8C\u6210");let c=(await le({appid:$,envid:o.envId,metamodeltype:o.metaModelType,productcode:o.productCode,productversioncode:o.productVersionCode,tenantcode:o.tenantCode})).resp_data?.idetoken;if(!c)throw new Error(`\u83B7\u53D6 IDE Token \u5931\u8D25, \u79DF\u6237\u53F7: ${o.tenantCode}, \u73AF\u5883\u540D: ${o.envName}, \u8FD4\u56DE\u4F53\u4E2D\u672A\u5305\u542B\u6709\u6548\u7684 idetoken`);U(c),console.error("flycode-mcp \u83B7\u53D6 IDE Token \u5B8C\u6210")}import{z as x}from"zod";function k(e){let n=e;if(n?.response?.data!=null)try{return JSON.stringify(n.response.data)}catch{return String(n.response.data)}return e instanceof Error?e.message:String(e)}function ce(e){return P({url:"/bizserv/bizmodel/pageModelLogicList",method:"post",data:e,type:"tenant"})}function j(e){return P({url:"/bizserv/bizmodel/getModelLogic",method:"post",data:e,type:"tenant"})}function V(e){return P({url:"/bizserv/bizmodel/saveModelLogic",method:"post",data:{...e,overwrite:!1},type:"tenant"})}import{z as l}from"zod";var Qe=l.array(l.object({marktype:l.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:l.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u540D\u79F0\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:l.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u6240\u5C5E\u7684\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u5982\u679C\u662F\u81EA\u5B9A\u4E49\u53C2\u6570\u5219\u6B64\u7F16\u7801\u4E3A\u7A7A\u5B57\u7B26\u4E32"),propertycode:l.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u7F16\u7801\uFF0C\u53EA\u6709\u5F53\u6B64\u5B57\u6BB5\u6709\u6240\u5C5E\u5B9E\u4F53\u65F6\u624D\u6709\u503C\uFF0C\u4E34\u65F6\u521B\u5EFA\u7684\u81EA\u5B9A\u4E49\u5B9E\u4F53\u7684\u5B57\u6BB5\u5219\u4E3A\u7A7A\u5B57\u7B26\u4E32"),propertyname:l.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u4E2D\u6587\u540D\uFF0C\u9605\u8BFB\u53CB\u597D"),propertytypecode:l.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u6574\u6570\u5B57\u7B26\u4E32\uFF0C\u542B\u4E49\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)")}).catchall(l.unknown())),A=l.array(l.object({datatype:l.string().optional().nullable().describe("\u6574\u6570\u5B57\u7B26\u4E32\uFF1A0-\u5355\u5B9E\u4F53\uFF1B1-\u6570\u7EC4\u30020 \u8868\u793A IN.name \u6216 OUT.xxx \u662F\u4E2A\u5BF9\u8C61\uFF1B1 \u8868\u793A\u662F\u4E2A\u6570\u7EC4"),marktype:l.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:l.string().optional().nullable().describe("\u6B64\u53C2\u6570\u5BF9\u8C61/\u6570\u7EC4\u7684\u540D\u5B57\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:l.string().optional().nullable().describe("\u6B64\u53C2\u6570\u5173\u8054\u7684\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u5982\u679C\u662F\u81EA\u5B9A\u4E49\u53C2\u6570\u5219\u6B64\u7F16\u7801\u4E3A\u7A7A\u5B57\u7B26\u4E32"),objectname:l.string().optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u4E2D\u6587\u540D\u79F0\uFF0C\u9605\u8BFB\u53CB\u597D"),properties:Qe.optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u5C5E\u6027\u6570\u7EC4\uFF1A\u5355\u5B9E\u4F53\u65F6\u662F IN.name \u8FD9\u4E2A\u5BF9\u8C61\u6709\u7684\u5C5E\u6027\uFF1B\u6570\u7EC4\u65F6\u662F IN.name \u8FD9\u4E2A\u6570\u7EC4\u4E2D\u7684\u5143\u7D20\u5BF9\u8C61\u7684\u5C5E\u6027"),customcode:l.string().optional().nullable().describe("\u81EA\u5B9A\u4E49\u8F93\u51FA\u5BF9\u8C61\u7684\u7F16\u7801\uFF08\u4EC5\u81EA\u5B9A\u4E49\u8F93\u51FA\u53C2\u6570\u53EF\u80FD\u643A\u5E26\uFF0C\u5982\u5185\u90E8\u51FD\u6570 output\uFF09")}).catchall(l.unknown())),Ge=l.array(l.object({dynamic:l.object({fieldblacklist:l.unknown().optional().nullable().describe("\u5B57\u6BB5\u9ED1\u540D\u5355"),fieldmap:l.unknown().optional().nullable().describe("\u5B57\u6BB5\u6620\u5C04")}).catchall(l.unknown()).optional().nullable().describe("\u52A8\u6001\u914D\u7F6E"),marktype:l.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0"),modellogiccode:l.string().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),modellogicstepcode:l.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u7F16\u7801"),modellogicstepname:l.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u540D\u79F0"),seq:l.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:l.string().optional().nullable().describe("\u72B6\u6001"),templateparams:l.object({flycode:l.string().optional().nullable().describe("flycode \u811A\u672C\u4EE3\u7801\u5B57\u7B26\u4E32"),sourcemap:l.string().optional().nullable().describe("\u6E90\u6620\u5C04"),tempcompiledflycode:l.string().optional().nullable().describe("\u7F16\u8BD1\u540E\u7684 flycode")}).catchall(l.unknown()).optional().nullable().describe("\u6A21\u677F\u53C2\u6570\uFF0C\u5185\u542B\u5177\u4F53\u7684 flycode \u4EE3\u7801\uFF08\u5BFC\u51FA\u7ED3\u6784\u4EC5\u542B flycode\uFF09"),templateref:l.string().optional().nullable().describe("\u6A21\u677F\u5F15\u7528")}).catchall(l.unknown())),We=l.object({bindcols:l.array(l.object({field:l.string().optional().nullable().describe("\u5B57\u6BB5\u540D\uFF08\u5BF9\u5E94\u4E1A\u52A1\u5BF9\u8C61\u7684\u5C5E\u6027\u540D\uFF09"),column:l.string().optional().nullable().describe("\u5BFC\u51FA\u540E\u7684\u5217\u6807\u9898"),width:l.string().optional().nullable().describe("\u5217\u5BBD"),type:l.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u5982 string"),dynamictext:l.unknown().optional().nullable().describe("\u52A8\u6001\u6587\u672C\u914D\u7F6E")}).catchall(l.unknown()).optional().nullable().describe("\u5BFC\u51FA\u7684\u5217\u5B9A\u4E49")),modelcode:l.string().describe("\u4E1A\u52A1\u6A21\u578B\u7F16\u7801"),logiccode:l.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),logicname:l.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u540D\u79F0")}).catchall(l.unknown()),Z={actioncategory:l.string().optional().nullable().describe("\u884C\u4E3A\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA"),actiontype:l.string().optional().nullable().describe("\u64CD\u4F5C\u7C7B\u578B, \u6574\u6570, \u542B\u4E49\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3"),description:l.string().optional().nullable().describe("\u5BF9\u6B64\u4E1A\u52A1\u9886\u57DF\u7684\u63CF\u8FF0\u8BF4\u660E\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u7528 descr \u4EE3\u66FF\uFF09"),descr:l.string().optional().nullable().describe("\u63CF\u8FF0\u8BF4\u660E\u7684\u66FF\u7528\u5B57\u6BB5\uFF0C\u4EC5\u5FAE\u670D\u52A1\uFF08actioncategory=2\uFF09\u8FD4\u56DE\uFF0C\u7B49\u4EF7\u4E8E description"),execmode:l.string().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),executionmode:l.string().optional().nullable().describe("\u6267\u884C\u6A21\u5F0F\uFF0Cstandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F"),functionname:l.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u51FD\u6570\u547D\u540D\uFF08A\u4E1A\u52A1\u903B\u8F91\u4E2D\u8C03\u7528B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u5199\u51FD\u6570\u540D\uFF09"),idempotenttype:l.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),input:A.optional().nullable().describe("\u8BE5\u5B57\u6BB5\u5B9A\u4E49\u4E86\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u8F93\u5165\uFF1Aflycode \u4E2D\u7684\u5185\u7F6E\u5BF9\u8C61 IN \u4E2D\u53EF\u83B7\u53D6\u5230\u7684\u5185\u5BB9\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u65E0\u6B64\u5B57\u6BB5\uFF09"),logicscript:l.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),marktype:l.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:l.string().optional().nullable().describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u6BCF\u6B21\u4FDD\u5B58\u65F6\u586B\u5199\u7684\uFF0C\u7C7B\u4F3C git \u7684\u63D0\u4EA4\u4FE1\u606F\uFF08\u5BFC\u51FA\u7C7B\u7ED3\u6784\u53EF\u80FD\u7F3A\uFF09"),modelcode:l.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),modellogiccode:l.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801"),modellogicname:l.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),operations:Ge.optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u64CD\u4F5C\u4FE1\u606F\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u65E0\u6B64\u5B57\u6BB5\uFF09\uFF1B\u901A\u5E38\u6570\u7EC4\u4E2D\u53EA\u6709\u5355\u4E2A\u5143\u7D20\uFF0C\u8BE5\u5143\u7D20\u5BF9\u8C61\u4E2D\u5C31\u6709 flycode \u4EE3\u7801\u5B57\u7B26\u4E32"),output:A.optional().nullable().describe("\u8BE5\u5B57\u6BB5\u5B9A\u4E49\u4E86\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u8F93\u51FA\uFF1Aflycode \u4E2D\u5C06\u4F1A\u8D4B\u503C\u7ED9\u5185\u7F6E\u5BF9\u8C61 OUT \u7684\u5185\u5BB9\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u65E0\u6B64\u5B57\u6BB5\uFF09"),rest:l.object({server:l.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u5730\u5740"),url:l.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u8DEF\u5F84")}).catchall(l.unknown()).optional().nullable().describe("\u5FAE\u670D\u52A1\u7684 REST \u914D\u7F6E\uFF0C\u4EC5 actioncategory=2 \u5FAE\u670D\u52A1 \u65F6\u5B58\u5728"),bindjson:We.optional().nullable().describe("\u5BFC\u51FA\u7ED1\u5B9A\u7684 Excel \u5217\u914D\u7F6E\uFF0C\u4EC5 actioncategory=5 \u5BFC\u51FA \u65F6\u5B58\u5728"),status:l.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),tenantdbcode:l.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u7F16\u7801"),tenantdbname:l.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u64CD\u4F5C\u6743\u9650\uFF0C\u679A\u4E3E\u503C\u542B\u4E49\uFF1A\u53EA\u8BFB-\u6570\u636E\u5E93\u53EA\u80FD\u67E5\u8BE2\u4E0D\u80FD\u589E\u5220\u6539\uFF1B\u8BFB\u5199-\u6570\u636E\u5E93\u53EF\u589E\u5220\u6539\u67E5\uFF1B\u62A5\u8868-\u4FDD\u7559\u5B57\u6BB5"),tenantdbtype:l.string().optional().nullable().describe("tenantdbname \u5BF9\u5E94\u7684 key \u503C"),uilogicscript:l.string().optional().nullable().describe("\u79BB\u7EBF\u811A\u672C\uFF0C\u4EC5\u7528\u4E8E app \u7AEF\u79BB\u7EBF\u6570\u636E\u63D0\u4EA4"),usedatarule:l.string().optional().nullable().describe("1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650")},ue=l.looseObject(Z);var pe=[{name:"page_model_logic_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91",description:`\u6839\u636E\u67E5\u8BE2\u6761\u4EF6\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u5217\u8868\uFF08ModelLogic\uFF09\u3002\u9002\u7528\u4E8E\u67E5\u627E\u67D0\u4E1A\u52A1\u903B\u8F91\u53CA\u5176\u5143\u4FE1\u606F\u3002\u3010\u6574\u6570\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8F93\u5165\u7B5B\u9009\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF0C\u5982 actiontype \u4F20 "3"\uFF1B\u8F93\u51FA\u5B57\u6BB5\u4EE5\u6570\u5B57\u8FD4\u56DE\uFF09- actiontype\uFF08\u64CD\u4F5C\u7C7B\u578B\uFF09\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3- actioncategory\uFF08\u884C\u4E3A\u7C7B\u578B\uFF09\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA- jobstatus\uFF08\u5B9A\u65F6\u8C03\u5EA6\u4EFB\u52A1\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B0-\u505C\u7528\uFF1B2-\u65E0\u8C03\u5EA6- tenantdbname\uFF08\u811A\u672C\u64CD\u4F5C\u6570\u636E\u5E93\u7C7B\u578B\uFF09\uFF1A\u5B57\u7B26\u4E32\u679A\u4E3E\uFF0C\u503C=\u53EA\u8BFB / \u8BFB\u5199 / \u62A5\u8868- execmode\uFF08\u6267\u884C\u65B9\u5F0F\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u540C\u6B65\uFF1B2-\u5F02\u6B65- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E`,inputSchema:{keys:x.string().optional().describe("\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898\u3001modellogiccode\u3001\u6216\u8005\u884C\u4E3A\u65B9\u6CD5\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),keywords:x.string().optional().describe("\u5B8C\u6574 JSON (\u5185\u542B\u4EE3\u7801) \u4E2D\u7684\u5173\u952E\u5B57\uFF0C\u6A21\u7CCA\u5339\u914D"),page:x.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:x.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updateopname:x.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),updatetimestart:x.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4 - \u5F00\u59CB\u65F6\u95F4\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss\uFF0C\u548C\u6700\u8FD1\u4FEE\u6539\u7ED3\u675F\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0"),updatetimeend:x.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4 - \u7ED3\u675F\u65F6\u95F4\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss\uFF0C\u548C\u6700\u8FD1\u4FEE\u6539\u5F00\u59CB\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0"),actiontype:x.string().optional().describe("\u64CD\u4F5C\u7C7B\u578B, \u6574\u6570, \u542B\u4E49\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3"),actioncategory:x.string().optional().describe("\u884C\u4E3A\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA"),tenantdbname:x.string().optional().describe("\u811A\u672C\u64CD\u4F5C\u6570\u636E\u5E93\u7684\u7C7B\u578B\uFF0C\u5B57\u7B26\u4E32\u679A\u4E3E\uFF0C\u679A\u4E3E\u503C\uFF1A\u53EA\u8BFB\u3001\u8BFB\u5199\u3001\u62A5\u8868"),jobstatus:x.string().optional().describe("\u5B9A\u65F6\u8C03\u5EA6\u4EFB\u52A1\u72B6\u6001\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B0-\u505C\u7528\uFF1B2-\u65E0\u8C03\u5EA6")},outputSchema:{data:x.array(x.object({actiontype:x.coerce.number().optional().nullable().describe("\u64CD\u4F5C\u7C7B\u578B, \u6574\u6570, \u542B\u4E49\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3"),createtime:x.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:x.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),modelname:x.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u540D"),modellogiccode:x.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modellogicname:x.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),metamodelcode:x.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modellogiccode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),execmode:x.coerce.number().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),functionname:x.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u51FD\u6570\u547D\u540D\uFF08A\u4E1A\u52A1\u903B\u8F91\u4E2D\u8C03\u7528B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u5199\u51FD\u6570\u540D\uFF09"),actioncategory:x.coerce.number().optional().nullable().describe("\u884C\u4E3A\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA"),modelcode:x.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),marktype:x.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),updatetime:x.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:x.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:x.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:x.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:x.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),confsource:x.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),updateaccountcode:x.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(x.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:x.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:x.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:x.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:x.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{keys:n="",keywords:t="",page:i=1,rows:o=20,updateopname:a="",updatetimestart:c="",updatetimeend:p="",actiontype:d="",actioncategory:m="",tenantdbname:w="",jobstatus:y=null}=e;try{let _=await ce({actioncategory:m,actiontype:d,centercode:"",directorytypecode:"rootNode",jobstatus:y,keys:n,keywords:t,modelcode:"rootNode",page:Number(i)||1,rows:Number(o)||20,tenantdbname:w,updateopname:a,updatetimeend:p,updatetimestart:c});return{content:[{type:"text",text:JSON.stringify(_.resp_data)}],structuredContent:_.resp_data}}catch(_){return{isError:!0,content:[{type:"text",text:k(_)}]}}}},{name:"get_model_logic",config:{title:"\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u8BE6\u60C5",description:`\u6839\u636E\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801 modellogiccode \u67E5\u8BE2\u5176\u5B8C\u6574\u8BE6\u60C5\uFF1A\u5305\u542B flycode \u811A\u672C\uFF08operations \u5185 templateparams.flycode\uFF09\u3001\u8F93\u5165\u8F93\u51FA\u53C2\u6570\uFF08input/output\uFF0C\u5206\u522B\u5B9A\u4E49 flycode \u5185\u7F6E\u5BF9\u8C61 IN / OUT \u7684\u7ED3\u6784\u4E0E\u5B57\u6BB5\u5C5E\u6027 properties\uFF0C\u542B propertytypecode \u5B57\u6BB5\u7C7B\u578B\uFF09\u4EE5\u53CA\u64CD\u4F5C\u6B65\u9AA4\u7B49\u3002\u3010\u6574\u6570/\u679A\u4E3E\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8BE6\u60C5\u8FD4\u56DE\u5B57\u6BB5\uFF0C\u90E8\u5206\u4EE5\u6570\u5B57\u8FD4\u56DE\u3001\u90E8\u5206\u4EE5\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u89E3\u6790\u65F6\u4E24\u79CD\u90FD\u517C\u5BB9\uFF09- actioncategory\uFF08\u884C\u4E3A\u7C7B\u578B\uFF09\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA- actiontype\uFF08\u64CD\u4F5C\u7C7B\u578B\uFF09\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3- execmode\uFF08\u6267\u884C\u65B9\u5F0F\uFF09\uFF1A1-\u540C\u6B65\uFF1B2-\u5F02\u6B65- executionmode\uFF08\u6267\u884C\u6A21\u5F0F\uFF09\uFF1Astandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E- tenantdbname\uFF08\u79DF\u6237\u6570\u636E\u5E93\u64CD\u4F5C\u6743\u9650\uFF09\uFF1A\u53EA\u8BFB-\u53EA\u80FD\u67E5\u8BE2\uFF1B\u8BFB\u5199-\u53EF\u589E\u5220\u6539\u67E5\uFF1B\u62A5\u8868-\u4FDD\u7559\u5B57\u6BB5- usedatarule\uFF08\u662F\u5426\u4F7F\u7528\u6570\u636E\u6743\u9650\uFF09\uFF1A1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650- input/output[].datatype\uFF08\u53C2\u6570\u5F62\u6001\uFF09\uFF1A0-\u5355\u5B9E\u4F53\uFF08IN.name \u662F\u5BF9\u8C61\uFF09\uFF1B1-\u6570\u7EC4\uFF08IN.name \u662F\u6570\u7EC4\uFF09- input/output[].properties[].propertytypecode\uFF08\u5B57\u6BB5\u7C7B\u578B\uFF09\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)`,inputSchema:{modellogiccode:x.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801")},outputSchema:Z,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{modellogiccode:n}=e;try{let t=await j({modellogiccode:n});return{content:[{type:"text",text:JSON.stringify(t.resp_data)}],structuredContent:t.resp_data}}catch(t){return{isError:!0,content:[{type:"text",text:k(t)}]}}}}];import{z as b}from"zod";function K(e,n="YYYY-MM-DD HH:mm:ss"){if(isNaN(e.getTime()))throw new Error("Invalid date provided");let t={YYYY:e.getFullYear().toString(),YY:e.getFullYear().toString().slice(-2),MM:String(e.getMonth()+1).padStart(2,"0"),M:String(e.getMonth()+1),DD:String(e.getDate()).padStart(2,"0"),D:String(e.getDate()),HH:String(e.getHours()).padStart(2,"0"),H:String(e.getHours()),mm:String(e.getMinutes()).padStart(2,"0"),m:String(e.getMinutes()),ss:String(e.getSeconds()).padStart(2,"0"),s:String(e.getSeconds()),SSS:String(e.getMilliseconds()).padStart(3,"0")},i=Object.keys(t).sort((a,c)=>c.length-a.length),o=n;for(let a of i)o=o.replace(new RegExp(a,"g"),t[a]);return o}function de(e,n){let t=[],i=[];if(n==="exact"){for(let o=0;o<e.length;o++)t.push(e[o]),i.push(o);return{text:t.join(""),map:i}}for(let o=0;o<e.length;o++){let a=e[o];if(a==="\r"){t.push(``),i.push(o),e[o+1]===``&&o++;continue}if(a===" "||a===" "){let c=o;for(;c<e.length&&(e[c]===" "||e[c]===" ");)c++;if(c>=e.length||e[c]===``||e[c]==="\r"){o=c-1;continue}t.push(a),i.push(o);continue}t.push(a),i.push(o)}return{text:t.join(""),map:i}}function Q(e){return e.replace(/\r\n?/g,``)}function ge(e,n){let t=1,i=Math.min(n,e.length);for(let o=0;o<i;o++)e[o]===``&&t++;return t}function Xe(e,n,t="normalized"){if(n.length===0)return[];let i=de(e,t),o=de(n,t);if(o.text.length===0)return[];let a=[],c=0;for(;;){let p=i.text.indexOf(o.text,c);if(p===-1)break;let d=i.map[p],m=i.map[p+o.text.length-1]+1;a.push({startOffset:d,endOffset:m,startLine:ge(e,d),endLine:ge(e,Math.max(m-1,0))}),c=p+o.text.length}return a}function me(e){let n=new Map;if(e.length<2)return e.length===1&&n.set(e,1),n;for(let t=0;t<e.length-1;t++){let i=e.slice(t,t+2);n.set(i,(n.get(i)??0)+1)}return n}function et(e,n){if(e.size===0&&n.size===0)return 1;if(e.size===0||n.size===0)return 0;let t=0,[i,o]=e.size<=n.size?[e,n]:[n,e];for(let[c,p]of i){let d=o.get(c);d&&(t+=Math.min(p,d))}let a=0;for(let c of e.values())a+=c;for(let c of n.values())a+=c;return a===0?0:2*t/a}function tt(e,n,t=3){let i=Q(e).split(``),o=Q(n).split(``);if(i.length===0||o.length===0)return[];let a=o.map(w=>w.trim()).join(``),c=me(a),p=i.map(w=>w.trim()),d=new Map,m=new Set([o.length-1,o.length,o.length+1]);for(let w of m)if(!(w<1))for(let y=0;y+w<=i.length;y++){let _=p.slice(y,y+w).join(``),I=et(me(_),c);if(I<=.3)continue;let T=d.get(y);(!T||I>T.score)&&d.set(y,{score:I,preview:i.slice(y,y+w).join(``).slice(0,120)})}return Array.from(d.entries()).map(([w,y])=>({startLine:w+1,score:Math.round(y.score*100)/100,preview:y.preview})).sort((w,y)=>y.score-w.score).slice(0,t)}function nt(e){let n=(e.match(/\r\n/g)??[]).length,t=(e.match(/\n/g)??[]).length-n;return n>t?`\r`:``}function rt(e,n){let t=nt(n);return e.replace(/\r\n?|\n/g,t)}var D=40;function ot(e,n,t,i=3){let o=Q(e).split(``),a=[],c=n.slice().sort((p,d)=>p.startOffset-d.startOffset);for(let p of c){let d=Math.max(1,p.startLine-i),m=Math.min(o.length,p.endLine+i),w=e.slice(p.startOffset,p.endOffset).split(``).map(S=>S.replace(/\r$/,"")),y=t.split(``),_=w.length,I=y.length,R=[["@@",`-${p.startLine},${_}`,`+${p.startLine},${I}`,"@@"].join(" ")];for(let S=d;S<p.startLine;S++)R.push(` ${o[S-1]}`);for(let S of w.slice(0,D))R.push(`-${S}`);_>D&&R.push(`... \u7701\u7565 ${_-D} \u884C`);for(let S of y.slice(0,D))R.push(`+${S}`);I>D&&R.push(`... \u7701\u7565 ${I-D} \u884C`);for(let S=p.endLine+1;S<=m;S++)R.push(` ${o[S-1]}`);a.push(R.join(``))}return a.join(``)}function be(e,n,t={}){let i=t.contextLines??3,o=t.topN??3,a=e.slice(),c=[],p=!1;for(let d=0;d<n.length;d++){let m=n[d],w=m.operationIndex??0,y=()=>({index:d,label:m.label??null,status:"FAILED",errorCode:"OK",message:null,operationIndex:w,matchCount:0,replacedCount:0,range:null,suggestions:null,dependentOnFailedOp:p,hunk:null}),_=(E,C,H={})=>{c.push({...y(),status:"FAILED",errorCode:E,message:C,...H}),p=!0};if(!Number.isInteger(w)||w<0||w>=a.length){_("NO_TARGET",`operationIndex=${w} \u4E0D\u5B58\u5728\uFF0C\u5F53\u524D\u5171\u6709 ${a.length} \u4E2A operation\uFF08\u53EF\u7528\u4E0B\u6807 0~${Math.max(a.length-1,0)}\uFF09`);continue}if(typeof m.oldString!="string"||m.oldString.length===0){_("EMPTY_OLD_STRING","oldString \u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32\uFF1B\u5982\u9700\u6574\u4EFD\u91CD\u5199\u8BF7\u6539\u7528 simple_save_flycode_model_logic");continue}if(m.replaceAll===!0&&m.occurrence!=null){_("INVALID_PARAMS","replaceAll \u4E0E occurrence \u4E92\u65A5\uFF0C\u53EA\u80FD\u4E8C\u9009\u4E00");continue}let I=m.matchMode??"normalized",T=a[w],R=Xe(T,m.oldString,I);if(R.length===0){_("NOT_FOUND",`oldString \u5728 operation[${w}] \u7684\u811A\u672C\u4E2D\u672A\u5339\u914D\u5230\u4EFB\u4F55\u5185\u5BB9\uFF08matchMode=${I}\uFF09`,{suggestions:tt(T,m.oldString,o)});continue}let S;if(m.replaceAll===!0)S=R;else if(m.occurrence!=null){if(!Number.isInteger(m.occurrence)||m.occurrence<1||m.occurrence>R.length){_("OCCURRENCE_OUT_OF_RANGE",`occurrence=${m.occurrence} \u8D8A\u754C\uFF0C\u5B9E\u9645\u5339\u914D\u6570\u4E3A ${R.length}`,{matchCount:R.length});continue}S=[R[m.occurrence-1]]}else if(R.length>1){let E=R.map(C=>`\u7B2C ${C.startLine}~${C.endLine} \u884C`).join("\u3001");_("NOT_UNIQUE",`oldString \u5339\u914D\u5230 ${R.length} \u5904\uFF08${E}\uFF09\u3002\u8BF7\u6269\u5927 oldString \u7684\u4E0A\u4E0B\u6587\u4F7F\u5176\u552F\u4E00\uFF0C\u6216\u4F7F\u7528 occurrence \u6307\u5B9A\u7B2C\u51E0\u5904\uFF0C\u6216 replaceAll=true \u5168\u90E8\u66FF\u6362`,{matchCount:R.length});continue}else S=R;let v=rt(m.newString,T),L=T;for(let E=S.length-1;E>=0;E--)L=L.slice(0,S[E].startOffset)+v+L.slice(S[E].endOffset);let N=ot(T,S,v,i);a[w]=L,c.push({...y(),status:"OK",errorCode:"OK",matchCount:R.length,replacedCount:S.length,range:S[0],hunk:N})}return{scripts:a,results:c,ok:c.length>0&&c.every(d=>d.status==="OK")}}async function G(e,n){n.committype==="saverecord"&&(n.msgbody=K(new Date,"YYYY-MM-DD HH:mm")),e.message=JSON.stringify(n);try{return(await V(e)).resp_data}catch(t){return k(t)}}async function ye(e,n,t,i,o={committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""}){let c=(await j({modellogiccode:e})).resp_data;if(!c||!c.operations||c.operations.length===0)return JSON.stringify({error:"\u8BE5\u4E1A\u52A1\u903B\u8F91\u4E0D\u542B operations\uFF08\u5373\u6CA1\u6709 flycode \u811A\u672C\uFF09\uFF0C\u65E0\u6CD5\u901A\u8FC7 simpleSaveFlyCodeModelLogic \u4FDD\u5B58",hint:"\u8BF7\u6539\u7528\u5B8C\u6574\u7684 save_model_logic \u5DE5\u5177\uFF0C\u4F20\u5165\u4ECE get_model_logic \u67E5\u8BE2\u5230\u7684\u5B8C\u6574 LogicResult \u5BF9\u8C61"});let p=c.operations[0];return p.templateparams={...p.templateparams??{},flycode:n},t!==void 0&&(c.input=t),i!==void 0&&(c.output=i),G(c,o)}var fe=150;function it(e){let n=e.filter(o=>o.hunk).map(o=>`--- ops[${o.index}]${o.label?` (${o.label})`:""} @ operation[${o.operationIndex}]${o.hunk}`);if(n.length===0)return"";let t=n.join(``),i=t.split(``);return i.length<=fe?t:`${i.slice(0,fe).join(``)}... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${i.length} \u884C\uFF09`}async function st(e,n){n.committype==="saverecord"&&(n.msgbody=K(new Date,"YYYY-MM-DD HH:mm")),e.message=JSON.stringify(n);try{let t=await V(e);return{ok:!0,text:typeof t?.resp_data=="string"?t.resp_data:JSON.stringify(t?.resp_data??null)}}catch(t){return{ok:!1,text:k(t)}}}async function he(e,n,t,i={}){let o=i.contextLines??3,a=i.dryRun??!1,c=i.verify??!0,p=(v,L)=>({ok:!1,applied:!1,verified:null,errorCode:v,message:L,lengthBefore:0,lengthAfter:0,diff:"",ops:[]});if(!Array.isArray(n)||n.length===0)return p("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let d;try{d=(await j({modellogiccode:e})).resp_data}catch(v){return p("FETCH_FAILED",k(v))}if(!d)return p("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${e} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);if(!d.operations||d.operations.length===0)return p("NO_OPERATIONS","\u8BE5\u4E1A\u52A1\u903B\u8F91\u4E0D\u542B operations\uFF08\u5373\u6CA1\u6709 flycode \u811A\u672C\uFF09\uFF0C\u8BF7\u6539\u7528 save_model_logic \u4FDD\u5B58");let m=d.operations.map(v=>v.templateparams?.flycode??""),w=m.reduce((v,L)=>v+L.length,0),y=be(m,n,{contextLines:o}),_=it(y.results),I=y.scripts.reduce((v,L)=>v+L.length,0);if(!y.ok){let v=y.results.filter(N=>N.status==="FAILED"),L=v.map(N=>N.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${v.length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${L}]\uFF09\u3002\u672C\u6279\u6B21\u672A\u4EA7\u751F\u4EFB\u4F55\u5199\u5165\uFF0C\u8BF7\u6839\u636E ops[].message / suggestions \u4FEE\u6B63\u540E\u91CD\u8BD5`,lengthBefore:w,lengthAfter:I,diff:_,ops:y.results}}if(a)return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u6F14\u6210\u529F\uFF08dryRun=true\uFF09\uFF0C${n.length} \u4E2A op \u5168\u90E8\u547D\u4E2D\uFF0C\u672A\u843D\u5E93`,lengthBefore:w,lengthAfter:I,diff:_,ops:y.results};for(let v=0;v<y.scripts.length;v++)if(y.scripts[v]!==m[v]){let L=d.operations[v].templateparams;d.operations[v].templateparams={...L??{},flycode:y.scripts[v]}}let T=await st(d,t);if(!T.ok)return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:T.text,lengthBefore:w,lengthAfter:I,diff:_,ops:y.results};let R=null,S=T.text;if(c)try{let N=((await j({modellogiccode:e})).resp_data?.operations??[]).map(C=>C.templateparams?.flycode??""),E=[];y.results.forEach((C,H)=>{let M=n[H],ee=N[C.operationIndex]??"";M.newString.length>0&&!ee.includes(M.newString)&&E.push(`ops[${H}] \u7684\u65B0\u5185\u5BB9\u672A\u51FA\u73B0\u5728\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`),!M.newString.includes(M.oldString)&&ee.includes(M.oldString)&&E.push(`ops[${H}] \u7684 oldString \u4ECD\u7136\u5B58\u5728\u4E8E\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`)}),R=E.length===0,E.length>0&&(S=`${T.text} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${E.join("\uFF1B")}`)}catch(v){R=!1,S=`${T.text} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${k(v)}`}return{ok:R===null?!0:R,applied:!0,verified:R,errorCode:R===!1?"VERIFY_FAILED":"OK",message:S,lengthBefore:w,lengthAfter:I,diff:_,ops:y.results}}var W=b.object({committype:b.enum(["saverecord","feature","fix","stylefix","refactor","testfix"]).describe("\u63D0\u4EA4\u7C7B\u578B\uFF0C\u7C7B\u578B committype \u548C\u540D\u79F0 committypetext \u4E00\u4E00\u5BF9\u5E94"),committypetext:b.enum(["\u4FDD\u5B58\u8BB0\u5F55","\u65B0\u529F\u80FD\u6DFB\u52A0","bug\u4FEE\u6539","\u6837\u5F0F\u4FEE\u6539","\u91CD\u6784","\u6D4B\u8BD5"]).describe("\u63D0\u4EA4\u7C7B\u578B\u540D\u79F0\uFF0C\u4E0E committype \u4E00\u4E00\u5BF9\u5E94"),msgbody:b.string().optional().describe("\u6D88\u606F\u5185\u5BB9\u3002\u63D0\u4EA4\u7C7B\u578B\u4E3A saverecord \u65F6\u5FFD\u7565\uFF08\u670D\u52A1\u7AEF\u81EA\u52A8\u586B\u5F53\u524D\u65F6\u95F4\uFF0C\u683C\u5F0F yyyy-MM-dd hh:mm\uFF09\uFF1B\u5176\u4ED6\u7C7B\u578B\u586B\u5199\u5BF9\u5E94\u63D0\u4EA4\u5185\u5BB9\uFF0C\u6309 git \u63D0\u4EA4\u89C4\u8303\u5199")}),xe=[{name:"save_model_logic",config:{title:"\u4FDD\u5B58\u4E1A\u52A1\u903B\u8F91",description:`\u4FDD\u5B58\uFF08\u65B0\u589E\u6216\u66F4\u65B0\uFF09\u4E00\u6761\u4E1A\u52A1\u903B\u8F91\u3002\u4F20\u5165\u4ECE get_model_logic \u67E5\u8BE2\u5F97\u5230\u7684\u5B8C\u6574 LogicResult \u5BF9\u8C61\uFF0C\u6309\u9700\u4FEE\u6539\u5176\u4E2D\u7684 flycode \u811A\u672C\uFF08operations[].templateparams.flycode\uFF09\u3001\u8F93\u5165\u8F93\u51FA\u53C2\u6570\uFF08input/output\uFF09\u6216\u6807\u9898\u540E\u56DE\u4F20\uFF0C\u5E76\u9644\u5E26\u63D0\u4EA4\u4FE1\u606F commitMessage\u3002\u670D\u52A1\u7AEF\u6309 overwrite=false \u4FDD\u5B58\uFF08\u4E0D\u8986\u76D6\u4ED6\u4EBA\u6700\u65B0\u7248\u672C\uFF09\u3002**\u6CE8\u610F**\uFF1A1.\u5F53\u4EC5\u9700\u8981\u4FEE\u6539 flycode \uFF0C\u4E0D\u9700\u8981\u4FEE\u6539\u5176\u4ED6\u5143\u6570\u636E\u65F6\uFF0C\u4F18\u5148\u4F7F\u7528 str_replace_flycode \u5DE5\u5177\u30022.\u5F53\u9700\u8981\u4FEE\u6539 input \u3001ouput \u65F6\uFF0C\u4F18\u5148\u4F7F\u7528 simple_save_flycode_model_logic \u5DE5\u5177\u30023.\u53EA\u6709 str_replace_flycode \u548C simple_save_flycode_model_logic \u65E0\u6CD5\u6EE1\u8DB3\uFF0C\u6216\u9700\u8981\u521B\u5EFA\u65B0\u4E1A\u52A1\u903B\u8F91\u65F6\uFF0C\u624D\u8003\u8651\u672C\u5DE5\u5177\u3002\u3010\u6784\u9020 LogicResult \u7684\u679A\u4E3E\u901F\u67E5\u3011\uFF08\u5B57\u6BB5\u542B\u4E49\u4E0E get_model_logic \u8FD4\u56DE\u4E00\u81F4\uFF0C\u539F\u6837\u56DE\u4F20\u5373\u53EF\uFF09- actioncategory\uFF08\u884C\u4E3A\u7C7B\u578B\uFF09\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA- actiontype\uFF08\u64CD\u4F5C\u7C7B\u578B\uFF09\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3- execmode\uFF08\u6267\u884C\u65B9\u5F0F\uFF09\uFF1A1-\u540C\u6B65\uFF1B2-\u5F02\u6B65- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E- input/output[].datatype\uFF08\u53C2\u6570\u5F62\u6001\uFF09\uFF1A0-\u5355\u5B9E\u4F53\uFF1B1-\u6570\u7EC4- input/output[].properties[].propertytypecode\uFF08\u5B57\u6BB5\u7C7B\u578B\uFF09\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)`,inputSchema:{logic:ue.describe("\u5B8C\u6574\u7684\u4E1A\u52A1\u903B\u8F91 JSON \u5BF9\u8C61\uFF08LogicResult\uFF09\uFF0C\u901A\u5E38\u6765\u81EA get_model_logic \u7684\u8FD4\u56DE\uFF0C\u4FEE\u6539\u540E\u56DE\u4F20"),commitMessage:W.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u7C7B\u578B\u4E0E\u540D\u79F0\u9700\u4E00\u4E00\u5BF9\u5E94\uFF1Bmsgbody \u5728\u975E saverecord \u65F6\u5FC5\u586B")},outputSchema:{result:b.string().describe("\u4FDD\u5B58\u64CD\u4F5C\u7684\u7ED3\u679C\u6D88\u606F\uFF08\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684 resp_data \u5B57\u7B26\u4E32\uFF1B\u5931\u8D25\u65F6\u8FD4\u56DE\u9519\u8BEF\u4F53 JSON\uFF09")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async e=>{let{logic:n,commitMessage:t}=e,i={committype:t.committype,committypetext:t.committypetext,msgbody:t.msgbody??""};try{let o=await G(n,i);return{content:[{type:"text",text:o}],structuredContent:{result:o}}}catch(o){let a=k(o);return{isError:!0,content:[{type:"text",text:a}],structuredContent:{result:a}}}}},{name:"simple_save_flycode_model_logic",config:{title:"\u7B80\u6613\u4FDD\u5B58 flycode \u4E1A\u52A1\u903B\u8F91",description:`\u4FDD\u5B58\uFF08\u65B0\u589E\u6216\u66F4\u65B0\uFF09\u4E00\u6761"\u542B flycode \u811A\u672C"\u7684\u4E1A\u52A1\u903B\u8F91\uFF0C\u4F46\u53EA\u9700\u63D0\u4F9B\u5C11\u91CF\u53C2\u6570\uFF0C\u5927\u5E45\u51CF\u5C11\u4E0A\u4E0B\u6587\u5360\u7528\u3002\u4E0E save_model_logic \u7684\u533A\u522B\uFF1Asave_model_logic \u9700\u8981\u56DE\u4F20\u4ECE get_model_logic \u67E5\u5230\u7684\u5B8C\u6574 LogicResult \u5BF9\u8C61\uFF08\u5F80\u5F80\u5F88\u5927\uFF0C\u6613\u56E0\u8D85\u957F\u88AB\u622A\u65AD\uFF09\uFF1B\u672C\u5DE5\u5177\u53EA\u9700\u4F20\u5165 modellogiccode\u3001flycode \u4EE5\u53CA\uFF08\u53EF\u9009\u7684\uFF09input / output\uFF0C\u670D\u52A1\u7AEF\u4F1A\u81EA\u52A8\u6309 modellogiccode \u62C9\u53D6\u5B8C\u6574\u5BF9\u8C61\u5E76\u53EA\u8986\u76D6\u8FD9\u51E0\u4E2A\u5B57\u6BB5\uFF0C\u5176\u4F59\u5B57\u6BB5\u539F\u6837\u4FDD\u7559\u3002\u9002\u7528\u573A\u666F\uFF1A\u4F60\u6B63\u5728\u4FEE\u6539\u7684\u4E1A\u52A1\u903B\u8F91\u9886\u57DF\u662F flycode\uFF08actioncategory \u4E3A 1/6/7 \u7B49\u542B flycode \u7684\u7C7B\u578B\uFF09\uFF0C\u4EC5\u9700\u53D8\u66F4\u811A\u672C\u6216\u8F93\u5165/\u8F93\u51FA\u53C2\u6570\u65F6\uFF0C\u4F18\u5148\u7528\u672C\u5DE5\u5177\u3002\u4E0D\u9002\u7528\u573A\u666F\uFF1A\u5BFC\u51FA\uFF08actioncategory=5\uFF09\u7B49\u4E0D\u542B flycode \u7684\u7279\u6B8A\u9886\u57DF\uFF0C\u6CA1\u6709 operations \u811A\u672C\u7ED3\u6784\uFF0C\u8BF7\u6539\u7528\u5B8C\u6574\u7684 save_model_logic \u5DE5\u5177\u4FDD\u5B58\u3002\u670D\u52A1\u7AEF\u6309 overwrite=false \u4FDD\u5B58\uFF08\u4E0D\u8986\u76D6\u4ED6\u4EBA\u6700\u65B0\u7248\u672C\uFF09\u3002**\u6CE8\u610F\uFF1A\u5F53\u4EC5\u9700\u8981\u4FEE\u6539 flycode \uFF0C\u4E0D\u9700\u8981\u4FEE\u6539\u5176\u4ED6\u5143\u6570\u636E\u65F6\uFF0C\u4F18\u5148\u4F7F\u7528 str_replace_flycode \u5DE5\u5177\u3002**\u3010input/output \u53C2\u6570\u679A\u4E3E\u901F\u67E5\u3011\uFF08\u4EC5\u5F53\u4F20 input/output \u65F6\u9700\u8981\uFF0C\u7ED3\u6784\u540C logicParametersSchema\uFF09- datatype\uFF08\u53C2\u6570\u5F62\u6001\uFF09\uFF1A0-\u5355\u5B9E\u4F53\uFF08IN.name \u662F\u5BF9\u8C61\uFF09\uFF1B1-\u6570\u7EC4\uFF08IN.name \u662F\u6570\u7EC4\uFF09- properties[].propertytypecode\uFF08\u5B57\u6BB5\u7C7B\u578B\uFF09\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)`,inputSchema:{modelLogicCode:b.string().describe("\u8981\u4FDD\u5B58\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),flycode:b.string().describe("flycode \u811A\u672C\u4EE3\u7801\u5B57\u7B26\u4E32\uFF0C\u5C06\u5199\u5165 operations[0].templateparams.flycode\uFF0C\u8986\u76D6\u539F\u6709\u811A\u672C"),input:A.optional().describe("\u8F93\u5165\u53C2\u6570\uFF08IN \u7ED3\u6784\uFF09\u3002\u4E0D\u4F20\u5219\u4FDD\u7559\u8BE5\u4E1A\u52A1\u903B\u8F91\u539F\u503C\uFF1B\u4F20\u7A7A\u6570\u7EC4\u8868\u793A\u6E05\u7A7A\u8F93\u5165"),output:A.optional().describe("\u8F93\u51FA\u53C2\u6570\uFF08OUT \u7ED3\u6784\uFF09\u3002\u4E0D\u4F20\u5219\u4FDD\u7559\u8BE5\u4E1A\u52A1\u903B\u8F91\u539F\u503C\uFF1B\u4F20\u7A7A\u6570\u7EC4\u8868\u793A\u6E05\u7A7A\u8F93\u51FA"),commitMessage:W.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u7C7B\u578B\u4E0E\u540D\u79F0\u9700\u4E00\u4E00\u5BF9\u5E94\uFF1Bmsgbody \u5728\u975E saverecord \u65F6\u5FC5\u586B")},outputSchema:{result:b.string().describe("\u4FDD\u5B58\u64CD\u4F5C\u7684\u7ED3\u679C\u6D88\u606F\uFF08\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684 resp_data \u5B57\u7B26\u4E32\uFF1B\u5931\u8D25\u65F6\u8FD4\u56DE\u9519\u8BEF\u4F53 JSON\uFF09")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async e=>{let{modelLogicCode:n,flycode:t,input:i,output:o,commitMessage:a}=e,c={committype:a.committype,committypetext:a.committypetext,msgbody:a.msgbody??""};try{let p=await ye(n,t,i,o,c);return{content:[{type:"text",text:p}],structuredContent:{result:p}}}catch(p){let d=k(p);return{isError:!0,content:[{type:"text",text:d}],structuredContent:{result:d}}}}},{name:"str_replace_flycode",config:{title:"\u6279\u91CF\u5C40\u90E8\u66FF\u6362 flycode \u811A\u672C",description:`\u4EE5 str_replace_editor \u6A21\u5F0F\u5C40\u90E8\u4FEE\u6539\u4E1A\u52A1\u903B\u8F91\u7684 flycode \u811A\u672C\uFF1A\u53EA\u9700\u4F20\u5165\u8981\u6539\u52A8\u7684\u65B0\u65E7\u4EE3\u7801\u7247\u6BB5\uFF08oldString / newString\uFF09\uFF0C\u4E0D\u5FC5\u56DE\u4F20\u6574\u4EFD\u811A\u672C\uFF0C\u7531\u670D\u52A1\u7AEF\u62C9\u53D6\u5B8C\u6574\u5BF9\u8C61\u540E\u5B8C\u6210\u5B9A\u4F4D\u4E0E\u66FF\u6362\uFF0C\u5927\u5E45\u8282\u7701\u4E0A\u4E0B\u6587\u3002\u3010\u4F55\u65F6\u7528\u672C\u5DE5\u5177 / \u4F55\u65F6\u7528\u522B\u7684\u3011- \u6539 1~N \u5904\u5C40\u90E8\u7247\u6BB5\uFF08\u6700\u5E38\u7528\uFF09\u2192 \u672C\u5DE5\u5177\uFF0C\u4E00\u6B21\u8C03\u7528\u53EF\u6279\u91CF\u63D0\u4EA4\u591A\u4E2A ops- \u6574\u4EFD\u811A\u672C\u91CD\u5199\u3001\u5927\u8303\u56F4\u91CD\u6784 \u2192 simple_save_flycode_model_logic- \u975E flycode \u9886\u57DF\uFF08\u5BFC\u51FA\u7B49\uFF09\u6216\u8981\u6539 input / output \u7ED3\u6784 \u2192 save_model_logic\u3010\u4E8B\u52A1\u6027\u3011ops \u5177\u5907\u4E8B\u52A1\u6027\uFF1A\u5168\u90E8 op \u9884\u6F14\u6210\u529F\u624D\u4F1A\u843D\u5E93\uFF0C\u4EFB\u4E00 op \u5931\u8D25\u5219\u6574\u6279\u4E2D\u6B62\u3001\u4E0D\u4EA7\u751F\u4EFB\u4F55\u5199\u5165\uFF08\u96F6\u5199\u5165\u56DE\u6EDA\uFF09\u3002\u5B9E\u73B0\u4E0A\u6574\u6279\u53EA\u53D1\u8D77\u4E00\u6B21\u4FDD\u5B58\u8BF7\u6C42\uFF0C\u4E0D\u5B58\u5728\u5199\u4E00\u534A\u7684\u4E2D\u95F4\u6001\u3002\u3010\u6267\u884C\u987A\u5E8F\u3011ops \u6309\u6570\u7EC4\u987A\u5E8F\u4F9D\u6B21\u6267\u884C\uFF0Cops[i+1] \u5728 ops[i] \u7684\u7ED3\u679C\u4E0A\u5339\u914D\uFF0C\u56E0\u6B64\u5141\u8BB8\u300C\u5148\u63D2\u5165\u4E00\u6BB5\u4EE3\u7801\uFF0C\u518D\u6539\u8FD9\u6BB5\u91CC\u7684\u67D0\u884C\u300D\u8FD9\u7C7B\u4F9D\u8D56\uFF1B\u53CD\u4E4B\u82E5 ops[i+1] \u7684\u539F\u6587\u5DF2\u88AB ops[i] \u5220\u9664\uFF0C\u5219\u62A5 NOT_FOUND \u5E76\u6574\u6279\u4E2D\u6B62\u3002\u3010oldString \u4E66\u5199\u8981\u6C42\uFF08\u51B3\u5B9A\u6210\u8D25\uFF09\u3011- \u5FC5\u987B\u975E\u7A7A\uFF0C\u4E14\u5728\u76EE\u6807\u811A\u672C\u4E2D\u552F\u4E00\u547D\u4E2D\uFF08\u5426\u5219\u62A5 NOT_UNIQUE\uFF09- \u63A8\u8350 3~10 \u884C\uFF0C\u52A1\u5FC5\u5305\u542B\u4E00\u5904\u80FD\u533A\u5206\u4E8E\u5176\u4ED6\u4F4D\u7F6E\u7684\u4E0A\u4E0B\u6587\uFF1B\u592A\u77ED\u5BB9\u6613\u591A\u547D\u4E2D- \u76F4\u63A5\u4ECE\u67E5\u8BE2\u5230\u7684\u811A\u672C\u539F\u6587\u91CC\u590D\u5236\uFF0C\u4E0D\u8981\u51ED\u8BB0\u5FC6\u91CD\u5199\uFF1B\u7F29\u8FDB\u3001\u7A7A\u884C\u3001\u6362\u884C\u90FD\u8981\u4E00\u81F4- \u5339\u914D\u9ED8\u8BA4\u5BB9\u5FCD\u6362\u884C\u7B26\u5DEE\u5F02\uFF08CRLF / LF\uFF09\u4E0E\u884C\u5C3E\u7A7A\u767D\u5DEE\u5F02\uFF1B\u9700\u8981\u5B57\u8282\u4E25\u683C\u76F8\u7B49\u65F6\u628A matchMode \u8BBE\u4E3A exact- \u547D\u4E2D\u591A\u5904\u7684\u76F8\u540C\u7247\u6BB5\uFF1A\u7528 occurrence \u6307\u5B9A\u6539\u7B2C\u51E0\u5904\uFF0C\u6216 replaceAll=true \u5168\u90E8\u66FF\u6362\u3010\u5931\u8D25\u540E\u7684\u81EA\u7EA0\u3011\u8FD4\u56DE\u4F53\u4E2D ops[].message \u8BF4\u660E\u539F\u56E0\uFF1BNOT_FOUND \u65F6 ops[].suggestions \u4F1A\u7ED9\u51FA\u6700\u76F8\u4F3C\u7684\u5019\u9009\uFF08\u542B\u884C\u53F7\u4E0E\u76F8\u4F3C\u5EA6\uFF09\uFF0C\u636E\u6B64\u4FEE\u6B63 oldString \u540E\u91CD\u8BD5\u5373\u53EF\u3002\u6539\u52A8\u8F83\u5927\u6216\u4E0D\u786E\u5B9A\u662F\u5426\u552F\u4E00\u65F6\uFF0C\u5EFA\u8BAE\u5148 dryRun=true \u9884\u89C8 diff \u518D\u6B63\u5F0F\u63D0\u4EA4\u3002`,inputSchema:{modelLogicCode:b.string().describe("\u8981\u4FEE\u6539\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:b.array(b.object({oldString:b.string().describe("\u5F85\u66FF\u6362\u7684\u539F\u6587\u7247\u6BB5\uFF0C\u5FC5\u987B\u975E\u7A7A\u4E14\u5728\u76EE\u6807\u811A\u672C\u4E2D\u552F\u4E00\u547D\u4E2D\uFF1B\u8BF7\u4ECE\u67E5\u8BE2\u5230\u7684\u811A\u672C\u539F\u6587\u539F\u6837\u590D\u5236\uFF08\u542B\u7F29\u8FDB\u4E0E\u6362\u884C\uFF09"),newString:b.string().describe("\u66FF\u6362\u540E\u7684\u65B0\u6587\u672C\uFF1B\u4F20\u7A7A\u5B57\u7B26\u4E32\u8868\u793A\u5220\u9664 oldString \u8FD9\u6BB5\u5185\u5BB9"),operationIndex:b.number().int().nonnegative().optional().describe("\u4F5C\u7528\u4E8E\u7B2C\u51E0\u4E2A operation \u7684 flycode \u811A\u672C\uFF0C\u9ED8\u8BA4 0\u3002\u591A\u6570\u4E1A\u52A1\u903B\u8F91\u53EA\u6709\u4E00\u4E2A operation\uFF0C\u65E0\u9700\u4F20"),replaceAll:b.boolean().optional().describe("\u662F\u5426\u66FF\u6362\u5168\u90E8\u5339\u914D\uFF0C\u9ED8\u8BA4 false\u3002\u4E0E occurrence \u4E92\u65A5\uFF0C\u4EC5\u5728\u4F60\u786E\u8BA4\u8981\u6539\u6389\u6240\u6709\u540C\u540D\u7247\u6BB5\u65F6\u7F6E true"),occurrence:b.number().int().positive().optional().describe("\u53EA\u66FF\u6362\u7B2C N \u4E2A\u5339\u914D\uFF081-based\uFF09\uFF0C\u7528\u4E8E\u300C\u591A\u5904\u76F8\u540C\u7247\u6BB5\u53EA\u6539\u5176\u4E2D\u4E00\u5904\u300D\uFF1B\u4E0E replaceAll \u4E92\u65A5"),matchMode:b.enum(["exact","normalized"]).optional().describe("\u5339\u914D\u4E25\u683C\u5EA6\uFF0C\u9ED8\u8BA4 normalized\uFF08\u5BB9\u5FCD CRLF/LF \u4E0E\u884C\u5C3E\u7A7A\u767D\u5DEE\u5F02\uFF09\uFF1Bexact \u4E3A\u5B57\u8282\u4E25\u683C\u76F8\u7B49"),label:b.string().optional().describe("\u53EF\u9009\u6807\u8BC6\uFF0C\u4EC5\u7528\u4E8E\u5728\u8FD4\u56DE\u62A5\u544A\u4E2D\u8FA8\u8BA4\u8BE5 op\uFF0C\u4E0D\u5F71\u54CD\u6267\u884C")})).min(1).describe("\u66FF\u6362\u64CD\u4F5C\u6570\u7EC4\uFF0C\u81F3\u5C11\u4E00\u4E2A\u5143\u7D20\uFF1B\u6309\u6570\u7EC4\u987A\u5E8F\u4F9D\u6B21\u6267\u884C\uFF0C\u5168\u90E8\u6210\u529F\u624D\u843D\u5E93"),commitMessage:W.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u6574\u6279 ops \u5171\u7528\u4E00\u4E2A\uFF1B\u7C7B\u578B\u4E0E\u540D\u79F0\u9700\u4E00\u4E00\u5BF9\u5E94\uFF0Cmsgbody \u5728\u975E saverecord \u65F6\u5FC5\u586B"),dryRun:b.boolean().optional().describe("\u53EA\u9884\u6F14\u5E76\u8F93\u51FA diff\u3001\u4E0D\u843D\u5E93\uFF0C\u9ED8\u8BA4 false\u3002\u6539\u52A8\u8F83\u5927\u6216\u4E0D\u786E\u5B9A oldString \u662F\u5426\u552F\u4E00\u65F6\u5EFA\u8BAE\u5148\u7F6E true"),contextLines:b.number().int().min(0).max(10).optional().describe("diff \u4E2D\u6BCF\u4E2A\u6539\u52A8\u70B9\u4E0A\u4E0B\u4FDD\u7559\u7684\u4E0A\u4E0B\u6587\u884C\u6570\uFF0C\u9ED8\u8BA4 3"),verify:b.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\u6240\u6709\u6539\u52A8\u5DF2\u751F\u6548\uFF0C\u9ED8\u8BA4 true")},outputSchema:{ok:b.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:b.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:b.boolean().nullable().describe("\u4FDD\u5B58\u540E\u56DE\u8BFB\u6821\u9A8C\u7ED3\u679C\uFF1Atrue \u5168\u90E8\u751F\u6548\u3001false \u5B58\u5728\u5F02\u5E38\u3001null \u672A\u843D\u5E93\u6216\u672A\u5F00\u542F\u6821\u9A8C"),errorCode:b.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / NO_OPERATIONS / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:b.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),lengthBefore:b.coerce.number().describe("\u66FF\u6362\u524D\u811A\u672C\u603B\u5B57\u7B26\u6570"),lengthAfter:b.coerce.number().describe("\u66FF\u6362\u540E\u811A\u672C\u603B\u5B57\u7B26\u6570"),diff:b.string().describe("\u5168\u90E8 op \u7684 diff \u7247\u6BB5\uFF08unified hunk \u5F62\u6001\uFF09\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD\uFF1B\u6B64\u5904\u53EA\u56DE\u6539\u52A8\u7247\u6BB5\uFF0C\u4E0D\u56DE\u6574\u4EFD\u811A\u672C"),ops:b.array(b.object({index:b.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),label:b.string().nullable().describe("\u8C03\u7528\u65B9\u4F20\u5165\u7684\u6807\u8BC6"),status:b.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:b.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801\uFF1AOK / EMPTY_OLD_STRING / NOT_FOUND / NOT_UNIQUE / NO_TARGET / INVALID_PARAMS / OCCURRENCE_OUT_OF_RANGE"),message:b.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),operationIndex:b.coerce.number().describe("\u5B9E\u9645\u4F5C\u7528\u7684 operation \u4E0B\u6807"),matchCount:b.coerce.number().describe("oldString \u7684\u5339\u914D\u603B\u6570"),replacedCount:b.coerce.number().describe("\u5B9E\u9645\u66FF\u6362\u7684\u5904\u6570"),range:b.object({startOffset:b.coerce.number().describe("\u8D77\u59CB\u5B57\u7B26\u504F\u79FB"),endOffset:b.coerce.number().describe("\u7ED3\u675F\u5B57\u7B26\u504F\u79FB\uFF08\u4E0D\u542B\uFF09"),startLine:b.coerce.number().describe("\u8D77\u59CB\u884C\u53F7\uFF0C1-based"),endLine:b.coerce.number().describe("\u7ED3\u675F\u884C\u53F7\uFF0C1-based")}).nullable().describe("\u9996\u4E2A\u66FF\u6362\u70B9\u7684\u4F4D\u7F6E\uFF0C\u672A\u6267\u884C\u65F6\u4E3A null"),suggestions:b.array(b.object({startLine:b.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:b.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:b.string().describe("\u5019\u9009\u7247\u6BB5\u9884\u89C8")})).nullable().describe("NOT_FOUND \u65F6\u7684\u76F8\u4F3C\u5019\u9009\uFF0C\u4F9B\u4FEE\u6B63 oldString \u53C2\u8003"),dependentOnFailedOp:b.boolean().describe("\u524D\u5E8F op \u5DF2\u5931\u8D25\u65F6\u4E3A true\uFF0C\u8868\u793A\u672C op \u7684\u7ED3\u679C\u53EF\u80FD\u53D7\u5176\u5F71\u54CD"),hunk:b.string().nullable().describe("\u8BE5 op \u4EA7\u751F\u7684 diff \u7247\u6BB5")})).describe("\u6BCF\u4E2A op \u7684\u6267\u884C\u7ED3\u679C\uFF0C\u4E0E\u5165\u53C2 ops \u4E00\u4E00\u5BF9\u5E94")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async e=>{let{modelLogicCode:n,ops:t,commitMessage:i,dryRun:o=!1,contextLines:a=3,verify:c=!0}=e,p={committype:i.committype,committypetext:i.committypetext,msgbody:i.msgbody??""};try{let d=await he(n,t,p,{dryRun:o,contextLines:a,verify:c});return{isError:!d.ok,content:[{type:"text",text:JSON.stringify({ok:d.ok,applied:d.applied,verified:d.verified,errorCode:d.errorCode,message:d.message,ops:d.ops.map(m=>({index:m.index,status:m.status,errorCode:m.errorCode,message:m.message,operationIndex:m.operationIndex,matchCount:m.matchCount,replacedCount:m.replacedCount,range:m.range,suggestions:m.suggestions,dependentOnFailedOp:m.dependentOnFailedOp})),diff:d.diff})}],structuredContent:d}}catch(d){let m=k(d);return{isError:!0,content:[{type:"text",text:m}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:m,lengthBefore:0,lengthAfter:0,diff:"",ops:[]}}}}}];import{z as h}from"zod";function we(e){return P({url:"/bizserv/biz/pageList",method:"post",data:e,type:"tenant"})}function ke(e){return P({url:"/bizserv/biz/getBizObject",method:"post",data:e,type:"tenant"})}import{z as u}from"zod";var lt=u.array(u.object({columnname:u.string().optional().nullable().describe("\u5C5E\u6027\u5217\u7684\u5217\u540D\uFF0C\u5373\u6570\u636E\u5E93\u8868\u7684\u5B57\u6BB5\u7684\u540D\u5B57"),idxtype:u.union([u.string(),u.number()]).optional().nullable().describe("\u7D22\u5F15\u65B9\u5F0F\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\u3002\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u4EE5\u6570\u5B57\u8FD4\u56DE"),ismaster:u.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u6682\u65E0\u7279\u6B8A\u542B\u4E49\u3002\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u7F3A\u7701"),marktype:u.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),propertycategorycode:u.string().optional().nullable().describe("\u5C5E\u6027\u7C7B\u522B\u7F16\u7801"),propertycode:u.string().optional().nullable().describe("\u5C5E\u6027\u7F16\u7801\uFF0C\u552F\u4E00\u6807\u8BC6\u4E00\u4E2A\u5C5E\u6027"),propertydescr:u.string().optional().nullable().describe("\u5C5E\u6027\u63CF\u8FF0"),propertyname:u.string().optional().nullable().describe("\u5C5E\u6027\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),propertytypecode:u.string().optional().nullable().describe("\u5C5E\u6027\u7C7B\u578B\u7F16\u7801\uFF0C\u7F16\u7801\u548C\u503C\u7684\u5BF9\u5E94\u5173\u7CFB\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)"),publishstatus:u.union([u.string(),u.number()]).optional().nullable().describe("\u5C5E\u6027\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03\u3002\u884D\u751F\u5B9E\u4F53\u4EE5\u5B57\u7B26\u4E32\u8FD4\u56DE"),relationobjectcode:u.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"),relationpropertycode:u.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"),status:u.union([u.string(),u.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"),seq:u.coerce.number().optional().nullable().describe("\u5C5E\u6027\u5E8F\u53F7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),columnnameError:u.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"),candelete:u.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"),parentpropertycode:u.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"),defaultvalue:u.string().optional().nullable().describe("\u6570\u636E\u5B57\u5178\u5C5E\u6027\u5B57\u6BB5\uFF0C\u9ED8\u8BA4\u503C\uFF0C\u4EC5\u6570\u636E\u5B57\u5178\u8FD4\u56DE")}).catchall(u.unknown())),at={confsource:u.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"),datapattern:u.union([u.string(),u.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"),diclayer:u.union([u.string(),u.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"),directorytypecode:u.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:u.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:u.string().optional().nullable().describe("\u4FDD\u5B58\u65F6\u7F16\u5199\u7684\u63D0\u4EA4\u4FE1\u606F\uFF0C\u4F5C\u7528\u7C7B\u4F3C git \u63D0\u4EA4\u4FE1\u606F\u3002\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),objectcatgory:u.union([u.string(),u.number()]).optional().nullable().describe("\u5BF9\u8C61\u7C7B\u522B\uFF0C\u8868\u793A\u662F\u5426\u4E3A\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF0C1-\u662F\uFF1B2-\u5426\u3002\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u4EE5\u6570\u5B57\u8FD4\u56DE"),objectcode:u.string().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:u.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:u.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"),objectname:u.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:u.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801\u3002\u4EC5\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u8FD4\u56DE"),objecttypecode:u.union([u.string(),u.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"),parentobjectcode:u.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode\u3002\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),properties:lt.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"),publishstatus:u.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),script:u.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"),status:u.union([u.string(),u.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"),storagelevel:u.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"),seq:u.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u5E8F\u53F7\u3002\u4EC5\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),tablename:u.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D")},Re=u.looseObject(at);var Se=[{name:"page_entity_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53",description:`\u6839\u636E\u67E5\u8BE2\u6761\u4EF6\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53\u5217\u8868\u3002\u9002\u7528\u4E8E\u67E5\u627E\u4E1A\u52A1\u5BF9\u8C61\uFF08\u8868\uFF09\u53CA\u5176\u5143\u4FE1\u606F\u3002\u3010\u6574\u6570\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8F93\u5165\u7B5B\u9009\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF0C\u5982 datapattern \u4F20 "3" \u8868\u793A\u89C6\u56FE\uFF1B\u8F93\u51FA\u5B57\u6BB5\u4EE5\u6570\u5B57\u8FD4\u56DE\uFF0C\u90E8\u5206\u5B9E\u4F53\u7C7B\u578B\u4EE5\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF09- datapattern\uFF08\u5B9E\u4F53\u7C7B\u578B\uFF09\uFF1A1-\u539F\u751F\u5B9E\u4F53\uFF1B2-\u884D\u751F\u5B9E\u4F53\uFF1B3-\u89C6\u56FE\uFF1B4-\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53- objecttypecode\uFF08\u5B9E\u4F53\u5206\u7C7B\uFF09\uFF1A1-\u57FA\u672C\u5B9E\u4F53\uFF1B2-\u6811\u5F62\u5B9E\u4F53\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5B9E\u4F53- objectcatgory\uFF08\u662F\u5426\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u662F\uFF1B2-\u5426- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528- publishstatus\uFF08\u53D1\u5E03\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E- hasoffline\uFF08\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u6709\uFF1B0-\u65E0`,inputSchema:{objectname:h.string().optional().describe("\u5B9E\u4F53\u4E2D\u6587\u540D\u3001\u5B9E\u4F53\u8868\u540D\u3001\u5B9E\u4F53 objectcode \u6A21\u7CCA\u5339\u914D"),page:h.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:h.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updatetimestart:h.string().optional().describe("\u4FEE\u6539\u5F00\u59CB\u65F6\u95F4\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss\uFF0C\u548C\u4FEE\u6539\u7ED3\u675F\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0"),updatetimeend:h.string().optional().describe("\u4FEE\u6539\u7ED3\u675F\u65F6\u95F4\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss\uFF0C\u548C\u4FEE\u6539\u5F00\u59CB\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0"),datapattern:h.string().optional().describe("\u5B9E\u4F53\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u539F\u751F\u5B9E\u4F53\uFF1B2-\u884D\u751F\u5B9E\u4F53\uFF1B3-\u89C6\u56FE\uFF1B4-\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53"),objecttypecode:h.string().optional().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")},outputSchema:{data:h.array(h.object({confsource:h.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),createaccountcode:h.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:h.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:h.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),datapattern:h.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"),directorytypecode:h.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:h.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),hasoffline:h.string().optional().nullable().describe("\u5B9E\u4F53\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C1-\u6709\uFF1B0-\u65E0"),marktype:h.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:h.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C objectcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectcatgory:h.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"),objectcode:h.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:h.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:h.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"),objectname:h.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:h.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801"),objecttypecode:h.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"),parentobjectcode:h.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode"),publishstatus:h.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),status:h.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:h.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D"),updateaccountcode:h.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:h.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),updatetime:h.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(h.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:h.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:h.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:h.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:h.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{objectname:n="",page:t=1,rows:i=20,updatetimestart:o="",updatetimeend:a="",datapattern:c="",objecttypecode:p=""}=e;try{let d=await we({centercode:"",directorytypecode:"rootNode",starttime:"",objectname:n,page:Number(t)||1,rows:Number(i)||20,updatetimestart:o,updatetimeend:a,datapattern:c,objecttypecode:p});return{content:[{type:"text",text:JSON.stringify(d.resp_data)}],structuredContent:d.resp_data}}catch(d){return{isError:!0,content:[{type:"text",text:k(d)}]}}}},{name:"get_entity",config:{title:"\u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5",description:`\u6839\u636E\u5B9E\u4F53\u7684\u7F16\u7801 objectcode \u67E5\u8BE2\u5176\u5B8C\u6574\u8BE6\u60C5\uFF1A\u5305\u542B\u5B9E\u4F53\u7684\u57FA\u672C\u4FE1\u606F\uFF08\u4E2D\u6587\u540D\u3001\u6807\u8BB0\u3001\u63CF\u8FF0\u3001\u5206\u7C7B\u3001\u6570\u636E\u6A21\u5F0F\u3001\u53D1\u5E03\u72B6\u6001\u7B49\uFF09\u4EE5\u53CA\u5B9E\u4F53\u7684\u5C5E\u6027\u6570\u7EC4 properties\uFF08\u6BCF\u4E2A\u5C5E\u6027\u7684\u5217\u540D\u3001\u7C7B\u578B\u3001\u5173\u8054\u5B9E\u4F53\u3001\u7D22\u5F15\u65B9\u5F0F\u7B49\uFF09\u3002\u3010\u6574\u6570\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8BE6\u60C5\u8FD4\u56DE\u5B57\u6BB5\uFF0C\u591A\u6570\u4EE5\u6570\u5B57\u8FD4\u56DE\uFF0C\u90E8\u5206\u5B9E\u4F53\u7C7B\u578B\u4EE5\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u89E3\u6790\u65F6\u4E24\u79CD\u90FD\u517C\u5BB9\uFF09- datapattern\uFF08\u6570\u636E\u6A21\u5F0F\uFF09\uFF1A1-\u539F\u751F\u5B9E\u4F53\uFF1B2-\u884D\u751F\u5B9E\u4F53\uFF1B3-\u89C6\u56FE\uFF1B4-\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\uFF08\u6CE8\uFF1A\u8BE6\u60C5\u63A5\u53E3\u591A\u6570\u5B9E\u4F53\u7C7B\u578B\u4E0D\u8FD4\u56DE\u8BE5\u5B57\u6BB5\uFF0C\u5B83\u662F\u5217\u8868\u63A5\u53E3\u5B57\u6BB5\uFF09- objecttypecode\uFF08\u5B9E\u4F53\u5206\u7C7B\uFF09\uFF1A1-\u57FA\u672C\u5B9E\u4F53\uFF1B2-\u6811\u5F62\u5B9E\u4F53\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5B9E\u4F53- objectcatgory\uFF08\u662F\u5426\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF09\uFF1A1-\u662F\uFF1B2-\u5426- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\uFF08\u8BE6\u60C5\u63A5\u53E3\u8BE5\u5B57\u6BB5\u8FD4\u56DE\u4E0D\u7A33\u5B9A\uFF0C\u90E8\u5206\u8C03\u7528\u4E0D\u8FD4\u56DE\uFF09- publishstatus\uFF08\u53D1\u5E03\u72B6\u6001\uFF09\uFF1A1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E- properties[].idxtype\uFF08\u7D22\u5F15\u65B9\u5F0F\uFF09\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15- properties[].propertytypecode\uFF08\u5C5E\u6027\u7C7B\u578B\uFF09\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)`,inputSchema:{objectcode:h.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u5B9E\u4F53\u7684\u7F16\u7801")},outputSchema:Re,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{objectcode:n}=e;try{let t=await ke({objectcode:n});return{content:[{type:"text",text:JSON.stringify(t.resp_data)}],structuredContent:t.resp_data}}catch(t){return{isError:!0,content:[{type:"text",text:k(t)}]}}}}];import{z as s}from"zod";function ve(e){return P({url:"/bizserv/bizpage/pageList",method:"post",data:e,type:"tenant"})}function Pe(e){return P({url:"/bizserv/bizpage/getPage",method:"post",data:e,type:"tenant"})}var ct=s.object({createtime:s.union([s.string(),s.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:s.union([s.string(),s.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),createaccountname:s.union([s.string(),s.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),code:s.string().describe("\u8868\u5355/\u9875\u9762\u7684\u7F16\u7801"),clientcategorycode:s.union([s.string(),s.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),confsource:s.coerce.number().nullable().optional().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),directorytypecode:s.union([s.string(),s.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:s.union([s.string(),s.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),marktype:s.coerce.number().nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:s.union([s.string(),s.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C code \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),pagetemplatecode:s.union([s.string(),s.null()]).optional().describe("\u9875\u9762\u6A21\u677F\u7F16\u7801"),pagetypename:s.union([s.string(),s.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\u540D\u79F0"),pagedescr:s.union([s.string(),s.null()]).optional().describe("\u9875\u9762\u63CF\u8FF0"),ref:s.union([s.string(),s.null()]).optional().describe("\u5916\u90E8\u5F15\u7528\uFF0C\u4E00\u822C\u4F20\u7A7A\u5B57\u7B26\u4E32"),status:s.coerce.number().nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:s.union([s.string(),s.null()]).optional().describe("\u6807\u9898"),type:s.coerce.number().nullable().optional().describe("\u7C7B\u578B\uFF08\u6574\u6570\uFF09\u542B\u4E49\uFF1A5-\u5217\u8868\u67E5\u8BE2\uFF1B1-\u666E\u901A\u9875\u9762\uFF1B99-\u4E8C\u5F00\u9875\u9762\uFF1B10-switchpage\uFF1B11-\u6811\u5BFC\u822A\u5217\u8868\uFF1B100-\u539F\u751F\u9875\u9762\uFF1B101-\u7A7A\u767D\u9875\u9762\uFF1B7-\u62A5\u8868\u9875\u9762\uFF1B12-\u6392\u5E8F\u9875\u9762\uFF1B300-\u6B65\u9AA4\u7BA1\u7406\u8868\u5355\uFF1B1000-\u5168\u5C40\u51FD\u6570"),updatetime:s.union([s.string(),s.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountcode:s.union([s.string(),s.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:s.union([s.string(),s.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),versionnum:s.union([s.string(),s.null()]).optional().describe("\u7248\u672C\u53F7")}).catchall(s.unknown()),ut={renderinfo:s.any().optional().describe("IDE \u6E32\u67D3\u6807\u8BB0"),pageinfo:s.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 1\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F"),businessmodel:s.any().optional().describe("\u9875\u9762\u5F15\u7528\u5230\u7684\u540E\u7AEF\u4E1A\u52A1\u6A21\u578B\uFF08\u63A5\u53E3\uFF09\uFF0C\u7ED3\u6784\u540C logicClient \u7684 LogicResult"),actionlogic:s.any().optional().describe("\u52A8\u4F5C\u903B\u8F91\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),presenter:s.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 2\uFF1A\u5B9A\u4E49\u7684\u5404\u79CD\u4E8B\u4EF6\uFF0C\u5728\u4E0D\u540C\u65F6\u673A\u89E6\u53D1\uFF0C\u5982\u6309\u94AE\u70B9\u51FB\u3001\u4E0B\u62C9\u6846\u9009\u62E9\u7684\u503C\u6539\u53D8\u3001\u9996\u6B21\u52A0\u8F7D\u7B49"),view:s.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 3\uFF1A\u5B9A\u4E49\u7684\u9875\u9762\u7ED3\u6784\uFF0C\u9875\u9762\u7531\u54EA\u4E9B\u63A7\u4EF6\u6784\u6210\uFF0C\u63A7\u4EF6\u7684\u5C5E\u6027\u3001\u6837\u5F0F\uFF0C\u7ED1\u5B9A\u54EA\u4E9B\u4E8B\u4EF6\u7B49"),controls:s.any().optional().describe("\u63A7\u4EF6\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),pageswitch:s.any().optional().describe("\u4EC5 switchpage \u7C7B\u578B\u7684\u8868\u5355\u6709\u6B64\u5B57\u6BB5\uFF0C\u63CF\u8FF0 switchpage \u5305\u542B\u54EA\u4E9B\u9875\u9762"),message:s.string().nullable().optional().describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u6BCF\u6B21\u4FDD\u5B58\u65F6\u586B\u5199\u7684\uFF0C\u7C7B\u4F3C git \u7684\u63D0\u4EA4\u4FE1\u606F")},_e=[{name:"page_form_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u8868\u5355/\u9875\u9762",description:`\u6839\u636E\u67E5\u8BE2\u6761\u4EF6\u5206\u9875\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u5217\u8868\uFF08Form/Page\uFF09\u3002\u9002\u7528\u4E8E\u67E5\u627E\u9875\u9762\u53CA\u5176\u5143\u4FE1\u606F\u3002\u3010\u6574\u6570\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8F93\u5165\u7B5B\u9009\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF0C\u5982 status \u4F20 "1"\u3001type \u4F20 "5"\uFF1B\u8F93\u51FA\u5B57\u6BB5\u4EE5\u6570\u5B57\u8FD4\u56DE\uFF09- type\uFF08\u9875\u9762\u7C7B\u578B\uFF09\uFF1A5-\u5217\u8868\u67E5\u8BE2\uFF1B1-\u666E\u901A\u9875\u9762\uFF1B99-\u4E8C\u5F00\u9875\u9762\uFF1B10-switchpage\uFF1B11-\u6811\u5BFC\u822A\u5217\u8868\uFF1B100-\u539F\u751F\u9875\u9762\uFF1B101-\u7A7A\u767D\u9875\u9762\uFF1B7-\u62A5\u8868\u9875\u9762\uFF1B12-\u6392\u5E8F\u9875\u9762\uFF1B300-\u6B65\u9AA4\u7BA1\u7406\u8868\u5355\uFF1B1000-\u5168\u5C40\u51FD\u6570- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528- clientcategorycode\uFF08\u7528\u6237\u7AEF\uFF09\uFF1A1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E`,inputSchema:{status:s.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),keys:s.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355 code / title"),keywords:s.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355\u4E2D\u7684\u5173\u952E\u8BCD"),clientcategorycode:s.string().optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),page:s.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:s.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),type:s.string().optional().describe("\u7C7B\u578B\uFF08\u6574\u6570\uFF09\u542B\u4E49\uFF1A5-\u5217\u8868\u67E5\u8BE2\uFF1B1-\u666E\u901A\u9875\u9762\uFF1B99-\u4E8C\u5F00\u9875\u9762\uFF1B10-switchpage\uFF1B11-\u6811\u5BFC\u822A\u5217\u8868\uFF1B100-\u539F\u751F\u9875\u9762\uFF1B101-\u7A7A\u767D\u9875\u9762\uFF1B7-\u62A5\u8868\u9875\u9762\uFF1B12-\u6392\u5E8F\u9875\u9762\uFF1B300-\u6B65\u9AA4\u7BA1\u7406\u8868\u5355\uFF1B1000-\u5168\u5C40\u51FD\u6570"),updateopname:s.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D"),updatetimestart:s.string().optional().describe("\u4FEE\u6539\u5F00\u59CB\u65F6\u95F4\uFF0C\u4E0E\u4FEE\u6539\u7ED3\u675F\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss"),updatetimeend:s.string().optional().describe("\u4FEE\u6539\u7ED3\u675F\u65F6\u95F4\uFF0C\u4E0E\u4FEE\u6539\u5F00\u59CB\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss")},outputSchema:{data:s.array(ct).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:s.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:s.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:s.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:s.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{status:n="",keys:t="",keywords:i="",clientcategorycode:o="",page:a=1,rows:c=20,type:p="",updateopname:d="",updatetimestart:m="",updatetimeend:w=""}=e;try{let y=await ve({centercode:"",directorytypecode:"rootNode",starttime:"",status:n,keys:t,keywords:i,clientcategorycode:o,page:Number(a)||1,rows:Number(c)||20,type:p,updateopname:d,updatetimestart:m,updatetimeend:w});return{content:[{type:"text",text:JSON.stringify(y.resp_data)}],structuredContent:y.resp_data}}catch(y){return{isError:!0,content:[{type:"text",text:k(y)}]}}}},{name:"get_form",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u8BE6\u60C5",description:`\u6839\u636E\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801 code \u83B7\u53D6\u5176\u5B8C\u6574\u8BE6\u60C5\u3002\u8FD4\u56DE\u7ED3\u6784\u4E3A\u9876\u5C42\u5BF9\u8C61\uFF0C\u5305\u542B\uFF1A- pageinfo\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F- businessmodel\uFF1A\u5F15\u7528\u7684\u540E\u7AEF\u4E1A\u52A1\u6A21\u578B/\u63A5\u53E3\uFF08\u7ED3\u6784\u540C logicClient \u7684 LogicResult\uFF09- presenter\uFF1A\u4E8B\u4EF6\u5904\u7406\u5668\uFF08\u52A0\u8F7D/\u6309\u94AE\u70B9\u51FB/\u4E0B\u62C9\u6539\u53D8\u7B49\u65F6\u673A\u89E6\u53D1\uFF09- view\uFF1A\u9875\u9762\u7ED3\u6784\uFF0C\u9012\u5F52\u7684\u63A7\u4EF6\u8282\u70B9\u6811- controls\uFF1A\u6241\u5E73\u63A7\u4EF6\u6570\u7EC4\uFF08\u90E8\u5206\u9875\u9762\u624D\u6709\uFF09- pageswitch\uFF1A\u4EC5 switchpage \u7C7B\u578B\u624D\u6709\u7684\u9875\u9762\u5207\u6362\u914D\u7F6E- message\uFF1A\u6BCF\u6B21\u4FDD\u5B58\u586B\u5199\u7684\u63D0\u4EA4\u4FE1\u606F\uFF08\u7C7B\u4F3C git \u63D0\u4EA4\u4FE1\u606F\uFF09\u3010\u5B57\u6BB5\u901F\u67E5\uFF08\u7F16\u7801\u5B57\u6BB5\u4E0E\u5173\u952E\u7ED3\u6784\uFF0C\u4F9B\u7406\u89E3\u8FD4\u56DE JSON\uFF09\u3011pageinfo \u5173\u952E\u5B57\u6BB5\uFF1A code \u7F16\u7801\uFF1Btitle \u6807\u9898\uFF1Btype \u9875\u9762\u7C7B\u578B\u6574\u6570\uFF08\u540C page_form_list \u7684 type\uFF1A5-\u5217\u8868\u67E5\u8BE2/1-\u666E\u901A\u9875\u9762/99-\u4E8C\u5F00/10-switchpage/11-\u6811\u5BFC\u822A\u5217\u8868/100-\u539F\u751F/101-\u7A7A\u767D/7-\u62A5\u8868/12-\u6392\u5E8F/300-\u6B65\u9AA4\u7BA1\u7406/1000-\u5168\u5C40\u51FD\u6570\uFF09\uFF1Bstatus \u72B6\u6001\uFF081-\u542F\u7528/2-\u505C\u7528\uFF09\uFF1Bmarktype \u521B\u5EFA\u6807\u8BB0\uFF080-\u5E73\u53F0/1-\u4EA7\u54C1/2-\u79DF\u6237\uFF09\uFF1Bversionnum \u7248\u672C\u53F7\uFF1Bdirectorytypecode \u76EE\u5F55\u5206\u7C7B\u7F16\u7801\uFF1Bpagetemplatecode \u6A21\u677F\u7F16\u7801\uFF1Bclientcategorycode \u7528\u6237\u7AEF\uFF081-web/2-app/6-\u5C0F\u7A0B\u5E8F\uFF09\uFF1Bpagedescr \u63CF\u8FF0\uFF1Bref \u5916\u90E8\u5F15\u7528\uFF08\u4E00\u822C\u7A7A\uFF09\uFF1Beventlist \u9875\u9762\u7EA7\u4E8B\u4EF6\uFF08\u5982 onload\uFF0C\u542B trigger/handler\uFF09\uFF1Breportdesclist \u5173\u8054\u62A5\u8868\uFF08reportcode/desccode\uFF09\uFF1Bcache \u7F13\u5B58\u914D\u7F6E\uFF08keys/enable/submitevents\uFF09\u3002businessmodel\uFF08\u6570\u7EC4\uFF0C\u6BCF\u9879\uFF09\uFF1Aactioncategory/actiontype \u52A8\u4F5C\u7C7B\u578B\uFF1Bmarktype \u521B\u5EFA\u6807\u8BB0\uFF1Bmodelcode \u6A21\u578B\u7F16\u7801\uFF1Bmodellogiccode/modellogicname \u903B\u8F91\u7F16\u7801/\u540D\u79F0\uFF1Binput/output \u4E1A\u52A1\u5BF9\u8C61\u53CA\u5176 properties\uFF08name/objectcode/propertycode/propertytypecode\uFF09\uFF1Boperations \u6267\u884C\u6B65\u9AA4\uFF08seq \u5E8F\u53F7/status/templateref \u6A21\u677F\u5F15\u7528/templateparams\uFF09\uFF1Bstatus \u72B6\u6001\u3002presenter\uFF1Ainitial \u521D\u59CB\u5316\u5904\u7406\u5668\u3001interface \u5BF9\u5916\u63A5\u53E3\uFF08\u4F9B\u5176\u4ED6\u9875\u9762\u8C03\u7528\uFF0C\u9760 key \u6807\u8BC6\uFF09\u3001handlers \u4E8B\u4EF6\u5904\u7406\u5668\uFF08\u6309\u94AE\u70B9\u51FB\u7B49\uFF09\uFF1B\u6BCF\u9879\u542B code/desc/name/key/condition\uFF08flycode \u6761\u4EF6\uFF09/actions\uFF1Baction \u7684 type\uFF08receivelink \u63A5\u6536\u53C2\u6570/flycode \u811A\u672C/datarequest \u8BF7\u6C42\u540E\u7AEF/eventlink \u4E8B\u4EF6/exportfile \u5BFC\u51FA/popup \u5F39\u7A97\u7B49\uFF09\u3001script\uFF08flycode \u811A\u672C\u4F53\uFF09\u3001logiccode\uFF08\u5173\u8054\u540E\u7AEF\u903B\u8F91\uFF09\u3001param\uFF08receivelink \u4F20\u53C2\uFF1Adatatype/name/ctrlcode/properties\uFF09\u3002view\uFF08\u9012\u5F52\u8282\u70B9\u6811\uFF09\uFF1A\u6BCF\u4E2A\u8282\u70B9 type \u4E3A\u63A7\u4EF6\u79CD\u7C7B\u5224\u522B\u7B26\uFF08layout \u5E03\u5C40/report \u62A5\u8868/datagrid \u8868\u683C/textinput \u6587\u672C\u8F93\u5165/button \u6309\u94AE/table \u8868\u683C/dateinput \u65E5\u671F/select \u4E0B\u62C9/checkbox \u591A\u9009/image \u56FE\u7247/upload \u4E0A\u4F20/text \u6587\u672C \u7B49\uFF09\uFF0Ccontent \u4E3A\u5B50\u8282\u70B9\u6570\u7EC4\uFF08\u9012\u5F52\uFF09\uFF0Ceventlist \u8282\u70B9\u4E8B\u4EF6\uFF1B\u5E38\u7528\u6837\u5F0F/\u4EA4\u4E92\u5C5E\u6027\uFF1Atitle \u6807\u9898\u3001hidden \u9690\u85CF\uFF08'1'/'0'\uFF09\u3001readonly \u53EA\u8BFB\u3001required \u5FC5\u586B\u3001placeholder \u5360\u4F4D\u63D0\u793A\u3001text \u6587\u672C\u3001icon \u56FE\u6807\u3001width/height \u5C3A\u5BF8\u3001color/backgroundcolor \u989C\u8272\u3001flex/flexdirection/flexgrow \u5F39\u6027\u5E03\u5C40\u3001margin*/padding* \u8FB9\u8DDD/\u5185\u8FB9\u8DDD\u3001display \u663E\u793A\u65B9\u5F0F\u3001bordervisible \u8FB9\u6846\u3001checkable \u53EF\u52FE\u9009\u3001multiselectable \u591A\u9009\u3001searchable \u53EF\u641C\u7D22\u3001maxlength \u6700\u5927\u957F\u5EA6\u3001format \u683C\u5F0F\uFF08\u5982\u65E5\u671F\uFF09\u3001decimaldigits \u5C0F\u6570\u4F4D\u3001options \u4E0B\u62C9\u9009\u9879\uFF08[{key,text}]\uFF09\u3001cols \u8868\u683C\u5217\u5B9A\u4E49\u3002controls\uFF08\u6241\u5E73\u6570\u7EC4\uFF09\uFF1Atype/code/name/title/eventlist/options/rows\uFF0C\u5C5E\u6027\u542B\u4E49\u540C view \u8282\u70B9\u3002pageswitch\uFF08\u4EC5 switchpage\uFF09\uFF1Amode \u5207\u6362\u6A21\u5F0F\u3001menu \u83DC\u5355\u3001pagerefs \u88AB\u5F15\u7528\u9875\u9762\uFF08pagecode/functioncode/title/hidden/marktype\uFF09\u3001eventlist\u3002message\uFF1A\u63D0\u4EA4\u4FE1\u606F\u6587\u672C\u3002`,inputSchema:{code:s.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:s.looseObject(ut),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{code:n}=e;try{let t=await Pe({code:n});return{content:[{type:"text",text:JSON.stringify(t.resp_data)}],structuredContent:t.resp_data}}catch(t){return{isError:!0,content:[{type:"text",text:k(t)}]}}}}];import{z as g}from"zod";function Ie(e,n){return P({url:"/api/masterserv/hpage/listH5Page",method:"post",data:e,type:"business",token:n})}function Te(e,n){return P({url:"/api/masterserv/hpage/listH5PageByOne",method:"post",data:e,type:"business",token:n})}function Le(e){return P({url:"/pemission/rolepermission/account/getPreviewAccounts",method:"post",data:e,type:"tenant"})}async function Ee(){let e=F();if(!e)throw new Error("\u67E5\u8BE2 H5 \u8868\u5355\u524D\u5FC5\u987B\u5148\u8C03\u7528 setTenant() \u8BBE\u7F6E\u79DF\u6237\u4FE1\u606F\uFF08authenticate \u6D41\u7A0B\u4F1A\u5199\u5165\uFF09");let n;for(let t=1;t<=3;t++)try{let i=await Le({pvcode:e.productVersionCode,rows:200}),a=(Array.isArray(i?.resp_data)?i.resp_data:[]).find(c=>c.positionname==="SFA\u7CFB\u7EDF\u7BA1\u7406\u5458");if(!a)throw new Error("\u672A\u5728\u9884\u89C8\u8D26\u53F7\u5217\u8868\u4E2D\u627E\u5230\u804C\u4F4D\u4E3A\u300CSFA\u7CFB\u7EDF\u7BA1\u7406\u5458\u300D\u7684\u8D26\u53F7");if(!a.token)throw new Error("\u627E\u5230\u804C\u4F4D\u4E3A\u300CSFA\u7CFB\u7EDF\u7BA1\u7406\u5458\u300D\u7684\u8D26\u53F7\uFF0C\u4F46\u5176 token \u4E3A\u7A7A\uFF0C\u65E0\u6CD5\u7528\u4E8E H5 \u8868\u5355\u67E5\u8BE2");return a.token}catch(i){n=i,t<3&&await new Promise(o=>setTimeout(o,800))}throw n}async function Oe(e){let n=await Ee();return Ie(e,n)}async function Ce(e){let n=await Ee();return Te(e,n)}var Ne=g.object({confjson:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u5185\u5BB9 JSON \u5B57\u7B26\u4E32\uFF0C\u5305\u542B H5 \u8868\u5355\u7684 Vue \u4EE3\u7801\uFF0C\u5143\u6570\u636E\u914D\u7F6E"),directorytypecode:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF0C\u9884\u7559\u5B57\u6BB5"),pagecode:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801"),pagedescr:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u63CF\u8FF0"),pagetype:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u9875\u9762\u7C7B\u578B\uFF0C\u9884\u7559\u5B57\u6BB5"),platcreateop:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u4EBA\u59D3\u540D"),platcreatetime:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u65F6\u95F4"),platstatus:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u5E73\u53F0\u72B6\u6001"),platupdateop:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),platupdatetime:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),status:g.union([g.string(),g.number(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u72B6\u6001\uFF1B1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:g.union([g.string(),g.null()]).optional().describe("H5 \u8868\u5355\u7684\u6807\u9898")}).catchall(g.unknown()),pt=Ne.omit({confjson:!0}),dt={data:g.array(pt).describe("\u8FD9\u4E00\u9875\u7684 H5 \u8868\u5355\u6570\u636E"),pageCount:g.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:g.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:g.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:g.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},gt=Ne.shape,Fe=[{name:"page_h5_form",config:{title:"\u5206\u9875\u67E5\u8BE2 H5 \u8868\u5355\u5217\u8868",description:`\u6839\u636E\u67E5\u8BE2\u6761\u4EF6\u5206\u9875\u67E5\u8BE2\u667A\u6167100\u7684 H5 \u5F15\u64CE\u914D\u7F6E\u7684 H5 \u8868\u5355\u5217\u8868\u3002\u9002\u7528\u4E8E\u67E5\u627E H5 \u8868\u5355\u53CA\u5176\u5143\u4FE1\u606F\uFF08\u7F16\u7801\u3001\u6807\u9898\u3001\u72B6\u6001\u3001\u521B\u5EFA/\u66F4\u65B0\u65F6\u95F4\u7B49\uFF09\u3002\u6CE8\u610F\uFF1A\u5217\u8868\u7ED3\u679C\u4E0D\u542B confjson \u5B57\u6BB5\uFF08\u8BE5\u5B57\u6BB5\u4E3A H5 \u8868\u5355\u7684\u5185\u5BB9 JSON\uFF0C\u4F53\u79EF\u8F83\u5927\uFF09\uFF1B\u5982\u9700\u83B7\u53D6\u8868\u5355\u7684 confjson \u5185\u5BB9\uFF0C\u8BF7\u8C03\u7528 get_h5_form \u83B7\u53D6\u8BE6\u60C5\u3002\u3010\u6574\u6570\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8F93\u5165\u7B5B\u9009\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF0C\u5982 status \u4F20 "1"\uFF1B\u8F93\u51FA status \u4EE5 string | number \u8FD4\u56DE\uFF09- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u5F53\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u5305\u542B "HTTP 404 Not Found" \u65F6\u8BF4\u660E\u6B64\u79DF\u6237\u6CA1\u6709\u5B89\u88C5 H5 \u5F15\u64CE\u3002`,inputSchema:{keywords:g.string().optional().describe("H5 \u8868\u5355\u4EE3\u7801\u53CA\u5176\u5143\u6570\u636E\u4E2D\u5305\u542B\u7684\u5173\u952E\u5B57\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),pagecode:g.string().optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),status:g.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),title:g.string().optional().describe("H5 \u8868\u5355\u7684\u6807\u9898\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),updateopname:g.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),page:g.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:g.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:dt,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{keywords:n="",pagecode:t="",status:i="",title:o="",updateopname:a="",page:c=1,rows:p=20}=e;try{let m=(await Oe({keywords:n,pagecode:t,status:i,title:o,updateopname:a,page:Number(c)||1,rows:Number(p)||20})).resp_data,w=Array.isArray(m?.data)?m.data.map(_=>{let I={..._};return delete I.confjson,I}):m?.data,y={...m,data:w};return{content:[{type:"text",text:JSON.stringify(y)}],structuredContent:y}}catch(d){return{isError:!0,content:[{type:"text",text:k(d)}]}}}},{name:"get_h5_form",config:{title:"\u67E5\u8BE2 H5 \u8868\u5355\u8BE6\u60C5",description:`\u6839\u636E H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801 pagecode \u83B7\u53D6\u5176\u5B8C\u6574\u8BE6\u60C5\u3002\u8FD4\u56DE\u7ED3\u6784\u4E3A\u300C\u5355\u4E2A H5 \u8868\u5355\u5BF9\u8C61\u300D\uFF08\u5305\u542B pagecode/title/confjson \u7B49\u5B57\u6BB5\uFF09\uFF0C\u5173\u952E\u5B57\u6BB5\uFF1A- pagecode\uFF1AH5 \u8868\u5355\u552F\u4E00\u7F16\u7801- title\uFF1A\u6807\u9898- status\uFF1A\u72B6\u6001\uFF081-\u542F\u7528/2-\u505C\u7528\uFF09- pagedescr\uFF1A\u63CF\u8FF0- confjson\uFF1AH5 \u8868\u5355\u7684\u5185\u5BB9 JSON \u5B57\u7B26\u4E32\uFF0C\u5305\u542B H5 \u8868\u5355\u7684 Vue \u4EE3\u7801\u4E0E\u5143\u6570\u636E\u914D\u7F6E\uFF08\u6838\u5FC3\u5185\u5BB9\uFF09- platcreateop / platcreatetime\uFF1A\u521B\u5EFA\u4EBA / \u521B\u5EFA\u65F6\u95F4- platupdateop / platupdatetime\uFF1A\u6700\u8FD1\u66F4\u65B0\u4EBA / \u6700\u8FD1\u66F4\u65B0\u65F6\u95F4- platstatus\uFF1A\u5E73\u53F0\u72B6\u6001\u5F53\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u5305\u542B "HTTP 404 Not Found" \u65F6\u8BF4\u660E\u6B64\u79DF\u6237\u6CA1\u6709\u5B89\u88C5 H5 \u5F15\u64CE\u3002`,inputSchema:{pagecode:g.string().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:gt,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{pagecode:n}=e;try{let t=await Ce({pagecode:n});return{content:[{type:"text",text:JSON.stringify(t.resp_data)}],structuredContent:t.resp_data}}catch(t){return{isError:!0,content:[{type:"text",text:k(t)}]}}}}];import{z as r}from"zod";function je(e){return P({url:"/bizserv/bizmodel/pageList",method:"post",data:e,type:"tenant"})}function De(e){return P({url:"/bizserv/bizmodel/get",method:"post",data:e,type:"tenant"})}var mt=r.object({classname:r.union([r.string(),r.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:r.union([r.string(),r.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:r.union([r.string(),r.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:r.union([r.string(),r.number()]).nullable().optional().describe("\u51FD\u6570\u5C42\u7EA7\u6807\u8BC6\uFF0C\u5217\u8868\u67E5\u8BE2\u65F6\u56FA\u5B9A\u4F20 3\uFF0C\u8F93\u51FA\u540C\u6B65\u8FD4\u56DE\u8BE5\u503C"),directorytypecode:r.union([r.string(),r.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:r.union([r.string(),r.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:r.union([r.string(),r.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:r.union([r.string(),r.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:r.union([r.string(),r.number()]).nullable().optional().describe("\u987A\u5E8F"),status:r.union([r.string(),r.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:r.union([r.string(),r.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:r.union([r.string(),r.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:r.union([r.string(),r.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(r.unknown()),bt={classname:r.union([r.string(),r.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:r.union([r.string(),r.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:r.union([r.string(),r.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:r.union([r.string(),r.number()]).nullable().optional().describe("\u51FD\u6570\u5C42\u7EA7\u6807\u8BC6\uFF0C\u5217\u8868\u67E5\u8BE2\u65F6\u56FA\u5B9A\u4F20 3\uFF0C\u8F93\u51FA\u540C\u6B65\u8FD4\u56DE\u8BE5\u503C"),directorytypecode:r.union([r.string(),r.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:r.union([r.string(),r.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:r.union([r.string(),r.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:r.union([r.string(),r.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:r.union([r.string(),r.number()]).nullable().optional().describe("\u987A\u5E8F"),status:r.union([r.string(),r.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:r.union([r.string(),r.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:r.union([r.string(),r.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:r.union([r.string(),r.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:r.union([r.string(),r.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),confjson:r.string().nullable().optional().describe("flycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9")},He=[{name:"page_function_list",config:{title:"\u5206\u9875\u67E5\u8BE2 flycode \u51FD\u6570",description:`\u6839\u636E\u67E5\u8BE2\u6761\u4EF6\u5206\u9875\u67E5\u8BE2 flycode \u51FD\u6570\u5217\u8868\uFF08Function\uFF09\u3002\u9002\u7528\u4E8E\u67E5\u627E\u51FD\u6570\u53CA\u5176\u5143\u4FE1\u606F\u3002\u3010\u6574\u6570\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8F93\u5165\u7B5B\u9009\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF0C\u5982 status \u4F20 "1"\u3001dddlayer \u56FA\u5B9A\u4F20 "3"\uFF1B\u8F93\u51FA\u5B57\u6BB5\u4EE5\u6570\u5B57\u6216\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u4E24\u79CD\u90FD\u517C\u5BB9\uFF09- dddlayer\uFF08\u51FD\u6570\u5C42\u7EA7\uFF09\uFF1A\u56FA\u5B9A\u4F20 3\uFF0C\u4EE3\u8868\u51FD\u6570\u7C7B- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528`,inputSchema:{classname:r.string().optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),name:r.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C modelname \u4E00\u81F4"),modelname:r.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C name \u4E00\u81F4"),flycodekey:r.string().optional().describe("\u51FD\u6570\u5185\u5BB9\u5173\u952E\u5B57"),page:r.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:r.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:r.array(mt).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:r.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:r.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:r.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:r.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{classname:n="",name:t="",modelname:i="",flycodekey:o="",page:a=1,rows:c=20}=e;try{let p=await je({dddlayer:3,directorytypecode:"",starttime:"",classname:n,name:t,modelname:i,flycodekey:o,page:Number(a)||1,rows:Number(c)||20});return{content:[{type:"text",text:JSON.stringify(p.resp_data)}],structuredContent:p.resp_data}}catch(p){return{isError:!0,content:[{type:"text",text:k(p)}]}}}},{name:"get_function",config:{title:"\u67E5\u8BE2 flycode \u51FD\u6570\u8BE6\u60C5",description:`\u6839\u636E\u51FD\u6570\u7684\u7F16\u7801 modelcode \u67E5\u8BE2\u5176\u5B8C\u6574\u8BE6\u60C5\uFF1A\u5305\u542B\u51FD\u6570\u7684\u57FA\u672C\u4FE1\u606F\uFF08\u82F1\u6587\u540D\u3001\u4E2D\u6587\u540D\u3001\u63CF\u8FF0\u3001\u5C42\u7EA7\u3001\u72B6\u6001\u7B49\uFF09\u4EE5\u53CA\u51FD\u6570\u7684\u4EE3\u7801\u5185\u5BB9 confjson\u3002\u6CE8\u610F\uFF1A\u6B64\u5904\u7684\u4EE3\u7801\u548C\u4E1A\u52A1\u903B\u8F91\u7684 flycode \u7A0D\u6709\u4E0D\u540C\uFF0C\u6B64\u5904\u7684\u4EE3\u7801\u4EC5\u4EC5\u662F\u8FD0\u884C\u5728 Java Nashorn \u5F15\u64CE\u7684 ES5 Javascript \u4EE3\u7801\uFF0C\u6CA1\u6709 flycode \u4EE3\u7801\u4E00\u6837\u7684\u7F16\u8BD1 FlyQL \u5904\u7406\u3001\u5185\u7F6E\u5BF9\u8C61\u3002\u5728\u4E1A\u52A1\u903B\u8F91 flycode \u4E2D\u901A\u8FC7 loadex("\u65B9\u6CD5\u540D") \u52A0\u8F7D\u3002\u3010\u6574\u6570/\u679A\u4E3E\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8BE6\u60C5\u8FD4\u56DE\u5B57\u6BB5\uFF0C\u90E8\u5206\u4EE5\u6570\u5B57\u8FD4\u56DE\u3001\u90E8\u5206\u4EE5\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u89E3\u6790\u65F6\u4E24\u79CD\u90FD\u517C\u5BB9\uFF09- dddlayer\uFF08\u51FD\u6570\u5C42\u7EA7\uFF09\uFF1A\u56FA\u5B9A\u4F20 3\uFF0C\u4EE3\u8868\u51FD\u6570\u7C7B- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528- confjson\uFF1Aflycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9\uFF0C\u662F\u51FD\u6570\u5B9E\u73B0\u4F53\u7684\u6838\u5FC3\u5B57\u6BB5`,inputSchema:{modelcode:r.string().describe("\u51FD\u6570\u7684\u7F16\u7801")},outputSchema:r.looseObject(bt),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{modelcode:n}=e;try{let t=await De({modelcode:n});return{content:[{type:"text",text:JSON.stringify(t.resp_data)}],structuredContent:t.resp_data}}catch(t){return{isError:!0,content:[{type:"text",text:k(t)}]}}}}];import{z as f}from"zod";function Me(e){return P({url:"/bizserv/customfunction/list",method:"post",data:e,type:"tenant"})}var ft=f.object({createtime:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),creator:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),dbfunctionname:f.union([f.string(),f.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D"),functioncode:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u552F\u4E00\u7F16\u7801"),functionname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),functionscript:f.union([f.string(),f.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u5185\u5BB9\uFF08PostgreSQL \u51FD\u6570\u4F53\uFF09"),marktype:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:f.union([f.string(),f.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C functioncode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),publishstatus:f.union([f.string(),f.number()]).nullable().optional().describe("\u53D1\u5E03\u72B6\u6001\uFF0C1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03"),remark:f.union([f.string(),f.null()]).optional().describe("\u5907\u6CE8"),status:f.union([f.string(),f.number()]).nullable().optional().describe("\u72B6\u6001\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),updatetime:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updator:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA")}).catchall(f.unknown()),Ae=[{name:"page_database_function_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u6570\u636E\u5E93\u51FD\u6570",description:`\u6839\u636E\u67E5\u8BE2\u6761\u4EF6\u5206\u9875\u67E5\u8BE2\u6570\u636E\u5E93\u51FD\u6570\uFF08PostgreSQL \u81EA\u5B9A\u4E49\u51FD\u6570\uFF09\u5217\u8868\u3002\u9002\u7528\u4E8E\u67E5\u627E\u6570\u636E\u5E93\u51FD\u6570\u53CA\u5176\u5143\u4FE1\u606F\uFF0C\u5217\u8868\u7ED3\u679C\u5DF2\u968F\u884C\u8FD4\u56DE\u51FD\u6570\u5185\u5BB9 functionscript\uFF08PostgreSQL \u51FD\u6570\u4F53\uFF09\uFF0C\u56E0\u6B64\u65E0\u9700\u518D\u8C03\u7528\u8BE6\u60C5\u63A5\u53E3\u3002\u3010\u6574\u6570\u6620\u5C04\u901F\u67E5\u3011\uFF08\u8F93\u5165\u7B5B\u9009\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF0C\u5982 status \u4F20 "1"\uFF1B\u8F93\u51FA\u5B57\u6BB5\u4EE5\u6570\u5B57\u6216\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u4E24\u79CD\u90FD\u517C\u5BB9\uFF09- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237- publishstatus\uFF08\u53D1\u5E03\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528`,inputSchema:{dbfunctionname:f.string().optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),name:f.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),pageindex:f.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),pagesize:f.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:f.array(ft).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:f.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:f.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:f.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:f.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{dbfunctionname:n="",name:t="",pageindex:i=1,pagesize:o=20}=e;try{let a=await Me({dbfunctionname:n,name:t,pageindex:Number(i)||1,pagesize:Number(o)||20});return{content:[{type:"text",text:JSON.stringify(a.resp_data)}],structuredContent:a.resp_data}}catch(a){return{isError:!0,content:[{type:"text",text:k(a)}]}}}}];import{z}from"zod";function ze(e){return P({url:"/api/biz/sqlrun",method:"post",data:e,type:"business"})}var yt={data:z.array(z.unknown()).nullable().optional().describe("\u67E5\u8BE2\u7ED3\u679C\u6570\u636E\uFF0C\u6570\u7EC4\u4E2D\u7684\u6BCF\u4E00\u9879\u4E3A\u4E00\u6761\u67E5\u8BE2\u7ED3\u679C\u8BB0\u5F55\uFF08\u5BF9\u8C61\uFF09"),influenceCount:z.coerce.number().nullable().optional().describe("\u67E5\u8BE2\u7ED3\u679C\u603B\u6570")},qe=[{name:"run_sql",config:{title:"\u6267\u884C SQL \u67E5\u8BE2",description:"\u5728\u4E1A\u52A1\u5E93\uFF08\u6570\u636E\u5E93\u4E3A PostgreSQL\uFF09\u4E2D\u6267\u884C\u4E00\u6761 SELECT \u67E5\u8BE2 SQL\uFF08\u63A5\u53E3\u4EC5\u652F\u6301 SELECT\uFF0C\u4E00\u6B21\u53EA\u80FD\u4E00\u6761 SQL\uFF0C\u53EA\u80FD\u67E5\u4E1A\u52A1\u8868\u7684\u6570\u636E\uFF0C\u9700\u8981\u67E5\u8868\u6709\u54EA\u4E9B\u5B57\u6BB5\u8BF7\u4F7F\u7528 get_entity \uFF09\uFF0C\u8FD4\u56DE\u67E5\u8BE2\u7ED3\u679C\u6570\u636E data \u4E0E\u7ED3\u679C\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",inputSchema:{sql:z.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")},outputSchema:z.looseObject(yt),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{sql:n}=e;try{let t=await ze({sql:n});return{content:[{type:"text",text:JSON.stringify(t.resp_data)}],structuredContent:t.resp_data}}catch(t){return{isError:!0,content:[{type:"text",text:k(t)}]}}}}];import{z as Be}from"zod";var X=class{workerIdBits=5;datacenterIdBits=5;sequenceBits=12;maxWorkerId=-1^-1<<this.workerIdBits;maxDatacenterId=-1^-1<<this.datacenterIdBits;sequenceMask=-1^-1<<this.sequenceBits;workerIdShift=this.sequenceBits;datacenterIdShift=this.sequenceBits+this.workerIdBits;timestampShift=this.sequenceBits+this.workerIdBits+this.datacenterIdBits;epoch;lastTimestamp=-1n;sequence=0n;workerId;datacenterId;constructor(n,t,i=15778368e5){if(n>this.maxWorkerId||n<0)throw new Error(`workerId \u5FC5\u987B\u5728 0 ~ ${this.maxWorkerId} \u4E4B\u95F4`);if(t>this.maxDatacenterId||t<0)throw new Error(`datacenterId \u5FC5\u987B\u5728 0 ~ ${this.maxDatacenterId} \u4E4B\u95F4`);this.workerId=BigInt(n),this.datacenterId=BigInt(t),this.epoch=BigInt(i)}nextId(){let n=this.currentTimestamp();if(n<this.lastTimestamp){let i=this.lastTimestamp-n;if(i<=5n)for(;n<this.lastTimestamp;)n=this.currentTimestamp();else throw new Error(`\u65F6\u949F\u56DE\u62E8\u8FC7\u5927: ${i}ms\uFF0C\u65E0\u6CD5\u751F\u6210 ID`)}return n===this.lastTimestamp?(this.sequence=this.sequence+1n&BigInt(this.sequenceMask),this.sequence===0n&&(n=this.waitNextMillis(this.lastTimestamp))):this.sequence=0n,this.lastTimestamp=n,n-this.epoch<<BigInt(this.timestampShift)|this.datacenterId<<BigInt(this.datacenterIdShift)|this.workerId<<BigInt(this.workerIdShift)|this.sequence}waitNextMillis(n){let t=this.currentTimestamp();for(;t<=n;)t=this.currentTimestamp();return t}currentTimestamp(){return BigInt(Date.now())}parse(n){let t=(n>>BigInt(this.timestampShift))+this.epoch,i=n>>BigInt(this.datacenterIdShift)&BigInt(this.maxDatacenterId),o=n>>BigInt(this.workerIdShift)&BigInt(this.maxWorkerId),a=n&BigInt(this.sequenceMask);return{timestamp:t,datacenterId:i,workerId:o,sequence:a,generateTime:new Date(Number(t))}}},ht=1,xt=1,wt=new X(ht,xt),$e=()=>wt.nextId();var Je=[{name:"generate_unique_code",config:{title:"\u751F\u6210\u552F\u4E00\u7F16\u7801",description:"\u901A\u8FC7\u96EA\u82B1\u7B97\u6CD5\uFF08snowflake\uFF09\u751F\u6210\u4E00\u4E2A\u5168\u5C40\u552F\u4E00 ID\uFF08code\uFF09\u3002\u5728\u65B0\u5EFA\u5B9E\u4F53\u3001\u9886\u57DF\u3001\u8868\u5355\u7B49\u5185\u5BB9\u65F6\uFF0C\u5176 JSON \u5B57\u6BB5\u4E2D\u901A\u5E38\u9700\u8981\u643A\u5E26\u4E00\u4E2A\u552F\u4E00 code\uFF0C\u53EF\u8C03\u7528\u672C\u5DE5\u5177\u83B7\u53D6\u3002",inputSchema:{prefix:Be.string().optional().describe("\u53EF\u9009\u524D\u7F00\uFF0C\u62FC\u63A5\u5230\u751F\u6210\u7684\u552F\u4E00 ID \u4E4B\u524D\uFF08\u4F8B\u5982\u5B9E\u4F53\u7F16\u7801\u524D\u7F00\uFF09\uFF1B\u4E0D\u4F20\u5219\u53EA\u8FD4\u56DE\u7EAF\u6570\u5B57 ID \u5B57\u7B26\u4E32")},outputSchema:{code:Be.string().describe("\u751F\u6210\u7684\u552F\u4E00\u7F16\u7801\uFF08code\uFF09\u3002\u5B57\u7B26\u4E32\u5F62\u5F0F\u4EE5\u907F\u514D\u5927\u6574\u6570\u7CBE\u5EA6\u4E22\u5931")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!1}},handler:async e=>{let{prefix:n=""}=e;try{let t=$e().toString(),o={code:n?`${n}${t}`:t};return{content:[{type:"text",text:JSON.stringify(o)}],structuredContent:o}}catch(t){let o={error:t.message??String(t)};return{isError:!0,content:[{type:"text",text:JSON.stringify(o)}]}}}}];await ae();var B=new kt({name:"flycode-mcp",version:"1.0.0"}),St=[...pe,...xe,...Se,..._e,...Fe,...He,...Ae,...qe,...Je];for(let e of St)B.registerTool(e.name,e.config,e.handler);async function vt(){let e=new Rt;await B.connect(e),process.on("SIGINT",async()=>{await B.close(),process.exit(0)}),process.on("SIGTERM",async()=>{await B.close(),process.exit(0)}),console.error("flycode-mcp listening on stdio")}vt().catch(e=>{console.error(e),process.exit(1)});
|
package/package.json
CHANGED
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flycode-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/
|
|
6
|
+
"main": "dist/flycode-mcp.min.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"flycode-mcp": "dist/
|
|
8
|
+
"flycode-mcp": "dist/flycode-mcp.min.js"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
|
-
"dist",
|
|
11
|
+
"dist/flycode-mcp.min.js",
|
|
12
12
|
"README.md",
|
|
13
13
|
"LICENSE"
|
|
14
14
|
],
|
|
15
15
|
"scripts": {
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
16
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
17
|
+
"build": "npm run typecheck && node scripts/build.mjs",
|
|
18
|
+
"start": "npm run build && node dist/flycode-mcp.min.js",
|
|
19
|
+
"dev": "node scripts/build.mjs --watch",
|
|
20
|
+
"prepublishOnly": "npm run build",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"test:watch": "vitest",
|
|
23
|
+
"test:unit": "vitest run test/unit",
|
|
24
|
+
"test:integration": "vitest run test/integration",
|
|
25
|
+
"test:live": "vitest run test/integration --reporter=verbose",
|
|
26
|
+
"typecheck:test": "tsc -p tsconfig.test.json --noEmit",
|
|
27
|
+
"coverage": "vitest run --coverage"
|
|
19
28
|
},
|
|
20
29
|
"keywords": [
|
|
21
30
|
"flycode",
|
|
@@ -31,7 +40,11 @@
|
|
|
31
40
|
},
|
|
32
41
|
"devDependencies": {
|
|
33
42
|
"@types/node": "^26.1.2",
|
|
43
|
+
"@vitest/coverage-v8": "^5.0.0",
|
|
44
|
+
"esbuild": "^0.28.2",
|
|
45
|
+
"nock": "^14.0.17",
|
|
34
46
|
"ts-node": "^10.9.2",
|
|
35
|
-
"typescript": "^7.0.2"
|
|
47
|
+
"typescript": "^7.0.2",
|
|
48
|
+
"vitest": "^5.0.0"
|
|
36
49
|
}
|
|
37
50
|
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 获取到 IDE Token 保存到 Storage 里
|
|
3
|
-
* 以便后续正常发送请求
|
|
4
|
-
*/
|
|
5
|
-
import request from "../utils/request.js";
|
|
6
|
-
export const APP_ID = "1";
|
|
7
|
-
/**
|
|
8
|
-
* IDE 登录接口
|
|
9
|
-
*
|
|
10
|
-
* @param data
|
|
11
|
-
*/
|
|
12
|
-
export function login(data) {
|
|
13
|
-
return request({
|
|
14
|
-
url: `/api/multiplat/auth/login`,
|
|
15
|
-
method: 'post',
|
|
16
|
-
data
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 获取租户信息接口
|
|
21
|
-
*/
|
|
22
|
-
export function getTenantInfo() {
|
|
23
|
-
return request({
|
|
24
|
-
url: `/api/multiplat/auth/getTenantInfo`,
|
|
25
|
-
method: 'post',
|
|
26
|
-
data: {
|
|
27
|
-
appid: APP_ID,
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* 获取 IDE Token 接口
|
|
33
|
-
*
|
|
34
|
-
* @param data
|
|
35
|
-
*/
|
|
36
|
-
export function getIdeToken(data) {
|
|
37
|
-
return request({
|
|
38
|
-
url: `/api/multiplat/auth/getIdeToken`,
|
|
39
|
-
method: 'post',
|
|
40
|
-
data
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=authClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authClient.js","sourceRoot":"","sources":["../../src/clients/authClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAGzC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;AAkCzB;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAiB;IACrC,OAAO,OAAO,CAAC;QACb,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,MAAM;QACd,IAAI;KACL,CAAC,CAAA;AACJ,CAAC;AAiCD;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC;QACb,GAAG,EAAE,mCAAmC;QACxC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;SACd;KACF,CAAC,CAAA;AACJ,CAAC;AA0BD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAoB;IAC9C,OAAO,OAAO,CAAC;QACb,GAAG,EAAE,iCAAiC;QACtC,MAAM,EAAE,MAAM;QACd,IAAI;KACL,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import request from "../utils/request.js";
|
|
2
|
-
/**
|
|
3
|
-
* 条件分页查询数据库函数
|
|
4
|
-
*
|
|
5
|
-
* @param data 查询参数
|
|
6
|
-
* @returns 响应数据
|
|
7
|
-
*/
|
|
8
|
-
export function pageDatabaseFunctionList(data) {
|
|
9
|
-
return request({
|
|
10
|
-
url: '/bizserv/customfunction/list',
|
|
11
|
-
method: 'post',
|
|
12
|
-
data,
|
|
13
|
-
type: 'tenant'
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=databaseFunctionClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"databaseFunctionClient.js","sourceRoot":"","sources":["../../src/clients/databaseFunctionClient.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAsDzC;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAgC;IACvE,OAAO,OAAO,CAAC;QACb,GAAG,EAAE,8BAA8B;QACnC,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import request from "../utils/request.js";
|
|
2
|
-
/**
|
|
3
|
-
* 分页列表查询实体
|
|
4
|
-
*
|
|
5
|
-
* @param data 请求参数
|
|
6
|
-
*/
|
|
7
|
-
export function pageEntityList(data) {
|
|
8
|
-
return request({
|
|
9
|
-
url: '/bizserv/biz/pageList',
|
|
10
|
-
method: 'post',
|
|
11
|
-
data,
|
|
12
|
-
type: 'tenant'
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 根据实体的编码 objectcode 查询实体详情
|
|
17
|
-
*
|
|
18
|
-
* @param data 请求参数
|
|
19
|
-
*/
|
|
20
|
-
export function getEntity(data) {
|
|
21
|
-
return request({
|
|
22
|
-
url: '/bizserv/biz/getBizObject',
|
|
23
|
-
method: 'post',
|
|
24
|
-
data,
|
|
25
|
-
type: 'tenant'
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=entityClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entityClient.js","sourceRoot":"","sources":["../../src/clients/entityClient.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AA+FzC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,OAAO,OAAO,CAAC;QACb,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACJ,CAAC;AAuID;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAkB;IAC1C,OAAO,OAAO,CAAC;QACb,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACJ,CAAC"}
|