flycode-mcp 1.10.0 → 1.11.1
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 +91 -3
- package/dist/flycode-mcp.min.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,6 +40,13 @@ npm run dev
|
|
|
40
40
|
|
|
41
41
|
构建产物为单个压缩文件 `dist/flycode-mcp.min.js`(已在 `package.json` 的 `bin` 中注册为 `flycode-mcp`;minify 后折叠为单行以减小体积,运行时依赖 `@modelcontextprotocol/sdk` / `axios` / `zod` 保持外置)。
|
|
42
42
|
|
|
43
|
+
> **注意(构建期易踩坑)**:单行折叠由 `scripts/collapse.mjs` 完成,**不可**退化为 `code.replace(/\n/g, '')`。
|
|
44
|
+
> esbuild 为省一个字符会把含换行的字符串打印成「内含真实换行字符的模板字符串」(`` `\<LF>` ``,而非转义写法 `"\n"`),
|
|
45
|
+
> 无差别删除换行会把字符串内部的换行一起吃掉(`'\n'` → `''`),导致 `str_replace_flycode` 保存的 flycode 被整段压扁、
|
|
46
|
+
> 工具描述的多行提示词被粘成一行(2026-09-20 线上事故根因)。
|
|
47
|
+
> 该模块用扫描器区分「代码层换行」与「字符串内换行」,后者转写为 `\n` 转义;
|
|
48
|
+
> 结构无法可靠判定时整段放弃折叠,并由 `node --check` 兜底回退,回归用例见 `test/unit/build-collapse.test.ts`。
|
|
49
|
+
|
|
43
50
|
---
|
|
44
51
|
|
|
45
52
|
## 配置
|
|
@@ -288,6 +295,84 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
|
|
|
288
295
|
|
|
289
296
|
> 注:工具的 `description` 中附有「字段速查」,列出了各顶层对象的关键字段与编码枚举含义(如 `pageinfo.type` 页面类型、`marktype` 创建标记、`clientcategorycode` 用户端等),便于理解返回 JSON。详情类型的字段定义见 `src/clients/form.ts`(`FormResult` / `FormPageInfo` / `FormViewNode` / `FormControl` 等接口)。
|
|
290
297
|
|
|
298
|
+
### `get_form_outline` — 查询表单 / 页面骨架
|
|
299
|
+
|
|
300
|
+
获取表单 / 页面的轻量骨架(地址簿 / 决策依据),约 2–4KB,避免为日常改动拉取完整 88KB 的表单 JSON(只读、幂等)。底层调用 `service/form.ts` 的 `getFormOutline`。
|
|
301
|
+
|
|
302
|
+
**输入参数:**
|
|
303
|
+
|
|
304
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
305
|
+
| ------ | ------ | ---- | -------------------------------- |
|
|
306
|
+
| `code` | string | 是 | 要查骨架的表单 / 页面的唯一编码 |
|
|
307
|
+
|
|
308
|
+
**返回:** `pageinfo` 关键字段、`viewTree`(递归骨架,仅 `code` / `type` / `title` + `children`)、`handlers` 与 `interfaces` 清单、`businessModels`(仅逻辑名,不回内容)。
|
|
309
|
+
|
|
310
|
+
> 用途:在不知道全量内容时先拿到所有可改对象的 `code`,避免 `NODE_NOT_FOUND` 盲猜;随后用 `get_form_fragment` 看局部真实属性名,再用 `patch_form` 修改。
|
|
311
|
+
|
|
312
|
+
### `get_form_fragment` — 查询表单 / 页面局部内容
|
|
313
|
+
|
|
314
|
+
按 `code` 取表单的局部内容(几 KB),避免为改一处而拉完整 88KB 表单 JSON(只读、幂等)。三种寻址方式三选一,可组合。底层调用 `service/form.ts` 的 `getFormFragment`。
|
|
315
|
+
|
|
316
|
+
**输入参数:**
|
|
317
|
+
|
|
318
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
319
|
+
| ------------- | ------ | ---- | ------------------------------------------------------------------------------- |
|
|
320
|
+
| `code` | string | 是 | 表单 / 页面的唯一编码 |
|
|
321
|
+
| `nodeCode` | string | 否 | 目标控件 / 节点编码,返回其完整子树 |
|
|
322
|
+
| `handlerCode` | string | 否 | 目标 presenter 处理器编码,返回其完整定义与 `actionIndex` 清单 |
|
|
323
|
+
| `section` | string | 否 | 整段 `pageinfo` / `view` / `presenter` / `controls` / `pageswitch` / `businessmodel` |
|
|
324
|
+
|
|
325
|
+
**返回:** 命中的 `node` / `handler` / `section`,以及 `actionIndex`(每个 action 的 `code` / `type` 与 `script` / `condition` / `expression` 长度),便于精确构造 `patch_form` 的 `replace_script`。
|
|
326
|
+
|
|
327
|
+
### `patch_form` — 局部补丁修改表单 / 页面
|
|
328
|
+
|
|
329
|
+
以结构化补丁(delta ops)局部修改表单 / 页面,**无需回传完整 88KB 的表单 JSON**(非只读、有事务性保护)。底层调用 `service/form.ts` 的 `patchForm`:先拉取最新完整对象 → 在内存副本上按 `ops` 顺序合并 → 一次性保存到 `POST /biserv/bizpage/saveNewPage`。
|
|
330
|
+
|
|
331
|
+
**输入参数:**
|
|
332
|
+
|
|
333
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
334
|
+
| --------------- | ------- | ---- | --------------------------------------------------------- |
|
|
335
|
+
| `code` | string | 是 | 目标表单 / 页面的唯一编码 |
|
|
336
|
+
| `ops` | array | 是 | 补丁操作数组,至少一个元素;9 类见下表,按数组顺序依次作用 |
|
|
337
|
+
| `commitMessage` | object | 是 | 提交信息,结构与 `save_model_logic` 的 `commitMessage` 一致 |
|
|
338
|
+
| `dryRun` | boolean | 否 | 只预演输出 diff、不落库,默认 `false` |
|
|
339
|
+
| `verify` | boolean | 否 | 保存后回读校验改动是否生效,默认 `true` |
|
|
340
|
+
|
|
341
|
+
**9 类 ops:**
|
|
342
|
+
|
|
343
|
+
| op | 关键参数 | 说明 |
|
|
344
|
+
| ---------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------- |
|
|
345
|
+
| `set_pageinfo` | `patch` | 浅合并进 pageinfo(如改标题 / 状态) |
|
|
346
|
+
| `set_attrs` | `code`、`patch` | 按 `code` 定位节点,浅合并属性(如 `hidden` / `required`) |
|
|
347
|
+
| `insert_node` | `parentCode`、`node`、`position?` | 在父节点下插入新节点 |
|
|
348
|
+
| `remove_node` | `code`、`checkRefs?` | 按 `code` 删除节点,默认校验引用 |
|
|
349
|
+
| `move_node` | `code`、`newParentCode`、`position?` | 移动节点到新父节点下 |
|
|
350
|
+
| `set_section` | `section`、`value` | 整段替换 `view` / `presenter` / `controls` / `pageswitch` |
|
|
351
|
+
| `replace_script` | `handlerCode`、`actionIndex?` / `actionCode?`、`field?`、`replacement?` / `ops?` | 改 action 的 `script` / `condition` / `expression`,支持整段覆盖或 old→new 局部替换 |
|
|
352
|
+
| `add_businessmodel` | `modellogiccode`、`overwrite?` | 仅给逻辑编码,MCP 自动拉取其完整 JSON 追加到 `businessmodel` |
|
|
353
|
+
| `remove_businessmodel` | `modellogiccode`、`checkRefs?` | 从 `businessmodel` 移除指定逻辑 |
|
|
354
|
+
|
|
355
|
+
**事务性:** 全部 `op` 预演成功才会落库,任一 `op` 失败(`NODE_NOT_FOUND` / `DUP_CODE` / `REF_VIOLATION` / `FETCH_FAILED`)则整批中止、零写入回滚;整批只发起一次保存请求,不存在写一半的中间态。
|
|
356
|
+
|
|
357
|
+
**返回:** `ok` / `applied` / `verified` / `errorCode` / `message` / `diff` / `ops[]`,其中 `ops[].suggestions` 在 `NOT_FOUND` 时给出相似候选。
|
|
358
|
+
|
|
359
|
+
> 错误码:`OK` / `DRY_RUN` / `EMPTY_OPS` / `FETCH_FAILED` / `NODE_NOT_FOUND` / `DUP_CODE` / `REF_VIOLATION` / `OPS_FAILED` / `SAVE_FAILED` / `VERIFY_FAILED`。
|
|
360
|
+
|
|
361
|
+
### `save_form` — 全量保存表单 / 页面
|
|
362
|
+
|
|
363
|
+
整页重构(重排布局、模板迁移等)时没有其他表达方式,才用本工具:把从 `get_form` 查询到的完整 `FormResult` 对象按需修改后整份回传保存(非只读)。底层调用 `service/form.ts` 的 `saveForm` → `POST /biserv/bizpage/saveNewPage`。日常局部改动请优先用 `patch_form`。
|
|
364
|
+
|
|
365
|
+
**输入参数:**
|
|
366
|
+
|
|
367
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
368
|
+
| --------------- | ------ | ---- | -------------------------------------------------------------- |
|
|
369
|
+
| `form` | object | 是 | 完整的 `FormResult` 对象,通常来自 `get_form` 的返回,改后回传 |
|
|
370
|
+
| `commitMessage` | object | 是 | 提交信息,结构与 `save_model_logic` 的 `commitMessage` 一致 |
|
|
371
|
+
|
|
372
|
+
**返回:** `ok` / `code` / `message`。
|
|
373
|
+
|
|
374
|
+
> 注:保存接口 `conf` / `ui` 要求传入完整对象,故 `businessmodel`(完整 `LogicResult[]`)**原样透传、不剥离**;`message` 作为顶层提交参数传入,不是 `FormResult` 内部的 `message` 字段。服务端按 `overwrite: false` 保存(不覆盖他人最新版本),`clearuserconfig` 默认 `true`。
|
|
375
|
+
|
|
291
376
|
### `page_h5_form` — 分页查询 H5 表单列表
|
|
292
377
|
|
|
293
378
|
根据查询条件分页查询智慧100 H5 引擎配置的 H5 表单列表(只读、幂等)。底层调用 `h5Client.pageH5List`(接口 `POST /api/masterserv/hpage/listH5Page`)。
|
|
@@ -430,9 +515,11 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
|
|
|
430
515
|
flycode-mcp/
|
|
431
516
|
├── src/
|
|
432
517
|
│ ├── index.ts # 入口:启动鉴权、注册工具、启动 stdio 服务
|
|
518
|
+
│ ├── types.ts # 跨模块共用的通用类型(如提交信息 CommitMessage)
|
|
433
519
|
│ ├── service/ # 业务封装
|
|
434
520
|
│ │ ├── auth.ts # 登录 → 获取租户信息 → 获取 IDE Token
|
|
435
521
|
│ │ ├── logic.ts # 保存业务逻辑(saveModelLogic / simpleSaveFlyCodeModelLogic / replaceFlyCodeSegments):提交信息处理 + 局部替换 + 异常兜底
|
|
522
|
+
│ │ ├── form.ts # 表单骨架 getFormOutline / 局部读取 getFormFragment / 补丁合并引擎 patchForm(9 类 ops,事务性)/ 全量保存 saveForm
|
|
436
523
|
│ │ └── h5.ts # H5 表单查询鉴权(解析 SFA系统管理员预览账号 token) + 列表/详情查询 service 封装
|
|
437
524
|
│ ├── clients/ # 平台接口封装
|
|
438
525
|
│ │ ├── auth.ts # 登录 / 获取租户信息 / 获取 IDE Token 请求
|
|
@@ -440,7 +527,7 @@ flycode-mcp/
|
|
|
440
527
|
│ │ ├── entity.ts # 实体列表 pageEntityList / 详情 getEntity 请求;EntityResult 等类型定义
|
|
441
528
|
│ │ ├── function.ts # flycode 函数列表 pageFunctionList、详情 getFunction 请求;FunctionResult 等类型定义
|
|
442
529
|
│ │ ├── database-function.ts # 数据库函数(PostgreSQL 自定义函数)列表 pageDatabaseFunctionList 请求;DatabaseFunctionPageResult 等类型定义
|
|
443
|
-
│ │ ├── form.ts # 表单 / 页面列表 pageFormList、详情 getForm
|
|
530
|
+
│ │ ├── form.ts # 表单 / 页面列表 pageFormList、详情 getForm、保存 saveForm(POST /biserv/bizpage/saveNewPage)请求;FormResult 等详情类型定义
|
|
444
531
|
│ │ ├── h5.ts # H5 表单列表 listH5Page、详情 listH5PageByOne 请求;H5PageResult 等类型定义
|
|
445
532
|
│ │ ├── run.ts # SQL 查询 sqlRun 请求(POST /api/biz/sqlrun)
|
|
446
533
|
│ │ ├── test-case.ts # 预览账号列表 getPreviewAccounts 请求(H5 查询鉴权所需的 SFA系统管理员 token 来源)
|
|
@@ -458,7 +545,8 @@ flycode-mcp/
|
|
|
458
545
|
│ │ │ ├── read.ts # 只读类工具(page_entity_list / get_entity)
|
|
459
546
|
│ │ │ └── schemas.ts # 实体共享 zod schema(EntityResult / EntityProperty,宽松透传结构)
|
|
460
547
|
│ │ ├── form/
|
|
461
|
-
│ │ │
|
|
548
|
+
│ │ │ ├── read.ts # 只读类工具(page_form_list / get_form / get_form_outline / get_form_fragment)
|
|
549
|
+
│ │ │ └── write.ts # 写入类工具(patch_form / save_form)
|
|
462
550
|
│ │ ├── h5/
|
|
463
551
|
│ │ │ └── read.ts # 只读类工具(page_h5_form / get_h5_form)
|
|
464
552
|
│ │ ├── function/
|
|
@@ -489,7 +577,7 @@ flycode-mcp/
|
|
|
489
577
|
2. **登录**:`service/auth.ts` 中的 `authenticate()` 调用 `/api/multiplat/auth/login` 获取 Token,存入内存。
|
|
490
578
|
3. **定位租户与环境**:`authenticate()` 调用 `/api/multiplat/auth/getTenantInfo`,依据 `tenantCode + envName` 匹配出目标租户,保存其连接信息(`conn.config`)到内存。
|
|
491
579
|
4. **获取 IDE Token**:`authenticate()` 调用 `/api/multiplat/auth/getIdeToken` 换取 IDE 专用 Token 并覆盖内存中的 Token。
|
|
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` 监听请求。
|
|
580
|
+
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`、`get_form_outline`、`get_form_fragment`、`patch_form`、`save_form`、`page_h5_form`、`get_h5_form`、`page_function_list`、`get_function`、`page_database_function_list`、`run_sql`、`generate_unique_code` 等工具,通过 `StdioServerTransport` 监听请求。
|
|
493
581
|
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` 字段会被剔除,不会泄漏给后端。
|
|
494
582
|
|
|
495
583
|
---
|
package/dist/flycode-mcp.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
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)});
|
|
2
|
+
import{McpServer as Jn}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as Yn}from"@modelcontextprotocol/sdk/server/stdio.js";var ne="http://mconfig.xuantongkeji.com:51074",pn="username",gn="password",mn="tenantCode",bn="envName";function K(e,n){let i=process.argv.slice(2).join("&"),s=new URLSearchParams(i).get(e);if(s!==null&&s!=="")return s;if(n!==void 0)return n;throw new Error(`Missing required arg: ${e}`)}var E={username:K(pn),password:K(gn),tenantCode:K(mn),envName:K(bn)};import fn from"axios";var pe=null;function te(e){pe=e}function ge(){return pe}var me=null;function be(e){me=e}function q(){return me}var oe=fn.create({baseURL:ne||"",timeout:2e4,headers:{"Content-Type":"application/json"}});oe.interceptors.request.use(e=>{let t=e.token??ge();return t&&(e.headers=e.headers||{},e.headers.token=t),delete e.token,e});oe.interceptors.response.use(e=>e.data,e=>Promise.reject(e));function F(e){let{type:n="center",...t}=e,i;switch(n){case"center":i=ne||"";break;case"tenant":case"business":{let r=q();if(!r)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"?r.conn.config:r.conn.business;break}}return oe({...t,baseURL:i})}var Z="1";function fe(e){return F({url:"/api/multiplat/auth/login",method:"post",data:e})}function ye(){return F({url:"/api/multiplat/auth/getTenantInfo",method:"post",data:{appid:Z}})}function he(e){return F({url:"/api/multiplat/auth/getIdeToken",method:"post",data:e})}async function we(){let e=await fe({appid:Z,username:E.username,password:E.password});if(e.code!==200)throw new Error(`Unable to login: ${e.msg}`);te(e.data.token),console.error("flycode-mcp \u767B\u5F55\u5B8C\u6210");let t=(await ye()).resp_data.find(c=>c.tenantcode===E.tenantCode),i=t?.envs.find(c=>c.envname===E.envName);if(t&&i){let c;try{c=JSON.parse(i.conn)}catch{throw new Error(`\u79DF\u6237\u73AF\u5883\u8FDE\u63A5\u4FE1\u606F\u89E3\u6790\u5931\u8D25, \u79DF\u6237\u53F7: ${E.tenantCode}, \u73AF\u5883\u540D: ${E.envName}, env.conn \u4E0D\u662F\u5408\u6CD5\u7684 JSON: ${i.conn}`)}be({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:c,envId:i.envid,envName:i.envname,tenantEnvName:i.tenantenvname})}let r=q();if(!r)throw new Error(`\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u79DF\u6237\u4FE1\u606F, \u79DF\u6237\u53F7: ${E.tenantCode}, \u73AF\u5883\u540D: ${E.envName}`);console.error("flycode-mcp \u83B7\u53D6\u79DF\u6237\u4FE1\u606F\u5B8C\u6210");let l=(await he({appid:Z,envid:r.envId,metamodeltype:r.metaModelType,productcode:r.productCode,productversioncode:r.productVersionCode,tenantcode:r.tenantCode})).resp_data?.idetoken;if(!l)throw new Error(`\u83B7\u53D6 IDE Token \u5931\u8D25, \u79DF\u6237\u53F7: ${r.tenantCode}, \u73AF\u5883\u540D: ${r.envName}, \u8FD4\u56DE\u4F53\u4E2D\u672A\u5305\u542B\u6709\u6548\u7684 idetoken`);te(l),console.error("flycode-mcp \u83B7\u53D6 IDE Token \u5B8C\u6210")}import{z as v}from"zod";function xe(e){return F({url:"/bizserv/bizmodel/pageModelLogicList",method:"post",data:e,type:"tenant"})}function j(e){return F({url:"/bizserv/bizmodel/getModelLogic",method:"post",data:e,type:"tenant"})}function re(e){return F({url:"/bizserv/bizmodel/saveModelLogic",method:"post",data:{...e,overwrite:!1},type:"tenant"})}import{z as p}from"zod";var yn=p.array(p.object({marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u540D\u79F0\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:p.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:p.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:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u4E2D\u6587\u540D\uFF0C\u9605\u8BFB\u53CB\u597D"),propertytypecode:p.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(p.unknown())),J=p.array(p.object({datatype:p.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:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:p.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:p.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:p.string().optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u4E2D\u6587\u540D\u79F0\uFF0C\u9605\u8BFB\u53CB\u597D"),properties:yn.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:p.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(p.unknown())),hn=p.array(p.object({dynamic:p.object({fieldblacklist:p.unknown().optional().nullable().describe("\u5B57\u6BB5\u9ED1\u540D\u5355"),fieldmap:p.unknown().optional().nullable().describe("\u5B57\u6BB5\u6620\u5C04")}).catchall(p.unknown()).optional().nullable().describe("\u52A8\u6001\u914D\u7F6E"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0"),modellogiccode:p.string().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),modellogicstepcode:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u7F16\u7801"),modellogicstepname:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u540D\u79F0"),seq:p.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:p.string().optional().nullable().describe("\u72B6\u6001"),templateparams:p.object({flycode:p.string().optional().nullable().describe("flycode \u811A\u672C\u4EE3\u7801\u5B57\u7B26\u4E32"),sourcemap:p.string().optional().nullable().describe("\u6E90\u6620\u5C04"),tempcompiledflycode:p.string().optional().nullable().describe("\u7F16\u8BD1\u540E\u7684 flycode")}).catchall(p.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:p.string().optional().nullable().describe("\u6A21\u677F\u5F15\u7528")}).catchall(p.unknown())),wn=p.object({bindcols:p.array(p.object({field:p.string().optional().nullable().describe("\u5B57\u6BB5\u540D\uFF08\u5BF9\u5E94\u4E1A\u52A1\u5BF9\u8C61\u7684\u5C5E\u6027\u540D\uFF09"),column:p.string().optional().nullable().describe("\u5BFC\u51FA\u540E\u7684\u5217\u6807\u9898"),width:p.string().optional().nullable().describe("\u5217\u5BBD"),type:p.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u5982 string"),dynamictext:p.unknown().optional().nullable().describe("\u52A8\u6001\u6587\u672C\u914D\u7F6E")}).catchall(p.unknown()).optional().nullable().describe("\u5BFC\u51FA\u7684\u5217\u5B9A\u4E49")),modelcode:p.string().describe("\u4E1A\u52A1\u6A21\u578B\u7F16\u7801"),logiccode:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),logicname:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u540D\u79F0")}).catchall(p.unknown()),ie={actioncategory:p.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:p.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:p.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:p.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:p.string().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),executionmode:p.string().optional().nullable().describe("\u6267\u884C\u6A21\u5F0F\uFF0Cstandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F"),functionname:p.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:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),input:J.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:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:p.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:p.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),modellogiccode:p.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801"),modellogicname:p.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),operations:hn.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:J.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:p.object({server:p.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u5730\u5740"),url:p.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u8DEF\u5F84")}).catchall(p.unknown()).optional().nullable().describe("\u5FAE\u670D\u52A1\u7684 REST \u914D\u7F6E\uFF0C\u4EC5 actioncategory=2 \u5FAE\u670D\u52A1 \u65F6\u5B58\u5728"),bindjson:wn.optional().nullable().describe("\u5BFC\u51FA\u7ED1\u5B9A\u7684 Excel \u5217\u914D\u7F6E\uFF0C\u4EC5 actioncategory=5 \u5BFC\u51FA \u65F6\u5B58\u5728"),status:p.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),tenantdbcode:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u7F16\u7801"),tenantdbname:p.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:p.string().optional().nullable().describe("tenantdbname \u5BF9\u5E94\u7684 key \u503C"),uilogicscript:p.string().optional().nullable().describe("\u79BB\u7EBF\u811A\u672C\uFF0C\u4EC5\u7528\u4E8E app \u7AEF\u79BB\u7EBF\u6570\u636E\u63D0\u4EA4"),usedatarule:p.string().optional().nullable().describe("1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650")},ke=p.looseObject(ie);function I(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 P(e){return{content:[{type:"text",text:JSON.stringify(e)}],structuredContent:e}}function N(e){return{isError:!0,content:[{type:"text",text:I(e)}]}}var Re=[{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\n\n\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\n- 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\n- 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\n- jobstatus\uFF08\u5B9A\u65F6\u8C03\u5EA6\u4EFB\u52A1\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B0-\u505C\u7528\uFF1B2-\u65E0\u8C03\u5EA6\n- 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\n- execmode\uFF08\u6267\u884C\u65B9\u5F0F\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u540C\u6B65\uFF1B2-\u5F02\u6B65\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528\n- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E`,inputSchema:{keys:v.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:v.string().optional().describe("\u5B8C\u6574 JSON (\u5185\u542B\u4EE3\u7801) \u4E2D\u7684\u5173\u952E\u5B57\uFF0C\u6A21\u7CCA\u5339\u914D"),page:v.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:v.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updateopname:v.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),updatetimestart:v.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:v.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:v.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:v.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:v.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:v.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:v.array(v.object({actiontype:v.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:v.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:v.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),modelname:v.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u540D"),modellogiccode:v.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modellogicname:v.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),metamodelcode:v.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modellogiccode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),execmode:v.coerce.number().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),functionname:v.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:v.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:v.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),marktype:v.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),updatetime:v.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:v.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:v.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:v.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:v.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),confsource:v.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),updateaccountcode:v.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(v.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:v.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:v.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:v.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:v.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:r=20,updateopname:s="",updatetimestart:l="",updatetimeend:c="",actiontype:u="",actioncategory:g="",tenantdbname:x="",jobstatus:b=null}=e;try{let k=await xe({actioncategory:g,actiontype:u,centercode:"",directorytypecode:"rootNode",jobstatus:b,keys:n,keywords:t,modelcode:"rootNode",page:Number(i)||1,rows:Number(r)||20,tenantdbname:x,updateopname:s,updatetimeend:c,updatetimestart:l});return P(k.resp_data)}catch(k){return N(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\n\n\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\n- 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\n- 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\n- execmode\uFF08\u6267\u884C\u65B9\u5F0F\uFF09\uFF1A1-\u540C\u6B65\uFF1B2-\u5F02\u6B65\n- executionmode\uFF08\u6267\u884C\u6A21\u5F0F\uFF09\uFF1Astandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\n- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E\n- 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\n- usedatarule\uFF08\u662F\u5426\u4F7F\u7528\u6570\u636E\u6743\u9650\uFF09\uFF1A1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650\n- 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\n- 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:v.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801")},outputSchema:ie,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{modellogiccode:n}=e;try{let t=await j({modellogiccode:n});return P(t.resp_data)}catch(t){return N(t)}}}];import{z as w}from"zod";import{z as Q}from"zod";var M=Q.object({committype:Q.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:Q.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:Q.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")});function H(e){return{committype:e.committype,committypetext:e.committypetext,msgbody:e.msgbody??""}}function $(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((s,l)=>l.length-s.length),r=n;for(let s of i)r=r.replace(new RegExp(s,"g"),t[s]);return r}function _e(e,n){let t=[],i=[];if(n==="exact"){for(let r=0;r<e.length;r++)t.push(e[r]),i.push(r);return{text:t.join(""),map:i}}for(let r=0;r<e.length;r++){let s=e[r];if(s==="\r"){t.push(`\n`),i.push(r),e[r+1]===`\n`&&r++;continue}if(s===" "||s===" "){let l=r;for(;l<e.length&&(e[l]===" "||e[l]===" ");)l++;if(l>=e.length||e[l]===`\n`||e[l]==="\r"){r=l-1;continue}t.push(s),i.push(r);continue}t.push(s),i.push(r)}return{text:t.join(""),map:i}}function se(e){return e.replace(/\r\n?/g,`\n`)}function ve(e,n){let t=1,i=Math.min(n,e.length);for(let r=0;r<i;r++)e[r]===`\n`&&t++;return t}function xn(e,n,t="normalized"){if(n.length===0)return[];let i=_e(e,t),r=_e(n,t);if(r.text.length===0)return[];let s=[],l=0;for(;;){let c=i.text.indexOf(r.text,l);if(c===-1)break;let u=i.map[c],g=i.map[c+r.text.length-1]+1;s.push({startOffset:u,endOffset:g,startLine:ve(e,u),endLine:ve(e,Math.max(g-1,0))}),l=c+r.text.length}return s}function Se(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 kn(e,n){if(e.size===0&&n.size===0)return 1;if(e.size===0||n.size===0)return 0;let t=0,[i,r]=e.size<=n.size?[e,n]:[n,e];for(let[l,c]of i){let u=r.get(l);u&&(t+=Math.min(c,u))}let s=0;for(let l of e.values())s+=l;for(let l of n.values())s+=l;return s===0?0:2*t/s}function Rn(e,n,t=3){let i=se(e).split(`\n`),r=se(n).split(`\n`);if(i.length===0||r.length===0)return[];let s=r.map(x=>x.trim()).join(`\n`),l=Se(s),c=i.map(x=>x.trim()),u=new Map,g=new Set([r.length-1,r.length,r.length+1]);for(let x of g)if(!(x<1))for(let b=0;b+x<=i.length;b++){let k=c.slice(b,b+x).join(`\n`),O=kn(Se(k),l);if(O<=.3)continue;let C=u.get(b);(!C||O>C.score)&&u.set(b,{score:O,preview:i.slice(b,b+x).join(`\n`).slice(0,120)})}return Array.from(u.entries()).map(([x,b])=>({startLine:x+1,score:Math.round(b.score*100)/100,preview:b.preview})).sort((x,b)=>b.score-x.score).slice(0,t)}function _n(e){let n=(e.match(/\r\n/g)??[]).length,t=(e.match(/\n/g)??[]).length-n;return n>t?`\r\n`:`\n`}function vn(e,n){let t=_n(n);return e.replace(/\r\n?|\n/g,t)}var V=40;function Sn(e,n,t,i=3){let r=se(e).split(`\n`),s=[],l=n.slice().sort((c,u)=>c.startOffset-u.startOffset);for(let c of l){let u=Math.max(1,c.startLine-i),g=Math.min(r.length,c.endLine+i),x=e.slice(c.startOffset,c.endOffset).split(`\n`).map(y=>y.replace(/\r$/,"")),b=t.split(`\n`),k=x.length,O=b.length,S=[["@@",`-${c.startLine},${k}`,`+${c.startLine},${O}`,"@@"].join(" ")];for(let y=u;y<c.startLine;y++)S.push(` ${r[y-1]}`);for(let y of x.slice(0,V))S.push(`-${y}`);k>V&&S.push(`... \u7701\u7565 ${k-V} \u884C`);for(let y of b.slice(0,V))S.push(`+${y}`);O>V&&S.push(`... \u7701\u7565 ${O-V} \u884C`);for(let y=c.endLine+1;y<=g;y++)S.push(` ${r[y-1]}`);s.push(S.join(`\n`))}return s.join(`\n`)}function G(e,n,t={}){let i=t.contextLines??3,r=t.topN??3,s=e.slice(),l=[],c=!1;for(let u=0;u<n.length;u++){let g=n[u],x=g.operationIndex??0,b=()=>({index:u,label:g.label??null,status:"FAILED",errorCode:"OK",message:null,operationIndex:x,matchCount:0,replacedCount:0,range:null,suggestions:null,dependentOnFailedOp:c,hunk:null}),k=(L,D,U={})=>{l.push({...b(),status:"FAILED",errorCode:L,message:D,...U}),c=!0};if(!Number.isInteger(x)||x<0||x>=s.length){k("NO_TARGET",`operationIndex=${x} \u4E0D\u5B58\u5728\uFF0C\u5F53\u524D\u5171\u6709 ${s.length} \u4E2A operation\uFF08\u53EF\u7528\u4E0B\u6807 0~${Math.max(s.length-1,0)}\uFF09`);continue}if(typeof g.oldString!="string"||g.oldString.length===0){k("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(g.replaceAll===!0&&g.occurrence!=null){k("INVALID_PARAMS","replaceAll \u4E0E occurrence \u4E92\u65A5\uFF0C\u53EA\u80FD\u4E8C\u9009\u4E00");continue}let O=g.matchMode??"normalized",C=s[x],S=xn(C,g.oldString,O);if(S.length===0){k("NOT_FOUND",`oldString \u5728 operation[${x}] \u7684\u811A\u672C\u4E2D\u672A\u5339\u914D\u5230\u4EFB\u4F55\u5185\u5BB9\uFF08matchMode=${O}\uFF09`,{suggestions:Rn(C,g.oldString,r)});continue}let y;if(g.replaceAll===!0)y=S;else if(g.occurrence!=null){if(!Number.isInteger(g.occurrence)||g.occurrence<1||g.occurrence>S.length){k("OCCURRENCE_OUT_OF_RANGE",`occurrence=${g.occurrence} \u8D8A\u754C\uFF0C\u5B9E\u9645\u5339\u914D\u6570\u4E3A ${S.length}`,{matchCount:S.length});continue}y=[S[g.occurrence-1]]}else if(S.length>1){let L=S.map(D=>`\u7B2C ${D.startLine}~${D.endLine} \u884C`).join("\u3001");k("NOT_UNIQUE",`oldString \u5339\u914D\u5230 ${S.length} \u5904\uFF08${L}\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:S.length});continue}else y=S;let R=vn(g.newString,C),T=C;for(let L=y.length-1;L>=0;L--)T=T.slice(0,y[L].startOffset)+R+T.slice(y[L].endOffset);let A=Sn(C,y,R,i);s[x]=T,l.push({...b(),status:"OK",errorCode:"OK",matchCount:S.length,replacedCount:y.length,range:y[0],hunk:A})}return{scripts:s,results:l,ok:l.length>0&&l.every(u=>u.status==="OK")}}async function le(e,n){n.committype==="saverecord"&&(n.msgbody=$(new Date,"YYYY-MM-DD HH:mm")),e.message=JSON.stringify(n);try{return(await re(e)).resp_data}catch(t){return I(t)}}async function Oe(e,n,t,i,r={committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""}){let l=(await j({modellogiccode:e})).resp_data;if(!l||!l.operations||l.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 c=l.operations[0];return c.templateparams={...c.templateparams??{},flycode:n},t!==void 0&&(l.input=t),i!==void 0&&(l.output=i),le(l,r)}var Fe=150;function Fn(e){let n=e.filter(r=>r.hunk).map(r=>`--- ops[${r.index}]${r.label?` (${r.label})`:""} @ operation[${r.operationIndex}]\n${r.hunk}`);if(n.length===0)return"";let t=n.join(`\n`),i=t.split(`\n`);return i.length<=Fe?t:`${i.slice(0,Fe).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${i.length} \u884C\uFF09`}async function On(e,n){n.committype==="saverecord"&&(n.msgbody=$(new Date,"YYYY-MM-DD HH:mm")),e.message=JSON.stringify(n);try{let t=await re(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:I(t)}}}async function Ce(e,n,t,i={}){let r=i.contextLines??3,s=i.dryRun??!1,l=i.verify??!0,c=(R,T)=>({ok:!1,applied:!1,verified:null,errorCode:R,message:T,lengthBefore:0,lengthAfter:0,diff:"",ops:[]});if(!Array.isArray(n)||n.length===0)return c("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let u;try{u=(await j({modellogiccode:e})).resp_data}catch(R){return c("FETCH_FAILED",I(R))}if(!u)return c("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${e} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);if(!u.operations||u.operations.length===0)return c("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 g=u.operations.map(R=>R.templateparams?.flycode??""),x=g.reduce((R,T)=>R+T.length,0),b=G(g,n,{contextLines:r}),k=Fn(b.results),O=b.scripts.reduce((R,T)=>R+T.length,0);if(!b.ok){let R=b.results.filter(A=>A.status==="FAILED"),T=R.map(A=>A.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${R.length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${T}]\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:x,lengthAfter:O,diff:k,ops:b.results}}if(s)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:x,lengthAfter:O,diff:k,ops:b.results};for(let R=0;R<b.scripts.length;R++)if(b.scripts[R]!==g[R]){let T=u.operations[R].templateparams;u.operations[R].templateparams={...T??{},flycode:b.scripts[R]}}let C=await On(u,t);if(!C.ok)return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:C.text,lengthBefore:x,lengthAfter:O,diff:k,ops:b.results};let S=null,y=C.text;if(l)try{let A=((await j({modellogiccode:e})).resp_data?.operations??[]).map(D=>D.templateparams?.flycode??""),L=[];b.results.forEach((D,U)=>{let B=n[U],de=A[D.operationIndex]??"";B.newString.length>0&&!de.includes(B.newString)&&L.push(`ops[${U}] \u7684\u65B0\u5185\u5BB9\u672A\u51FA\u73B0\u5728\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`),!B.newString.includes(B.oldString)&&de.includes(B.oldString)&&L.push(`ops[${U}] \u7684 oldString \u4ECD\u7136\u5B58\u5728\u4E8E\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`)}),S=L.length===0,L.length>0&&(y=`${C.text} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${L.join("\uFF1B")}`)}catch(R){S=!1,y=`${C.text} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${I(R)}`}return{ok:S===null?!0:S,applied:!0,verified:S,errorCode:S===!1?"VERIFY_FAILED":"OK",message:y,lengthBefore:x,lengthAfter:O,diff:k,ops:b.results}}var Pe=[{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\n\n**\u6CE8\u610F**\uFF1A\n1.\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\n2.\u5F53\u9700\u8981\u4FEE\u6539 input \u3001ouput \u65F6\uFF0C\u4F18\u5148\u4F7F\u7528 simple_save_flycode_model_logic \u5DE5\u5177\u3002\n3.\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\n\n\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\n- 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\n- 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\n- execmode\uFF08\u6267\u884C\u65B9\u5F0F\uFF09\uFF1A1-\u540C\u6B65\uFF1B2-\u5F02\u6B65\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\n- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E\n- input/output[].datatype\uFF08\u53C2\u6570\u5F62\u6001\uFF09\uFF1A0-\u5355\u5B9E\u4F53\uFF1B1-\u6570\u7EC4\n- 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:ke.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:M.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:w.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=H(t);try{let r=await le(n,i);return{content:[{type:"text",text:r}],structuredContent:{result:r}}}catch(r){let s=I(r);return{isError:!0,content:[{type:"text",text:s}],structuredContent:{result:s}}}}},{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\n\n\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\n\n\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\n\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\n\n\u670D\u52A1\u7AEF\u6309 overwrite=false \u4FDD\u5B58\uFF08\u4E0D\u8986\u76D6\u4ED6\u4EBA\u6700\u65B0\u7248\u672C\uFF09\u3002\n\n**\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**\n\n\u3010input/output \u53C2\u6570\u679A\u4E3E\u901F\u67E5\u3011\uFF08\u4EC5\u5F53\u4F20 input/output \u65F6\u9700\u8981\uFF0C\u7ED3\u6784\u540C logicParametersSchema\uFF09\n- 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\n- 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:w.string().describe("\u8981\u4FDD\u5B58\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),flycode:w.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:J.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:J.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:M.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:w.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:r,commitMessage:s}=e,l=H(s);try{let c=await Oe(n,t,i,r,l);return{content:[{type:"text",text:c}],structuredContent:{result:c}}}catch(c){let u=I(c);return{isError:!0,content:[{type:"text",text:u}],structuredContent:{result:u}}}}},{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\n\n\u3010\u4F55\u65F6\u7528\u672C\u5DE5\u5177 / \u4F55\u65F6\u7528\u522B\u7684\u3011\n- \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\n- \u6574\u4EFD\u811A\u672C\u91CD\u5199\u3001\u5927\u8303\u56F4\u91CD\u6784 \u2192 simple_save_flycode_model_logic\n- \u975E flycode \u9886\u57DF\uFF08\u5BFC\u51FA\u7B49\uFF09\u6216\u8981\u6539 input / output \u7ED3\u6784 \u2192 save_model_logic\n\n\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\n\n\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\n\n\u3010oldString \u4E66\u5199\u8981\u6C42\uFF08\u51B3\u5B9A\u6210\u8D25\uFF09\u3011\n- \u5FC5\u987B\u975E\u7A7A\uFF0C\u4E14\u5728\u76EE\u6807\u811A\u672C\u4E2D\u552F\u4E00\u547D\u4E2D\uFF08\u5426\u5219\u62A5 NOT_UNIQUE\uFF09\n- \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\n- \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\n- \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\n- \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\n\n\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:w.string().describe("\u8981\u4FEE\u6539\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:w.array(w.object({oldString:w.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:w.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:w.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:w.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:w.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:w.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:w.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:M.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:w.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:w.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:w.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:w.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:w.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:w.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:w.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / NO_OPERATIONS / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:w.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),lengthBefore:w.coerce.number().describe("\u66FF\u6362\u524D\u811A\u672C\u603B\u5B57\u7B26\u6570"),lengthAfter:w.coerce.number().describe("\u66FF\u6362\u540E\u811A\u672C\u603B\u5B57\u7B26\u6570"),diff:w.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:w.array(w.object({index:w.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),label:w.string().nullable().describe("\u8C03\u7528\u65B9\u4F20\u5165\u7684\u6807\u8BC6"),status:w.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:w.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:w.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),operationIndex:w.coerce.number().describe("\u5B9E\u9645\u4F5C\u7528\u7684 operation \u4E0B\u6807"),matchCount:w.coerce.number().describe("oldString \u7684\u5339\u914D\u603B\u6570"),replacedCount:w.coerce.number().describe("\u5B9E\u9645\u66FF\u6362\u7684\u5904\u6570"),range:w.object({startOffset:w.coerce.number().describe("\u8D77\u59CB\u5B57\u7B26\u504F\u79FB"),endOffset:w.coerce.number().describe("\u7ED3\u675F\u5B57\u7B26\u504F\u79FB\uFF08\u4E0D\u542B\uFF09"),startLine:w.coerce.number().describe("\u8D77\u59CB\u884C\u53F7\uFF0C1-based"),endLine:w.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:w.array(w.object({startLine:w.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:w.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:w.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:w.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:w.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:r=!1,contextLines:s=3,verify:l=!0}=e,c=H(i);try{let u=await Ce(n,t,c,{dryRun:r,contextLines:s,verify:l});return{isError:!u.ok,content:[{type:"text",text:JSON.stringify({ok:u.ok,applied:u.applied,verified:u.verified,errorCode:u.errorCode,message:u.message,ops:u.ops.map(g=>({index:g.index,status:g.status,errorCode:g.errorCode,message:g.message,operationIndex:g.operationIndex,matchCount:g.matchCount,replacedCount:g.replacedCount,range:g.range,suggestions:g.suggestions,dependentOnFailedOp:g.dependentOnFailedOp})),diff:u.diff})}],structuredContent:u}}catch(u){let g=I(u);return{isError:!0,content:[{type:"text",text:g}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:g,lengthBefore:0,lengthAfter:0,diff:"",ops:[]}}}}}];import{z as _}from"zod";function Ie(e){return F({url:"/bizserv/biz/pageList",method:"post",data:e,type:"tenant"})}function Ne(e){return F({url:"/bizserv/biz/getBizObject",method:"post",data:e,type:"tenant"})}import{z as m}from"zod";var Cn=m.array(m.object({columnname:m.string().optional().nullable().describe("\u5C5E\u6027\u5217\u7684\u5217\u540D\uFF0C\u5373\u6570\u636E\u5E93\u8868\u7684\u5B57\u6BB5\u7684\u540D\u5B57"),idxtype:m.union([m.string(),m.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:m.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:m.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),propertycategorycode:m.string().optional().nullable().describe("\u5C5E\u6027\u7C7B\u522B\u7F16\u7801"),propertycode:m.string().optional().nullable().describe("\u5C5E\u6027\u7F16\u7801\uFF0C\u552F\u4E00\u6807\u8BC6\u4E00\u4E2A\u5C5E\u6027"),propertydescr:m.string().optional().nullable().describe("\u5C5E\u6027\u63CF\u8FF0"),propertyname:m.string().optional().nullable().describe("\u5C5E\u6027\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),propertytypecode:m.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:m.union([m.string(),m.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:m.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:m.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:m.union([m.string(),m.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:m.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:m.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:m.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:m.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:m.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(m.unknown())),Pn={confsource:m.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:m.union([m.string(),m.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:m.union([m.string(),m.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:m.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:m.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:m.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:m.union([m.string(),m.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:m.string().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:m.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:m.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:m.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:m.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801\u3002\u4EC5\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u8FD4\u56DE"),objecttypecode:m.union([m.string(),m.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:m.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode\u3002\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),properties:Cn.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:m.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),script:m.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:m.union([m.string(),m.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:m.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:m.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u5E8F\u53F7\u3002\u4EC5\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),tablename:m.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D")},Te=m.looseObject(Pn);var Le=[{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\n\n\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\n- 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\n- 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\n- objectcatgory\uFF08\u662F\u5426\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u662F\uFF1B2-\u5426\n- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\n- publishstatus\uFF08\u53D1\u5E03\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E\n- hasoffline\uFF08\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u6709\uFF1B0-\u65E0`,inputSchema:{objectname:_.string().optional().describe("\u5B9E\u4F53\u4E2D\u6587\u540D\u3001\u5B9E\u4F53\u8868\u540D\u3001\u5B9E\u4F53 objectcode \u6A21\u7CCA\u5339\u914D"),page:_.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:_.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updatetimestart:_.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:_.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:_.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:_.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:_.array(_.object({confsource:_.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),createaccountcode:_.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:_.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:_.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),datapattern:_.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:_.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:_.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),hasoffline:_.string().optional().nullable().describe("\u5B9E\u4F53\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C1-\u6709\uFF1B0-\u65E0"),marktype:_.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:_.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C objectcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectcatgory:_.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:_.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:_.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:_.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:_.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:_.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801"),objecttypecode:_.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:_.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode"),publishstatus:_.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),status:_.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:_.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D"),updateaccountcode:_.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:_.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),updatetime:_.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(_.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:_.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:_.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:_.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:_.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:r="",updatetimeend:s="",datapattern:l="",objecttypecode:c=""}=e;try{let u=await Ie({centercode:"",directorytypecode:"rootNode",starttime:"",objectname:n,page:Number(t)||1,rows:Number(i)||20,updatetimestart:r,updatetimeend:s,datapattern:l,objecttypecode:c});return P(u.resp_data)}catch(u){return N(u)}}},{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\n\n\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\n- 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\n- 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\n- objectcatgory\uFF08\u662F\u5426\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF09\uFF1A1-\u662F\uFF1B2-\u5426\n- 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\n- publishstatus\uFF08\u53D1\u5E03\u72B6\u6001\uFF09\uFF1A1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E\n- properties[].idxtype\uFF08\u7D22\u5F15\u65B9\u5F0F\uFF09\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\n- 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:_.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u5B9E\u4F53\u7684\u7F16\u7801")},outputSchema:Te,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{objectcode:n}=e;try{let t=await Ne({objectcode:n});return P(t.resp_data)}catch(t){return N(t)}}}];import{z as o}from"zod";function Ee(e){return F({url:"/bizserv/bizpage/pageList",method:"post",data:e,type:"tenant"})}function z(e){return F({url:"/bizserv/bizpage/getPage",method:"post",data:e,type:"tenant"})}function ae(e){let{conf:n,message:t,ui:i,edittime:r=$(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:s=!1,clearuserconfig:l=!0}=e;return F({url:"/biserv/bizpage/saveNewPage",method:"post",data:{clearuserconfig:l,conf:n,edittime:r,message:t,overwrite:s,ui:i??n},type:"tenant"})}var De=150;function Me(e){e.committype==="saverecord"&&(e.msgbody=$(new Date,"YYYY-MM-DD HH:mm"))}function X(e,n){if(!e)return null;if(e.code===n)return e;if(Array.isArray(e.content))for(let t of e.content){let i=X(t,n);if(i)return i}return null}function W(e){let n=[],t=i=>{i&&(n.push(i),Array.isArray(i.content)&&i.content.forEach(t))};return t(e.view?.body??null),Array.isArray(e.controls)&&e.controls.forEach(i=>{i&&n.push(i)}),n}function He(e,n){if(!e?.content)return null;let t=e.content.findIndex(i=>i?.code===n);if(t>=0){let[i]=e.content.splice(t,1);return i??null}for(let i of e.content){let r=He(i,n);if(r)return r}return null}function je(e,n){let t=He(e.view?.body??null,n);if(t)return t;if(Array.isArray(e.controls)){let i=e.controls.findIndex(r=>r?.code===n);if(i>=0){let[r]=e.controls.splice(i,1);return r??null}}return null}function Ae(e){let n=new Set,t=i=>{if(i){for(let r of i.eventlist??[])r?.handler&&n.add(r.handler);Array.isArray(i.content)&&i.content.forEach(t)}};t(e.view?.body??null);for(let i of e.presenter?.handlers??[]){for(let r of i?.actions??[])r?.handler&&n.add(r.handler),r?.logiccode&&n.add(r.logiccode);for(let r of i?.eventlist??[])r?.handler&&n.add(r.handler)}for(let i of e.presenter?.interface??[])for(let r of i?.actions??[])r?.handler&&n.add(r.handler);return n}function In(e){return{oldString:e.oldString,newString:e.newString,replaceAll:e.replaceAll,occurrence:e.occurrence,matchMode:e.matchMode,label:e.label}}function $e(e){let n={code:e.code??null,type:e.type??null,title:e.title??null};return Array.isArray(e.content)&&e.content.length>0&&(n.children=e.content.map($e)),n}async function ze(e){let t=(await z({code:e})).resp_data;if(!t)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${e} \u5BF9\u5E94\u7684\u8868\u5355`);let i=(t.presenter?.handlers??[]).map(l=>({code:l?.code??null,name:l?.name??null,desc:l?.desc??null,key:l?.key??null,condition:l?.condition??null,actionCount:l?.actions?.length??0,actionTypes:(l?.actions??[]).map(c=>c?.type??"").filter(c=>!!c)})),r=(t.presenter?.interface??[]).map(l=>({code:l?.code??null,key:l?.key??null,desc:l?.desc??null,actionCount:l?.actions?.length??0})),s=(t.businessmodel??[]).map(l=>({modelcode:l?.modelcode??null,modellogiccode:l?.modellogiccode??null,modellogicname:l?.modellogicname??null,actiontype:l?.actiontype??null}));return{code:e,title:t.pageinfo?.title??null,type:t.pageinfo?.type??null,status:t.pageinfo?.status??null,clientcategorycode:t.pageinfo?.clientcategorycode??null,marktype:t.pageinfo?.marktype??null,versionnum:t.pageinfo?.versionnum??null,viewTree:t.view?.body?[$e(t.view.body)]:[],handlers:i,interfaces:r,businessModels:s,message:t.message??null}}async function qe(e,n){let i=(await z({code:e})).resp_data;if(!i)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${e} \u5BF9\u5E94\u7684\u8868\u5355`);let r,s,l;n.nodeCode&&(r=X(i.view?.body??null,n.nodeCode)??i.controls?.find(u=>u?.code===n.nodeCode)??null),n.handlerCode&&(s=i.presenter?.handlers?.find(u=>u?.code===n.handlerCode)??null),n.section&&(l=i[n.section]??null);let c=s?.actions?s.actions.map((u,g)=>({index:g,code:u?.code??null,type:u?.type??null,scriptLen:(u?.script??"")?.length??0,conditionLen:(u?.condition??"")?.length??0,expressionLen:(u.expression??"")?.length??0})):void 0;return{code:e,node:r??void 0,handler:s??void 0,section:l??void 0,actionIndex:c,message:i.message??null}}async function Nn(e,n,t){let i=(s={})=>({index:t,op:n.op,status:"OK",errorCode:"OK",message:null,hunk:null,suggestions:null,...s}),r=(s,l,c={})=>({index:t,op:n.op,status:"FAILED",errorCode:s,message:l,hunk:null,suggestions:null,...c});switch(n.op){case"set_pageinfo":return e.pageinfo={...e.pageinfo??{},...n.patch},i({message:`\u5DF2\u5408\u5E76 ${Object.keys(n.patch).length} \u4E2A\u5B57\u6BB5\u5230 pageinfo`});case"set_attrs":{let s=W(e).filter(l=>l.code===n.code);return s.length===0?r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${n.code} \u7684\u8282\u70B9`):s.length>1?r("DUP_CODE",`code=${n.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${s.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`):(Object.assign(s[0],n.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(n.patch).length} \u4E2A\u5C5E\u6027\u5230\u8282\u70B9 ${n.code}`}))}case"insert_node":{let s=X(e.view?.body??null,n.parentCode);if(!s)return r("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 parentCode=${n.parentCode} \u7684\u7236\u8282\u70B9`);s.content||(s.content=[]);let l=n.position??s.content.length;return s.content.splice(l,0,n.node),i({message:`\u5DF2\u5728 ${n.parentCode} \u7684 position=${l} \u63D2\u5165\u8282\u70B9`})}case"remove_node":{let s=W(e).filter(c=>c.code===n.code);return s.length===0?r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${n.code} \u7684\u8282\u70B9`):s.length>1?r("DUP_CODE",`code=${n.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${s.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):n.checkRefs!==!1&&Ae(e).has(n.code)?r("REF_VIOLATION",`\u4ECD\u6709\u4E8B\u4EF6/handler \u5F15\u7528 ${n.code}\uFF0C\u79FB\u9664\u524D\u8BF7\u5148\u89E3\u9664\u5F15\u7528\uFF08\u6216 checkRefs=false\uFF09`):je(e,n.code)?i({message:`\u5DF2\u79FB\u9664\u8282\u70B9 ${n.code}`}):r("NODE_NOT_FOUND",`\u8282\u70B9 ${n.code} \u6458\u9664\u5931\u8D25`)}case"move_node":{let s=W(e).filter(g=>g.code===n.code);if(s.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${n.code} \u7684\u8282\u70B9`);if(s.length>1)return r("DUP_CODE",`code=${n.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${s.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let l=je(e,n.code);if(!l)return r("NODE_NOT_FOUND",`\u8282\u70B9 ${n.code} \u6458\u9664\u5931\u8D25`);let c=X(e.view?.body??null,n.newParentCode);if(!c)return r("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 newParentCode=${n.newParentCode} \u7684\u7236\u8282\u70B9`);c.content||(c.content=[]);let u=n.position??c.content.length;return c.content.splice(u,0,l),i({message:`\u5DF2\u5C06 ${n.code} \u79FB\u52A8\u5230 ${n.newParentCode} \u7684 position=${u}`})}case"set_section":return e[n.section]=n.value,i({message:`\u5DF2\u6574\u6BB5\u66FF\u6362 ${n.section}`});case"replace_script":{let s=e.presenter?.handlers?.find(k=>k?.code===n.handlerCode);if(!s)return r("NODE_NOT_FOUND",`\u672A\u5728 presenter.handlers \u4E2D\u627E\u5230 handlerCode=${n.handlerCode}`);let l=s.actions??[],c;if(n.actionCode!=null){if(c=l.find(k=>k?.code===n.actionCode),!c)return r("NODE_NOT_FOUND",`handler ${n.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${n.actionCode}`)}else{let k=n.actionIndex??0;if(k<0||k>=l.length)return r("NO_TARGET",`actionIndex=${k} \u8D8A\u754C\uFF0Chandler ${n.handlerCode} \u5171\u6709 ${l.length} \u4E2A action`);c=l[k]}let u=n.field??"script";if(n.replacement!=null)return c[u]=n.replacement,i({message:`\u5DF2\u6574\u6BB5\u8986\u76D6 ${n.handlerCode}.actions[${n.actionIndex??0}].${u}`});if(!n.ops||n.ops.length===0)return r("INVALID_PARAMS","replace_script \u9700\u63D0\u4F9B replacement \u6216 ops\uFF08oldString\u2192newString \u6570\u7EC4\uFF09");let g=c[u]??"",x=G([g],n.ops.map(In),{contextLines:3}),b=x.results[0];return x.ok?(c[u]=x.scripts[0],i({message:`\u5DF2\u5C40\u90E8\u66FF\u6362 ${u}`,hunk:b?.hunk??null})):r("OPS_FAILED",b?.message??"\u811A\u672C\u66FF\u6362\u5931\u8D25",{hunk:b?.hunk??null,suggestions:b?.suggestions??null})}case"add_businessmodel":{let s=e.businessmodel??(e.businessmodel=[]),l=s.find(u=>u?.modellogiccode===n.modellogiccode);if(l&&!n.overwrite)return i({message:`businessmodel \u5DF2\u5B58\u5728 ${n.modellogiccode}\uFF0C\u8DF3\u8FC7\uFF08overwrite=false\uFF09`});let c;try{c=(await j({modellogiccode:n.modellogiccode})).resp_data}catch(u){return r("FETCH_FAILED",`\u83B7\u53D6\u4E1A\u52A1\u903B\u8F91 ${n.modellogiccode} \u5931\u8D25\uFF1A${I(u)}`)}return c?l&&n.overwrite?(Object.assign(l,c),i({message:`\u5DF2\u8986\u76D6 businessmodel \u4E2D\u7684 ${n.modellogiccode}`})):(s.push(c),i({message:`\u5DF2\u8FFD\u52A0\u4E1A\u52A1\u903B\u8F91 ${n.modellogiccode} \u5230 businessmodel`})):r("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${n.modellogiccode} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`)}case"remove_businessmodel":{let s=e.businessmodel??[],l=s.findIndex(c=>c?.modellogiccode===n.modellogiccode);return l<0?i({message:`businessmodel \u4E2D\u4E0D\u5B58\u5728 ${n.modellogiccode}\uFF0C\u65E0\u9700\u79FB\u9664`}):n.checkRefs!==!1&&Ae(e).has(n.modellogiccode)?r("REF_VIOLATION",`\u4ECD\u6709\u4E8B\u4EF6/handler \u5F15\u7528 ${n.modellogiccode}\uFF0C\u79FB\u9664\u524D\u8BF7\u5148\u89E3\u9664\u5F15\u7528\uFF08\u6216 checkRefs=false\uFF09`):(s.splice(l,1),i({message:`\u5DF2\u4ECE businessmodel \u79FB\u9664 ${n.modellogiccode}`}))}}}function Tn(e){let n=[];for(let r of e)r.hunk?n.push(`--- ops[${r.index}] ${r.op}\n${r.hunk}`):n.push(`ops[${r.index}] ${r.op} (${r.status}): ${r.message??""}`);let t=n.join(`\n`),i=t.split(`\n`);return i.length<=De?t:`${i.slice(0,De).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${i.length} \u884C\uFF09`}function Ln(e,n){let t=[],i=W(e),r=new Set(i.map(s=>s.code).filter(s=>!!s));for(let s=0;s<n.length;s++){let l=n[s];switch(l.op){case"set_pageinfo":for(let[c,u]of Object.entries(l.patch))JSON.stringify(e.pageinfo?.[c])!==JSON.stringify(u)&&t.push(`ops[${s}] set_pageinfo.${c} \u672A\u751F\u6548`);break;case"set_attrs":{let c=i.find(u=>u.code===l.code);if(!c){t.push(`ops[${s}] set_attrs \u8282\u70B9 ${l.code} \u6D88\u5931`);break}for(let[u,g]of Object.entries(l.patch))JSON.stringify(c[u])!==JSON.stringify(g)&&t.push(`ops[${s}] set_attrs.${u} \u672A\u751F\u6548`);break}case"insert_node":r.has(l.node.code)||t.push(`ops[${s}] insert_node \u8282\u70B9\u672A\u51FA\u73B0`);break;case"remove_node":r.has(l.code)&&t.push(`ops[${s}] remove_node \u8282\u70B9\u4ECD\u5B58\u5728`);break;case"move_node":r.has(l.code)||t.push(`ops[${s}] move_node \u8282\u70B9\u6D88\u5931`);break;case"set_section":break;case"replace_script":{let u=e.presenter?.handlers?.find(k=>k?.code===l.handlerCode)?.actions??[],g=l.actionCode!=null?u.find(k=>k?.code===l.actionCode):u[l.actionIndex??0];if(!g){t.push(`ops[${s}] replace_script action \u672A\u627E\u5230`);break}let x=l.field??"script",b=g[x]??"";if(l.replacement!=null)b!==l.replacement&&t.push(`ops[${s}] replace_script \u6574\u6BB5\u8986\u76D6\u672A\u751F\u6548`);else if(l.ops)for(let k of l.ops)k.newString.length>0&&!b.includes(k.newString)&&t.push(`ops[${s}] replace_script \u65B0\u5185\u5BB9\u672A\u51FA\u73B0`),!k.newString.includes(k.oldString)&&b.includes(k.oldString)&&t.push(`ops[${s}] replace_script \u65E7\u5185\u5BB9\u4ECD\u5B58\u5728`);break}case"add_businessmodel":{(e.businessmodel??[]).some(u=>u?.modellogiccode===l.modellogiccode)||t.push(`ops[${s}] add_businessmodel \u672A\u8FFD\u52A0`);break}case"remove_businessmodel":{(e.businessmodel??[]).some(u=>u?.modellogiccode===l.modellogiccode)&&t.push(`ops[${s}] remove_businessmodel \u672A\u79FB\u9664`);break}}}return{verified:t.length===0,problems:t}}async function Ve(e,n,t,i={}){let r=i.dryRun??!1,s=i.verify??!0,l=(y,R)=>({ok:!1,applied:!1,verified:null,errorCode:y,message:R,diff:"",ops:[]});if(!Array.isArray(n)||n.length===0)return l("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let c;try{c=(await z({code:e})).resp_data}catch(y){return l("FETCH_FAILED",I(y))}if(!c)return l("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 code=${e} \u5BF9\u5E94\u7684\u8868\u5355`);let u=structuredClone(c),g=[],x=!1;for(let y=0;y<n.length;y++)try{let R=await Nn(u,n[y],y);g.push(R),R.status==="FAILED"&&(x=!0)}catch(R){g.push({index:y,op:n[y].op,status:"FAILED",errorCode:"OP_ERROR",message:I(R),hunk:null,suggestions:null}),x=!0}let b=Tn(g);if(x){let y=g.filter(R=>R.status==="FAILED").map(R=>R.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${g.filter(R=>R.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${y}]\uFF09\u3002\u672C\u6279\u6B21\u672A\u4EA7\u751F\u4EFB\u4F55\u5199\u5165\uFF0C\u8BF7\u6839\u636E ops[].message / suggestions \u4FEE\u6B63\u540E\u91CD\u8BD5`,diff:b,ops:g}}if(r)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`,diff:b,ops:g};Me(t);let k=JSON.stringify(t),O;try{let y=await ae({conf:u,message:k});O=typeof y?.resp_data=="string"?y.resp_data:JSON.stringify(y?.resp_data??null)}catch(y){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:I(y),diff:b,ops:g}}let C=null,S=O;if(s)try{let R=(await z({code:e})).resp_data;if(!R)C=!1,S=`${O} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let T=Ln(R,n);C=T.verified,T.verified||(S=`${O} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${T.problems.join("\uFF1B")}`)}}catch(y){C=!1,S=`${O} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${I(y)}`}return{ok:C===null?!0:C,applied:!0,verified:C,errorCode:C===!1?"VERIFY_FAILED":"OK",message:S,diff:b,ops:g}}async function Ue(e,n){Me(n);let t=JSON.stringify(n);try{let i=await ae({conf:e,message:t}),r=typeof i?.resp_data=="string"?i.resp_data:JSON.stringify(i?.resp_data??null);return{ok:!0,code:e.pageinfo?.code??void 0,message:r}}catch(i){return{ok:!1,code:e.pageinfo?.code??void 0,message:I(i)}}}var En=o.object({createtime:o.union([o.string(),o.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:o.union([o.string(),o.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),createaccountname:o.union([o.string(),o.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),code:o.string().describe("\u8868\u5355/\u9875\u9762\u7684\u7F16\u7801"),clientcategorycode:o.union([o.string(),o.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),confsource:o.coerce.number().nullable().optional().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),directorytypecode:o.union([o.string(),o.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:o.union([o.string(),o.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),marktype:o.coerce.number().nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:o.union([o.string(),o.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C code \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),pagetemplatecode:o.union([o.string(),o.null()]).optional().describe("\u9875\u9762\u6A21\u677F\u7F16\u7801"),pagetypename:o.union([o.string(),o.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\u540D\u79F0"),pagedescr:o.union([o.string(),o.null()]).optional().describe("\u9875\u9762\u63CF\u8FF0"),ref:o.union([o.string(),o.null()]).optional().describe("\u5916\u90E8\u5F15\u7528\uFF0C\u4E00\u822C\u4F20\u7A7A\u5B57\u7B26\u4E32"),status:o.coerce.number().nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:o.union([o.string(),o.null()]).optional().describe("\u6807\u9898"),type:o.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:o.union([o.string(),o.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountcode:o.union([o.string(),o.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:o.union([o.string(),o.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),versionnum:o.union([o.string(),o.null()]).optional().describe("\u7248\u672C\u53F7")}).catchall(o.unknown()),ce={renderinfo:o.any().optional().describe("IDE \u6E32\u67D3\u6807\u8BB0"),pageinfo:o.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 1\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F"),businessmodel:o.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:o.any().optional().describe("\u52A8\u4F5C\u903B\u8F91\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),presenter:o.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:o.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:o.any().optional().describe("\u63A7\u4EF6\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),pageswitch:o.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:o.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")},Be=[{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\n\n\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\n- 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\n- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\n- clientcategorycode\uFF08\u7528\u6237\u7AEF\uFF09\uFF1A1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- confsource\uFF08\u914D\u7F6E\u6765\u6E90\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E`,inputSchema:{status:o.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),keys:o.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355 code / title"),keywords:o.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355\u4E2D\u7684\u5173\u952E\u8BCD"),clientcategorycode:o.string().optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),page:o.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:o.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),type:o.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:o.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D"),updatetimestart:o.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:o.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:o.array(En).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:o.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:o.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:o.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:o.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:r="",page:s=1,rows:l=20,type:c="",updateopname:u="",updatetimestart:g="",updatetimeend:x=""}=e;try{let b=await Ee({centercode:"",directorytypecode:"rootNode",starttime:"",status:n,keys:t,keywords:i,clientcategorycode:r,page:Number(s)||1,rows:Number(l)||20,type:c,updateopname:u,updatetimestart:g,updatetimeend:x});return P(b.resp_data)}catch(b){return N(b)}}},{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\n- pageinfo\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F\n- businessmodel\uFF1A\u5F15\u7528\u7684\u540E\u7AEF\u4E1A\u52A1\u6A21\u578B/\u63A5\u53E3\uFF08\u7ED3\u6784\u540C logicClient \u7684 LogicResult\uFF09\n- presenter\uFF1A\u4E8B\u4EF6\u5904\u7406\u5668\uFF08\u52A0\u8F7D/\u6309\u94AE\u70B9\u51FB/\u4E0B\u62C9\u6539\u53D8\u7B49\u65F6\u673A\u89E6\u53D1\uFF09\n- view\uFF1A\u9875\u9762\u7ED3\u6784\uFF0C\u9012\u5F52\u7684\u63A7\u4EF6\u8282\u70B9\u6811\n- controls\uFF1A\u6241\u5E73\u63A7\u4EF6\u6570\u7EC4\uFF08\u90E8\u5206\u9875\u9762\u624D\u6709\uFF09\n- pageswitch\uFF1A\u4EC5 switchpage \u7C7B\u578B\u624D\u6709\u7684\u9875\u9762\u5207\u6362\u914D\u7F6E\n- message\uFF1A\u6BCF\u6B21\u4FDD\u5B58\u586B\u5199\u7684\u63D0\u4EA4\u4FE1\u606F\uFF08\u7C7B\u4F3C git \u63D0\u4EA4\u4FE1\u606F\uFF09\n\n\u3010\u5B57\u6BB5\u901F\u67E5\uFF08\u7F16\u7801\u5B57\u6BB5\u4E0E\u5173\u952E\u7ED3\u6784\uFF0C\u4F9B\u7406\u89E3\u8FD4\u56DE JSON\uFF09\u3011\npageinfo \u5173\u952E\u5B57\u6BB5\uFF1A\n 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\u3002\nbusinessmodel\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\u3002\npresenter\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\u3002\nview\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\u3002\ncontrols\uFF08\u6241\u5E73\u6570\u7EC4\uFF09\uFF1Atype/code/name/title/eventlist/options/rows\uFF0C\u5C5E\u6027\u542B\u4E49\u540C view \u8282\u70B9\u3002\npageswitch\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\u3002\nmessage\uFF1A\u63D0\u4EA4\u4FE1\u606F\u6587\u672C\u3002`,inputSchema:{code:o.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:o.looseObject(ce),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{code:n}=e;try{let t=await z({code:n});return P(t.resp_data)}catch(t){return N(t)}}},{name:"get_form_outline",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u9AA8\u67B6",description:`\u83B7\u53D6\u8868\u5355/\u9875\u9762\u7684\u8F7B\u91CF\u9AA8\u67B6\uFF08\u5730\u5740\u7C3F / \u51B3\u7B56\u4F9D\u636E\uFF09\uFF0C\u7EA6 2\u20134KB\uFF0C\u907F\u514D\u4E3A\u65E5\u5E38\u6539\u52A8\u62C9\u53D6\u5B8C\u6574 88KB \u7684\u8868\u5355 JSON\u3002\u8FD4\u56DE\uFF1A\u9875\u9762\u7684 pageinfo \u5173\u952E\u5B57\u6BB5\u3001view \u6811\u9AA8\u67B6\uFF08\u4EC5 code/type/title + \u9012\u5F52 children\uFF0C\u4E0D\u542B\u5C5E\u6027\u566A\u58F0\uFF09\u3001presenter \u7684 handlers \u6E05\u5355\u4E0E interfaces \u6E05\u5355\u3001businessmodel \u5F15\u7528\u7684\u903B\u8F91\u540D\uFF08\u4EC5\u540D\u5B57\uFF0C\u4E0D\u56DE\u5185\u5BB9\uFF09\u3002\n\n\u3010\u7528\u9014\u3011\n- \u5728\u4E0D\u77E5\u9053\u5168\u91CF\u5185\u5BB9\u65F6\uFF0C\u5148\u62FF\u5230\u6240\u6709\u53EF\u6539\u5BF9\u8C61\u7684 code\uFF08\u8282\u70B9 / \u5904\u7406\u5668 / \u63A5\u53E3 / \u903B\u8F91\uFF09\uFF0C\u907F\u514D NODE_NOT_FOUND \u76F2\u731C\n- \u770B\u6E05\u5168\u8C8C\u540E\u5224\u65AD\u6539\u54EA\uFF0C\u518D\u51B3\u5B9A\u8981\u4E0D\u8981\u62C9\u7247\u6BB5\n\u968F\u540E\u5982\u9700\u6539\u67D0\u8282\u70B9\u5C5E\u6027\u6216\u811A\u672C\uFF0C\u8BF7\u7528 get_form_fragment(nodeCode/handlerCode) \u53D6\u771F\u5B9E\u5C5E\u6027\u540D\u4E0E\u811A\u672C\u5185\u5BB9\uFF0C\u518D\u7528 patch_form \u4FEE\u6539\u3002`,inputSchema:{code:o.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:{code:o.string().describe("\u8868\u5355\u7F16\u7801"),title:o.union([o.string(),o.null()]).optional().describe("\u6807\u9898"),type:o.union([o.string(),o.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\uFF08\u540C page_form_list \u7684 type\uFF09"),status:o.union([o.string(),o.null()]).optional().describe("\u72B6\u6001"),clientcategorycode:o.union([o.string(),o.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B"),marktype:o.union([o.string(),o.null()]).optional().describe("\u521B\u5EFA\u6807\u8BB0"),versionnum:o.union([o.string(),o.null()]).optional().describe("\u7248\u672C\u53F7"),viewTree:o.array(o.lazy(()=>o.object({code:o.union([o.string(),o.null()]).optional(),type:o.union([o.string(),o.null()]).optional(),title:o.union([o.string(),o.null()]).optional(),children:o.array(o.lazy(()=>o.object({code:o.union([o.string(),o.null()]).optional(),type:o.union([o.string(),o.null()]).optional(),title:o.union([o.string(),o.null()]).optional(),children:o.array(o.unknown()).optional()}))).optional()}))).optional().describe("view \u6811\u9AA8\u67B6\uFF08\u9012\u5F52\uFF0C\u4EC5 code/type/title + children\uFF09"),handlers:o.array(o.object({code:o.union([o.string(),o.null()]).optional(),name:o.union([o.string(),o.null()]).optional(),desc:o.union([o.string(),o.null()]).optional(),key:o.union([o.string(),o.null()]).optional(),condition:o.union([o.string(),o.null()]).optional(),actionCount:o.coerce.number().optional(),actionTypes:o.array(o.string()).optional()})).optional().describe("presenter \u4E8B\u4EF6\u5904\u7406\u5668\u6E05\u5355"),interfaces:o.array(o.object({code:o.union([o.string(),o.null()]).optional(),key:o.union([o.string(),o.null()]).optional(),desc:o.union([o.string(),o.null()]).optional(),actionCount:o.coerce.number().optional()})).optional().describe("presenter \u5BF9\u5916\u63A5\u53E3\u6E05\u5355"),businessModels:o.array(o.object({modelcode:o.union([o.string(),o.null()]).optional(),modellogiccode:o.union([o.string(),o.null()]).optional(),modellogicname:o.union([o.string(),o.null()]).optional(),actiontype:o.union([o.string(),o.null()]).optional()})).optional().describe("businessmodel \u5F15\u7528\u7684\u4E1A\u52A1\u903B\u8F91\u540D\u6E05\u5355\uFF08\u4EC5\u540D\u5B57\uFF0C\u4E0D\u56DE\u5185\u5BB9\uFF09"),message:o.union([o.string(),o.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{code:n}=e;try{let t=await ze(n);return P(t)}catch(t){return N(t)}}},{name:"get_form_fragment",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u5C40\u90E8\u5185\u5BB9",description:`\u6309 code \u53D6\u8868\u5355\u7684\u5C40\u90E8\u5185\u5BB9\uFF08\u51E0 KB\uFF09\uFF0C\u907F\u514D\u4E3A\u6539\u4E00\u5904\u800C\u62C9\u5B8C\u6574 88KB \u8868\u5355 JSON\u3002\u4E09\u79CD\u5BFB\u5740\u65B9\u5F0F\u4E09\u9009\u4E00\uFF08\u53EF\u7EC4\u5408\uFF09\uFF1A\n- nodeCode\uFF1A\u8FD4\u56DE\u8BE5 view \u6811\u8282\u70B9 / controls \u9879\u7684\u5B8C\u6574\u5B50\u6811\uFF08\u770B\u6E05\u771F\u5B9E\u5C5E\u6027\u540D\uFF0C\u5982 hidden \u8FD8\u662F visible\uFF09\n- handlerCode\uFF1A\u8FD4\u56DE\u8BE5 presenter \u5904\u7406\u5668\u7684\u5B8C\u6574\u5B9A\u4E49\uFF0C\u5E76\u9644 actionIndex \u6E05\u5355\uFF08\u6BCF\u4E2A action \u7684 code/type \u4E0E script/condition/expression \u957F\u5EA6\uFF09\uFF0C\u4FBF\u4E8E\u7CBE\u786E\u6784\u9020 patch_form \u7684 replace_script\n- section\uFF1A\u8FD4\u56DE\u6574\u6BB5 pageinfo / view / presenter / controls / pageswitch / businessmodel\uFF08\u4EC5\u6838\u5BF9\u5F15\u7528\u65F6\u4F7F\u7528\uFF0Cbusinessmodel \u4FDD\u5B58\u65F6\u7531 add_businessmodel \u81EA\u52A8\u8865\u94FE\uFF0C\u4E0D\u8981\u6C42\u4F60\u4F20\u5165\u5927\u6BB5 JSON\uFF09\n\n\u3010\u5178\u578B\u914D\u5408\u3011\u6539\u67D0\u6309\u94AE\u811A\u672C\uFF1Aget_form_fragment(handlerCode:"xxx") \u770B action \u7ED3\u6784\u4E0E\u811A\u672C\u5185\u5BB9 \u2192 patch_form(replace_script, handlerCode:"xxx", actionIndex:0, ops:[{oldString,newString}])\u3002`,inputSchema:{code:o.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),nodeCode:o.string().optional().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B50\u6811"),handlerCode:o.string().optional().describe("\u76EE\u6807 presenter \u5904\u7406\u5668\u7F16\u7801\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B9A\u4E49\u4E0E actionIndex \u6E05\u5355"),section:o.enum(["pageinfo","view","presenter","controls","pageswitch","businessmodel"]).optional().describe("\u8FD4\u56DE\u6574\u6BB5\u5185\u5BB9\uFF08\u4EC5\u6838\u5BF9\u5F15\u7528\u7528\uFF09")},outputSchema:{code:o.string().describe("\u8868\u5355\u7F16\u7801"),node:o.any().optional().describe("nodeCode \u547D\u4E2D\u7684\u8282\u70B9\u5B50\u6811"),handler:o.any().optional().describe("handlerCode \u547D\u4E2D\u7684\u5904\u7406\u5668\u5B8C\u6574\u5B9A\u4E49"),section:o.any().optional().describe("section \u547D\u4E2D\u7684\u6574\u6BB5\u5185\u5BB9"),actionIndex:o.array(o.object({index:o.coerce.number().describe("action \u4E0B\u6807"),code:o.union([o.string(),o.null()]).optional().describe("action \u7F16\u7801"),type:o.union([o.string(),o.null()]).optional().describe("action \u7C7B\u578B"),scriptLen:o.coerce.number().describe("script \u5B57\u7B26\u957F\u5EA6"),conditionLen:o.coerce.number().describe("condition \u5B57\u7B26\u957F\u5EA6"),expressionLen:o.coerce.number().describe("expression \u5B57\u7B26\u957F\u5EA6")})).optional().describe("handler \u7684 action \u6E05\u5355\uFF0C\u4FBF\u4E8E\u7CBE\u786E\u6784\u9020 replace_script"),message:o.union([o.string(),o.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{code:n,nodeCode:t,handlerCode:i,section:r}=e;try{let s=await qe(n,{nodeCode:t,handlerCode:i,section:r});return P(s)}catch(s){return N(s)}}}];import{z as d}from"zod";var Dn=d.discriminatedUnion("op",[d.object({op:d.literal("set_pageinfo"),patch:d.record(d.string(),d.unknown()).describe('\u6D45\u5408\u5E76\u8FDB pageinfo \u7684\u5B57\u6BB5\uFF0C\u5982 { "title": "\u65B0\u6807\u9898", "status": "1" }')}),d.object({op:d.literal("set_attrs"),code:d.string().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF08\u6574\u4E2A\u8868\u5355\u552F\u4E00\uFF09"),patch:d.record(d.string(),d.unknown()).describe('\u8981\u6539\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u6309 code \u5B9A\u4F4D\u540E\u6D45\u5408\u5E76\uFF0C\u5982 { "hidden": "1" }')}),d.object({op:d.literal("insert_node"),parentCode:d.string().describe("\u7236\u8282\u70B9 code\uFF08view \u6811\u4E2D\uFF09"),position:d.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),node:d.record(d.string(),d.unknown()).describe("\u65B0\u8282\u70B9\u5BF9\u8C61\uFF08\u542B type/code/title/content \u7B49\uFF09\uFF0C\u540C view \u6811\u8282\u70B9\u7ED3\u6784")}),d.object({op:d.literal("remove_node"),code:d.string().describe("\u8981\u5220\u9664\u7684\u8282\u70B9 code"),checkRefs:d.boolean().optional().describe("\u524D\u7F6E\u5F15\u7528\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true\uFF1B\u5B58\u5728\u4E8B\u4EF6/handler \u5F15\u7528\u65F6\u62D2\u7EDD\u5220\u9664\uFF0C\u7F6E false \u8DF3\u8FC7\u6821\u9A8C")}),d.object({op:d.literal("move_node"),code:d.string().describe("\u79FB\u52A8\u8282\u70B9 code"),newParentCode:d.string().describe("\u65B0\u7236\u8282\u70B9 code\uFF08view \u6811\u4E2D\uFF09"),position:d.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),d.object({op:d.literal("set_section"),section:d.enum(["view","presenter","controls","pageswitch"]).describe("\u6574\u6BB5\u66FF\u6362\u76EE\u6807"),value:d.unknown().describe("\u6574\u6BB5\u65B0\u5185\u5BB9\uFF08\u900F\u4F20\u539F\u6837\u4FDD\u5B58\uFF09")}),d.object({op:d.literal("replace_script"),handlerCode:d.string().describe("presenter \u5904\u7406\u5668 code"),actionIndex:d.number().int().nonnegative().optional().describe("\u7B2C\u51E0\u4E2A action\uFF0C\u9ED8\u8BA4 0\uFF1B\u4E0E actionCode \u4E8C\u9009\u4E00"),actionCode:d.string().optional().describe("\u4EE5 action code \u5B9A\u4F4D\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF09"),field:d.enum(["script","condition","expression"]).optional().describe("\u76EE\u6807\u5B57\u7B26\u4E32\u5B57\u6BB5\uFF0C\u9ED8\u8BA4 script"),replacement:d.string().optional().describe("\u6574\u6BB5\u66FF\u6362\u6A21\u5F0F\uFF1A\u76F4\u63A5\u7ED9\u76EE\u6807\u5B57\u6BB5\u7684\u65B0\u5168\u6587\uFF0C\u4F18\u5148\u7EA7\u9AD8\u4E8E ops\uFF08\u9002\u5408\u6574\u6BB5\u91CD\u5199 action\uFF09"),ops:d.array(d.object({oldString:d.string().describe("\u5F85\u66FF\u6362\u7684\u539F\u6587\u7247\u6BB5\uFF0C\u5FC5\u987B\u975E\u7A7A\u4E14\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:d.string().describe("\u66FF\u6362\u540E\u7684\u65B0\u6587\u672C\uFF1B\u4F20\u7A7A\u5B57\u7B26\u4E32\u8868\u793A\u5220\u9664 oldString \u8FD9\u6BB5\u5185\u5BB9"),replaceAll:d.boolean().optional().describe("\u662F\u5426\u66FF\u6362\u5168\u90E8\u5339\u914D\uFF0C\u9ED8\u8BA4 false\uFF1B\u4EC5\u5728\u4F60\u786E\u8BA4\u8981\u6539\u6389\u6240\u6709\u540C\u540D\u7247\u6BB5\u65F6\u7F6E true"),occurrence:d.number().int().positive().optional().describe("\u53EA\u66FF\u6362\u7B2C N \u4E2A\u5339\u914D\uFF081-based\uFF09\uFF0C\u7528\u4E8E\u591A\u5904\u76F8\u540C\u7247\u6BB5\u53EA\u6539\u5176\u4E2D\u4E00\u5904\uFF1B\u4E0E replaceAll \u4E92\u65A5"),matchMode:d.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:d.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).optional().describe("\u5C40\u90E8\u6A21\u5F0F\uFF1AoldString\u2192newString \u6570\u7EC4\uFF1B\u63D0\u4F9B replacement \u65F6\u672C\u5B57\u6BB5\u5FFD\u7565")}),d.object({op:d.literal("add_businessmodel"),modellogiccode:d.string().describe("\u76EE\u6807\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF1BMCP \u81EA\u52A8\u8C03\u7528 getModelLogic \u62C9\u53D6\u5176\u5B8C\u6574 JSON \u8FFD\u52A0\u5230 businessmodel\uFF08\u65E0\u9700\u4F60\u4F20\u5165\u5927\u6BB5\u903B\u8F91 JSON\uFF09"),overwrite:d.boolean().optional().describe("\u5F53 businessmodel \u5DF2\u5B58\u5728\u8BE5 modellogiccode \u65F6\u662F\u5426\u8986\u76D6\uFF0C\u9ED8\u8BA4 false\uFF08\u8DF3\u8FC7\uFF09")}),d.object({op:d.literal("remove_businessmodel"),modellogiccode:d.string().describe("\u8981\u79FB\u9664\u7684\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),checkRefs:d.boolean().optional().describe("\u524D\u7F6E\u5F15\u7528\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")})]),Je=[{name:"patch_form",config:{title:"\u5C40\u90E8\u8865\u4E01\u4FEE\u6539\u8868\u5355/\u9875\u9762",description:`\u4EE5\u7ED3\u6784\u5316\u8865\u4E01\uFF08delta ops\uFF09\u5C40\u90E8\u4FEE\u6539\u8868\u5355/\u9875\u9762\uFF0C\u65E0\u9700\u56DE\u4F20\u5B8C\u6574 88KB \u7684\u8868\u5355 JSON\u3002MCP \u4F1A\u5148\u62C9\u53D6\u6700\u65B0\u5B8C\u6574\u5BF9\u8C61\uFF0C\u5728\u5185\u5B58\u526F\u672C\u4E0A\u6309 ops \u987A\u5E8F\u5408\u5E76\uFF0C\u518D\u4E00\u6B21\u6027\u5168\u91CF\u4FDD\u5B58\uFF08\u670D\u52A1\u7AEF\u4EC5\u63D0\u4F9B\u5168\u91CF\u8986\u76D6\u4FDD\u5B58\u63A5\u53E3\uFF09\u3002\n\n\u3010\u5DE5\u4F5C\u6D41\u3011\n1. get_form_outline \u770B\u5168\u8C8C\u3001\u62FF\u5230\u5404\u8282\u70B9/handler \u7684 code\uFF08~2-4KB\uFF0C\u4E0D\u8BFB\u5168\u91CF\uFF09\uFF1B\n2. \u6539\u67D0\u8282\u70B9\u5C5E\u6027\u524D\uFF0C\u5148 get_form_fragment(nodeCode/handlerCode) \u786E\u8BA4\u771F\u5B9E\u5C5E\u6027\u540D\u4E0E\u811A\u672C\u5185\u5BB9\uFF1B\n3. \u8C03\u7528\u672C\u5DE5\u5177\uFF0Ccode \u6307\u5B9A\u8868\u5355\uFF0Cops \u6570\u7EC4\u63CF\u8FF0\u5177\u4F53\u6539\u52A8\u3002\n\n\u30109 \u7C7B ops \u901F\u67E5\u3011\n- set_pageinfo\uFF1A\u5408\u5E76 pageinfo \u5B57\u6BB5\uFF08\u5982\u6807\u9898/\u72B6\u6001\uFF09\n- set_attrs\uFF1A\u6309 code \u5B9A\u4F4D\u5355\u4E2A\u8282\u70B9\uFF0C\u6D45\u5408\u5E76\u5C5E\u6027\uFF08\u5982 hidden/required\uFF09\n- insert_node\uFF1A\u5728 parentCode \u4E0B\u63D2\u5165\u65B0\u8282\u70B9\n- remove_node\uFF1A\u6309 code \u5220\u9664\u8282\u70B9\uFF08\u9ED8\u8BA4\u6821\u9A8C\u5F15\u7528\uFF0C\u65E0\u5F15\u7528\u65B9\u53EF\u5220\uFF09\n- move_node\uFF1A\u628A\u8282\u70B9\u79FB\u52A8\u5230 newParentCode \u4E0B\n- set_section\uFF1A\u6574\u6BB5\u66FF\u6362 view/presenter/controls/pageswitch \u4E4B\u4E00\n- replace_script\uFF1A\u6539 presenter handler \u7684 action \u811A\u672C/\u6761\u4EF6/\u8868\u8FBE\u5F0F\uFF08\u652F\u6301\u6574\u6BB5 replacement \u6216 old\u2192new \u5C40\u90E8\u66FF\u6362\uFF09\n- add_businessmodel\uFF1A\u4EC5\u7ED9 modellogiccode\uFF0CMCP \u81EA\u52A8\u62C9\u53D6\u903B\u8F91 JSON \u8FFD\u52A0\uFF08\u89E3\u51B3"\u5927 JSON \u4E0D\u8BA9 AI \u4F20"\uFF09\n- remove_businessmodel\uFF1A\u4ECE businessmodel \u79FB\u9664\u6307\u5B9A\u903B\u8F91\uFF08\u9ED8\u8BA4\u6821\u9A8C\u5F15\u7528\uFF09\n\n\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\uFF08NODE_NOT_FOUND/DUP_CODE/REF_VIOLATION/FETCH_FAILED\uFF09\u5219\u6574\u6279\u4E2D\u6B62\u3001\u96F6\u5199\u5165\u56DE\u6EDA\u3002\u6574\u6279\u53EA\u53D1\u8D77\u4E00\u6B21\u4FDD\u5B58\u8BF7\u6C42\u3002\n\n\u3010oldString \u4E66\u5199\u8981\u6C42\uFF08replace_script \u5C40\u90E8\u6A21\u5F0F\uFF09\u3011\u5FC5\u987B\u975E\u7A7A\u4E14\u552F\u4E00\u547D\u4E2D\uFF1B\u76F4\u63A5\u4ECE\u67E5\u8BE2\u811A\u672C\u539F\u6587\u590D\u5236\uFF0C\u7F29\u8FDB\u6362\u884C\u4E00\u81F4\uFF1B\u6539\u52A8\u8F83\u5927\u6216\u4E0D\u786E\u5B9A\u65F6\u5148 dryRun=true \u9884\u89C8 diff\u3002\u5931\u8D25\u8FD4\u56DE ops[].suggestions \u7ED9\u51FA\u76F8\u4F3C\u5019\u9009\uFF0C\u636E\u6B64\u4FEE\u6B63\u5373\u53EF\u3002`,inputSchema:{code:d.string().describe("\u76EE\u6807\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),ops:d.array(Dn).min(1).describe("\u8865\u4E01\u64CD\u4F5C\u6570\u7EC4\uFF0C\u81F3\u5C11\u4E00\u4E2A\u5143\u7D20\uFF1B\u6309\u6570\u7EC4\u987A\u5E8F\u4F9D\u6B21\u4F5C\u7528\u4E8E\u4E0A\u4E00\u6B65\u7ED3\u679C"),commitMessage:M.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:d.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\u65F6\u5EFA\u8BAE\u5148\u7F6E true"),verify:d.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:d.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:d.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:d.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:d.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / NODE_NOT_FOUND / DUP_CODE / REF_VIOLATION / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:d.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),diff:d.string().describe("\u5168\u90E8 op \u7684 diff \u7247\u6BB5\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD\uFF1B\u53EA\u56DE\u6539\u52A8\u6458\u8981\uFF0C\u4E0D\u56DE\u6574\u4EFD\u8868\u5355"),ops:d.array(d.object({index:d.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:d.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:d.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:d.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801"),message:d.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),hunk:d.string().nullable().optional().describe("\u8BE5 op \u4EA7\u751F\u7684 diff \u7247\u6BB5\uFF08replace_script \u624D\u6709\uFF09"),suggestions:d.array(d.object({startLine:d.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:d.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:d.string().describe("\u5019\u9009\u7247\u6BB5\u9884\u89C8")})).nullable().optional().describe("NOT_FOUND \u65F6\u7684\u76F8\u4F3C\u5019\u9009")})).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{code:n,commitMessage:t,dryRun:i=!1,verify:r=!0}=e,s=e.ops,l=H(t);try{let c=await Ve(n,s,l,{dryRun:i,verify:r});return{isError:!c.ok,content:[{type:"text",text:JSON.stringify(c)}],structuredContent:c}}catch(c){let u=I(c);return{isError:!0,content:[{type:"text",text:u}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:u,diff:"",ops:[]}}}}},{name:"save_form",config:{title:"\u5168\u91CF\u4FDD\u5B58\u8868\u5355/\u9875\u9762",description:`\u6574\u9875\u91CD\u6784\uFF08\u91CD\u6392\u5E03\u5C40\u3001\u6A21\u677F\u8FC1\u79FB\u7B49\uFF09\u65F6\u6CA1\u6709\u5176\u4ED6\u8868\u8FBE\u65B9\u5F0F\uFF0C\u624D\u7528\u672C\u5DE5\u5177\uFF1A\u628A\u4ECE get_form \u67E5\u8BE2\u5230\u7684\u5B8C\u6574 FormResult \u5BF9\u8C61\u6309\u9700\u4FEE\u6539\u540E\u6574\u4EFD\u56DE\u4F20\u4FDD\u5B58\u3002\u65E5\u5E38\u5C40\u90E8\u6539\u52A8\u8BF7\u4F18\u5148\u7528 patch_form\uFF0C\u907F\u514D\u56DE\u4F20\u5E9E\u5927\u7684\u5B8C\u6574 JSON\u3002\n\n\u3010\u6784\u9020\u8981\u70B9\u3011\n- form \u4E3A\u5B8C\u6574 FormResult\uFF1A\u901A\u5E38\u6765\u81EA get_form \u7684\u8FD4\u56DE\uFF0C\u6539\u540E\u56DE\u4F20\uFF1Bbusinessmodel \u968F\u8868\u5355\u539F\u6837\u900F\u4F20\uFF08\u542B\u5B8C\u6574 LogicResult[]\uFF09\uFF0CMCP \u4E0D\u4F1A\u5265\u79BB\u5B83\n- \u670D\u52A1\u7AEF\u6309 overwrite=false \u4FDD\u5B58\uFF08\u4E0D\u8986\u76D6\u4ED6\u4EBA\u6700\u65B0\u7248\u672C\uFF09\uFF0Cmessage \u4F5C\u4E3A\u9876\u5C42\u63D0\u4EA4\u53C2\u6570\u4F20\u5165\uFF08\u975E FormResult \u5185\u90E8 message \u5B57\u6BB5\uFF09`,inputSchema:{form:d.looseObject(ce).describe("\u5B8C\u6574\u7684\u8868\u5355 JSON \u5BF9\u8C61\uFF08FormResult\uFF09\uFF0C\u901A\u5E38\u6765\u81EA get_form \u7684\u8FD4\u56DE\uFF0C\u4FEE\u6539\u540E\u56DE\u4F20"),commitMessage:M.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u7C7B\u578B\u4E0E\u540D\u79F0\u9700\u4E00\u4E00\u5BF9\u5E94\uFF1Bmsgbody \u5728\u975E saverecord \u65F6\u5FC5\u586B")},outputSchema:{ok:d.boolean().describe("\u662F\u5426\u4FDD\u5B58\u6210\u529F"),code:d.string().optional().describe("\u4FDD\u5B58\u6210\u529F\u7684\u8868\u5355\u7F16\u7801"),message:d.string().describe("\u4FDD\u5B58\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{form:n,commitMessage:t}=e,i=H(t);try{let r=await Ue(n,i);return{isError:!r.ok,content:[{type:"text",text:JSON.stringify(r)}],structuredContent:r}}catch(r){let s=I(r);return{isError:!0,content:[{type:"text",text:s}],structuredContent:{ok:!1,code:void 0,message:s}}}}}];import{z as f}from"zod";function Ye(e,n){return F({url:"/api/masterserv/hpage/listH5Page",method:"post",data:e,type:"business",token:n})}function Ke(e,n){return F({url:"/api/masterserv/hpage/listH5PageByOne",method:"post",data:e,type:"business",token:n})}function Ze(e){return F({url:"/pemission/rolepermission/account/getPreviewAccounts",method:"post",data:e,type:"tenant"})}async function Qe(){let e=q();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 Ze({pvcode:e.productVersionCode,rows:200}),s=(Array.isArray(i?.resp_data)?i.resp_data:[]).find(l=>l.positionname==="SFA\u7CFB\u7EDF\u7BA1\u7406\u5458");if(!s)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(!s.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 s.token}catch(i){n=i,t<3&&await new Promise(r=>setTimeout(r,800))}throw n}async function Ge(e){let n=await Qe();return Ye(e,n)}async function We(e){let n=await Qe();return Ke(e,n)}var Xe=f.object({confjson:f.union([f.string(),f.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:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF0C\u9884\u7559\u5B57\u6BB5"),pagecode:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801"),pagedescr:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u63CF\u8FF0"),pagetype:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u9875\u9762\u7C7B\u578B\uFF0C\u9884\u7559\u5B57\u6BB5"),platcreateop:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u4EBA\u59D3\u540D"),platcreatetime:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u65F6\u95F4"),platstatus:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u5E73\u53F0\u72B6\u6001"),platupdateop:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),platupdatetime:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),status:f.union([f.string(),f.number(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u72B6\u6001\uFF1B1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:f.union([f.string(),f.null()]).optional().describe("H5 \u8868\u5355\u7684\u6807\u9898")}).catchall(f.unknown()),jn=Xe.omit({confjson:!0}),An={data:f.array(jn).describe("\u8FD9\u4E00\u9875\u7684 H5 \u8868\u5355\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")},Mn=Xe.shape,en=[{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\n\n\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\n\n\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\n- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\n\n\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:f.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:f.string().optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),status:f.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),title:f.string().optional().describe("H5 \u8868\u5355\u7684\u6807\u9898\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),updateopname:f.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),page:f.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:f.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:An,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{keywords:n="",pagecode:t="",status:i="",title:r="",updateopname:s="",page:l=1,rows:c=20}=e;try{let g=(await Ge({keywords:n,pagecode:t,status:i,title:r,updateopname:s,page:Number(l)||1,rows:Number(c)||20})).resp_data,x=Array.isArray(g?.data)?g.data.map(k=>{let O={...k};return delete O.confjson,O}):g?.data,b={...g,data:x};return P(b)}catch(u){return N(u)}}},{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\n- pagecode\uFF1AH5 \u8868\u5355\u552F\u4E00\u7F16\u7801\n- title\uFF1A\u6807\u9898\n- status\uFF1A\u72B6\u6001\uFF081-\u542F\u7528/2-\u505C\u7528\uFF09\n- pagedescr\uFF1A\u63CF\u8FF0\n- 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\n- platcreateop / platcreatetime\uFF1A\u521B\u5EFA\u4EBA / \u521B\u5EFA\u65F6\u95F4\n- platupdateop / platupdatetime\uFF1A\u6700\u8FD1\u66F4\u65B0\u4EBA / \u6700\u8FD1\u66F4\u65B0\u65F6\u95F4\n- platstatus\uFF1A\u5E73\u53F0\u72B6\u6001\n\n\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:f.string().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:Mn,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{pagecode:n}=e;try{let t=await We({pagecode:n});return{content:[{type:"text",text:JSON.stringify(t.resp_data)}],structuredContent:t.resp_data}}catch(t){return N(t)}}}];import{z as a}from"zod";function nn(e){return F({url:"/bizserv/bizmodel/pageList",method:"post",data:e,type:"tenant"})}function tn(e){return F({url:"/bizserv/bizmodel/get",method:"post",data:e,type:"tenant"})}var Hn=a.object({classname:a.union([a.string(),a.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:a.union([a.string(),a.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:a.union([a.string(),a.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:a.union([a.string(),a.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:a.union([a.string(),a.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:a.union([a.string(),a.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:a.union([a.string(),a.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:a.union([a.string(),a.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:a.union([a.string(),a.number()]).nullable().optional().describe("\u987A\u5E8F"),status:a.union([a.string(),a.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:a.union([a.string(),a.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:a.union([a.string(),a.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:a.union([a.string(),a.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(a.unknown()),$n={classname:a.union([a.string(),a.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:a.union([a.string(),a.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:a.union([a.string(),a.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:a.union([a.string(),a.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:a.union([a.string(),a.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:a.union([a.string(),a.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:a.union([a.string(),a.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:a.union([a.string(),a.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:a.union([a.string(),a.number()]).nullable().optional().describe("\u987A\u5E8F"),status:a.union([a.string(),a.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:a.union([a.string(),a.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:a.union([a.string(),a.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:a.union([a.string(),a.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:a.union([a.string(),a.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),confjson:a.string().nullable().optional().describe("flycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9")},on=[{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\n\n\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\n- dddlayer\uFF08\u51FD\u6570\u5C42\u7EA7\uFF09\uFF1A\u56FA\u5B9A\u4F20 3\uFF0C\u4EE3\u8868\u51FD\u6570\u7C7B\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528`,inputSchema:{classname:a.string().optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),name:a.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C modelname \u4E00\u81F4"),modelname:a.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C name \u4E00\u81F4"),flycodekey:a.string().optional().describe("\u51FD\u6570\u5185\u5BB9\u5173\u952E\u5B57"),page:a.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:a.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:a.array(Hn).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:a.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:a.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:a.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:a.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:r="",page:s=1,rows:l=20}=e;try{let c=await nn({dddlayer:3,directorytypecode:"",starttime:"",classname:n,name:t,modelname:i,flycodekey:r,page:Number(s)||1,rows:Number(l)||20});return P(c.resp_data)}catch(c){return N(c)}}},{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\n\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\n\u5728\u4E1A\u52A1\u903B\u8F91 flycode \u4E2D\u901A\u8FC7 loadex("\u65B9\u6CD5\u540D") \u52A0\u8F7D\u3002\n\n\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\n- dddlayer\uFF08\u51FD\u6570\u5C42\u7EA7\uFF09\uFF1A\u56FA\u5B9A\u4F20 3\uFF0C\u4EE3\u8868\u51FD\u6570\u7C7B\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- status\uFF08\u72B6\u6001\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\n- confjson\uFF1Aflycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9\uFF0C\u662F\u51FD\u6570\u5B9E\u73B0\u4F53\u7684\u6838\u5FC3\u5B57\u6BB5`,inputSchema:{modelcode:a.string().describe("\u51FD\u6570\u7684\u7F16\u7801")},outputSchema:a.looseObject($n),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{modelcode:n}=e;try{let t=await tn({modelcode:n});return P(t.resp_data)}catch(t){return N(t)}}}];import{z as h}from"zod";function rn(e){return F({url:"/bizserv/customfunction/list",method:"post",data:e,type:"tenant"})}var zn=h.object({createtime:h.union([h.string(),h.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),creator:h.union([h.string(),h.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),dbfunctionname:h.union([h.string(),h.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D"),functioncode:h.union([h.string(),h.null()]).optional().describe("\u51FD\u6570\u552F\u4E00\u7F16\u7801"),functionname:h.union([h.string(),h.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),functionscript:h.union([h.string(),h.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u5185\u5BB9\uFF08PostgreSQL \u51FD\u6570\u4F53\uFF09"),marktype:h.union([h.string(),h.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:h.union([h.string(),h.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C functioncode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),publishstatus:h.union([h.string(),h.number()]).nullable().optional().describe("\u53D1\u5E03\u72B6\u6001\uFF0C1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03"),remark:h.union([h.string(),h.null()]).optional().describe("\u5907\u6CE8"),status:h.union([h.string(),h.number()]).nullable().optional().describe("\u72B6\u6001\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),updatetime:h.union([h.string(),h.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updator:h.union([h.string(),h.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA")}).catchall(h.unknown()),sn=[{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\n\n\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\n- marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237\n- publishstatus\uFF08\u53D1\u5E03\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03\n- status\uFF08\u72B6\u6001\uFF0C\u4EC5\u8F93\u51FA\uFF09\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528`,inputSchema:{dbfunctionname:h.string().optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),name:h.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),pageindex:h.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),pagesize:h.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:h.array(zn).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{dbfunctionname:n="",name:t="",pageindex:i=1,pagesize:r=20}=e;try{let s=await rn({dbfunctionname:n,name:t,pageindex:Number(i)||1,pagesize:Number(r)||20});return P(s.resp_data)}catch(s){return N(s)}}}];import{z as Y}from"zod";function ln(e){return F({url:"/api/biz/sqlrun",method:"post",data:e,type:"business"})}var qn={data:Y.array(Y.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:Y.coerce.number().nullable().optional().describe("\u67E5\u8BE2\u7ED3\u679C\u603B\u6570")},an=[{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:Y.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:Y.looseObject(qn),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async e=>{let{sql:n}=e;try{let t=await ln({sql:n});return P(t.resp_data)}catch(t){return N(t)}}}];import{z as un}from"zod";var ue=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),r=n>>BigInt(this.workerIdShift)&BigInt(this.maxWorkerId),s=n&BigInt(this.sequenceMask);return{timestamp:t,datacenterId:i,workerId:r,sequence:s,generateTime:new Date(Number(t))}}},Vn=1,Un=1,Bn=new ue(Vn,Un),cn=()=>Bn.nextId();var dn=[{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:un.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:un.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=cn().toString(),r={code:n?`${n}${t}`:t};return P(r)}catch(t){let r={error:t.message??String(t)};return{isError:!0,content:[{type:"text",text:JSON.stringify(r)}]}}}}];await we();var ee=new Jn({name:"flycode-mcp",version:"1.0.0"}),Kn=[...Re,...Pe,...Le,...Be,...Je,...en,...on,...sn,...an,...dn];for(let e of Kn)ee.registerTool(e.name,e.config,e.handler);async function Zn(){let e=new Yn;await ee.connect(e),process.on("SIGINT",async()=>{await ee.close(),process.exit(0)}),process.on("SIGTERM",async()=>{await ee.close(),process.exit(0)}),console.error("flycode-mcp listening on stdio")}Zn().catch(e=>{console.error(e),process.exit(1)});
|