flycode-mcp 1.14.7 → 1.14.8

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.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{McpServer as Zr}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as Xr}from"@modelcontextprotocol/sdk/server/stdio.js";var je="http://mconfig.xuantongkeji.com:51074",$n="username",En="password",Tn="tenantCode",Fn="envName";function Pe(t,e){let s=process.argv.slice(2).join("&"),i=new URLSearchParams(s).get(t);if(i!==null&&i!=="")return i;if(e!==void 0)return e;throw new Error(`Missing required arg: ${t}`)}var Z={username:Pe($n),password:Pe(En),tenantCode:Pe(Tn),envName:Pe(Fn)};import Mn from"axios";var at=null;function He(t){at=t}function lt(){return at}var ct=null;function dt(t){ct=t}function ie(){return ct}var Ue=Mn.create({baseURL:je||"",timeout:2e4,headers:{"Content-Type":"application/json"}});Ue.interceptors.request.use(t=>{let r=t.token??lt();return r&&(t.headers=t.headers||{},t.headers.token=r),delete t.token,t});Ue.interceptors.response.use(t=>t.data,t=>Promise.reject(t));function $(t){let{type:e="center",...r}=t,s;switch(e){case"center":s=je||"";break;case"tenant":case"business":{let n=ie();if(!n)return Promise.reject(new Error(`type \u4E3A ${e} \u65F6\uFF0C\u5FC5\u987B\u5148\u8C03\u7528 setTenant() \u8BBE\u7F6E\u79DF\u6237\u4FE1\u606F`));s=e==="tenant"?n.conn.config:n.conn.business;break}}return Ue({...r,baseURL:s})}var Ae="1";function ut(t){return $({url:"/api/multiplat/auth/login",method:"post",data:t})}function pt(){return $({url:"/api/multiplat/auth/getTenantInfo",method:"post",data:{appid:Ae}})}function mt(t){return $({url:"/api/multiplat/auth/getIdeToken",method:"post",data:t})}async function gt(){let t=await ut({appid:Ae,username:Z.username,password:Z.password});if(t.code!==200)throw new Error(`Unable to login: ${t.msg}`);He(t.data.token),console.error("flycode-mcp \u767B\u5F55\u5B8C\u6210");let r=(await pt()).resp_data.find(o=>o.tenantcode===Z.tenantCode),s=r?.envs.find(o=>o.envname===Z.envName);if(r&&s){let o;try{o=JSON.parse(s.conn)}catch{throw new Error(`\u79DF\u6237\u73AF\u5883\u8FDE\u63A5\u4FE1\u606F\u89E3\u6790\u5931\u8D25, \u79DF\u6237\u53F7: ${Z.tenantCode}, \u73AF\u5883\u540D: ${Z.envName}, env.conn \u4E0D\u662F\u5408\u6CD5\u7684 JSON: ${s.conn}`)}dt({metaModelCode:r.metamodelcode,metaModelType:r.metamodeltype,productCode:r.productcode,productName:r.productname,productSeriesCode:r.productseriescode,productVersionCode:r.productversioncode,productVersionName:r.productversionname,tenantCode:r.tenantcode,tenantName:r.tenantname,conn:o,envId:s.envid,envName:s.envname,tenantEnvName:s.tenantenvname})}let n=ie();if(!n)throw new Error(`\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u79DF\u6237\u4FE1\u606F, \u79DF\u6237\u53F7: ${Z.tenantCode}, \u73AF\u5883\u540D: ${Z.envName}`);console.error("flycode-mcp \u83B7\u53D6\u79DF\u6237\u4FE1\u606F\u5B8C\u6210");let c=(await mt({appid:Ae,envid:n.envId,metamodeltype:n.metaModelType,productcode:n.productCode,productversioncode:n.productVersionCode,tenantcode:n.tenantCode})).resp_data?.idetoken;if(!c)throw new Error(`\u83B7\u53D6 IDE Token \u5931\u8D25, \u79DF\u6237\u53F7: ${n.tenantCode}, \u73AF\u5883\u540D: ${n.envName}, \u8FD4\u56DE\u4F53\u4E2D\u672A\u5305\u542B\u6709\u6548\u7684 idetoken`);He(c),console.error("flycode-mcp \u83B7\u53D6 IDE Token \u5B8C\u6210")}var Ve=[{name:"core",title:"\u6838\u5FC3\u5DE5\u5177",description:"\u8DE8\u57DF\u901A\u7528\u5DE5\u5177\uFF08\u5982\u6267\u884C SQL\u3001\u751F\u6210\u552F\u4E00\u7F16\u7801\uFF09\uFF0C\u59CB\u7EC8\u53EF\u7528",alwaysOn:!0},{name:"entity",title:"\u5B9E\u4F53",description:"\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u7684\u67E5\u8BE2",alwaysOn:!1},{name:"form",title:"\u8868\u5355",description:"\u8868\u5355\u7684\u67E5\u8BE2\u4E0E\u4FEE\u6539\uFF08\u542B flycode \u811A\u672C\u7247\u6BB5\uFF09",alwaysOn:!1},{name:"logic",title:"\u4E1A\u52A1\u903B\u8F91",description:"FlyCode \u4E1A\u52A1\u903B\u8F91(modelLogic/\u6A21\u578B\u903B\u8F91/\u9886\u57DF)\u7684\u67E5\u8BE2\u4E0E\u4FEE\u6539",alwaysOn:!1},{name:"function",title:"\u51FD\u6570",description:"\u5E73\u53F0\u51FD\u6570\u4E0E\u6570\u636E\u5E93\u51FD\u6570\u7684\u67E5\u8BE2",alwaysOn:!1},{name:"h5",title:"H5 \u8868\u5355",description:"H5 \u9875\u9762\u7684\u67E5\u8BE2",alwaysOn:!1}],fe={run_sql:"core",generate_unique_code:"core",page_entity_list:"entity",get_entity:"entity",page_entity_directories:"entity",create_entity:"entity",patch_entity:"entity",page_form_directories:"form",page_form_list:"form",get_form:"form",get_form_outline:"form",get_form_fragment:"form",patch_form:"form",save_form:"form",page_model_logic_directories:"logic",page_model_logic_list:"logic",get_model_logic:"logic",save_model_logic:"logic",patch_model_logic:"logic",str_replace_flycode:"logic",page_function_list:"function",get_function:"function",page_database_function_list:"function",page_h5_form:"h5",get_h5_form:"h5"};function Ln(t){return t?Ve.find(e=>e.name===t)?.alwaysOn??!1:!1}var ve=class{handles=new Map;toolNames=[];progressive;constructor(e){this.progressive=e}registerAll(e,r){for(let s of r){let n=e.registerTool(s.name,s.config,s.handler);this.handles.set(s.name,n),this.toolNames.push(s.name);let i=fe[s.name];this.progressive&&!Ln(i)&&n.disable()}}activate(e,r=!1){let s=this.toolNames.filter(n=>fe[n]===e);for(let n of s){let i=this.handles.get(n);i&&(r&&i.enabled?i.disable():!r&&!i.enabled&&i.enable())}return s}isProgressive(){return this.progressive}domainActive(e){let r=this.toolNames.filter(s=>fe[s]===e);return r.length===0?!1:r.every(s=>this.handles.get(s)?.enabled??!1)}status(){return Ve.map(e=>{let r=this.toolNames.filter(s=>fe[s]===e.name).map(s=>{let n=this.handles.get(s);return{name:s,description:n?.description??"",active:n?.enabled??!1}});return{name:e.name,title:e.title,description:e.description,alwaysOn:e.alwaysOn,active:this.domainActive(e.name),tools:r}})}focus(e){let r=Ve.find(n=>n.name===e);if(!r)return null;let s=this.toolNames.filter(n=>fe[n]===e).map(n=>{let i=this.handles.get(n);return{name:n,description:i?.description??"",active:i?.enabled??!1}});return{name:e,title:r.title,tools:s}}};import{z as E}from"zod";function D(t){let e=t;if(e?.response?.data!=null)try{return JSON.stringify(e.response.data)}catch{return String(e.response.data)}return t instanceof Error?t.message:String(t)}function F(t){return{content:[{type:"text",text:JSON.stringify(t)}],structuredContent:t}}function j(t){return{isError:!0,content:[{type:"text",text:D(t)}]}}var ft=E.enum(["core","entity","form","logic","function","h5"]),se=32*1024,Ke=160,Ye="\u964D\u7EA7\u4E0D\u5F71\u54CD\u5DE5\u5177\u53EF\u7528\u6027\uFF1B\u5B8C\u6574\u53C2\u6570\u8BF7\u4EE5 mcp_activate \u542F\u7528\u540E\u5BA2\u6237\u7AEF\u91CD\u62C9\u7684 tools/list \u4E3A\u51C6\u3002";function yt(t){return t.length<=Ke?t:`${t.slice(0,Ke)}\u2026(\u7701\u7565 ${t.length-Ke} \u5B57\u7B26)`}function jn(t){let e=(o,a)=>JSON.stringify({progressive:t.progressive,domains:o,focus:a}).length;if(e(t.domains,t.focus)<=se)return{...t,truncated:!1};let r=(o,a)=>o.map(l=>({...l,description:a(l.description)})),s=t.domains.map(o=>({...o,tools:r(o.tools,yt)})),n=t.focus?{...t.focus,tools:r(t.focus.tools,yt)}:null;if(e(s,n)<=se)return{progressive:t.progressive,domains:s,focus:n,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${se} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u622A\u65AD\u5DE5\u5177\u63CF\u8FF0\u3002${Ye}`};let i=s.map(o=>({...o,tools:r(o.tools,()=>"")})),c=n?{...n,tools:r(n.tools,()=>"")}:null;return e(i,c)<=se?{progressive:t.progressive,domains:i,focus:c,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${se} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u5DE5\u5177\u63CF\u8FF0\uFF08\u4EC5\u4FDD\u7559\u5DE5\u5177\u540D\u4E0E\u542F\u7528\u6001\uFF09\u3002${Ye}`}:{progressive:t.progressive,domains:i.map(o=>({...o,tools:[]})),focus:c?{...c,tools:[]}:null,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u5373\u4F7F\u964D\u7EA7\u4ECD\u8D85\u8FC7 ${se} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u4E22\u5F03\u5DE5\u5177\u6E05\u5355\u3002${Ye}`}}function bt(t){let e={name:"mcp_catalog",config:{title:"\u5DE5\u5177\u76EE\u5F55\uFF08\u6E10\u8FDB\u5F0F\u62AB\u9732\uFF09",description:"\u67E5\u770B\u5F53\u524D\u53EF\u7528\u7684\u5DE5\u5177\u57DF\u4E0E\u72B6\u6001\u3002\u4E0D\u4F20 domain \u65F6\u8FD4\u56DE\u5168\u90E8\u57DF\uFF08core/entity/form/logic/function/h5\uFF09\u7684\u542F\u7528\u72B6\u6001\u4E0E\u5404\u57DF\u5185\u5DE5\u5177\u6E05\u5355\uFF1B\u4F20 domain \u65F6\u53EA\u805A\u7126\u8FD4\u56DE\u8BE5\u57DF\u7684\u5DE5\u5177\u6E05\u5355\uFF08\u540D\u79F0 + \u8BF4\u660E + \u542F\u7528\u72B6\u6001\uFF09\u3002\u5F53\u5BA2\u6237\u7AEF\u56E0\u4E0A\u4E0B\u6587\u9650\u5236\u53EA\u66B4\u9732\u4E86\u90E8\u5206\u5DE5\u5177\u65F6\uFF0C\u5148\u8C03\u7528\u672C\u5DE5\u5177\u4E86\u89E3\u8FD8\u6709\u54EA\u4E9B\u80FD\u529B\u53EF\u7ECF mcp_activate \u89E3\u9501\u3002\u672C\u5DE5\u5177**\u4E0D\u8FD4\u56DE**\u5DE5\u5177\u7684\u5165\u53C2 schema\uFF1A\u5B8C\u6574\u53C2\u6570\u8BF7\u4EE5 mcp_activate \u542F\u7528\u8BE5\u57DF\u540E\u5BA2\u6237\u7AEF\u91CD\u65B0\u62C9\u53D6\u7684 tools/list \u4E3A\u51C6\uFF08\u9012\u5F52\u7ED3\u6784\u7684\u5168\u91CF schema \u5355\u57DF\u53EF\u8FBE\u6570\u767E KB\uFF0C\u56DE\u4F20\u4F1A\u6491\u7206\u4E0A\u4E0B\u6587\uFF09\u3002",inputSchema:{domain:ft.optional().describe("\u53EF\u9009\uFF1A\u805A\u7126\u67D0\u57DF\uFF08core/entity/form/logic/function/h5\uFF09\uFF0C\u53EA\u8FD4\u56DE\u8BE5\u57DF\u7684\u5DE5\u5177\u6E05\u5355")},outputSchema:{progressive:E.boolean().describe("\u662F\u5426\u5904\u4E8E\u6E10\u8FDB\u5F0F\u62AB\u9732\u6A21\u5F0F"),domains:E.array(E.object({name:E.string(),title:E.string(),description:E.string(),alwaysOn:E.boolean(),active:E.boolean(),tools:E.array(E.object({name:E.string(),description:E.string(),active:E.boolean()}))})).describe("\u5168\u90E8\u57DF\u7684\u72B6\u6001\u4E0E\u5DE5\u5177\u6E05\u5355"),focus:E.object({name:E.string(),title:E.string(),tools:E.array(E.object({name:E.string(),description:E.string(),active:E.boolean()}))}).nullable().optional().describe("\u4EC5\u5F53\u4F20\u5165 domain \u65F6\u8FD4\u56DE\uFF1A\u8BE5\u57DF\u5DE5\u5177\u6E05\u5355\uFF08\u540D\u79F0 + \u8BF4\u660E + \u542F\u7528\u72B6\u6001\uFF0C\u4E0D\u542B\u5165\u53C2 schema\uFF09"),truncated:E.boolean().describe("\u8FD4\u56DE\u4F53\u662F\u5426\u56E0\u8D85\u8FC7\u4F53\u79EF\u786C\u4E0A\u9650\u800C\u88AB\u81EA\u52A8\u964D\u7EA7"),note:E.string().optional().describe("\u88AB\u964D\u7EA7\u65F6\u7684\u8BF4\u660E\uFF08\u6B63\u5E38\u60C5\u51B5\u4E0B\u4E0D\u5B58\u5728\uFF09")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},handler:async s=>{let n=s?.domain??void 0,i=n?t.focus(n):null;return F(jn({progressive:t.isProgressive(),domains:t.status(),focus:i}))}},r={name:"mcp_activate",config:{title:"\u542F\u7528/\u6536\u8D77\u5DE5\u5177\u57DF\uFF08\u6E10\u8FDB\u5F0F\u62AB\u9732\uFF09",description:'\u5207\u6362\u67D0\u4E2A\u80FD\u529B\u57DF\uFF08entity/form/logic/function/h5\uFF09\u7684\u5DE5\u5177\u53EF\u89C1\u6027\u3002\u542F\u7528\u540E\u670D\u52A1\u7AEF\u4F1A\u63A8\u9001 tools/list_changed \u901A\u77E5\uFF0C\u5408\u89C4\u5BA2\u6237\u7AEF\u5C06\u91CD\u65B0\u62C9\u53D6\u5DE5\u5177\u6E05\u5355\u5E76\u53EF\u89C1\u8BE5\u57DF\u5DE5\u5177\uFF1B\u6536\u8D77\u5219\u5C06\u5176\u4ECE\u6E05\u5355\u79FB\u9664\u4EE5\u56DE\u6536\u4E0A\u4E0B\u6587\u3002core \u57DF\u5DE5\u5177\u59CB\u7EC8\u542F\u7528\uFF0C\u65E0\u9700\u4E5F\u4E0D\u5E94\u5207\u6362\u3002\u82E5\u542F\u7528\u540E\u8C03\u7528\u57DF\u5DE5\u5177\u4ECD\u62A5 "tool not found"\uFF0C\u8BF4\u660E\u5F53\u524D\u5BA2\u6237\u7AEF\u672A\u5B9E\u73B0 list_changed \u91CD\u62C9\uFF0C\u8BF7\u5C06\u73AF\u5883\u53D8\u91CF PROGRESSIVE_DISCLOSURE \u8BBE\u4E3A off \u9000\u56DE\u5168\u90E8\u542F\u7528\u7684\u6A21\u5F0F\u3002',inputSchema:{domain:ft.describe("\u8981\u542F\u7528\u6216\u6536\u8D77\u7684\u57DF\uFF1Aentity / form / logic / function / h5"),deactivate:E.boolean().optional().describe("true=\u6536\u8D77\u8BE5\u57DF\u5DE5\u5177\uFF08\u4ECE tools/list \u79FB\u9664\uFF09\uFF1B\u7701\u7565\u6216 false=\u542F\u7528\u8BE5\u57DF\u5DE5\u5177")},outputSchema:{domain:E.string(),deactivated:E.boolean(),tools:E.array(E.string()).describe("\u53D7\u672C\u6B21\u5207\u6362\u5F71\u54CD\u7684\u5DE5\u5177\u540D\u5217\u8868"),progressive:E.boolean(),note:E.string().describe("\u7ED9\u6A21\u578B/\u4F7F\u7528\u8005\u7684\u63D0\u793A\u4FE1\u606F")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1}},handler:async s=>{let n=s?.domain??"core",i=s?.deactivate===!0,c=t.activate(n,i),o=t.isProgressive()?"\u5DF2\u5207\u6362\u53EF\u89C1\u6027\uFF0C\u670D\u52A1\u7AEF\u5DF2\u63A8\u9001 tools/list_changed\uFF1B\u82E5\u5BA2\u6237\u7AEF\u672A\u91CD\u65B0\u62C9\u53D6\u5DE5\u5177\u6E05\u5355\uFF08\u4E0D\u652F\u6301\u8BE5\u901A\u77E5\uFF09\uFF0C\u8BF7\u6539\u7528 PROGRESSIVE_DISCLOSURE=off\u3002":"\u6E10\u8FDB\u5F0F\u62AB\u9732\u5DF2\u5173\u95ED\uFF08PROGRESSIVE_DISCLOSURE=off\uFF09\uFF1A\u5168\u90E8\u5DE5\u5177\u59CB\u7EC8\u542F\u7528\uFF0C\u672C\u6B21\u5207\u6362\u4E3A\u65E0\u5BB3\u7A7A\u64CD\u4F5C\u3002";return F({domain:n,deactivated:i,tools:c,progressive:t.isProgressive(),note:o})}};return[e,r]}var U='\u901A\u7528\u7EA6\u5B9A\uFF1A\u7B5B\u9009\u679A\u4E3E\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF08\u5982 actiontype \u4F20 "3"\uFF09\uFF1B\u5217\u8868 / \u8BE6\u60C5\u8FD4\u56DE\u5B57\u6BB5\u4EE5\u6570\u5B57\u6216\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u4E24\u8005\u517C\u5BB9\u3002marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0 / 1-\u4EA7\u54C1 / 2-\u79DF\u6237\uFF1Bstatus\uFF1A1-\u542F\u7528 / 2-\u505C\u7528\uFF1Bconfsource\uFF1A1-IDE \u914D\u7F6E / 2-\u7528\u6237\u7EA7\u914D\u7F6E\u3002',ae="\u3010logic \u679A\u4E3E\u3011actiontype\uFF08\u64CD\u4F5C\u7C7B\u578B\uFF09\uFF1A1-\u5217\u8868\u67E5\u8BE2 / 2-\u5355\u4E2A\u67E5\u8BE2 / 3-\u6570\u636E\u63D0\u4EA4 / 4-\u6279\u91CF\u63D0\u4EA4 / 5-\u5BFC\u5165 / 6-\u5BFC\u51FA / 7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6 / 8-\u6D41\u7A0B / 9-\u4E1A\u52A1\u8C03\u5EA6 / 10-ipaas \u63A5\u53E3\u3002actioncategory\uFF08\u884C\u4E3A\u7C7B\u578B\uFF09\uFF1A1-flycode \u63A5\u53E3 / 2-\u5FAE\u670D\u52A1 / 3-\u5185\u90E8\u51FD\u6570 / 4-\u5BFC\u5165 / 5-\u5BFC\u51FA / 6-flycode \u5BFC\u5165 / 7-flycode \u5BFC\u51FA\u3002execmode\uFF1A1-\u540C\u6B65 / 2-\u5F02\u6B65\uFF1Bexecutionmode\uFF1Astandard-\u6807\u51C6 / strict-\u4E25\u683C\u3002tenantdbname\uFF08\u79DF\u6237\u5E93\u6743\u9650\uFF09\uFF1A\u53EA\u8BFB-\u67E5\u8BE2 / \u8BFB\u5199-\u589E\u5220\u6539\u67E5 / \u62A5\u8868-\u4FDD\u7559\u3002usedatarule\uFF1A1-\u4F7F\u7528\u6570\u636E\u6743\u9650\u3002input/output[].datatype\uFF08\u53C2\u6570\u5F62\u6001\uFF09\uFF1A0-\u5355\u5B9E\u4F53 / 1-\u6570\u7EC4\u3002",Ie="properties[].propertytypecode\uFF08\u5B57\u6BB5\u7C7B\u578B\uFF09\uFF1A1-\u4E3B\u952E(int8) / 2-\u540D\u79F0(200) / 3-\u6587\u672C(200) / 4-\u957F\u6587\u672C / 5-\u6574\u6570(int4) / 6-\u957F\u6574\u6570(int8) / 10-\u6570\u5B57(numeric) / 7-\u65E5\u671F\u65F6\u95F4(ts) / 29-\u5E74\u6708\u65E5(date) / 30-\u65F6\u95F4\u8303\u56F4 / 18-\u72B6\u6001(int4) / 16-\u56FE\u7247 / 26-\u9644\u4EF6 / 17-\u5B9A\u4F4D / 19-\u9009\u9879\u96C6 / 8-\u521B\u5EFA\u4EBA / 9-\u4FEE\u6539\u4EBA / 11-\u521B\u5EFA\u65F6\u95F4 / 12-\u4FEE\u6539\u65F6\u95F4 / 31-\u62FC\u97F3 / 100-\u662F\u5426\u9ED8\u8BA4 / 13-\u624B\u673A\u53F7 / 15-\u56FA\u5B9A\u7535\u8BDD / 14-\u90AE\u7BB1 / 27-\u90AE\u7F16 / 20-\u6392\u5E8F / 200000000000-\u5173\u8054\u5BF9\u8C61 / 100000000000-\u4E1A\u52A1\u5BF9\u8C61 / 10000000000-\u5B57\u5178\u5BF9\u8C61 / 300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61 / 1000000000-\u672C\u5BF9\u8C61\u3002",ne="\u3010entity \u679A\u4E3E\u3011datapattern\uFF08\u5B9E\u4F53\u7C7B\u578B\uFF09\uFF1A1-\u539F\u751F / 2-\u884D\u751F / 3-\u89C6\u56FE / 4-\u8D85\u7EA7\u8868\u5355\u3002objecttypecode\uFF08\u5206\u7C7B\uFF09\uFF1A1-\u57FA\u672C / 2-\u6811\u5F62 / 3-\u6570\u636E\u5B57\u5178 / 4-\u5173\u8054\u3002objectcatgory\uFF1A1-\u6743\u9650\u5BF9\u8C61 / 2-\u5426\u3002publishstatus\uFF1A1-\u5DF2\u53D1\u5E03 / 2-\u672A\u53D1\u5E03\u3002hasoffline\uFF1A1-\u6709 / 0-\u65E0\u3002properties[].idxtype\uFF08\u7D22\u5F15\uFF09\uFF1A1-\u65E0 / 2-\u4E3B\u952E\u7D22\u5F15\u3002",X="\u3010form \u679A\u4E3E\u3011type\uFF08\u9875\u9762\u7C7B\u578B\uFF09\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\u3002clientcategorycode\uFF08\u7528\u6237\u7AEF\uFF09\uFF1A1-web / 2-app / 6-\u5C0F\u7A0B\u5E8F\u3002",ht='\u3010action \u7C7B\u578B\u3011flycode / datarequest(\u6570\u636E\u8BF7\u6C42) / datasubmit(\u6570\u636E\u63D0\u4EA4) / dataimport(\u5BFC\u5165\u884C\u4E3A) / dataexport(\u5BFC\u51FA\u884C\u4E3A) / datatransfer(\u6570\u636E\u8F6C\u79FB) / dataserialize(\u6570\u636E\u5E8F\u5217\u5316) / smartrequest(\u667A\u6167\u573A\u666F\u8BF7\u6C42) / link(\u94FE\u63A5) / call(\u4E8B\u4EF6\u547C\u53EB) / return(\u8FD4\u56DE) / af_preaddflow(\u6D41\u7A0B\u53D1\u8D77) / af_handleflow(\u5904\u7406\u5BA1\u6279) / af_flowdetail(\u6D41\u7A0B\u8282\u70B9\u8BE6\u60C5) / ctrlevent(\u8C03\u7528\u63A7\u4EF6\u4E8B\u4EF6) / receivelink(\u63A5\u6536\u53C2\u6570) / eventlink(\u4E8B\u4EF6\u76D1\u542C) / attributeevaluate(\u5C5E\u6027\u8868\u8FBE\u5F0F) / alert(\u63D0\u793A\u5F39\u7A97) / toast(\u8F7B\u63D0\u793A) / share(\u5206\u4EAB\u884C\u4E3A) / popsubview(\u6253\u5F00popview) / closesubview(\u5173\u95EDpopview) / print(\u6253\u5370\u4E8B\u4EF6) / urllink(URL\u94FE\u63A5) / runevent(\u6267\u884C\u4E8B\u4EF6)\u3002\u6CE8\u610F\uFF1Ainitial\uFF08\u9875\u9762\u521D\u59CB\u5316\uFF09\u4EC5\u652F\u6301 flycode / receivelink\uFF0C\u5176\u4F59\u7C7B\u578B\u53EA\u80FD\u52A0\u5230 handlers \u4E8B\u4EF6\uFF1B\u300C\u6570\u636E\u5B57\u5178\u7ED1\u5B9A\u300D\u65E0\u72EC\u7ACB type\uFF0C\u7528 datarequest + fields:{"_type_spe":"dictbind","logiccode":"100000000001100001"}\u3002',ye='\u3010function \u679A\u4E3E\u3011dddlayer\uFF08\u51FD\u6570\u5C42\u7EA7\uFF09\uFF1A\u56FA\u5B9A\u4F20 "3"\uFF08\u51FD\u6570\u7C7B\uFF09\u3002\u6570\u636E\u5E93\u51FD\u6570 publishstatus\uFF1A1-\u672A\u53D1\u5E03 / 2-\u5DF2\u53D1\u5E03\u3002';import{z as S}from"zod";function _t(t){return $({url:"/bizserv/bizmodel/pageModelLogicList",method:"post",data:t,type:"tenant"})}function Rt(t){return $({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function ee(t){return $({url:"/bizserv/bizmodel/getModelLogic",method:"post",data:t,type:"tenant"})}function Ne(t){return $({url:"/bizserv/bizmodel/saveModelLogic",method:"post",data:{...t,overwrite:!1},type:"tenant"})}import{z as g}from"zod";var ze=g.object({marktype:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:g.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u540D\u79F0\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:g.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:g.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:g.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u4E2D\u6587\u540D\uFF0C\u9605\u8BFB\u53CB\u597D"),propertytypecode:g.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(g.unknown()),Hn=g.array(ze),kt=g.object({datatype:g.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:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:g.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:g.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:g.string().optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u4E2D\u6587\u540D\u79F0\uFF0C\u9605\u8BFB\u53CB\u597D"),properties:Hn.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:g.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(g.unknown()),wt=g.array(kt),Un=g.array(g.object({dynamic:g.object({fieldblacklist:g.unknown().optional().nullable().describe("\u5B57\u6BB5\u9ED1\u540D\u5355"),fieldmap:g.unknown().optional().nullable().describe("\u5B57\u6BB5\u6620\u5C04")}).catchall(g.unknown()).optional().nullable().describe("\u52A8\u6001\u914D\u7F6E"),marktype:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0"),modellogiccode:g.string().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),modellogicstepcode:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u7F16\u7801"),modellogicstepname:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u540D\u79F0"),seq:g.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:g.string().optional().nullable().describe("\u72B6\u6001"),templateparams:g.object({flycode:g.string().optional().nullable().describe("flycode \u811A\u672C\u4EE3\u7801\u5B57\u7B26\u4E32"),sourcemap:g.string().optional().nullable().describe("\u6E90\u6620\u5C04"),tempcompiledflycode:g.string().optional().nullable().describe("\u7F16\u8BD1\u540E\u7684 flycode")}).catchall(g.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:g.string().optional().nullable().describe("\u6A21\u677F\u5F15\u7528")}).catchall(g.unknown())),qe=g.object({field:g.string().optional().nullable().describe("\u5B57\u6BB5\u540D\uFF08\u5BF9\u5E94\u4E1A\u52A1\u5BF9\u8C61\u7684\u5C5E\u6027\u540D\uFF09\uFF0C\u5BFC\u51FA\u5217\u7684\u6700\u4F73\u5B9A\u4F4D\u952E"),column:g.string().optional().nullable().describe("\u5BFC\u51FA\u540E\u7684\u5217\u6807\u9898"),width:g.string().optional().nullable().describe("\u5217\u5BBD"),type:g.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u5982 string"),dynamictext:g.unknown().optional().nullable().describe("\u52A8\u6001\u6587\u672C\u914D\u7F6E")}).catchall(g.unknown()),Vn=g.object({bindcols:g.array(qe).optional().nullable().describe("\u5BFC\u51FA\u7684\u5217\u5B9A\u4E49"),modelcode:g.string().describe("\u4E1A\u52A1\u6A21\u578B\u7F16\u7801"),logiccode:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),logicname:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u540D\u79F0")}).catchall(g.unknown()),Be={actioncategory:g.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:g.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:g.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:g.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:g.string().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),executionmode:g.string().optional().nullable().describe("\u6267\u884C\u6A21\u5F0F\uFF0Cstandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F"),functionname:g.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:g.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),input:wt.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:g.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),marktype:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:g.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:g.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),modellogiccode:g.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801"),modellogicname:g.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),operations:Un.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:wt.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:g.object({server:g.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u5730\u5740"),url:g.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u8DEF\u5F84")}).catchall(g.unknown()).optional().nullable().describe("\u5FAE\u670D\u52A1\u7684 REST \u914D\u7F6E\uFF0C\u4EC5 actioncategory=2 \u5FAE\u670D\u52A1 \u65F6\u5B58\u5728"),bindjson:Vn.optional().nullable().describe("\u5BFC\u51FA\u7ED1\u5B9A\u7684 Excel \u5217\u914D\u7F6E\uFF0C\u4EC5 actioncategory=5 \u5BFC\u51FA \u65F6\u5B58\u5728"),status:g.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),tenantdbcode:g.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u7F16\u7801"),tenantdbname:g.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:g.string().optional().nullable().describe("tenantdbname \u5BF9\u5E94\u7684 key \u503C"),uilogicscript:g.string().optional().nullable().describe("\u79BB\u7EBF\u811A\u672C\uFF0C\u4EC5\u7528\u4E8E app \u7AEF\u79BB\u7EBF\u6570\u636E\u63D0\u4EA4"),usedatarule:g.string().optional().nullable().describe("1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650")},Ot=g.looseObject(Be),xt=g.discriminatedUnion("op",[g.object({op:g.literal("add_param").describe("\u5411 input / output \u8FFD\u52A0\u4E00\u6761\u53C2\u6570\uFF08\u589E\u52A0\u4E00\u4E2A input / \u589E\u52A0\u4E00\u4E2A output\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),param:kt.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u6761\u8F93\u5165/\u8F93\u51FA\u53C2\u6570\uFF08\u5355\u4E2A LogicParameters \u5BF9\u8C61\uFF09"),position:g.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),g.object({op:g.literal("remove_param").describe("\u4ECE input / output \u6309 name \u5220\u9664\u6574\u6761\u53C2\u6570\uFF08\u5220\u9664\u4E00\u4E2A input / output\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:g.string().describe("\u8981\u5220\u9664\u7684\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09")}),g.object({op:g.literal("set_param_attrs").describe("\u6309 name \u5B9A\u4F4D\u53C2\u6570\uFF0C\u6D45\u5408\u5E76\u5176\u9876\u5C42\u5C5E\u6027\uFF08\u5982 datatype / objectcode / objectname \u7B49\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:g.string().describe("\u76EE\u6807\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09"),patch:g.record(g.string(),g.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u53C2\u6570\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "datatype": "1", "objectname": "\u5BA2\u6237" }')}),g.object({op:g.literal("add_property").describe("\u5411\u6307\u5B9A\u53C2\u6570\u7684 properties[] \u8FFD\u52A0\u4E00\u4E2A\u5B57\u6BB5\uFF08\u589E\u52A0 input \u5C5E\u6027 / \u589E\u52A0 output \u5C5E\u6027\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:g.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),property:ze.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u4E2A\u5B57\u6BB5\uFF08\u5355\u4E2A LogicParameterProperties \u5BF9\u8C61\uFF09"),position:g.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),g.object({op:g.literal("remove_property").describe("\u4ECE\u6307\u5B9A\u53C2\u6570\u7684 properties[] \u5220\u9664\u4E00\u4E2A\u5B57\u6BB5\uFF08\u5220\u9664 input/output \u4E2D\u67D0\u5C5E\u6027\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:g.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:g.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:g.string().optional().describe("\u6309\u5B57\u6BB5\u7F16\u7801 propertycode \u5B9A\u4F4D\uFF08\u4E0E propertyName \u4E8C\u9009\u4E00\uFF09")}),g.object({op:g.literal("replace_property").describe("\u6309 name \u6216 propertycode \u5B9A\u4F4D\u5E76\u6574\u4F53\u66FF\u6362\u4E00\u4E2A\u5B57\u6BB5\uFF08\u66FF\u6362 input/output \u4E2D\u67D0\u5C5E\u6027\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:g.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:g.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:g.string().optional().describe("\u6309\u5B57\u6BB5\u7F16\u7801 propertycode \u5B9A\u4F4D\uFF08\u4E0E propertyName \u4E8C\u9009\u4E00\uFF09"),property:ze.describe("\u7528\u6765\u6574\u4F53\u66FF\u6362\u76EE\u6807\u5B57\u6BB5\u7684\u65B0\u5B57\u6BB5\u5BF9\u8C61")}),g.object({op:g.literal("set_meta").describe("\u6D45\u5408\u5E76\u9876\u5C42\u4E1A\u52A1\u903B\u8F91\u5143\u6570\u636E\uFF08\u5982 modellogicname / description / actiontype / execmode / functionname / marktype\uFF09\uFF1B\u4E0D\u80FD\u542B input/output/operations"),patch:g.record(g.string(),g.unknown()).describe('\u6D45\u5408\u5E76\u8FDB\u4E1A\u52A1\u903B\u8F91\u9876\u5C42\u5143\u6570\u636E\u7684\u5B57\u6BB5\uFF0C\u5982 { "modellogicname": "\u65B0\u6807\u9898", "description": "\u8BF4\u660E" }')}),g.object({op:g.literal("add_export_column").describe("\u5411\u5BFC\u51FA\u5217\uFF08bindjson.bindcols\uFF09\u8FFD\u52A0\u4E00\u5217\uFF08\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF09"),column:qe.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u5217\uFF08\u5355\u4E2A LogicBindColumn \u5BF9\u8C61\uFF0C\u5EFA\u8BAE\u81F3\u5C11\u5E26 field\uFF09"),position:g.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),g.object({op:g.literal("remove_export_column").describe("\u4ECE\u5BFC\u51FA\u5217\uFF08bindjson.bindcols\uFF09\u6309 field \u6216 column \u5220\u9664\u4E00\u5217\uFF08\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF09"),field:g.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:g.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09")}),g.object({op:g.literal("replace_export_column").describe("\u6309 field \u6216 column \u5B9A\u4F4D\u5E76\u6574\u4F53\u66FF\u6362\u4E00\u5217\uFF08\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF09"),field:g.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:g.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09"),newColumn:qe.describe("\u7528\u6765\u6574\u4F53\u66FF\u6362\u76EE\u6807\u5217\u7684\u65B0\u5217\u5BF9\u8C61")}),g.object({op:g.literal("set_export_column_attrs").describe("\u6309 field \u6216 column \u5B9A\u4F4D\u67D0\u5217\uFF0C\u6D45\u5408\u5E76\u5176\u90E8\u5206\u5C5E\u6027\uFF08\u5982\u6539 column \u6807\u9898 / width \u5217\u5BBD / type \u7C7B\u578B\uFF0C\u4E0D\u6539 field\uFF09\uFF1B\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528"),field:g.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:g.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09"),patch:g.record(g.string(),g.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u5217\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "column": "\u65B0\u6807\u9898", "width": "20" }')}),g.object({op:g.literal("set_bind_meta").describe("\u5B89\u5168\u6D45\u5408\u5E76 bindjson \u9876\u5C42\uFF08\u5982 logicname\uFF09\uFF0C\u4E0D\u5F71\u54CD bindcols \u5217\u5B9A\u4E49\uFF1B\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF1B\u4E0D\u80FD\u542B bindcols"),patch:g.record(g.string(),g.unknown()).describe('\u6D45\u5408\u5E76\u8FDB bindjson \u9876\u5C42\u7684\u5B57\u6BB5\uFF08\u9664 bindcols \u5916\uFF09\uFF0C\u5982 { "logicname": "\u65B0\u5BFC\u51FA\u540D" }')})]);var St=[{name:"page_model_logic_directories",config:{title:"\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u76EE\u5F55",description:`\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u6240\u5C5E\u76EE\u5F55(\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55 / ModelDirectory)\u3002\u8FD4\u56DE\u5404\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55\u9879\uFF0C\u6BCF\u9879\u542B modelcode (\u5373 modellogic \u4E2D\u7684 modelcode\uFF0C\u67E5\u67D0\u76EE\u5F55\u4E0B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u7528\u7684\u7F16\u7801)\u3001modelname(\u76EE\u5F55\u540D)\u3001metamodelcode\u3001directorytypecode(\u7236\u76EE\u5F55\u7F16\u7801)\u7B49\u3002\n\n\u53EF\u6309 modelname \u6A21\u7CCA\u641C\u7D22\uFF0C\u6216\u4F20\u5165 directorytypecode \u67E5\u8BE2\u67D0\u76EE\u5F55\u4E0B\u7684\u5B50\u76EE\u5F55\uFF08\u9ED8\u8BA4 rootNode \u67E5\u4E00\u7EA7\u76EE\u5F55\uFF09\u3002\n\n${U}\n${ae}`,inputSchema:{modelname:S.string().optional().describe("\u4E1A\u52A1\u6A21\u578B\u540D\u6A21\u7CCA\u5339\u914D\uFF0C\u53EF\u7A7A\uFF1B\u4E0D\u4F20\u5219\u8FD4\u56DE\u8BE5\u76EE\u5F55\u4E0B\u7684\u5168\u90E8"),directorytypecode:S.string().optional().describe('\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF1A\u56FA\u5B9A\u4F20 "rootNode" \u67E5\u4E00\u7EA7\u76EE\u5F55\uFF1B\u4F20\u5165\u5177\u4F53\u76EE\u5F55\u7684 modelcode \u53EF\u67E5\u5176\u4E0B\u7684\u5B50\u76EE\u5F55\uFF1B\u7701\u7565\u9ED8\u8BA4 "rootNode"'),dddlayer:S.string().optional().describe("\u76EE\u5F55\u5C42\u7EA7\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u4E00\u7EA7\u76EE\u5F55\uFF08\u9ED8\u8BA4\uFF09\uFF1B\u7701\u7565\u9ED8\u8BA4 1"),page:S.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:S.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:S.array(S.object({modeldescr:S.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u7684\u63CF\u8FF0\u8BF4\u660E"),createtime:S.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:S.union([S.string(),S.number(),S.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),dddlayer:S.coerce.number().optional().nullable().describe("\u76EE\u5F55\u5C42\u7EA7\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u4E00\u7EA7\u76EE\u5F55"),modelname:S.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u540D\uFF08\u6240\u5C5E\u76EE\u5F55\u540D\uFF09"),directorytypecode:S.string().optional().nullable().describe("\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF08\u7236\u76EE\u5F55\u7684 modelcode\uFF1B\u4E00\u7EA7\u76EE\u5F55\u5176\u7236\u4E3A rootNode\uFF09"),metamodelcode:S.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),classname:S.string().optional().nullable().describe("\u7C7B\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u5E26 classname\uFF0C\u5982 ai_base / cost\uFF09"),modelcode:S.string().describe("\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u5373 modellogic \u4E2D\u7684 modelcode\uFF0C\u67E5\u67D0\u76EE\u5F55\u4E0B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u7528\u5230\u5B83"),marktype:S.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),tablename:S.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u4E3A\u7A7A\uFF09"),updatetime:S.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:S.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:S.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:S.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:S.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),updateaccountcode:S.union([S.string(),S.number(),S.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(S.unknown())).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 t=>{let{modelname:e="",directorytypecode:r="rootNode",dddlayer:s="1",page:n=1,rows:i=999}=t;try{let c=await Rt({dddlayer:Number(s)||1,modelname:e,directorytypecode:r,page:Number(n)||1,rows:Number(i)||999,centercode:""});return F(c.resp_data)}catch(c){return j(c)}}},{name:"page_model_logic_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91",description:`\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u5217\u8868(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u3002\u652F\u6301\u6309\u6807\u9898/\u7F16\u7801/\u65B9\u6CD5\u540D/\u5173\u952E\u5B57/\u4FEE\u6539\u4EBA/\u7C7B\u578B\u7B5B\u9009\u3002\n\n${U}\n${ae}`,inputSchema:{keys:S.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:S.string().optional().describe("\u5B8C\u6574 JSON (\u5185\u542B\u4EE3\u7801) \u4E2D\u7684\u5173\u952E\u5B57\uFF0C\u6A21\u7CCA\u5339\u914D"),page:S.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:S.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updateopname:S.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),updatetimestart:S.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:S.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:S.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:S.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:S.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:S.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:S.array(S.object({actiontype:S.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:S.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:S.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),modelname:S.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u540D"),modellogiccode:S.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modellogicname:S.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),metamodelcode:S.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modellogiccode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),execmode:S.coerce.number().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),functionname:S.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:S.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:S.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),marktype:S.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),updatetime:S.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:S.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:S.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:S.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:S.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),confsource:S.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),updateaccountcode:S.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(S.unknown())).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 t=>{let{keys:e="",keywords:r="",page:s=1,rows:n=20,updateopname:i="",updatetimestart:c="",updatetimeend:o="",actiontype:a="",actioncategory:l="",tenantdbname:u="",jobstatus:p=null}=t;try{let f=await _t({actioncategory:l,actiontype:a,centercode:"",directorytypecode:"rootNode",jobstatus:p,keys:e,keywords:r,modelcode:"rootNode",page:Number(s)||1,rows:Number(n)||20,tenantdbname:u,updateopname:i,updatetimeend:o,updatetimestart:c});return F(f.resp_data)}catch(f){return j(f)}}},{name:"get_model_logic",config:{title:"\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u8BE6\u60C5",description:`\u6309 modellogiccode \u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u5B8C\u6574\u8BE6\u60C5\uFF1Aflycode \u811A\u672C\u3001input/output \u53C2\u6570\u53CA\u5B57\u6BB5\u5C5E\u6027\u3001\u64CD\u4F5C\u6B65\u9AA4\u3002\n\n${U}\n${ae}\n${Ie}`,inputSchema:{modellogiccode:S.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801")},outputSchema:Be,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{modellogiccode:e}=t;try{let r=await ee({modellogiccode:e});return F(r.resp_data)}catch(r){return j(r)}}}];import{z as I}from"zod";import{z as Ce}from"zod";var G=Ce.object({committype:Ce.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:Ce.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:Ce.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 Q(t){return{committype:t.committype,committypetext:t.committypetext,msgbody:t.msgbody??""}}function J(t,e="YYYY-MM-DD HH:mm:ss"){if(isNaN(t.getTime()))throw new Error("Invalid date provided");let r={YYYY:t.getFullYear().toString(),YY:t.getFullYear().toString().slice(-2),MM:String(t.getMonth()+1).padStart(2,"0"),M:String(t.getMonth()+1),DD:String(t.getDate()).padStart(2,"0"),D:String(t.getDate()),HH:String(t.getHours()).padStart(2,"0"),H:String(t.getHours()),mm:String(t.getMinutes()).padStart(2,"0"),m:String(t.getMinutes()),ss:String(t.getSeconds()).padStart(2,"0"),s:String(t.getSeconds()),SSS:String(t.getMilliseconds()).padStart(3,"0")},s=Object.keys(r).sort((i,c)=>c.length-i.length),n=e;for(let i of s)n=n.replace(new RegExp(i,"g"),r[i]);return n}function Je(t,e){let r=[],s=[];if(e==="exact"){for(let n=0;n<t.length;n++)r.push(t[n]),s.push(n);return{text:r.join(""),map:s}}for(let n=0;n<t.length;n++){let i=t[n];if(i==="\r"){r.push(`\n`),s.push(n),t[n+1]===`\n`&&n++;continue}if(i===" "||i===" "){let c=n;for(;c<t.length&&(t[c]===" "||t[c]===" ");)c++;if(c>=t.length||t[c]===`\n`||t[c]==="\r"){n=c-1;continue}r.push(i),s.push(n);continue}r.push(i),s.push(n)}return{text:r.join(""),map:s}}function z(t,e="normalized"){return Je(t,e).text}function We(t){return t.replace(/\r\n?/g,`\n`)}function Ge(t,e){let r=1,s=Math.min(e,t.length);for(let n=0;n<s;n++)t[n]===`\n`&&r++;return r}function Kn(t,e,r="normalized"){if(e.length===0)return[];let s=Je(t,r),n=Je(e,r);if(n.text.length===0)return[];let i=[],c=0;for(;;){let o=s.text.indexOf(n.text,c);if(o===-1)break;let a=s.map[o],l=s.map[o+n.text.length-1]+1;i.push({startOffset:a,endOffset:l,startLine:Ge(t,a),endLine:Ge(t,Math.max(l-1,0))}),c=o+n.text.length}return i}function Pt(t){let e=new Map;if(t.length<2)return t.length===1&&e.set(t,1),e;for(let r=0;r<t.length-1;r++){let s=t.slice(r,r+2);e.set(s,(e.get(s)??0)+1)}return e}function Yn(t,e){if(t.size===0&&e.size===0)return 1;if(t.size===0||e.size===0)return 0;let r=0,[s,n]=t.size<=e.size?[t,e]:[e,t];for(let[c,o]of s){let a=n.get(c);a&&(r+=Math.min(o,a))}let i=0;for(let c of t.values())i+=c;for(let c of e.values())i+=c;return i===0?0:2*r/i}function zn(t,e,r=3){let s=We(t).split(`\n`),n=We(e).split(`\n`);if(s.length===0||n.length===0)return[];let i=n.map(u=>u.trim()).join(`\n`),c=Pt(i),o=s.map(u=>u.trim()),a=new Map,l=new Set([n.length-1,n.length,n.length+1]);for(let u of l)if(!(u<1))for(let p=0;p+u<=s.length;p++){let f=o.slice(p,p+u).join(`\n`),y=Yn(Pt(f),c);if(y<=.3)continue;let R=a.get(p);(!R||y>R.score)&&a.set(p,{score:y,preview:s.slice(p,p+u).join(`\n`).slice(0,120)})}return Array.from(a.entries()).map(([u,p])=>({startLine:u+1,score:Math.round(p.score*100)/100,preview:p.preview})).sort((u,p)=>p.score-u.score).slice(0,r)}function qn(t){let e=(t.match(/\r\n/g)??[]).length,r=(t.match(/\n/g)??[]).length-e;return e>r?`\r\n`:`\n`}function At(t,e){let r=qn(e);return t.replace(/\r\n?|\n/g,r)}var le=40;function Bn(t,e,r,s=3){let n=We(t).split(`\n`),i=[],c=e.slice().sort((o,a)=>o.startOffset-a.startOffset);for(let o of c){let a=Math.max(1,o.startLine-s),l=Math.min(n.length,o.endLine+s),u=t.slice(o.startOffset,o.endOffset).split(`\n`).map(w=>w.replace(/\r$/,"")),p=r.split(`\n`),f=u.length,y=p.length,_=[["@@",`-${o.startLine},${f}`,`+${o.startLine},${y}`,"@@"].join(" ")];for(let w=a;w<o.startLine;w++)_.push(` ${n[w-1]}`);for(let w of u.slice(0,le))_.push(`-${w}`);f>le&&_.push(`... \u7701\u7565 ${f-le} \u884C`);for(let w of p.slice(0,le))_.push(`+${w}`);y>le&&_.push(`... \u7701\u7565 ${y-le} \u884C`);for(let w=o.endLine+1;w<=l;w++)_.push(` ${n[w-1]}`);i.push(_.join(`\n`))}return i.join(`\n`)}function De(t,e,r={}){let s=r.contextLines??3,n=r.topN??3,i=t.slice(),c=[],o=!1;for(let a=0;a<e.length;a++){let l=e[a],u=l.operationIndex??0,p=()=>({index:a,label:l.label??null,status:"FAILED",errorCode:"OK",message:null,operationIndex:u,matchCount:0,replacedCount:0,range:null,suggestions:null,dependentOnFailedOp:o,hunk:null}),f=(v,T,H={})=>{c.push({...p(),status:"FAILED",errorCode:v,message:T,...H}),o=!0};if(!Number.isInteger(u)||u<0||u>=i.length){f("NO_TARGET",`operationIndex=${u} \u4E0D\u5B58\u5728\uFF0C\u5F53\u524D\u5171\u6709 ${i.length} \u4E2A operation\uFF08\u53EF\u7528\u4E0B\u6807 0~${Math.max(i.length-1,0)}\uFF09`);continue}if(l.rewrite!==!0&&(typeof l.oldString!="string"||l.oldString.length===0)){f("EMPTY_OLD_STRING","oldString \u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32\uFF1B\u6574\u4EFD\u811A\u672C\u91CD\u5199\u8BF7\u6539\u7528 rewrite=true\uFF08\u4EC5\u4F20 newString\uFF0C\u4E0D\u5FC5\u56DE\u4F20\u65E7\u5168\u6587\uFF09\uFF0C\u6539 input/output \u7ED3\u6784\u8BF7\u7528 patch_model_logic");continue}if(l.replaceAll===!0&&l.occurrence!=null){f("INVALID_PARAMS","replaceAll \u4E0E occurrence \u4E92\u65A5\uFF0C\u53EA\u80FD\u4E8C\u9009\u4E00");continue}if(l.rewrite===!0){if(typeof l.newString!="string"){f("INVALID_PARAMS","rewrite=true \u65F6 newString \u5FC5\u586B\u4E14\u4E3A\u5B57\u7B26\u4E32\uFF08\u6574\u4EFD\u66FF\u6362\u7684\u76EE\u6807\u6587\u672C\uFF09");continue}let v=i[u],T=At(l.newString,v),H=Ge(v,v.length);i[u]=T,c.push({...p(),status:"OK",errorCode:"OK",matchCount:1,replacedCount:1,range:{startOffset:0,endOffset:v.length,startLine:1,endLine:H},hunk:`\u6574\u4EFD\u66FF\u6362\uFF1A${v.length} \u2192 ${T.length} \u5B57\u7B26\uFF08rewrite \u6A21\u5F0F\uFF0C\u672A\u56DE\u663E\u65E7\u5168\u6587\uFF09`});continue}let y=l.matchMode??"normalized",R=i[u],_=Kn(R,l.oldString,y);if(_.length===0){f("NOT_FOUND",`oldString \u5728 operation[${u}] \u7684\u811A\u672C\u4E2D\u672A\u5339\u914D\u5230\u4EFB\u4F55\u5185\u5BB9\uFF08matchMode=${y}\uFF09`,{suggestions:zn(R,l.oldString,n)});continue}let w;if(l.replaceAll===!0)w=_;else if(l.occurrence!=null){if(!Number.isInteger(l.occurrence)||l.occurrence<1||l.occurrence>_.length){f("OCCURRENCE_OUT_OF_RANGE",`occurrence=${l.occurrence} \u8D8A\u754C\uFF0C\u5B9E\u9645\u5339\u914D\u6570\u4E3A ${_.length}`,{matchCount:_.length});continue}w=[_[l.occurrence-1]]}else if(_.length>1){let v=_.map(T=>`\u7B2C ${T.startLine}~${T.endLine} \u884C`).join("\u3001");f("NOT_UNIQUE",`oldString \u5339\u914D\u5230 ${_.length} \u5904\uFF08${v}\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:_.length});continue}else w=_;let h=At(l.newString,R),O=R;for(let v=w.length-1;v>=0;v--)O=O.slice(0,w[v].startOffset)+h+O.slice(w[v].endOffset);let x=Bn(R,w,h,s);i[u]=O,c.push({...p(),status:"OK",errorCode:"OK",matchCount:_.length,replacedCount:w.length,range:w[0],hunk:x})}return{scripts:i,results:c,ok:c.length>0&&c.every(a=>a.status==="OK")}}async function vt(t,e){e.committype==="saverecord"&&(e.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{return(await Ne(t)).resp_data}catch(r){return D(r)}}function ce(t,e){return(e==="input"?t.input:t.output)??[]}function be(t){return t.actioncategory!=null&&String(t.actioncategory)!=="5"?null:(t.bindjson==null&&(t.bindjson={modelcode:t.modelcode}),t.bindjson.bindcols==null&&(t.bindjson.bindcols=[]),t.bindjson.bindcols)}function re(t){let e=V(t.field)?t.field:void 0,r=V(t.column)?t.column:void 0;return{fieldKey:e,colKey:r}}function te(t,e,r){return e!==void 0&&t?.field===e||r!==void 0&&e===void 0&&t?.column===r}function V(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}async function Jn(t,e,r){let s=(i={})=>({index:r,op:e.op,status:"OK",errorCode:"OK",message:null,...i}),n=(i,c,o={})=>({index:r,op:e.op,status:"FAILED",errorCode:i,message:c,...o});switch(e.op){case"add_param":{let i=ce(t,e.target);if(V(e.param.name)&&i.some(o=>o?.name===e.param.name))return n("DUP_NAME",`target=${e.target} \u4E2D\u5DF2\u5B58\u5728 name=${e.param.name} \u7684\u53C2\u6570\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let c=e.position??i.length;return i.splice(c,0,e.param),e.target==="input"?t.input=i:t.output=i,s({message:`\u5DF2\u5728 ${e.target} \u7684 position=${c} \u8FFD\u52A0\u53C2\u6570 ${e.param.name??"(\u672A\u547D\u540D)"}`})}case"remove_param":{let i=ce(t,e.target),c=i.filter(a=>a?.name===e.name);if(c.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`);if(c.length>1)return n("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${c.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let o=i.findIndex(a=>a?.name===e.name);return i.splice(o,1),e.target==="input"?t.input=i:t.output=i,s({message:`\u5DF2\u4ECE ${e.target} \u79FB\u9664\u53C2\u6570 ${e.name}`})}case"set_param_attrs":{let c=ce(t,e.target).filter(o=>o?.name===e.name);return c.length===0?n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`):c.length>1?n("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${c.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(c[0],e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230 ${e.target} \u53C2\u6570 ${e.name}`}))}case"add_property":{let c=ce(t,e.target).filter(y=>y?.name===e.paramName);if(c.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(c.length>1)return n("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${c.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let o=c[0],a=o.properties??(o.properties=[]),l=V(e.property.name)?e.property.name:void 0,u=V(e.property.propertycode)?e.property.propertycode:void 0,p=a.find(y=>l!==void 0&&y?.name===l||u!==void 0&&y?.propertycode===u);if(p){let y=l!==void 0&&p?.name===l?`name=${l}`:`propertycode=${u}`;return n("DUP_NAME",`\u53C2\u6570 ${e.paramName} \u4E2D\u5DF2\u5B58\u5728 ${y} \u7684\u5C5E\u6027\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`)}let f=e.position??a.length;return a.splice(f,0,e.property),s({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u7684 position=${f} \u8FFD\u52A0\u5C5E\u6027 ${e.property.name??e.property.propertycode??"(\u672A\u547D\u540D)"}`})}case"remove_property":{let i=V(e.propertyName)?e.propertyName:void 0,c=V(e.propertyCode)?e.propertyCode:void 0;if(i===void 0&&c===void 0)return n("INVALID_PARAMS","remove_property \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 propertyName \u6216 propertyCode\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E\uFF08\u5E73\u53F0\u4E0A\u81EA\u5B9A\u4E49\u5B57\u6BB5\u7684 propertycode \u6052\u4E3A\u7A7A\u4E32\uFF09");let a=ce(t,e.target).filter(R=>R?.name===e.paramName);if(a.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(a.length>1)return n("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${a.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let u=a[0].properties??[],p=R=>i!==void 0&&R?.name===i||c!==void 0&&R?.propertycode===c,f=u.filter(p);if(f.length===0)return n("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(f.length>1)return n("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${f.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let y=u.findIndex(p);return u.splice(y,1),s({message:`\u5DF2\u4ECE ${e.target}.${e.paramName} \u79FB\u9664\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"replace_property":{let i=V(e.propertyName)?e.propertyName:void 0,c=V(e.propertyCode)?e.propertyCode:void 0;if(i===void 0&&c===void 0)return n("INVALID_PARAMS","replace_property \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 propertyName \u6216 propertyCode\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E\uFF08\u5E73\u53F0\u4E0A\u81EA\u5B9A\u4E49\u5B57\u6BB5\u7684 propertycode \u6052\u4E3A\u7A7A\u4E32\uFF09");let a=ce(t,e.target).filter(R=>R?.name===e.paramName);if(a.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(a.length>1)return n("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${a.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let u=a[0].properties??[],p=R=>i!==void 0&&R?.name===i||c!==void 0&&R?.propertycode===c,f=u.filter(p);if(f.length===0)return n("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(f.length>1)return n("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${f.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let y=u.findIndex(p);return u[y]=e.property,s({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u66FF\u6362\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"set_meta":{let i=["input","output","operations"].filter(c=>c in e.patch);return i.length>0?n("INVALID_PARAMS",`set_meta \u4E0D\u80FD\u4FEE\u6539 ${i.join("/")}\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7684 param/property \u7C7B op`):(Object.assign(t,e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u9876\u5C42\u5143\u6570\u636E\u5B57\u6BB5\u5230\u4E1A\u52A1\u903B\u8F91`}))}case"add_export_column":{let i=be(t);if(i===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 add_export_column\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let{fieldKey:c,colKey:o}=re(e.column);if(c!==void 0&&i.some(l=>l?.field===c))return n("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 field=${c} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);if(o!==void 0&&c===void 0&&i.some(l=>l?.column===o))return n("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 column=${o} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let a=e.position??i.length;return i.splice(a,0,e.column),s({message:`\u5DF2\u5728 bindcols \u7684 position=${a} \u8FFD\u52A0\u5BFC\u51FA\u5217 ${c??o??"(\u672A\u547D\u540D)"}`})}case"remove_export_column":{let{fieldKey:i,colKey:c}=re(e);if(i===void 0&&c===void 0)return n("INVALID_PARAMS","remove_export_column \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 field \u6216 column\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E");let o=be(t);if(o===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 remove_export_column\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let a=o.filter(u=>te(u,i,c));if(a.length===0)return n("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(a.length>1)return n("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${a.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00\uFF08field/column \u7EC4\u5408\u4E0D\u8DB3\u4EE5\u552F\u4E00\u5B9A\u4F4D\uFF09`);let l=o.findIndex(u=>te(u,i,c));return o.splice(l,1),s({message:`\u5DF2\u4ECE bindcols \u79FB\u9664\u5BFC\u51FA\u5217 ${i??c}`})}case"replace_export_column":{let{fieldKey:i,colKey:c}=re(e);if(i===void 0&&c===void 0)return n("INVALID_PARAMS","replace_export_column \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 field \u6216 column\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E");let o=be(t);if(o===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 replace_export_column\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let a=o.filter(u=>te(u,i,c));if(a.length===0)return n("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(a.length>1)return n("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${a.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let l=o.findIndex(u=>te(u,i,c));return o[l]=e.newColumn,s({message:`\u5DF2\u5728 bindcols \u66FF\u6362\u5BFC\u51FA\u5217 ${i??c}`})}case"set_export_column_attrs":{let{fieldKey:i,colKey:c}=re(e);if(i===void 0&&c===void 0)return n("INVALID_PARAMS","set_export_column_attrs \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 field \u6216 column\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E");let o=be(t);if(o===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 set_export_column_attrs\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let a=o.filter(l=>te(l,i,c));return a.length===0?n("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217"):a.length>1?n("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${a.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(a[0],e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u5BFC\u51FA\u5217 ${i??c}`}))}case"set_bind_meta":{if(be(t)===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 set_bind_meta\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");if("bindcols"in e.patch)return n("INVALID_PARAMS","set_bind_meta \u4E0D\u80FD\u4FEE\u6539 bindcols\uFF08\u5BFC\u51FA\u5217\u5B9A\u4E49\uFF09\uFF0C\u8BF7\u4F7F\u7528 add_export_column / remove_export_column \u7B49\u5217\u7EA7 op");let c=t.bindjson;return c?(Object.assign(c,e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A bindjson \u9876\u5C42\u5B57\u6BB5`})):n("INVALID_PARAMS","bindjson \u7F3A\u5931\uFF0C\u65E0\u6CD5\u6267\u884C set_bind_meta")}default:return n("OP_ERROR",`\u672A\u77E5 op \u7C7B\u578B\uFF1A${e.op}`)}}function Wn(t){let e=t.map(s=>`ops[${s.index}] ${s.op} (${s.status}): ${s.message??""}`).join(`\n`),r=e.split(`\n`);return r.length<=$e?e:`${r.slice(0,$e).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${r.length} \u884C\uFF09`}function Gn(t,e){let r=[],s=n=>(n==="input"?t.input:t.output)??[];for(let n=0;n<e.length;n++){let i=e[n];switch(i.op){case"set_meta":for(let[c,o]of Object.entries(i.patch))JSON.stringify(t[c])!==JSON.stringify(o)&&r.push(`ops[${n}] set_meta.${c} \u672A\u751F\u6548`);break;case"add_param":{s(i.target).some(o=>o?.name===i.param.name)||r.push(`ops[${n}] add_param \u53C2\u6570\u672A\u8FFD\u52A0`);break}case"remove_param":{s(i.target).some(o=>o?.name===i.name)&&r.push(`ops[${n}] remove_param \u53C2\u6570\u4ECD\u5B58\u5728`);break}case"set_param_attrs":{let o=s(i.target).find(a=>a?.name===i.name);if(!o){r.push(`ops[${n}] set_param_attrs \u53C2\u6570\u6D88\u5931`);break}for(let[a,l]of Object.entries(i.patch))JSON.stringify(o[a])!==JSON.stringify(l)&&r.push(`ops[${n}] set_param_attrs.${a} \u672A\u751F\u6548`);break}case"add_property":{let o=s(i.target).find(f=>f?.name===i.paramName);if(!o){r.push(`ops[${n}] add_property \u53C2\u6570\u6D88\u5931`);break}let a=o.properties??[],l=V(i.property.name)?i.property.name:void 0,u=V(i.property.propertycode)?i.property.propertycode:void 0;a.some(f=>l!==void 0&&f?.name===l||u!==void 0&&f?.propertycode===u)||r.push(`ops[${n}] add_property \u5C5E\u6027\u672A\u8FFD\u52A0`);break}case"remove_property":{let o=s(i.target).find(f=>f?.name===i.paramName);if(!o){r.push(`ops[${n}] remove_property \u53C2\u6570\u6D88\u5931`);break}let a=o.properties??[],l=V(i.propertyName)?i.propertyName:void 0,u=V(i.propertyCode)?i.propertyCode:void 0,p=f=>l!==void 0&&f?.name===l||u!==void 0&&f?.propertycode===u;a.some(p)&&r.push(`ops[${n}] remove_property \u5C5E\u6027\u4ECD\u5B58\u5728`);break}case"replace_property":{let o=s(i.target).find(y=>y?.name===i.paramName);if(!o){r.push(`ops[${n}] replace_property \u53C2\u6570\u6D88\u5931`);break}let a=o.properties??[],l=V(i.propertyName)?i.propertyName:void 0,u=V(i.propertyCode)?i.propertyCode:void 0,p=y=>l!==void 0&&y?.name===l||u!==void 0&&y?.propertycode===u,f=a.find(p);if(!f){r.push(`ops[${n}] replace_property \u5C5E\u6027\u6D88\u5931`);break}for(let[y,R]of Object.entries(i.property))JSON.stringify(f[y])!==JSON.stringify(R)&&r.push(`ops[${n}] replace_property.${y} \u672A\u751F\u6548`);break}case"add_export_column":{let c=t.bindjson?.bindcols??[],o=V(i.column.field)?i.column.field:void 0,a=V(i.column.column)?i.column.column:void 0;c.some(u=>te(u,o,a))||r.push(`ops[${n}] add_export_column \u5217\u672A\u8FFD\u52A0`);break}case"remove_export_column":{let c=t.bindjson?.bindcols??[],{fieldKey:o,colKey:a}=re(i);c.some(l=>te(l,o,a))&&r.push(`ops[${n}] remove_export_column \u5217\u4ECD\u5B58\u5728`);break}case"replace_export_column":{let c=t.bindjson?.bindcols??[],{fieldKey:o,colKey:a}=re(i),l=c.find(u=>te(u,o,a));if(!l){r.push(`ops[${n}] replace_export_column \u5217\u6D88\u5931`);break}for(let[u,p]of Object.entries(i.newColumn))JSON.stringify(l[u])!==JSON.stringify(p)&&r.push(`ops[${n}] replace_export_column.${u} \u672A\u751F\u6548`);break}case"set_export_column_attrs":{let c=t.bindjson?.bindcols??[],{fieldKey:o,colKey:a}=re(i),l=c.find(u=>te(u,o,a));if(!l){r.push(`ops[${n}] set_export_column_attrs \u5217\u6D88\u5931`);break}for(let[u,p]of Object.entries(i.patch))JSON.stringify(l[u])!==JSON.stringify(p)&&r.push(`ops[${n}] set_export_column_attrs.${u} \u672A\u751F\u6548`);break}case"set_bind_meta":{let c=t.bindjson;if(!c){r.push(`ops[${n}] set_bind_meta bindjson \u672A\u751F\u6548`);break}for(let[o,a]of Object.entries(i.patch))JSON.stringify(c[o])!==JSON.stringify(a)&&r.push(`ops[${n}] set_bind_meta.${o} \u672A\u751F\u6548`);break}}}return{verified:r.length===0,problems:r}}async function It(t,e,r,s={}){let n=s.dryRun??!1,i=s.verify??!0,c=(_,w)=>({ok:!1,applied:!1,verified:null,errorCode:_,message:w,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return c("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let o;try{o=(await ee({modellogiccode:t})).resp_data}catch(_){return c("FETCH_FAILED",D(_))}if(!o)return c("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);let a=structuredClone(o),l=[],u=!1;for(let _=0;_<e.length;_++)try{let w=await Jn(a,e[_],_);l.push(w),w.status==="FAILED"&&(u=!0)}catch(w){l.push({index:_,op:e[_].op,status:"FAILED",errorCode:"OP_ERROR",message:D(w)}),u=!0}let p=Wn(l);if(u){let _=l.filter(w=>w.status==="FAILED").map(w=>w.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${l.filter(w=>w.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${_}]\uFF09\u3002\u672C\u6279\u6B21\u672A\u4EA7\u751F\u4EFB\u4F55\u5199\u5165\uFF0C\u8BF7\u6839\u636E ops[].message \u4FEE\u6B63\u540E\u91CD\u8BD5`,diff:p,ops:l}}if(n)return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u6F14\u6210\u529F\uFF08dryRun=true\uFF09\uFF0C${e.length} \u4E2A op \u5168\u90E8\u547D\u4E2D\uFF0C\u672A\u843D\u5E93`,diff:p,ops:l};r.committype==="saverecord"&&(r.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),a.message=JSON.stringify(r);let f;try{let _=await Ne(a);f=typeof _?.resp_data=="string"?_.resp_data:JSON.stringify(_?.resp_data??null)}catch(_){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(_),diff:p,ops:l}}let y=null,R=f;if(i)try{let w=(await ee({modellogiccode:t})).resp_data;if(!w)y=!1,R=`${f} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let h=Gn(w,e);y=h.verified,h.verified||(R=`${f} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${h.problems.join("\uFF1B")}`)}}catch(_){y=!1,R=`${f} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(_)}`}return{ok:y===null?!0:y,applied:!0,verified:y,errorCode:y===!1?"VERIFY_FAILED":"OK",message:R,diff:p,ops:l}}var $e=150;function Qn(t){let e=t.filter(n=>n.hunk).map(n=>`--- ops[${n.index}]${n.label?` (${n.label})`:""} @ operation[${n.operationIndex}]\n${n.hunk}`);if(e.length===0)return"";let r=e.join(`\n`),s=r.split(`\n`);return s.length<=$e?r:`${s.slice(0,$e).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${s.length} \u884C\uFF09`}async function Zn(t,e){e.committype==="saverecord"&&(e.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{let r=await Ne(t);return{ok:!0,text:typeof r?.resp_data=="string"?r.resp_data:JSON.stringify(r?.resp_data??null)}}catch(r){return{ok:!1,text:D(r)}}}async function Nt(t,e,r,s={}){let n=s.contextLines??3,i=s.dryRun??!1,c=s.verify??!0,o=(h,O)=>({ok:!1,applied:!1,verified:null,errorCode:h,message:O,lengthBefore:0,lengthAfter:0,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return o("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let a;try{a=(await ee({modellogiccode:t})).resp_data}catch(h){return o("FETCH_FAILED",D(h))}if(!a)return o("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);if(!a.operations||a.operations.length===0)return o("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 l=a.operations.map(h=>h.templateparams?.flycode??""),u=l.reduce((h,O)=>h+O.length,0),p=De(l,e,{contextLines:n}),f=Qn(p.results),y=p.scripts.reduce((h,O)=>h+O.length,0);if(!p.ok){let h=p.results.filter(x=>x.status==="FAILED"),O=h.map(x=>x.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${h.length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${O}]\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:u,lengthAfter:y,diff:f,ops:p.results}}if(i)return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u6F14\u6210\u529F\uFF08dryRun=true\uFF09\uFF0C${e.length} \u4E2A op \u5168\u90E8\u547D\u4E2D\uFF0C\u672A\u843D\u5E93`,lengthBefore:u,lengthAfter:y,diff:f,ops:p.results};for(let h=0;h<p.scripts.length;h++)if(p.scripts[h]!==l[h]){let O=a.operations[h].templateparams;a.operations[h].templateparams={...O??{},flycode:p.scripts[h]}}let R=await Zn(a,r);if(!R.ok)return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:R.text,lengthBefore:u,lengthAfter:y,diff:f,ops:p.results};let _=null,w=R.text;if(c)try{let x=((await ee({modellogiccode:t})).resp_data?.operations??[]).map(T=>T.templateparams?.flycode??""),v=[];p.results.forEach((T,H)=>{let M=e[H],B=x[T.operationIndex]??"",Y=M.matchMode??"normalized",q=z(B,Y),me=z(M.newString,Y),ge=z(M.oldString,Y);M.newString.length>0&&!q.includes(me)&&v.push(`ops[${H}] \u7684\u65B0\u5185\u5BB9\u672A\u51FA\u73B0\u5728\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`),!me.includes(ge)&&q.includes(ge)&&v.push(`ops[${H}] \u7684 oldString \u4ECD\u7136\u5B58\u5728\u4E8E\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`)}),_=v.length===0,v.length>0&&(w=`${R.text} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${v.join("\uFF1B")}`)}catch(h){_=!1,w=`${R.text} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(h)}`}return{ok:_===null?!0:_,applied:!0,verified:_,errorCode:_===!1?"VERIFY_FAILED":"OK",message:w,lengthBefore:u,lengthAfter:y,diff:f,ops:p.results}}var Ct=[{name:"save_model_logic",config:{title:"\u4FDD\u5B58\u4E1A\u52A1\u903B\u8F91\uFF08\u4EC5\u65B0\u589E / \u6216\u5168\u91CF JSON \u5F88\u5C0F\u5982\u5FAE\u670D\u52A1\uFF09",description:`\u5168\u91CF\u4FDD\u5B58\u4E00\u6761\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u3002\u4EC5\u7528\u4E8E\uFF1A\u2460\u65B0\u589E\uFF1B\u2461\u5DF2\u6709\u903B\u8F91 JSON \u5F88\u5C0F\uFF08\u5982\u5FAE\u670D\u52A1 actioncategory=2\uFF09\u3002\u7F16\u8F91\u666E\u901A flycode \u63A5\u53E3\u7684\u5DF2\u6709\u903B\u8F91\u8BF7\u52FF\u56DE\u4F20\u6574\u4EFD\u5927\u5BF9\u8C61\u2014\u2014\u6539\u811A\u672C\u7528 str_replace_flycode\uFF0C\u6539\u7ED3\u6784/\u5143\u6570\u636E\u7528 patch_model_logic\u3002\nactioncategory \u679A\u4E3E\u89C1 get_model_logic / page_model_logic_list\u3002\n\n${U}`,inputSchema:{logic:Ot.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:G.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:I.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 t=>{let{logic:e,commitMessage:r}=t,s=Q(r);try{let n=await vt(e,s);return{content:[{type:"text",text:n}],structuredContent:{result:n}}}catch(n){let i=D(n);return{isError:!0,content:[{type:"text",text:i}],structuredContent:{result:i}}}}},{name:"patch_model_logic",config:{title:"\u5C40\u90E8\u8865\u4E01\u4FEE\u6539\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u7684input/output/\u5143\u6570\u636E",description:`\u4EE5 delta ops \u5C40\u90E8\u4FEE\u6539 input/output \u7ED3\u6784\u6216\u9876\u5C42\u5143\u6570\u636E\uFF0C\u65E0\u9700\u56DE\u4F20\u6574\u4EFD LogicResult\u3002ops \u5206\u4E09\u7C7B\uFF1A\u2460input/output \u7ED3\u6784\uFF08add_param/remove_param/set_param_attrs/add_property/remove_property/replace_property\uFF09\uFF1B\u2461\u5143\u6570\u636E\uFF08set_meta\uFF0C\u4E0D\u542B input/output/operations\uFF09\uFF1B\u2462\u5BFC\u51FA\u5217\uFF08\u4EC5 actioncategory=5\uFF1Aadd_export_column/remove_export_column/replace_export_column/set_export_column_attrs/set_bind_meta\uFF09\u3002\u5168\u90E8 op \u9884\u6F14\u6210\u529F\u624D\u843D\u5E93\uFF0C\u4EFB\u4E00\u5931\u8D25\u6574\u6279\u56DE\u6EDA\u3002\u6539 flycode \u811A\u672C\u8BF7\u7528 str_replace_flycode\uFF1B\u5FAE\u670D\u52A1 JSON \u5C0F\u8BF7\u76F4\u63A5\u7528 save_model_logic\u3002\n\n${U}\n${ae}\n${Ie}`,inputSchema:{modellogiccode:I.string().describe("\u76EE\u6807\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:I.array(xt).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:G.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:I.boolean().optional().describe("\u53EA\u9884\u6F14\u5E76\u8F93\u51FA\u6458\u8981\u3001\u4E0D\u843D\u5E93\uFF0C\u9ED8\u8BA4 false\u3002\u6539\u52A8\u8F83\u5927\u6216\u4E0D\u786E\u5B9A\u65F6\u5EFA\u8BAE\u5148\u7F6E true"),verify:I.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:I.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:I.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:I.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:I.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / PARAM_NOT_FOUND / PROP_NOT_FOUND / DUP_NAME / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:I.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),diff:I.string().describe("\u5168\u90E8 op \u7684\u6267\u884C\u6458\u8981\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD\uFF1B\u53EA\u56DE\u6539\u52A8\u6458\u8981\uFF0C\u4E0D\u56DE\u6574\u4EFD\u5BF9\u8C61"),ops:I.array(I.object({index:I.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:I.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:I.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:I.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801\uFF1AOK / PARAM_NOT_FOUND / PROP_NOT_FOUND / DUP_NAME / INVALID_PARAMS / OP_ERROR"),message:I.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null")})).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 t=>{let{modellogiccode:e,commitMessage:r,dryRun:s=!1,verify:n=!0}=t,i=t.ops,c=Q(r);try{let o=await It(e,i,c,{dryRun:s,verify:n});return{isError:!o.ok,content:[{type:"text",text:JSON.stringify(o)}],structuredContent:o}}catch(o){let a=D(o);return{isError:!0,content:[{type:"text",text:a}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:a,diff:"",ops:[]}}}}},{name:"str_replace_flycode",config:{title:"\u6279\u91CF\u5C40\u90E8\u66FF\u6362 flycode \u811A\u672C",description:"\u4EE5 oldString\u2192newString \u5C40\u90E8\u66FF\u6362 flycode \u811A\u672C\uFF0C\u4E0D\u5FC5\u56DE\u4F20\u6574\u4EFD\u3002\u652F\u6301\u591A ops \u6279\u91CF\u3001rewrite=true \u6574\u4EFD\u91CD\u5199\uFF08\u53EA\u4F20 newString\uFF09\u3001dryRun \u9884\u89C8\u3001occurrence/replaceAll \u6D88\u6B67\uFF1B\u9ED8\u8BA4\u5BB9\u5FCD CRLF/LF \u5DEE\u5F02\u3002\u5168\u90E8 op \u4E8B\u52A1\u6027\u9884\u6F14\uFF0C\u4EFB\u4E00\u5931\u8D25\u6574\u6279\u56DE\u6EDA\u3002\u6539\u7ED3\u6784/\u5143\u6570\u636E\u8BF7\u7528 patch_model_logic\u3002",inputSchema:{modelLogicCode:I.string().describe("\u8981\u4FEE\u6539\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:I.array(I.object({oldString:I.string().describe("\u5F85\u66FF\u6362\u7684\u539F\u6587\u7247\u6BB5\uFF0C\u5728 partial \u6A21\u5F0F\uFF08\u9ED8\u8BA4\uFF0Crewrite \u975E true\uFF09\u4E0B\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\u3002rewrite=true \u65F6\u672C\u5B57\u6BB5\u88AB\u5FFD\u7565"),newString:I.string().describe("\u66FF\u6362\u540E\u7684\u65B0\u6587\u672C\uFF1Bpartial \u6A21\u5F0F\u4E0B\u4F20\u7A7A\u5B57\u7B26\u4E32\u8868\u793A\u5220\u9664 oldString \u8FD9\u6BB5\u5185\u5BB9\uFF1Brewrite=true \u65F6\u672C\u5B57\u6BB5\u4E3A\u6574\u4EFD\u66FF\u6362\u7684\u76EE\u6807\u5168\u6587\uFF08\u5FC5\u586B\uFF09"),rewrite:I.boolean().optional().describe("\u6574\u4EFD\u66FF\u6362\u5F00\u5173\uFF1A\u4E3A true \u65F6\u5FFD\u7565 oldString\uFF0C\u628A\u6574\u4E2A operation \u7684 flycode \u811A\u672C\u6574\u4F53\u66FF\u6362\u4E3A newString\uFF0C\u7528\u4E8E\u6574\u4EFD\u811A\u672C\u91CD\u5199\uFF08\u5927\u8303\u56F4\u91CD\u6784\uFF09\uFF0C\u7701\u53BB\u56DE\u4F20\u65E7\u5168\u6587\uFF1B\u7F3A\u7701/false \u7EF4\u6301\u539F\u6709 str_replace \u5C40\u90E8\u66FF\u6362\u884C\u4E3A"),operationIndex:I.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:I.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:I.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:I.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:I.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\u3002\u6574\u4EFD\u91CD\u5199\u7528 rewrite=true \u7684\u5355 op\uFF0C\u5C40\u90E8\u6539\u52A8\u7528 oldString/newString \u7684\u591A op"),commitMessage:G.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:I.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:I.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:I.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:I.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:I.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:I.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:I.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / NO_OPERATIONS / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:I.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),lengthBefore:I.coerce.number().describe("\u66FF\u6362\u524D\u811A\u672C\u603B\u5B57\u7B26\u6570"),lengthAfter:I.coerce.number().describe("\u66FF\u6362\u540E\u811A\u672C\u603B\u5B57\u7B26\u6570"),diff:I.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:I.array(I.object({index:I.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),label:I.string().nullable().describe("\u8C03\u7528\u65B9\u4F20\u5165\u7684\u6807\u8BC6"),status:I.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:I.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:I.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),operationIndex:I.coerce.number().describe("\u5B9E\u9645\u4F5C\u7528\u7684 operation \u4E0B\u6807"),matchCount:I.coerce.number().describe("oldString \u7684\u5339\u914D\u603B\u6570"),replacedCount:I.coerce.number().describe("\u5B9E\u9645\u66FF\u6362\u7684\u5904\u6570"),range:I.object({startOffset:I.coerce.number().describe("\u8D77\u59CB\u5B57\u7B26\u504F\u79FB"),endOffset:I.coerce.number().describe("\u7ED3\u675F\u5B57\u7B26\u504F\u79FB\uFF08\u4E0D\u542B\uFF09"),startLine:I.coerce.number().describe("\u8D77\u59CB\u884C\u53F7\uFF0C1-based"),endLine:I.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:I.array(I.object({startLine:I.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:I.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:I.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:I.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:I.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 t=>{let{modelLogicCode:e,ops:r,commitMessage:s,dryRun:n=!1,contextLines:i=3,verify:c=!0}=t,o=Q(s);try{let a=await Nt(e,r,o,{dryRun:n,contextLines:i,verify:c});return{isError:!a.ok,content:[{type:"text",text:JSON.stringify({ok:a.ok,applied:a.applied,verified:a.verified,errorCode:a.errorCode,message:a.message,ops:a.ops.map(l=>({index:l.index,status:l.status,errorCode:l.errorCode,message:l.message,operationIndex:l.operationIndex,matchCount:l.matchCount,replacedCount:l.replacedCount,range:l.range,suggestions:l.suggestions,dependentOnFailedOp:l.dependentOnFailedOp})),diff:a.diff})}],structuredContent:a}}catch(a){let l=D(a);return{isError:!0,content:[{type:"text",text:l}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:l,lengthBefore:0,lengthAfter:0,diff:"",ops:[]}}}}}];import{z as k}from"zod";function Dt(t){return $({url:"/bizserv/biz/pageList",method:"post",data:t,type:"tenant"})}function de(t){return $({url:"/bizserv/biz/getBizObject",method:"post",data:t,type:"tenant"})}function $t(t){return $({url:"/bizserv/biz/saveObject",method:"post",data:t,type:"tenant"})}var he={ENTITY:"1",FORM:"3"};function Ee(t){return $({url:"/bizserv/biz/getDirectorys",method:"post",data:t,type:"tenant"})}function L(t){return t==null?"":String(t)}function _e(t,e){return L(t).toLowerCase().includes(e)}function Re(t,e={}){let r=Array.isArray(t)?t:[],s=L(e.keys).trim(),n=L(e.directorytypecode).trim(),i=L(e.parentdirectorytypecode).trim(),c=L(e.centercode).trim(),o=L(e.centername).trim(),a=L(e.marktype).trim(),l=s.toLowerCase(),u=M=>L(M.parentdirectorytypecode).trim()==="",p=i.toLowerCase()==="root",f=r.filter(M=>{if(n&&L(M.directorytypecode).trim()!==n)return!1;if(p){if(!u(M))return!1}else if(i&&L(M.parentdirectorytypecode).trim()!==i)return!1;return!(c&&L(M.centercode).trim()!==c||o&&!_e(M.centername,o.toLowerCase())||a&&L(M.marktype).trim()!==a||l&&!(_e(M.directorytypename,l)||_e(M.directoryname,l)||_e(M.centername,l)||_e(M.directorytypecode,l)))}),y=!!(l||n||i||c||o),R=f,_=null;if(y||(R=f.filter(u),_=`\u63A5\u53E3\u4E0D\u652F\u6301\u5206\u9875\u4E14\u5168\u91CF ${r.length} \u6761\uFF0C\u672A\u4F20\u7B5B\u9009\u6761\u4EF6\u65F6\u5DF2\u81EA\u52A8\u6536\u655B\u4E3A\u9876\u7EA7\u76EE\u5F55 ${R.length} \u6761\uFF1B\u8BF7\u4F20 keys \u6309\u540D\u79F0\u6A21\u7CCA\u641C\u7D22\uFF0C\u6216\u7528 parentdirectorytypecode \u9010\u7EA7\u4E0B\u94BB\u3002`),l){let M=B=>{let Y=L(B.directorytypename).toLowerCase(),q=L(B.directoryname).toLowerCase();return Y===l||q===l?0:Y.startsWith(l)||q.startsWith(l)?1:2};R=[...R].sort((B,Y)=>{let q=M(B)-M(Y);if(q!==0)return q;let me=L(B.directorytypename).length,ge=L(Y.directorytypename).length;return me!==ge?me-ge:L(B.directorytypecode).localeCompare(L(Y.directorytypecode))})}else R=[...R].sort((M,B)=>{let Y=L(M.directorytypecode),q=L(B.directorytypecode);return Y.length!==q.length?Y.length-q.length:Y.localeCompare(q)});let w=Number(e.limit),h=Number.isFinite(w)&&w>0?Math.min(Math.floor(w),200):30,O=Number(e.offset),x=Number.isFinite(O)&&O>0?Math.floor(O):0,v=R.slice(x,x+h),T=x+v.length<R.length,H=[];return _&&H.push(_),Number.isFinite(w)&&w>200&&H.push(`limit ${w} \u8D85\u8FC7\u786C\u4E0A\u9650 200\uFF0C\u5DF2\u6309 200 \u5904\u7406\u3002`),T&&H.push(`\u547D\u4E2D ${R.length} \u6761\uFF0C\u672C\u6B21\u8FD4\u56DE\u7B2C ${x+1}-${x+v.length} \u6761\uFF1B\u8BF7\u7F29\u5C0F keys \u8303\u56F4\u6216\u8C03\u5927 offset \u7EE7\u7EED\u7FFB\u9875\u3002`),R.length===0&&H.push(`\u672A\u547D\u4E2D\u4EFB\u4F55\u76EE\u5F55\uFF08\u63A5\u53E3\u5168\u91CF ${r.length} \u6761\uFF09\uFF1B\u8BF7\u6362\u66F4\u77ED\u7684\u5173\u952E\u8BCD\uFF0C\u6216\u4F20 parentdirectorytypecode="root" \u4ECE\u9876\u7EA7\u76EE\u5F55\u9010\u7EA7\u4E0B\u94BB\u3002`),{sourceTotal:r.length,total:R.length,returned:v.length,offset:x,limit:h,truncated:T,hint:H.length>0?H.join(" "):null,items:v.map(Xn)}}function Xn(t){let e=t.directorytypename??null,r=L(t.directoryname),s=L(t.parentdirectorytypecode).trim(),n=L(t.centername).trim(),i={directorytypecode:L(t.directorytypecode),directorytypename:e};r&&r!==L(e)&&(i.directoryname=r),s&&(i.parentdirectorytypecode=s),n&&(i.centername=n);let c=Number(t.marktype);return Number.isFinite(c)&&t.marktype!==null&&t.marktype!==void 0&&(i.marktype=c),i}import{z as A}from"zod";var er=A.array(A.object({columnname:A.string().optional().nullable().describe("\u5C5E\u6027\u5217\u7684\u5217\u540D\uFF0C\u5373\u6570\u636E\u5E93\u8868\u7684\u5B57\u6BB5\u7684\u540D\u5B57"),idxtype:A.union([A.string(),A.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:A.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:A.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),propertycategorycode:A.string().optional().nullable().describe("\u5C5E\u6027\u7C7B\u522B\u7F16\u7801"),propertycode:A.string().optional().nullable().describe("\u5C5E\u6027\u7F16\u7801\uFF0C\u552F\u4E00\u6807\u8BC6\u4E00\u4E2A\u5C5E\u6027"),propertydescr:A.string().optional().nullable().describe("\u5C5E\u6027\u63CF\u8FF0"),propertyname:A.string().optional().nullable().describe("\u5C5E\u6027\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),propertytypecode:A.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:A.union([A.string(),A.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:A.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:A.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:A.union([A.string(),A.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:A.union([A.string(),A.number()]).optional().nullable().describe("\u5C5E\u6027\u5E8F\u53F7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),columnnameError:A.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:A.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:A.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:A.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(A.unknown())),tr={confsource:A.union([A.string(),A.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:A.union([A.string(),A.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:A.union([A.string(),A.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:A.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:A.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:A.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:A.union([A.string(),A.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:A.string().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:A.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:A.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:A.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:A.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801\u3002\u4EC5\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u8FD4\u56DE"),objecttypecode:A.union([A.string(),A.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:A.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode\u3002\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),properties:er.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:A.union([A.string(),A.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),script:A.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:A.union([A.string(),A.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:A.union([A.string(),A.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:A.union([A.string(),A.number()]).optional().nullable().describe("\u5B9E\u4F53\u5E8F\u53F7\u3002\u4EC5\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),tablename:A.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D")},Et=A.looseObject(tr);var Tt=[{name:"page_entity_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53",description:`\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53(\u6570\u636E\u5E93\u8868)\u5217\u8868\u3002\u652F\u6301\u6309\u540D\u79F0/\u7C7B\u578B\u7B5B\u9009\u3002\n\n${U}\n${ne}`,inputSchema:{objectname:k.string().optional().describe("\u5B9E\u4F53\u4E2D\u6587\u540D\u3001\u5B9E\u4F53\u8868\u540D\u3001\u5B9E\u4F53 objectcode \u6A21\u7CCA\u5339\u914D"),page:k.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:k.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updatetimestart:k.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:k.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:k.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:k.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:k.array(k.object({confsource:k.union([k.string(),k.number()]).optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),createaccountcode:k.union([k.string(),k.number()]).optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:k.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:k.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),datapattern:k.union([k.string(),k.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:k.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:k.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),hasoffline:k.string().optional().nullable().describe("\u5B9E\u4F53\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C1-\u6709\uFF1B0-\u65E0"),marktype:k.union([k.string(),k.number()]).optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:k.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C objectcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectcatgory:k.union([k.string(),k.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:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:k.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:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801"),objecttypecode:k.union([k.string(),k.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"),parentobjectcode:k.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode"),publishstatus:k.union([k.string(),k.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),status:k.union([k.string(),k.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:k.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D"),updateaccountcode:k.union([k.string(),k.number()]).optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),updatetime:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(k.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:k.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:k.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:k.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:k.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{objectname:e="",page:r=1,rows:s=20,updatetimestart:n="",updatetimeend:i="",datapattern:c="",objecttypecode:o=""}=t;try{let a=await Dt({centercode:"",directorytypecode:"rootNode",starttime:"",objectname:e,page:Number(r)||1,rows:Number(s)||20,updatetimestart:n,updatetimeend:i,datapattern:c,objecttypecode:o});return F(a.resp_data)}catch(a){return j(a)}}},{name:"get_entity",config:{title:"\u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5",description:`\u6309 objectcode \u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5\uFF1A\u57FA\u672C\u4FE1\u606F\u4E0E\u5C5E\u6027\u6570\u7EC4 properties\u3002\npropertytypecode \u5B8C\u6574\u679A\u4E3E\u89C1 get_model_logic\u3002\n\n${U}\n${ne}`,inputSchema:{objectcode:k.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u5B9E\u4F53\u7684\u7F16\u7801")},outputSchema:Et,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{objectcode:e}=t;try{let r=await de({objectcode:e});return F(r.resp_data)}catch(r){return j(r)}}},{name:"page_entity_directories",config:{title:"\u67E5\u8BE2\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55",description:`\u67E5\u8BE2\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u6240\u5C5E\u76EE\u5F55\u5217\u8868\uFF0C\u53D6\u56DE\u7684 directorytypecode \u5373\u76EE\u5F55\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u4E3A\u5B9E\u4F53\u6307\u5B9A\u76EE\u5F55\u65F6\u4F7F\u7528\u3002\n\n- \u9ED8\u8BA4\u6700\u591A\u56DE ${30} \u6761\uFF0C\u786C\u4E0A\u9650 ${200} \u6761\uFF1B\n- \u672A\u4F20\u4EFB\u4F55\u7B5B\u9009\u6761\u4EF6\u65F6\uFF0C\u53EA\u56DE\u9876\u7EA7\u76EE\u5F55\uFF08\u901A\u5E38\u5341\u4F59\u6761\u91CF\u7EA7\uFF09\u5E76\u5728 hint \u4E2D\u8BF4\u660E\uFF1B\n- \u547D\u4E2D\u8FC7\u591A\u65F6 truncated=true\uFF0C\u8BF7\u7F29\u5C0F keys \u6216\u7528 offset \u7FFB\u9875\u3002\n\u7528\u6CD5\u5EFA\u8BAE\uFF1A\u5148\u7528 keys \u6309\u76EE\u5F55\u540D\u6A21\u7CCA\u641C\u7D22\uFF08\u5982 keys="\u4EF7\u683C"\uFF09\uFF0C\u62FF\u5230 directorytypecode \u540E\u518D\u53BB\u5EFA\u5B9E\u4F53\uFF08create_entity\uFF09\uFF1B\u4E5F\u53EF\u4F20 parentdirectorytypecode \u9010\u7EA7\u4E0B\u94BB\uFF08\u4F20 "root" \u53EA\u770B\u9876\u7EA7\uFF09\u3002\n\n${ne}`,inputSchema:{keys:k.string().optional().describe("\u76EE\u5F55\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u547D\u4E2D directorytypename / directoryname / centername / directorytypecode\uFF1B\u5F3A\u70C8\u5EFA\u8BAE\u4F18\u5148\u7528\u5B83\u68C0\u7D22\uFF0C\u907F\u514D\u62C9\u53D6\u5168\u91CF"),directorytypecode:k.string().optional().describe("\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF08\u5DF2\u77E5\u7F16\u7801\u53CD\u67E5\u540D\u79F0\u65F6\u7528\uFF09"),parentdirectorytypecode:k.string().optional().describe('\u7236\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF1B\u4F20 "root" \u8868\u793A\u53EA\u8981\u9876\u7EA7\u76EE\u5F55\uFF08parentdirectorytypecode \u4E3A\u7A7A\uFF09\uFF1B\u4F20\u5177\u4F53\u7F16\u7801\u5219\u53D6\u5176\u76F4\u63A5\u5B50\u76EE\u5F55'),centername:k.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u5982\u300C\u5BA2\u8BBF\u7BA1\u7406\u300D\u300C\u8425\u9500\u8D39\u63A7\u300D"),centercode:k.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u7F16\u7801\u7CBE\u786E\u5339\u914D"),marktype:k.string().optional().describe("\u521B\u5EFA\u6807\u8BB0\u7CBE\u786E\u5339\u914D\uFF0C\u6574\u6570\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),limit:k.string().optional().describe(`\u8FD4\u56DE\u6761\u6570\u4E0A\u9650\uFF0C\u9ED8\u8BA4 ${30}\uFF0C\u786C\u4E0A\u9650 ${200}`),offset:k.string().optional().describe("\u8D77\u59CB\u504F\u79FB\uFF0C\u9ED8\u8BA4 0\uFF1B\u914D\u5408 limit \u7FFB\u9875"),directorycategory:k.string().optional().describe('\u76EE\u5F55\u7C7B\u522B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u5B9E\u4F53\u76EE\u5F55\uFF08\u9ED8\u8BA4 "1"\uFF0C\u5373\u5B9E\u4F53 directorytypecode \u7684\u53D6\u503C\u6765\u6E90\uFF09\uFF1B3-\u8868\u5355/\u9875\u9762\u76EE\u5F55')},outputSchema:{sourceTotal:k.coerce.number().describe("\u63A5\u53E3\u8FD4\u56DE\u7684\u76EE\u5F55\u603B\u6570\uFF08\u7B5B\u9009\u524D\uFF0C\u4F53\u73B0\u5168\u91CF\u89C4\u6A21\uFF09"),total:k.coerce.number().describe("\u6309\u7B5B\u9009\u6761\u4EF6\u547D\u4E2D\u7684\u6761\u6570\uFF08\u622A\u65AD\u524D\uFF09"),returned:k.coerce.number().describe("\u672C\u6B21\u5B9E\u9645\u8FD4\u56DE\u6761\u6570"),offset:k.coerce.number().describe("\u672C\u6B21\u8FD4\u56DE\u7684\u8D77\u59CB\u504F\u79FB"),limit:k.coerce.number().describe("\u672C\u6B21\u751F\u6548\u7684\u8FD4\u56DE\u6761\u6570\u4E0A\u9650"),truncated:k.boolean().describe("true \u8868\u793A\u547D\u4E2D\u6570\u5927\u4E8E\u672C\u6B21\u8FD4\u56DE\uFF0C\u8FD8\u6709\u540E\u7EED"),hint:k.union([k.string(),k.null()]).describe("\u6536\u655B/\u7FFB\u9875\u63D0\u793A\uFF1Bnull \u8868\u793A\u65E0\u9700\u63D0\u793A"),items:k.array(k.object({directorytypecode:k.string().describe("\u76EE\u5F55\u7F16\u7801\uFF0C\u5373\u5B9E\u4F53 directorytypecode \u7684\u53D6\u503C\uFF0C\u4E5F\u662F create_entity \u7684\u5FC5\u586B\u5165\u53C2"),directorytypename:k.union([k.string(),k.null()]).optional().describe("\u76EE\u5F55\u540D\u79F0\uFF08\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u5E26\u540E\u7F00\uFF0C\u5982\u300C\u5236\u5B9A\u8BA1\u5212(\u5BA2\u8BBF\u7BA1\u7406)\u300D\uFF09"),directoryname:k.string().optional().describe("\u76EE\u5F55\u672C\u540D\uFF0C\u4EC5\u5728\u4E0E directorytypename \u4E0D\u540C\u65F6\u8FD4\u56DE"),parentdirectorytypecode:k.string().optional().describe("\u7236\u76EE\u5F55\u7F16\u7801\uFF1B\u7F3A\u5931\u5373\u9876\u7EA7\u76EE\u5F55"),centername:k.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\uFF0C\u4EC5\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u8FD4\u56DE"),marktype:k.coerce.number().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237")})).describe("\u76EE\u5F55\u9879\uFF08\u5DF2\u88C1\u526A\uFF0C\u4EC5\u4FDD\u7559\u5B9A\u4F4D\u6240\u9700\u5B57\u6BB5\uFF09")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a,directorycategory:l=he.ENTITY}=t;try{let u=await Ee({directorycategory:String(l||he.ENTITY)}),p=Array.isArray(u?.resp_data)?u.resp_data:[];return F(Re(p,{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a}))}catch(u){return j(u)}}}];import{z as P}from"zod";var Qe=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(e,r,s=15778368e5){if(e>this.maxWorkerId||e<0)throw new Error(`workerId \u5FC5\u987B\u5728 0 ~ ${this.maxWorkerId} \u4E4B\u95F4`);if(r>this.maxDatacenterId||r<0)throw new Error(`datacenterId \u5FC5\u987B\u5728 0 ~ ${this.maxDatacenterId} \u4E4B\u95F4`);this.workerId=BigInt(e),this.datacenterId=BigInt(r),this.epoch=BigInt(s)}nextId(){let e=this.currentTimestamp();if(e<this.lastTimestamp){let s=this.lastTimestamp-e;if(s<=5n)for(;e<this.lastTimestamp;)e=this.currentTimestamp();else throw new Error(`\u65F6\u949F\u56DE\u62E8\u8FC7\u5927: ${s}ms\uFF0C\u65E0\u6CD5\u751F\u6210 ID`)}return e===this.lastTimestamp?(this.sequence=this.sequence+1n&BigInt(this.sequenceMask),this.sequence===0n&&(e=this.waitNextMillis(this.lastTimestamp))):this.sequence=0n,this.lastTimestamp=e,e-this.epoch<<BigInt(this.timestampShift)|this.datacenterId<<BigInt(this.datacenterIdShift)|this.workerId<<BigInt(this.workerIdShift)|this.sequence}waitNextMillis(e){let r=this.currentTimestamp();for(;r<=e;)r=this.currentTimestamp();return r}currentTimestamp(){return BigInt(Date.now())}parse(e){let r=(e>>BigInt(this.timestampShift))+this.epoch,s=e>>BigInt(this.datacenterIdShift)&BigInt(this.maxDatacenterId),n=e>>BigInt(this.workerIdShift)&BigInt(this.maxWorkerId),i=e&BigInt(this.sequenceMask);return{timestamp:r,datacenterId:s,workerId:n,sequence:i,generateTime:new Date(Number(r))}}},nr=1,rr=1,or=new Qe(nr,rr),we=()=>or.nextId();var ir="3",sr=new Set(["200000000000","100000000000","10000000000","300000000000","1000000000"]);function Me(t){return String(t??"")===ir}function Ft(t){return t?sr.has(t):!1}function ar(t){let e=String(t.datapattern??"");return e==="3"||e==="4"}function Fe(t,e,r={}){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:"",...r}}function Ze(t,e){let r={propertycode:we().toString(),propertyname:t.propertyname,columnname:t.columnname,propertytypecode:t.propertytypecode,propertycategorycode:"1",idxtype:t.idxtype??"1",marktype:"2",propertydescr:t.propertydescr??"",ismaster:t.ismaster??"0",relationobjectcode:t.relationobjectcode??"",relationpropertycode:t.relationpropertycode??"",status:"1",publishstatus:"2"};return e.seq&&(r.seq=null),r}function lr(t){let e={...t};return e.committype==="saverecord"&&(e.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),{message:JSON.stringify(e),edittime:J(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:!1}}function ke(t){return Me(t)?1:2}function cr(t){let e=Me(t.objecttypecode);return{objectcode:we().toString(),objectname:t.objectname,objecttypecode:t.objecttypecode,datapattern:"1",tablename:t.tablename,objectmark:t.tablename,objectdescr:t.propertydescr??"",directorytypecode:t.directorytypecode,objectcatgory:"2",storagelevel:0,parentobjectcode:t.parentobjectcode??"",diclayer:"0",script:"",marktype:"2",status:"1",publishstatus:ke(t.objecttypecode),properties:[]}}function dr(t){let e=t.initialFields??[],r=e.some(n=>n.propertytypecode==="1"),s=[];r||s.push(Ze({propertyname:"\u4E3B\u952E",columnname:"id",propertytypecode:"1",idxtype:"2",ismaster:"0"},{seq:!1}));for(let n of e)s.push(Ze(n,{seq:!1}));return s}async function Mt(t,e){let r=lr(e),s={...t,...r},n=await $t(s);return typeof n.resp_data=="string"?n.resp_data:JSON.stringify(n.resp_data??null)}async function ur(t){try{let r=(await de({objectcode:t.objectcode}))?.resp_data;if(!r)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let s=[];return r.objectname!==t.objectname&&s.push("objectname \u4E0D\u4E00\u81F4"),String(r.objecttypecode??"")!==String(t.objecttypecode)&&s.push("objecttypecode \u4E0D\u4E00\u81F4"),String(r.directorytypecode??"")!==String(t.directorytypecode)&&s.push("directorytypecode \u4E0D\u4E00\u81F4"),{verified:s.length===0,problems:s}}catch(e){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(e)]}}}async function pr(t,e){try{let s=(await de({objectcode:t}))?.resp_data;if(!s)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let n=Array.isArray(s.properties)?s.properties:[],i=[];for(let c of e){let o=n.find(a=>String(a.propertycode??"")===String(c.propertycode));if(!o){i.push(`\u65B0\u589E\u5C5E\u6027 ${c.propertycode} (${c.propertyname}) \u672A\u51FA\u73B0\u5728\u56DE\u8BFB\u7ED3\u679C`);continue}o.propertyname!==c.propertyname&&i.push(`\u5C5E\u6027 ${c.propertycode} \u7684 propertyname \u4E0D\u4E00\u81F4`),String(o.columnname??"")!==String(c.columnname)&&i.push(`\u5C5E\u6027 ${c.propertycode} \u7684 columnname \u4E0D\u4E00\u81F4`)}return{verified:i.length===0,problems:i}}catch(r){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(r)]}}}async function Lt(t,e,r={}){let s=r.dryRun!==!1,n=r.confirm===!0,i=r.verify!==!1,c=t.initialFields??[];for(let w of c){if(!w.propertyname||!w.propertytypecode||!w.columnname)return Fe("INVALID_PARAMS","initialFields \u4E2D\u6BCF\u4E2A\u5B57\u6BB5\u5FC5\u987B\u5305\u542B propertyname / propertytypecode / columnname",{entityName:t.objectname});if(Ft(w.propertytypecode)&&!w.relationobjectcode)return Fe("INVALID_PARAMS",`\u5173\u8054\u7C7B\u578B\u5B57\u6BB5(propertytypecode=${w.propertytypecode}) \u5FC5\u987B\u63D0\u4F9B relationobjectcode`,{entityName:t.objectname})}let o=Me(t.objecttypecode),a=cr(t),l=o?[]:dr(t),u={...a,properties:l},p=[];if(p.push(`\u5B9E\u4F53 ${t.objectname} (objecttypecode=${t.objecttypecode}, tablename=${t.tablename})`),o)p.push("\u6570\u636E\u5B57\u5178\uFF1A\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0Cproperties \u56FA\u5B9A\u4E3A\u7A7A");else{p.push(`properties: ${l.length} \u4E2A\uFF08\u542B\u9ED8\u8BA4\u4E3B\u952E\uFF09`);for(let w of l)p.push(` + ${w.propertyname} [${w.columnname}] type=${w.propertytypecode} idxtype=${w.idxtype}`)}let f=p.join(`\n`),y=ke(t.objecttypecode),R=y!==1;if(!(n&&!s))return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u89C8\u6A21\u5F0F\uFF08\u672A\u843D\u5E93\uFF09\u3002publishstatus=${y}${R?"\uFF0C\u4FDD\u5B58\u540E\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03":"\uFF08\u6570\u636E\u5B57\u5178\u5DF2\u53D1\u5E03\uFF09"}\u3002\u786E\u8BA4\u65E0\u8BEF\u540E\u8BF7\u4EE5 confirm=true\u3001dryRun=false \u6267\u884C\u3002`,publishStatus:y,needManualPublish:R,entityCode:u.objectcode,entityName:u.objectname??"",diff:f};try{let w=await Mt(u,e),h=null,O=[];if(i){let v=await ur(u);h=v.verified,O=v.problems}let x=`${w}${R?" | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03":""}${O.length?" | \u6821\u9A8C\u95EE\u9898\uFF1A"+O.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:h,errorCode:h===!1?"VERIFY_FAILED":"OK",message:x,publishStatus:y,needManualPublish:R,entityCode:u.objectcode,entityName:u.objectname??"",diff:f}}catch(w){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(w)}`,publishStatus:y,needManualPublish:R,entityCode:u.objectcode,entityName:u.objectname??"",diff:f}}}async function jt(t,e,r,s={}){let n=s.dryRun!==!1,i=s.confirm===!0,c=s.verify!==!1,o;try{let h=await de({objectcode:t});if(!h?.resp_data)return Fe("ENTITY_NOT_FOUND",`\u5B9E\u4F53 ${t} \u4E0D\u5B58\u5728\u6216\u67E5\u8BE2\u4E3A\u7A7A`,{entityCode:t});o=h.resp_data}catch(h){return Fe("FETCH_FAILED",`\u67E5\u8BE2\u5B9E\u4F53\u5931\u8D25\uFF1A${D(h)}`,{entityCode:t})}let a=Me(o.objecttypecode),l=e.map((h,O)=>({index:O,op:h.op,status:"OK",errorCode:"OK",message:null})),u=e.findIndex(h=>h.op==="modify_field"||h.op==="delete_field");if(u>=0)return l[u].status="FAILED",l[u].errorCode="FIELD_OP_UNSUPPORTED",l[u].message="\u4FEE\u6539/\u5220\u9664\u5B57\u6BB5\u8BF7\u8BA9\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C",{ok:!1,applied:!1,verified:null,errorCode:"FIELD_OP_UNSUPPORTED",message:"\u4FEE\u6539/\u5220\u9664\u5B57\u6BB5\u8BF7\u8BA9\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C",publishStatus:ke(String(o.objecttypecode??"")),needManualPublish:ke(String(o.objecttypecode??""))!==1,entityCode:t,entityName:o.objectname??"",diff:Te(e,l),ops:l};if(a){let h=e.findIndex(O=>O.op==="add_field");return h>=0&&(l[h].status="FAILED",l[h].errorCode="DICTIONARY_NO_FIELD_OPS",l[h].message="\u6570\u636E\u5B57\u5178\u4E0D\u5141\u8BB8\u8C03\u6574\u5B57\u6BB5"),{ok:!1,applied:!1,verified:null,errorCode:"DICTIONARY_NO_FIELD_OPS",message:"\u6570\u636E\u5B57\u5178\u4E0D\u5141\u8BB8\u8C03\u6574\u5B57\u6BB5",publishStatus:ke(String(o.objecttypecode??"")),needManualPublish:!1,entityCode:t,entityName:o.objectname??"",diff:Te(e,l),ops:l}}let p=structuredClone(o);p.properties=Array.isArray(p.properties)?[...p.properties]:[];let f=ar(p),y=[],R=!1;for(let h=0;h<e.length;h++){let O=e[h];if(O.op!=="add_field")continue;let x=O;if(!x.propertyname||!x.propertytypecode||!x.columnname){l[h].status="FAILED",l[h].errorCode="INVALID_PARAMS",l[h].message="add_field \u7F3A\u5C11\u5FC5\u586B\u53C2\u6570 propertyname / propertytypecode / columnname",R=!0;continue}if(Ft(x.propertytypecode)&&!x.relationobjectcode){l[h].status="FAILED",l[h].errorCode="INVALID_PARAMS",l[h].message=`\u5173\u8054\u7C7B\u578B(propertytypecode=${x.propertytypecode}) \u5FC5\u586B relationobjectcode`,R=!0;continue}if(p.properties.some(T=>String(T.columnname??"")===x.columnname)){l[h].status="FAILED",l[h].errorCode="DUP_PROP_CODE",l[h].message=`\u5B57\u6BB5\u5217\u540D columnname=${x.columnname} \u5DF2\u5B58\u5728\u4E8E\u5B9E\u4F53`,R=!0;continue}let v=Ze({propertyname:x.propertyname,propertytypecode:x.propertytypecode,columnname:x.columnname,propertydescr:x.propertydescr,idxtype:x.idxtype,relationobjectcode:x.relationobjectcode,relationpropertycode:x.relationpropertycode,ismaster:(x.idxtype==="2","0")},{seq:f});p.properties.push(v),y.push(v),l[h].message=`\u5C06\u65B0\u589E\u5C5E\u6027 ${v.propertycode} (${v.propertyname} [${v.columnname}])`}if(R)return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:"\u9884\u6F14\u5931\u8D25\uFF1A\u5B58\u5728\u672A\u901A\u8FC7\u7684 op\uFF0C\u672C\u6279\u6B21\u672A\u5199\u5165\uFF08\u4E8B\u52A1\u6027\uFF09",publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:Te(e,l),ops:l};p.publishstatus=2;let _=Te(e,l);if(!(i&&!n))return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:"\u9884\u89C8\u6A21\u5F0F\uFF08\u672A\u843D\u5E93\uFF09\u3002\u4E8B\u52A1\u6027\u9884\u6F14\u901A\u8FC7\uFF0C\u786E\u8BA4\u65E0\u8BEF\u540E\u8BF7 confirm=true\u3001dryRun=false \u6267\u884C\u3002",publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:_,ops:l};try{let h=await Mt(p,r),O=null,x=[];if(c&&y.length>0){let T=await pr(t,y);O=T.verified,x=T.problems}let v=`${h} | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03${x.length?"\uFF1B\u6821\u9A8C\u95EE\u9898\uFF1A"+x.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:O,errorCode:O===!1?"VERIFY_FAILED":"OK",message:v,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:_,ops:l}}catch(h){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(h)}`,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:_,ops:l}}}function Te(t,e){let s=t.map((i,c)=>`ops[${c}] ${i.op} (${e[c].status}): ${e[c].message??""}`).join(`\n`),n=4e3;return s.length>n?s.slice(0,n)+`\n...(\u5DF2\u622A\u65AD)`:s}var mr=P.object({propertyname:P.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:P.string().describe("\u5C5E\u6027\u7C7B\u578B\u7F16\u7801\uFF08\u89C1 get_model_logic \u7684 PROPERTY_TYPE_ENUM\uFF1B\u5982 1-\u4E3B\u952E(int8)\u30013-\u6587\u672C(200)\u30015-\u6574\u6570(int4) \u7B49\uFF09"),columnname:P.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:P.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:P.string().optional().describe("\u7D22\u5F15\u65B9\u5F0F\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\u3002\u7F3A\u7701 1\uFF08\u4E3B\u952E\u5B57\u6BB5\u4F20 2\uFF09"),relationobjectcode:P.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:P.string().optional().describe("\u5173\u8054\u5C5E\u6027\u7F16\u7801\uFF0C\u5173\u8054\u7C7B\u578B\u65F6\u53EF\u9009")}),gr=P.discriminatedUnion("op",[P.object({op:P.literal("add_field"),propertyname:P.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:P.string().describe("\u5C5E\u6027\u7C7B\u578B\u7F16\u7801\uFF08\u89C1 get_model_logic \u7684 PROPERTY_TYPE_ENUM\uFF09"),columnname:P.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:P.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:P.string().optional().describe("\u7D22\u5F15\u65B9\u5F0F\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\u3002\u7F3A\u7701 1"),relationobjectcode:P.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:P.string().optional().describe("\u5173\u8054\u5C5E\u6027\u7F16\u7801\uFF0C\u5173\u8054\u7C7B\u578B\u65F6\u53EF\u9009")}).describe("\u65B0\u589E\u5B57\u6BB5\uFF08\u5F53\u524D\u552F\u4E00\u5B9E\u73B0\u7684 op\uFF09"),P.object({op:P.literal("modify_field"),propertycode:P.string().describe("\u8981\u4FEE\u6539\u7684\u5C5E\u6027\u7F16\u7801"),patch:P.record(P.string(),P.unknown()).describe("\u8981\u5408\u5E76\u7684\u5C5E\u6027\u5B57\u6BB5\uFF08\u4FDD\u7559\u672A\u5B9E\u73B0\uFF0C\u4F20\u5165\u5373\u62D2\u7EDD\uFF09")}).describe("\u4FEE\u6539\u5B57\u6BB5\uFF08\u4FDD\u7559\u672A\u5B9E\u73B0\uFF1A\u63D0\u793A\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C\uFF09"),P.object({op:P.literal("delete_field"),propertycode:P.string().describe("\u8981\u5220\u9664\u7684\u5C5E\u6027\u7F16\u7801")}).describe("\u5220\u9664\u5B57\u6BB5\uFF08\u4FDD\u7559\u672A\u5B9E\u73B0\uFF1A\u63D0\u793A\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C\uFF09")]),fr={ok:P.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:P.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:P.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:P.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / FETCH_FAILED / ENTITY_NOT_FOUND / FIELD_OP_UNSUPPORTED / DICTIONARY_NO_FIELD_OPS / INVALID_PARAMS / DUP_PROP_CODE / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:P.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:P.number().describe("\u5B9E\u4F53\u7EA7\u53D1\u5E03\u72B6\u6001\uFF1A\u975E\u5B57\u5178\u5B9E\u4F53 2\uFF08\u672A\u53D1\u5E03\uFF09\u3001\u6570\u636E\u5B57\u5178 1\uFF08\u5DF2\u53D1\u5E03\uFF09"),needManualPublish:P.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:P.string().describe("\u5B9E\u4F53\u7F16\u7801"),entityName:P.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:P.string().describe("\u5168\u90E8 op \u7684\u6267\u884C\u6458\u8981\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD"),ops:P.array(P.object({index:P.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:P.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:P.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:P.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801"),message:P.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null")})).describe("\u6BCF\u4E2A op \u7684\u6267\u884C\u7ED3\u679C\uFF0C\u4E0E\u5165\u53C2 ops \u4E00\u4E00\u5BF9\u5E94")},yr={ok:P.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:P.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u65F6\u4E3A false"),verified:P.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:P.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / INVALID_PARAMS / SAVE_FAILED / VERIFY_FAILED"),message:P.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:P.number().describe("\u5B9E\u4F53\u7EA7\u53D1\u5E03\u72B6\u6001\uFF1A\u975E\u5B57\u5178\u5B9E\u4F53 2\uFF08\u672A\u53D1\u5E03\uFF09\u3001\u6570\u636E\u5B57\u5178 1\uFF08\u5DF2\u53D1\u5E03\uFF09"),needManualPublish:P.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:P.string().describe("\u65B0\u5EFA\u5B9E\u4F53\u7684\u7F16\u7801"),entityName:P.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:P.string().describe("\u5C06\u8981\u521B\u5EFA\u7684\u5B9E\u4F53\u6458\u8981\uFF08\u5B57\u6BB5\u5217\u8868\uFF09\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD")};function Ht(t,e){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:""}}var Ut=[{name:"create_entity",config:{title:"\u65B0\u589E\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09",description:`\u65B0\u589E\u4E00\u4E2A\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u3002\u4EC5\u4F20\u5FC5\u8981\u53C2\u6570\uFF0C\u5B8C\u6574\u5B9E\u4F53\u5BF9\u8C61\u7531 MCP \u4FA7\u7EC4\u88C5\u540E\u8C03\u5E73\u53F0\u4FDD\u5B58\u63A5\u53E3\u3002\n\u6CE8\u610F\uFF1A\u6240\u6709\u5199\u64CD\u4F5C\u9ED8\u8BA4 confirm=false + dryRun=true\uFF0C\u8BF7\u5148\u9884\u89C8\u3001\u786E\u8BA4\u65E0\u8BEF\u540E\u518D\u4EE5 confirm=true\u3001dryRun=false \u6267\u884C\uFF1B\u4FDD\u5B58\u540E\u5B9E\u4F53\u5904\u4E8E\u672A\u53D1\u5E03\u6001\uFF0C\u9700\u5230\u5E73\u53F0\u624B\u52A8\u70B9\u51FB\u53D1\u5E03\uFF08\u65B0\u589E\u6570\u636E\u5B57\u5178\u9664\u5916\uFF0C\u5176 publishstatus=1 \u5DF2\u53D1\u5E03\uFF09\u3002\n\u5B57\u6BB5\u89C4\u5219\uFF1Atablename \u5FC5\u586B\u4E14 objectmark \u81EA\u52A8\u590D\u5236\u5176\u503C\uFF1B\u6570\u636E\u5B57\u5178(objecttypecode=3)\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0C\u65E0\u9700\u4E5F\u4E0D\u5141\u8BB8\u4F20 initialFields\u3002\n\n${U}\n${ne}`,inputSchema:{objectname:P.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),objecttypecode:P.string().describe("\u5B9E\u4F53\u5206\u7C7B\uFF08\u5FC5\u586B\uFF09\uFF1A1-\u57FA\u672C\u5BF9\u8C61\uFF1B2-\u6811\u578B\u5BF9\u8C61\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5BF9\u8C61"),tablename:P.string().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u5FC5\u586B\uFF09\uFF1Bobjectmark \u81EA\u52A8\u590D\u5236\u6B64\u503C"),directorytypecode:P.string().describe("\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF08\u5FC5\u586B\uFF09\uFF0C\u53D6\u503C\u6765\u81EA page_entity_directories \u67E5\u8BE2\u5230\u7684 directorytypecode"),parentobjectcode:P.string().optional().describe("\u7236\u5B9E\u4F53\u7F16\u7801\uFF0C\u6811\u578B/\u5173\u8054\u5B9E\u4F53\u4F7F\u7528"),propertydescr:P.string().optional().describe("\u5B9E\u4F53\u63CF\u8FF0"),initialFields:P.array(mr).optional().describe("\u53EF\u9009\u521D\u59CB\u5B57\u6BB5\uFF08\u6BCF\u9879\u4EC5 propertyname/propertytypecode/columnname \u5FC5\u586B\uFF09\uFF1B\u6570\u636E\u5B57\u5178\u5FFD\u7565\u6B64\u53C2\u6570\u3002\u975E\u5B57\u5178\u5B9E\u4F53\u82E5\u672A\u63D0\u4F9B\u4E3B\u952E(propertytypecode=1)\uFF0CMCP \u4F1A\u81EA\u52A8\u8865\u4E00\u4E2A\u300C\u4E3B\u952E/id\u300D"),commitMessage:G.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u7F3A\u7701 mcp \u7EC4\u88C5\u9ED8\u8BA4\uFF08committype=saverecord\uFF09"),confirm:P.boolean().optional().describe("\u662F\u5426\u786E\u8BA4\u843D\u5E93\uFF0C\u9ED8\u8BA4 false\u3002\u5FC5\u987B\u663E\u5F0F true \u624D\u4F1A\u771F\u6B63\u4FDD\u5B58"),dryRun:P.boolean().optional().describe("\u662F\u5426\u4EC5\u9884\u89C8\u4E0D\u843D\u5E93\uFF0C\u9ED8\u8BA4 true\u3002\u7F6E false \u624D\u6267\u884C\u4FDD\u5B58\uFF08\u9700\u914D\u5408 confirm=true\uFF09"),verify:P.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:yr,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectname:e,objecttypecode:r,tablename:s,directorytypecode:n,parentobjectcode:i,propertydescr:c,initialFields:o,confirm:a=!1,dryRun:l=!0,verify:u=!0}=t,p=t?.commitMessage?Q(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let f=await Lt({objectname:e,objecttypecode:r,tablename:s,directorytypecode:n,parentobjectcode:i,propertydescr:c,initialFields:o},p,{confirm:a,dryRun:l,verify:u});return{isError:!f.ok,content:[{type:"text",text:JSON.stringify(f)}],structuredContent:f}}catch(f){let y=D(f);return{isError:!0,content:[{type:"text",text:y}],structuredContent:Ht("SAVE_FAILED",y)}}}},{name:"patch_entity",config:{title:"\u5DF2\u6709\u5B9E\u4F53\u65B0\u589E\u5B57\u6BB5",description:`\u5BF9\u5DF2\u6709\u5B9E\u4F53\u505A\u5B57\u6BB5\u7EA7\u4FEE\u6539\u3002\u5F53\u524D\u4EC5\u5B9E\u73B0 add_field\uFF08\u65B0\u589E\u5B57\u6BB5\uFF09\uFF1Bmodify_field / delete_field \u4E3A\u4FDD\u7559 op\uFF0C\u4F20\u5165\u4F1A\u76F4\u63A5\u5931\u8D25\u5E76\u63D0\u793A\u300C\u4FEE\u6539/\u5220\u9664\u5B57\u6BB5\u8BF7\u8BA9\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C\u300D\u3002\n\u6570\u636E\u5B57\u5178(objecttypecode=3)\u7684\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0C\u4E0D\u5141\u8BB8\u4EFB\u4F55\u5B57\u6BB5\u589E\u6539\u5220\uFF0C\u4F20\u5165 add_field \u4F1A\u5931\u8D25\u5E76\u63D0\u793A\u300C\u6570\u636E\u5B57\u5178\u4E0D\u5141\u8BB8\u8C03\u6574\u5B57\u6BB5\u300D\u3002\n\u6CE8\u610F\uFF1A\u6240\u6709\u5199\u64CD\u4F5C\u9ED8\u8BA4 confirm=false + dryRun=true\uFF0C\u8BF7\u5148\u9884\u89C8\u3001\u786E\u8BA4\u65E0\u8BEF\u540E\u518D\u4EE5 confirm=true\u3001dryRun=false \u6267\u884C\uFF1B\u4FDD\u5B58\u540E\u5B9E\u4F53\u5904\u4E8E\u672A\u53D1\u5E03\u6001\uFF0C\u9700\u5230\u5E73\u53F0\u624B\u52A8\u70B9\u51FB\u53D1\u5E03\u3002\n\n${U}\n${ne}`,inputSchema:{objectcode:P.string().describe("\u76EE\u6807\u5B9E\u4F53\u7684\u7F16\u7801"),ops:P.array(gr).min(1).describe("\u5B57\u6BB5\u64CD\u4F5C\u6570\u7EC4\uFF0C\u81F3\u5C11\u4E00\u4E2A\u5143\u7D20\uFF1B\u6309\u6570\u7EC4\u987A\u5E8F\u4E8B\u52A1\u6027\u6267\u884C\uFF0C\u4EFB\u4E00\u5931\u8D25\u6574\u6279\u56DE\u6EDA\u3002\u4EC5 add_field \u5DF2\u5B9E\u73B0"),commitMessage:G.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u6574\u6279 ops \u5171\u7528\u4E00\u4E2A\uFF1B\u7F3A\u7701 mcp \u7EC4\u88C5\u9ED8\u8BA4\uFF08committype=saverecord\uFF09"),confirm:P.boolean().optional().describe("\u662F\u5426\u786E\u8BA4\u843D\u5E93\uFF0C\u9ED8\u8BA4 false\u3002\u5FC5\u987B\u663E\u5F0F true \u624D\u4F1A\u771F\u6B63\u4FDD\u5B58"),dryRun:P.boolean().optional().describe("\u662F\u5426\u4EC5\u9884\u89C8\u4E0D\u843D\u5E93\uFF0C\u9ED8\u8BA4 true\u3002\u7F6E false \u624D\u6267\u884C\u4FDD\u5B58\uFF08\u9700\u914D\u5408 confirm=true\uFF09"),verify:P.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:fr,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectcode:e,ops:r,confirm:s=!1,dryRun:n=!0,verify:i=!0}=t,c=t?.commitMessage?Q(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let o=await jt(e,r,c,{confirm:s,dryRun:n,verify:i});return{isError:!o.ok,content:[{type:"text",text:JSON.stringify(o)}],structuredContent:o}}catch(o){let a=D(o);return{isError:!0,content:[{type:"text",text:a}],structuredContent:Ht("SAVE_FAILED",a)}}}}];import{z as d}from"zod";function Vt(t){return Ee({directorycategory:t.directorycategory??he.FORM})}function Kt(t){return $({url:"/bizserv/bizpage/pageList",method:"post",data:t,type:"tenant"})}function oe(t){return $({url:"/bizserv/bizpage/getPage",method:"post",data:t,type:"tenant"})}function Xe(t){let{conf:e,message:r,ui:s,edittime:n=J(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:i=!1,clearuserconfig:c=!0}=t;return $({url:"/biserv/bizpage/saveNewPage",method:"post",data:{clearuserconfig:c,conf:e,edittime:n,message:r,overwrite:i,ui:s??e},type:"tenant"})}var tt=["flycode","datarequest","datasubmit","dataimport","dataexport","datatransfer","dataserialize","smartrequest","link","call","return","af_preaddflow","af_handleflow","af_flowdetail","ctrlevent","receivelink","eventlink","attributeevaluate","alert","toast","share","popsubview","closesubview","print","urllink","runevent"],br=["flycode","receivelink"],hr={flycode:"flycode",datarequest:"\u6570\u636E\u8BF7\u6C42",datasubmit:"\u6570\u636E\u63D0\u4EA4",dataimport:"\u5BFC\u5165\u884C\u4E3A",dataexport:"\u5BFC\u51FA\u884C\u4E3A",datatransfer:"\u6570\u636E\u8F6C\u79FB",dataserialize:"\u6570\u636E\u5E8F\u5217\u5316",smartrequest:"\u667A\u6167\u573A\u666F\u8BF7\u6C42",link:"\u94FE\u63A5",call:"\u4E8B\u4EF6\u547C\u53EB",return:"\u8FD4\u56DE",af_preaddflow:"\u6D41\u7A0B\u53D1\u8D77",af_handleflow:"\u5904\u7406\u5BA1\u6279",af_flowdetail:"\u6D41\u7A0B\u8282\u70B9\u8BE6\u60C5",ctrlevent:"\u8C03\u7528\u63A7\u4EF6\u4E8B\u4EF6",receivelink:"\u63A5\u6536\u53C2\u6570",eventlink:"\u4E8B\u4EF6\u76D1\u542C",attributeevaluate:"\u5C5E\u6027\u8868\u8FBE\u5F0F\u884C\u4E3A",alert:"\u63D0\u793A\u5F39\u7A97",toast:"\u8F7B\u63D0\u793A",share:"\u5206\u4EAB\u884C\u4E3A",popsubview:"\u6253\u5F00popview",closesubview:"\u5173\u95EDpopview",print:"\u6253\u5370\u4E8B\u4EF6",urllink:"URL\u94FE\u63A5",runevent:"\u6267\u884C\u4E8B\u4EF6"},_r={flycode:{script:""},datarequest:{logiccode:"",mode:"1",queue:"0",pagesize:"",pagesource:"",hasextraparams:"",sorter:"",getter:[],setter:[]},datasubmit:{logiccode:"",queue:"0",mode:"1",getter:[],setter:[]},dataimport:{logiccode:"",mode:"1",servicetype:"background",microclass:"",template:"",templatename:"",extraparam:[{title:"\u5F53\u6570\u636E\u91CD\u590D\u65F6\u5982\u4F55\u5904\u7406",paramkey:"_dataaddmode",requesturl:"",options:[{text:"\u8986\u76D6",key:"1",isselected:""},{text:"\u8FFD\u52A0",key:"2",isselected:""},{text:"\u653E\u5F03",key:"3",isselected:""}]}],getter:[],setter:[],onsuccess:""},dataexport:{logiccode:"",servicetype:"",dynamicparmsource:"",microclass:"",colselectable:"",sheetname:"",filename:"",mode:"1",getter:[],setter:[],extraparam:[{requesturl:""}],extconfig:{filetype:["1"],exportcontent:["excel","link","photo"],iscompress:"1",imagetype:"origin",imagesizepercolumn:"5",imageheightcm:"2.0",filewatermark:"0",filewatermarkvalue:"1"},enableattachmentexport:"",attachmentexportsetting:{attachmentfields:[],foldernamefields:[],attachmentnamefields:[],separator:"_"}},datatransfer:{getter:[],setter:[]},dataserialize:{targetname:"",param:{datatype:"0",ctrl:{code:"",scope:""},properties:[]}},smartrequest:{agentcode:"",agent_id:"",agent_name:"",agent_version_name:"",agent_version_id:"",queue:"",streaming:"",smartctrl:"",getter:[{name:"scene_param",datatype:"0",ctrl:{code:"",scope:""},properties:[]}],setter:[{name:"scene_data",datatype:"0",ctrlcode:"",properties:[]}]},link:{title:"",pagecode:"",mode:"popup",closeicon:"1",closewindowicon:"1",onreturn:"",pagesize:{width:"",height:""},pagesizeWidth:"",pagesizeHeight:"",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},call:{pagecode:"","event-key":"",key:"",isbroadcast:"0",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},return:{pagecode:"",pagecount:""},af_preaddflow:{af_processdefinekey:"",title:"",mode:"popup",pagesizeWidth:"",pagesizeHeight:"",pagesize:{width:"",height:""},newversion:"1",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},af_handleflow:{processinfo:[{name:"af_processdefineid",value:"",ctrl:{code:"",component:""}},{name:"af_processinstanceid",value:"",ctrl:{code:"",component:""}},{name:"af_taskid",value:"",ctrl:{code:"",component:""}},{name:"af_taskkey",value:"",ctrl:{code:"",component:""}},{name:"af_processinstancename",value:"",ctrl:{code:"",component:""}}],newversion:"1",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},af_flowdetail:{param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[{name:"af_processinstanceid",value:"",ctrl:{code:"",component:""}},{name:"af_processdefinekey",value:"",ctrl:{code:"",component:""}},{name:"af_processinstancename",value:"",ctrl:{code:"",component:""}}]}},ctrlevent:{ctrlcode:"",trigger:""},receivelink:{param:{name:"__linkparam",datatype:"0",ctrlcode:"",properties:[{name:"__pagestatus",paramtype:"1",ctrl:{code:"",component:""}}]}},eventlink:{key:"",handler:"",param:{name:"__linkparam",datatype:"0",ctrlcode:"",properties:[{name:"__pagestatus",paramtype:"1",ctrl:{code:"",component:""}}]}},attributeevaluate:{ctrlcode:"",attribute:"",expression:""},alert:{noticestyle:"warning",message:"",buttons:"",choices:[{title:"\u786E\u5B9A",handler:""},{title:"\u53D6\u6D88",handler:""}]},toast:{message:"",title:"",noticestyle:"info",duration:"3",position:"top"},share:{provider:"",imagewidth:""},popsubview:{viewcode:"",viewwidth:"",viewheight:"",viewtitle:"",popupmode:"center"},closesubview:{},print:{pagecode:"",ctrlcode:"",printmode:"image",printermodel:"custom",printerinfo:""},urllink:{url:"",mode:"",targetctrl:"",queryparams:"",bodyparams:""},runevent:{handler:""}};function nt(t){return t?Array.isArray(t)?t.filter(Boolean):[t]:[]}function K(t,e,r){let s=[{scope:"handlers",list:t.presenter?.handlers??[]},{scope:"initial",list:nt(t.presenter?.initial)}],n=[];for(let i of s)if(!(r&&i.scope!==r))for(let c of i.list)c&&c.code===e&&n.push({handler:c,scope:i.scope});return n}var Yt=150;function Gt(t){t.committype==="saverecord"&&(t.msgbody=J(new Date,"YYYY-MM-DD HH:mm"))}function Le(t,e){if(!t)return null;if(t.code===e)return t;if(Array.isArray(t.content))for(let r of t.content){let s=Le(r,e);if(s)return s}return null}function Oe(t){let e=[],r=s=>{s&&(e.push(s),Array.isArray(s.content)&&s.content.forEach(r))};return r(t.view?.body??null),Array.isArray(t.controls)&&t.controls.forEach(s=>{s&&e.push(s)}),e}function et(t,e){if(Array.isArray(t)){for(let r of t)if(r&&typeof r=="object"){if(r.code===e)return r;let s=et(r,e);if(s)return s}return null}if(t&&typeof t=="object")for(let r of Object.values(t)){let s=et(r,e);if(s)return s}return null}function Qt(t,e){if(!t?.content)return null;let r=t.content.findIndex(s=>s?.code===e);if(r>=0){let[s]=t.content.splice(r,1);return s??null}for(let s of t.content){let n=Qt(s,e);if(n)return n}return null}function zt(t,e){let r=Qt(t.view?.body??null,e);if(r)return r;if(Array.isArray(t.controls)){let s=t.controls.findIndex(n=>n?.code===e);if(s>=0){let[n]=t.controls.splice(s,1);return n??null}}return null}function qt(t){let e=new Set,r=s=>{if(s){for(let n of s.eventlist??[])n?.handler&&e.add(n.handler);Array.isArray(s.content)&&s.content.forEach(r)}};r(t.view?.body??null);for(let s of t.presenter?.handlers??[]){for(let n of s?.actions??[])n?.handler&&e.add(n.handler),n?.logiccode&&e.add(n.logiccode);for(let n of s?.eventlist??[])n?.handler&&e.add(n.handler)}for(let s of nt(t.presenter?.initial)){for(let n of s?.actions??[])n?.handler&&e.add(n.handler),n?.logiccode&&e.add(n.logiccode);for(let n of s?.eventlist??[])n?.handler&&e.add(n.handler)}for(let s of t.presenter?.interface??[])for(let n of s?.actions??[])n?.handler&&e.add(n.handler);return e}function Rr(t){return{oldString:t.oldString,newString:t.newString,replaceAll:t.replaceAll,occurrence:t.occurrence,matchMode:t.matchMode,label:t.label}}function Zt(t){let e={code:t.code??null,type:t.type??null,title:t.title??null};return Array.isArray(t.content)&&t.content.length>0&&(e.children=t.content.map(Zt)),e}async function Xt(t){let r=(await oe({code:t})).resp_data;if(!r)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let s=(()=>{let c=(o,a)=>(o??[]).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(u=>u?.type??"").filter(u=>!!u),scope:a}));return[...c(r.presenter?.handlers??[],"handlers"),...c(nt(r.presenter?.initial),"initial")]})(),n=(r.presenter?.interface??[]).map(c=>({code:c?.code??null,key:c?.key??null,desc:c?.desc??null,actionCount:c?.actions?.length??0})),i=(r.businessmodel??[]).map(c=>({modelcode:c?.modelcode??null,modellogiccode:c?.modellogiccode??null,modellogicname:c?.modellogicname??null,actiontype:c?.actiontype??null}));return{code:t,title:r.pageinfo?.title??null,type:r.pageinfo?.type??null,status:r.pageinfo?.status??null,clientcategorycode:r.pageinfo?.clientcategorycode??null,marktype:r.pageinfo?.marktype??null,versionnum:r.pageinfo?.versionnum??null,viewTree:r.view?.body?[Zt(r.view.body)]:[],handlers:s,interfaces:n,businessModels:i,message:r.message??null}}async function en(t,e){let s=(await oe({code:t})).resp_data;if(!s)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let n,i,c,o=s.message??null;if(e.nodeCode&&(n=Le(s.view?.body??null,e.nodeCode)??s.controls?.find(l=>l?.code===e.nodeCode)??null,n&&e.itemCode)){let l=et(n,e.itemCode);l?n=l:(n=null,o=`nodeCode=${e.nodeCode} \u4E0B\u672A\u627E\u5230 code=${e.itemCode} \u7684\u5143\u7D20`)}if(e.handlerCode){let l=K(s,e.handlerCode,e.handlerScope);l.length===1?i=l[0].handler:l.length>1&&(i=null,o=`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 handlerScope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`)}e.section&&(c=s[e.section]??null);let a=i?.actions?i.actions.map((l,u)=>({index:u,code:l?.code??null,type:l?.type??null,scriptLen:(l?.script??"")?.length??0,conditionLen:(l?.condition??"")?.length??0,expressionLen:(l.expression??"")?.length??0})):void 0;return{code:t,node:n??void 0,handler:i??void 0,section:c??void 0,actionIndex:a,message:o}}function wr(t){let{type:e}=t,r=structuredClone(_r[e]??{}),s={code:t.code,type:e,desc:t.desc??hr[e],condition:t.condition??"",...r};return e==="flycode"&&t.script!=null&&(s.script=t.script),t.fields&&Object.assign(s,t.fields),s}function kr(t,e){let r=t.replace(/[^0-9A-Za-z_]/g,"").slice(-8)||"action",s=new Set(e.map(c=>c?.code).filter(c=>!!c)),n=`action_${r}`;if(!s.has(n))return n;let i=2;for(;s.has(`${n}_${i}`);)i++;return`${n}_${i}`}function Bt(t,e,r){if(e!=null&&e!==""){let i=t.find(c=>c?.code===e);return i?{action:i}:{error:"NODE_NOT_FOUND",message:`\u672A\u627E\u5230 actionCode=${e}\uFF08\u8BE5 handler \u4E0B\u73B0\u6709 code\uFF1A${t.map(c=>c?.code??"(\u7A7A)").join(", ")||"\u65E0"}\uFF09`}}let s=r??0;if(!Number.isInteger(s)||s<0||s>=t.length)return{error:"NO_TARGET",message:`actionIndex=${s} \u8D8A\u754C\uFF0C\u8BE5 handler \u5171\u6709 ${t.length} \u4E2A action`};let n=t[s];return n?{action:n}:{error:"NODE_NOT_FOUND",message:`actionIndex=${s} \u5904\u4E3A\u7A7A`}}function Or(t,e,r,s){let n=K(t,r.handlerCode,r.scope)[0]?.handler.actions??[],i=s||(r.actionCode!=null&&r.actionCode!==""?r.actionCode:"");if(i)return n.find(o=>o?.code===i)??void 0;let c=r.actionIndex??0;if(e){let o=(K(e,r.handlerCode,r.scope)[0]?.handler.actions??[])[c];if(o?.code)return n.find(a=>a?.code===o.code)??void 0}return n[c]??void 0}async function xr(t,e,r,s){let n=(o={})=>({index:r,op:e.op,status:"OK",errorCode:"OK",message:null,hunk:null,suggestions:null,...o}),i=(o,a,l={})=>({index:r,op:e.op,status:"FAILED",errorCode:o,message:a,hunk:null,suggestions:null,...l}),c=o=>{let a=o.createIfMissing??!1,l=null,u=o.base[o.arrayProp];if(Array.isArray(u))l=u;else if(o.mode==="append"||o.mode==="insert"){if(!a)return i("ARRAY_NOT_FOUND",`${o.label}.${o.arrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${o.mode} \u5143\u7D20\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\u6570\u7EC4\u4EE5\u907F\u514D\u8BEF\u9020\u7ED3\u6784\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);o.base[o.arrayProp]=[],l=o.base[o.arrayProp]}else return i("INVALID_PARAMS",`${o.label}.${o.arrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${u===null?"null":typeof u}\uFF09\uFF0C\u65E0\u6CD5\u5B9A\u4F4D\u5143\u7D20`);let p=l,f=o.base,y=o.arrayProp;if(o.elementArrayProp!=null){if(o.itemKey==null||o.itemKeyValue===void 0)return i("INVALID_PARAMS",`\u4E24\u7EA7\u6A21\u5F0F\u9700\u8981 itemKey/itemKeyValue \u5B9A\u4F4D\u5916\u5C42 ${o.arrayProp} \u4E2D\u7684\u5143\u7D20`);let h=o.itemKey,O=l.filter(T=>T&&typeof T=="object"&&T[h]===o.itemKeyValue);if(O.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 ${o.label}.${o.arrayProp} \u4E2D\u627E\u5230 ${h}=${String(o.itemKeyValue)} \u7684\u5143\u7D20`);if(O.length>1)return i("DUP_CODE",`\u5143\u7D20 ${h}=${String(o.itemKeyValue)} \u5728 ${o.label}.${o.arrayProp} \u4E2D\u51FA\u73B0 ${O.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let x=O[0],v=x[o.elementArrayProp];if(Array.isArray(v))p=v,f=x,y=o.elementArrayProp;else if(o.mode==="append"||o.mode==="insert"){if(!a)return i("ARRAY_NOT_FOUND",`${o.label}.${o.arrayProp}[${h}=${String(o.itemKeyValue)}].${o.elementArrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${o.mode}\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\u6570\u7EC4\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);x[o.elementArrayProp]=[],p=x[o.elementArrayProp],f=x,y=o.elementArrayProp}else return i("INVALID_PARAMS",`${o.label}.${o.arrayProp}[${h}=${String(o.itemKeyValue)}].${o.elementArrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${v===null?"null":typeof v}\uFF09`)}let R=o.elementArrayProp!=null?o.elementItemKey??"code":o.itemKey??"code",_=o.elementArrayProp!=null?o.elementItemKeyValue:o.itemKeyValue;if(o.mode==="remove"){if(_===void 0)return i("INVALID_PARAMS","remove \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E\uFF08itemKey/itemKeyValue \u6216 elementItemKey/elementItemKeyValue\uFF09");let h=p.filter(x=>x&&typeof x=="object"&&x[R]===_);if(h.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 ${o.label}.${y} \u4E2D\u627E\u5230 ${R}=${String(_)} \u7684\u5143\u7D20`);if(h.length>1)return i("DUP_CODE",`\u5143\u7D20 ${R}=${String(_)} \u5728 ${o.label}.${y} \u4E2D\u51FA\u73B0 ${h.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let O=p.indexOf(h[0]);return p.splice(O,1),p.length===0&&delete f[y],n({message:`\u5DF2\u4ECE ${o.label}.${y} \u79FB\u9664 ${R}=${String(_)}`})}if(o.mode==="merge"){if(!o.patch)return i("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981 patch");if(_===void 0)return i("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E");let h=p.filter(O=>O&&typeof O=="object"&&O[R]===_);return h.length===0?i("NODE_NOT_FOUND",`\u672A\u5728 ${o.label}.${y} \u4E2D\u627E\u5230 ${R}=${String(_)} \u7684\u5143\u7D20`):h.length>1?i("DUP_CODE",`\u5143\u7D20 ${R}=${String(_)} \u5728 ${o.label}.${y} \u4E2D\u51FA\u73B0 ${h.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`):(Object.assign(h[0],o.patch),n({message:`\u5DF2\u5408\u5E76 ${Object.keys(o.patch).length} \u4E2A\u5C5E\u6027\u5230 ${o.label}.${y}[${R}=${String(_)}]`}))}if(!o.item)return i("INVALID_PARAMS",`${o.mode} \u6A21\u5F0F\u9700\u8981 item\uFF08\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20\uFF09`);let w=o.mode==="insert"?o.position??p.length:p.length;return p.splice(w,0,o.item),n({message:`\u5DF2\u5728 ${o.label}.${y} \u7684 position=${w} ${o.mode==="insert"?"\u63D2\u5165":"\u8FFD\u52A0"}\u5143\u7D20`})};switch(e.op){case"set_pageinfo":return t.pageinfo={...t.pageinfo??{},...e.patch},n({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5B57\u6BB5\u5230 pageinfo`});case"set_attrs":{let o=Oe(t).filter(u=>u.code===e.code);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(o.length>1)return i("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${o.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let a=Object.entries(e.patch).filter(([,u])=>Array.isArray(u));if(a.length>0&&!e.overwriteArray)return i("ARRAY_OVERWRITE_BLOCKED",`patch \u542B\u6570\u7EC4\u5C5E\u6027 ${a.map(([u])=>`"${u}"`).join("\u3001")}\uFF0Cset_attrs \u9ED8\u8BA4\u7981\u6B62\u6574\u6BB5\u8986\u76D6\u6570\u7EC4\u4EE5\u907F\u514D\u8BEF\u6539\u4E22\u5217/\u4E22\u7ED1\u5B9A\u3002\u5982\u9700\u6574\u4F53\u66FF\u6362\u8BF7\u663E\u5F0F\u4F20 overwriteArray:true\uFF1B\u5426\u5219\u8BF7\u6539\u7528 patch_node_array_item\uFF08view \u6811\u6570\u7EC4\uFF09\u6216 patch_action_array_item\uFF08handler action \u7684 datarequest.setter \u7B49\uFF09\u505A\u5143\u7D20\u7EA7\u589E\u6539\u5220`);Object.assign(o[0],e.patch);let l=a.length>0?`\uFF08\u6CE8\u610F\uFF1A\u5DF2\u6309 overwriteArray:true \u6574\u4F53\u8986\u76D6\u6570\u7EC4\u5C5E\u6027 ${a.map(([u])=>`"${u}"`).join("\u3001")}\uFF09`:"";return n({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u8282\u70B9 ${e.code}${l}`})}case"patch_node_array_item":{let o=Oe(t).find(a=>a.code===e.nodeCode);return o?c({base:o,arrayProp:e.arrayProp,elementArrayProp:e.elementArrayProp,mode:e.mode??"merge",itemKey:e.itemKey,itemKeyValue:e.itemKeyValue,elementItemKey:e.elementItemKey,elementItemKeyValue:e.elementItemKeyValue,item:e.item,position:e.position,patch:e.patch,createIfMissing:e.createIfMissing,label:`\u8282\u70B9 ${e.nodeCode}`}):i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 nodeCode=${e.nodeCode} \u7684\u8282\u70B9`)}case"patch_action_array_item":{let o=K(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let l=o[0].handler.actions??[],u;if(e.actionCode!=null){if(u=l.find(y=>y?.code===e.actionCode),!u)return i("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let y=e.actionIndex??0;if(y<0||y>=l.length)return i("NO_TARGET",`actionIndex=${y} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${l.length} \u4E2A action`);u=l[y]}if(!u)return i("NODE_NOT_FOUND",`handler ${e.handlerCode} \u672A\u5B9A\u4F4D\u5230 action`);let p=u,f;if(e.parentProp){let y=p[e.parentProp];if(y==null)if((e.mode==="append"||e.mode==="insert")&&e.createIfMissing)p[e.parentProp]={},f=p[e.parentProp];else return i("ARRAY_NOT_FOUND",`action \u7684 ${e.parentProp}.${e.arrayProp} \u4E0D\u5B58\u5728\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);else f=y}else f=p;return c({base:f,arrayProp:e.arrayProp,elementArrayProp:e.elementArrayProp,mode:e.mode,itemKey:e.itemKey,itemKeyValue:e.itemKeyValue,elementItemKey:e.elementItemKey,elementItemKeyValue:e.elementItemKeyValue,item:e.item,position:e.position,patch:e.patch,createIfMissing:e.createIfMissing,label:`action ${e.actionCode??e.actionIndex??0}`})}case"add_action":{let o=K(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let{handler:a,scope:l}=o[0],u=e.type??"flycode";if(!tt.includes(u))return i("INVALID_PARAMS",`\u672A\u77E5 action type=${String(u)}\uFF0C\u53EF\u9009\u503C\u89C1 FORM_ACTION_TYPES`);if(l==="initial"&&!br.includes(u))return i("TYPE_NOT_ALLOWED",`\u521D\u59CB\u5316\u4E8B\u4EF6\uFF08initial\uFF09\u4E2D\u7684 action \u4EC5\u652F\u6301 flycode / receivelink\uFF08\u63A5\u6536\u53C2\u6570\uFF09\uFF0C\u4E0D\u652F\u6301 type=${u}\uFF1B\u8BE5\u7C7B\u52A8\u4F5C\u8BF7\u52A0\u5230 handlers \u4E8B\u4EF6\u4E2D`);if(e.script!=null&&u!=="flycode")return i("INVALID_PARAMS",`script \u4EC5\u9002\u7528\u4E8E type="flycode"\uFF1Btype=${u} \u8BF7\u6539\u7528 fields \u4F20\u8BE5\u7C7B\u578B\u5B57\u6BB5\uFF08\u5982 urllink \u7684 url\u3001toast \u7684 message\uFF09`);if(e.fields&&Object.prototype.hasOwnProperty.call(e.fields,"type"))return i("INVALID_PARAMS","fields \u4E0D\u80FD\u8986\u76D6 type\uFF0C\u8BF7\u7528 type \u53C2\u6570\u6307\u5B9A\u52A8\u4F5C\u7C7B\u578B");let p=a.actions??(a.actions=[]),f=e.code??kr(e.handlerCode,p);if(!f)return i("INVALID_PARAMS","action code \u4E0D\u80FD\u4E3A\u7A7A");if(p.some(_=>_?.code===f))return i("DUP_CODE",`handler ${e.handlerCode} \u4E2D\u5DF2\u5B58\u5728 code=${f} \u7684 action\uFF0C\u8BF7\u6362\u4E00\u4E2A code`);let y=wr({type:u,code:f,desc:e.desc,condition:e.condition,script:e.script,fields:e.fields}),R=e.position??p.length;return p.splice(R,0,y),n({message:`\u5DF2\u5728 ${l} \u7684 handler ${e.handlerCode} \u7684 position=${R} \u63D2\u5165 action code=${f}\uFF08type=${u}\uFF0Cdesc=${String(y.desc)}\uFF09`})}case"patch_action":{let o=K(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let{handler:a,scope:l}=o[0],u=a.actions??[],p=Bt(u,e.actionCode,e.actionIndex);if("error"in p)return i(p.error,p.message);let f=p.action,y=e.patch??{},R=Object.keys(y);if(R.length===0)return i("INVALID_PARAMS","patch \u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u7ED9\u51FA\u8981\u4FEE\u6539\u7684\u5B57\u6BB5");if(R.includes("type"))return i("INVALID_PARAMS",`patch \u4E0D\u80FD\u8986\u76D6 type\uFF08\u5F53\u524D ${String(f.type)}\uFF09\uFF1Atype \u51B3\u5B9A\u8BE5\u52A8\u4F5C\u7684\u5B57\u6BB5\u9AA8\u67B6\uFF0C\u76F4\u63A5\u6539\u4F1A\u6B8B\u7559\u65E7\u7C7B\u578B\u5B57\u6BB5\uFF1B\u6362\u7C7B\u578B\u8BF7 remove_action + add_action`);if(R.includes("code"))return i("INVALID_PARAMS","patch \u4E0D\u80FD\u8986\u76D6 code\uFF1Aaction code \u662F\u540E\u7EED\u5B9A\u4F4D\uFF08replace_script / patch_action_array_item\uFF09\u4E0E\u56DE\u8BFB\u6821\u9A8C\u7684\u952E\uFF0C\u91CD\u547D\u540D\u8BF7 remove_action + add_action");if(R.includes("script")){if(f.type!=="flycode")return i("INVALID_PARAMS",`script \u4EC5\u9002\u7528\u4E8E type="flycode"\uFF1B\u5F53\u524D action type=${String(f.type)}\uFF0C\u5176\u5B57\u6BB5\u8BF7\u76F4\u63A5\u5199\u8FDB patch`);if(typeof y.script!="string")return i("INVALID_PARAMS","patch.script \u5FC5\u987B\u662F\u5B57\u7B26\u4E32")}return Object.assign(f,y),s?.set(r,f.code==null?null:String(f.code)),n({message:`\u5DF2\u66F4\u65B0 ${l} \u7684 handler ${e.handlerCode} \u4E2D action code=${String(f.code)} \u7684 ${R.join(", ")}`})}case"remove_action":{let o=K(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let{handler:a,scope:l}=o[0],u=a.actions??[],p=Bt(u,e.actionCode,e.actionIndex);if("error"in p)return i(p.error,p.message);let f=u.indexOf(p.action),y=p.action.code??"";return u.splice(f,1),s?.set(r,y||null),n({message:`\u5DF2\u4ECE ${l} \u7684 handler ${e.handlerCode} \u5220\u9664 action code=${y||`#${f}`}\uFF08type=${String(p.action.type)}\uFF09\uFF0C\u5269\u4F59 ${u.length} \u4E2A`})}case"insert_node":{let o=Le(t.view?.body??null,e.parentCode);if(!o)return i("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 parentCode=${e.parentCode} \u7684\u7236\u8282\u70B9`);o.content||(o.content=[]);let a=e.position??o.content.length;return o.content.splice(a,0,e.node),n({message:`\u5DF2\u5728 ${e.parentCode} \u7684 position=${a} \u63D2\u5165\u8282\u70B9`})}case"remove_node":{let o=Oe(t).filter(l=>l.code===e.code);return o.length===0?i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`):o.length>1?i("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${o.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):e.checkRefs!==!1&&qt(t).has(e.code)?i("REF_VIOLATION",`\u4ECD\u6709\u4E8B\u4EF6/handler \u5F15\u7528 ${e.code}\uFF0C\u79FB\u9664\u524D\u8BF7\u5148\u89E3\u9664\u5F15\u7528\uFF08\u6216 checkRefs=false\uFF09`):zt(t,e.code)?n({message:`\u5DF2\u79FB\u9664\u8282\u70B9 ${e.code}`}):i("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`)}case"move_node":{let o=Oe(t).filter(p=>p.code===e.code);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(o.length>1)return i("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${o.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let a=zt(t,e.code);if(!a)return i("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`);let l=Le(t.view?.body??null,e.newParentCode);if(!l)return i("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 newParentCode=${e.newParentCode} \u7684\u7236\u8282\u70B9`);l.content||(l.content=[]);let u=e.position??l.content.length;return l.content.splice(u,0,a),n({message:`\u5DF2\u5C06 ${e.code} \u79FB\u52A8\u5230 ${e.newParentCode} \u7684 position=${u}`})}case"set_section":return t[e.section]=e.value,n({message:`\u5DF2\u6574\u6BB5\u66FF\u6362 ${e.section}`});case"replace_script":{let o=K(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let l=o[0].handler.actions??[],u;if(e.actionCode!=null){if(u=l.find(_=>_?.code===e.actionCode),!u)return i("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let _=e.actionIndex??0;if(_<0||_>=l.length)return i("NO_TARGET",`actionIndex=${_} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${l.length} \u4E2A action`);u=l[_]}let p=e.field??"script";if(e.replacement!=null)return u[p]=e.replacement,n({message:`\u5DF2\u6574\u6BB5\u8986\u76D6 ${e.handlerCode}.actions[${e.actionIndex??0}].${p}`});if(!e.ops||e.ops.length===0)return i("INVALID_PARAMS","replace_script \u9700\u63D0\u4F9B replacement \u6216 ops\uFF08oldString\u2192newString \u6570\u7EC4\uFF09");let f=u[p]??"",y=De([f],e.ops.map(Rr),{contextLines:3}),R=y.results[0];return y.ok?(u[p]=y.scripts[0],n({message:`\u5DF2\u5C40\u90E8\u66FF\u6362 ${p}`,hunk:R?.hunk??null})):i("OPS_FAILED",R?.message??"\u811A\u672C\u66FF\u6362\u5931\u8D25",{hunk:R?.hunk??null,suggestions:R?.suggestions??null})}case"add_businessmodel":{let o=t.businessmodel??(t.businessmodel=[]),a=o.find(u=>u?.modellogiccode===e.modellogiccode);if(a&&!e.overwrite)return n({message:`businessmodel \u5DF2\u5B58\u5728 ${e.modellogiccode}\uFF0C\u8DF3\u8FC7\uFF08overwrite=false\uFF09`});let l;try{l=(await ee({modellogiccode:e.modellogiccode})).resp_data}catch(u){return i("FETCH_FAILED",`\u83B7\u53D6\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5931\u8D25\uFF1A${D(u)}`)}return l?a&&e.overwrite?(Object.assign(a,l),n({message:`\u5DF2\u8986\u76D6 businessmodel \u4E2D\u7684 ${e.modellogiccode}`})):(o.push(l),n({message:`\u5DF2\u8FFD\u52A0\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5230 businessmodel`})):i("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${e.modellogiccode} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`)}case"remove_businessmodel":{let o=t.businessmodel??[],a=o.findIndex(l=>l?.modellogiccode===e.modellogiccode);return a<0?n({message:`businessmodel \u4E2D\u4E0D\u5B58\u5728 ${e.modellogiccode}\uFF0C\u65E0\u9700\u79FB\u9664`}):e.checkRefs!==!1&&qt(t).has(e.modellogiccode)?i("REF_VIOLATION",`\u4ECD\u6709\u4E8B\u4EF6/handler \u5F15\u7528 ${e.modellogiccode}\uFF0C\u79FB\u9664\u524D\u8BF7\u5148\u89E3\u9664\u5F15\u7528\uFF08\u6216 checkRefs=false\uFF09`):(o.splice(a,1),n({message:`\u5DF2\u4ECE businessmodel \u79FB\u9664 ${e.modellogiccode}`}))}}}function Sr(t){let e=[];for(let n of t)n.hunk?e.push(`--- ops[${n.index}] ${n.op}\n${n.hunk}`):e.push(`ops[${n.index}] ${n.op} (${n.status}): ${n.message??""}`);let r=e.join(`\n`),s=r.split(`\n`);return s.length<=Yt?r:`${s.slice(0,Yt).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${s.length} \u884C\uFF09`}function Jt(t,e){let r=JSON.stringify(e);return t.some(s=>JSON.stringify(s)===r)}function Wt(t,e,r,s,n,i,c){let o=t[e];if(!Array.isArray(o))return{error:`${e} \u975E\u6570\u7EC4`};if(!r)return{finalArr:o,finalProp:e};if(s==null||n===void 0)return{error:"\u4E24\u7EA7\u6A21\u5F0F\u7F3A\u5916\u5C42\u5B9A\u4F4D\u952E"};let a=o.filter(u=>u&&typeof u=="object"&&u[s]===n);if(a.length!==1)return{error:`\u5916\u5C42\u5143\u7D20 ${s}=${String(n)} \u547D\u4E2D ${a.length} \u4E2A\uFF08\u5E94\u552F\u4E00\uFF09`};let l=a[0][r];return Array.isArray(l)?{finalArr:l,finalProp:`${e}[${s}=${String(n)}].${r}`}:{error:`${e}[${s}=${String(n)}].${r} \u975E\u6570\u7EC4`}}function Pr(t,e,r,s){let n=[],i=Oe(t),c=new Set(i.map(o=>o.code).filter(o=>!!o));for(let o=0;o<e.length;o++){let a=e[o];switch(a.op){case"set_pageinfo":for(let[l,u]of Object.entries(a.patch))JSON.stringify(t.pageinfo?.[l])!==JSON.stringify(u)&&n.push(`ops[${o}] set_pageinfo.${l} \u672A\u751F\u6548`);break;case"set_attrs":{let l=i.find(u=>u.code===a.code);if(!l){n.push(`ops[${o}] set_attrs \u8282\u70B9 ${a.code} \u6D88\u5931`);break}for(let[u,p]of Object.entries(a.patch))JSON.stringify(l[u])!==JSON.stringify(p)&&n.push(`ops[${o}] set_attrs.${u} \u672A\u751F\u6548`);break}case"patch_node_array_item":{let l=i.find(h=>h.code===a.nodeCode);if(!l){n.push(`ops[${o}] patch_node_array_item \u8282\u70B9 ${a.nodeCode} \u6D88\u5931`);break}let u=l,p=a.mode??"merge",f=a.elementArrayProp!=null?a.elementItemKey??"code":a.itemKey??"code",y=a.elementArrayProp!=null?a.elementItemKeyValue:a.itemKeyValue;if(p==="remove"){let h=u[a.arrayProp],O=null;if(a.elementArrayProp!=null){if(Array.isArray(h)){let x=h.find(v=>v&&typeof v=="object"&&v[a.itemKey??"code"]===a.itemKeyValue);O=x?x[a.elementArrayProp]??null:null}}else O=Array.isArray(h)?h:null;if(O==null)break;O.some(x=>x&&typeof x=="object"&&x[f]===y)&&n.push(`ops[${o}] patch_node_array_item remove \u5143\u7D20 ${f}=${String(y)} \u4ECD\u5B58\u5728`);break}let R=Wt(u,a.arrayProp,a.elementArrayProp,a.itemKey,a.itemKeyValue,a.elementItemKey,a.elementItemKeyValue);if("error"in R){n.push(`ops[${o}] patch_node_array_item ${R.error}`);break}let _=R.finalArr;if(p==="append"||p==="insert"){if(!a.item){n.push(`ops[${o}] patch_node_array_item ${p} \u7F3A item`);break}Jt(_,a.item)||n.push(`ops[${o}] patch_node_array_item ${p} \u5143\u7D20\u672A\u51FA\u73B0`);break}let w=_.find(h=>h&&typeof h=="object"&&h[f]===y);if(!w){n.push(`ops[${o}] patch_node_array_item \u5143\u7D20 ${f}=${String(y)} \u672A\u627E\u5230`);break}for(let[h,O]of Object.entries(a.patch??{}))JSON.stringify(w[h])!==JSON.stringify(O)&&n.push(`ops[${o}] patch_node_array_item.${h} \u672A\u751F\u6548`);break}case"patch_action_array_item":{let l=K(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] patch_action_array_item handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let p=l[0].handler.actions??[],f=a.actionCode!=null?p.find(v=>v?.code===a.actionCode):p[a.actionIndex??0];if(!f){n.push(`ops[${o}] patch_action_array_item action \u672A\u627E\u5230`);break}let y=f,R=a.parentProp?y[a.parentProp]??{}:y,_=a.elementArrayProp!=null?a.elementItemKey??"code":a.itemKey??"code",w=a.elementArrayProp!=null?a.elementItemKeyValue:a.itemKeyValue;if(a.mode==="remove"){let v=R[a.arrayProp],T=null;if(a.elementArrayProp!=null){if(Array.isArray(v)){let H=v.find(M=>M&&typeof M=="object"&&M[a.itemKey??"code"]===a.itemKeyValue);T=H?H[a.elementArrayProp]??null:null}}else T=Array.isArray(v)?v:null;if(T==null)break;T.some(H=>H&&typeof H=="object"&&H[_]===w)&&n.push(`ops[${o}] patch_action_array_item remove \u5143\u7D20 ${_}=${String(w)} \u4ECD\u5B58\u5728`);break}let h=Wt(R,a.arrayProp,a.elementArrayProp,a.itemKey,a.itemKeyValue,a.elementItemKey,a.elementItemKeyValue);if("error"in h){n.push(`ops[${o}] patch_action_array_item ${h.error}`);break}let O=h.finalArr;if(a.mode==="append"||a.mode==="insert"){if(!a.item){n.push(`ops[${o}] patch_action_array_item ${a.mode} \u7F3A item`);break}Jt(O,a.item)||n.push(`ops[${o}] patch_action_array_item ${a.mode} \u5143\u7D20\u672A\u51FA\u73B0`);break}let x=O.find(v=>v&&typeof v=="object"&&v[_]===w);if(!x){n.push(`ops[${o}] patch_action_array_item \u5143\u7D20 ${_}=${String(w)} \u672A\u627E\u5230`);break}for(let[v,T]of Object.entries(a.patch??{}))JSON.stringify(x[v])!==JSON.stringify(T)&&n.push(`ops[${o}] patch_action_array_item.${v} \u672A\u751F\u6548`);break}case"add_action":{let l=K(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] add_action handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let u=l[0].handler.actions??[],p=a.type??"flycode",f;if(a.code)f=u.find(y=>y?.code===a.code);else if(r){let y=K(r,a.handlerCode,a.scope)[0]?.handler,R=new Set((y?.actions??[]).map(_=>_?.code).filter(_=>!!_));f=u.filter(_=>_?.code&&!R.has(_.code)).find(_=>_.type===p)}else{let y=a.position??u.length-1,R=u[y];R&&R.type===p&&(f=R)}if(!f){n.push(`ops[${o}] add_action \u65B0 action \u672A\u51FA\u73B0\uFF08handler ${a.handlerCode}\uFF09`);break}f.type!==p&&n.push(`ops[${o}] add_action.type \u672A\u751F\u6548\uFF08\u671F\u671B ${p}\uFF0C\u5B9E\u9645 ${String(f.type)}\uFF09`),p==="flycode"&&a.script!=null&&z(String(f.script??""))!==z(a.script)&&n.push(`ops[${o}] add_action.script \u672A\u751F\u6548`);for(let[y,R]of Object.entries(a.fields??{}))JSON.stringify(f[y])!==JSON.stringify(R)&&n.push(`ops[${o}] add_action.${y} \u672A\u751F\u6548`);break}case"patch_action":{if(K(t,a.handlerCode,a.scope).length!==1){n.push(`ops[${o}] patch_action handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let u=Or(t,r,a,s?.get(o));if(!u){n.push(`ops[${o}] patch_action action \u672A\u627E\u5230\uFF08handler ${a.handlerCode}\uFF09`);break}let p=u;for(let[f,y]of Object.entries(a.patch??{}))(f==="script"&&typeof y=="string"?z(String(p.script??""))===z(y):JSON.stringify(p[f])===JSON.stringify(y))||n.push(`ops[${o}] patch_action.${f} \u672A\u751F\u6548`);break}case"remove_action":{let l=K(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] remove_action handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let u=l[0].handler.actions??[],p=s?.get(o)??"";if(!p&&a.actionCode!=null&&a.actionCode!==""&&(p=a.actionCode),!p&&r&&(p=(K(r,a.handlerCode,a.scope)[0]?.handler.actions??[])[a.actionIndex??0]?.code??""),!p){n.push(`ops[${o}] remove_action \u65E0\u6CD5\u786E\u5B9A\u88AB\u5220\u9664\u7684 action\uFF08\u672A\u7ED9 actionCode\uFF0C\u843D\u5E93\u524D\u57FA\u7EBF\u5BF9\u5E94\u4E0B\u6807\u4E5F\u6CA1\u6709 code\uFF09`);break}u.some(f=>f?.code===p)&&n.push(`ops[${o}] remove_action \u52A8\u4F5C ${p} \u4ECD\u5B58\u5728`);break}case"insert_node":c.has(a.node.code)||n.push(`ops[${o}] insert_node \u8282\u70B9\u672A\u51FA\u73B0`);break;case"remove_node":c.has(a.code)&&n.push(`ops[${o}] remove_node \u8282\u70B9\u4ECD\u5B58\u5728`);break;case"move_node":c.has(a.code)||n.push(`ops[${o}] move_node \u8282\u70B9\u6D88\u5931`);break;case"set_section":break;case"replace_script":{let l=K(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] replace_script handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let p=l[0].handler.actions??[],f=a.actionCode!=null?p.find(_=>_?.code===a.actionCode):p[a.actionIndex??0];if(!f){n.push(`ops[${o}] replace_script action \u672A\u627E\u5230`);break}let y=a.field??"script",R=f[y]??"";if(a.replacement!=null)z(R)!==z(a.replacement)&&n.push(`ops[${o}] replace_script \u6574\u6BB5\u8986\u76D6\u672A\u751F\u6548`);else if(a.ops)for(let _ of a.ops){let w=_.matchMode??"normalized",h=z(R,w),O=z(_.newString,w),x=z(_.oldString,w);_.newString.length>0&&!h.includes(O)&&n.push(`ops[${o}] replace_script \u65B0\u5185\u5BB9\u672A\u51FA\u73B0`),!O.includes(x)&&h.includes(x)&&n.push(`ops[${o}] replace_script \u65E7\u5185\u5BB9\u4ECD\u5B58\u5728`)}break}case"add_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===a.modellogiccode)||n.push(`ops[${o}] add_businessmodel \u672A\u8FFD\u52A0`);break}case"remove_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===a.modellogiccode)&&n.push(`ops[${o}] remove_businessmodel \u672A\u79FB\u9664`);break}}}return{verified:n.length===0,problems:n}}function Ar(t){let e=[];for(let r=0;r<t.length;r++){let s=t[r],n=s.handlerScope;if(n!=="handlers"&&n!=="initial"){e.push(t[r]);continue}let i=s.scope;if((i==="handlers"||i==="initial")&&i!==n)return{ops:t,error:`ops[${r}]\uFF08op=${String(s.op)}\uFF09\u540C\u65F6\u7ED9\u4E86 scope="${i}" \u4E0E handlerScope="${n}"\uFF0C\u4E24\u8005\u542B\u4E49\u76F8\u540C\u4F46\u53D6\u503C\u51B2\u7A81\uFF1B\u8BF7\u53EA\u4FDD\u7559\u4E00\u4E2A`};let c={...s,scope:n};delete c.handlerScope,e.push(c)}return{ops:e}}async function tn(t,e,r,s={}){let n=s.dryRun??!1,i=s.verify??!0,c=(O,x)=>({ok:!1,applied:!1,verified:null,errorCode:O,message:x,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return c("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let o=Ar(e);if(o.error)return c("INVALID_PARAMS",o.error);e=o.ops;let a;try{a=(await oe({code:t})).resp_data}catch(O){return c("FETCH_FAILED",D(O))}if(!a)return c("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let l=structuredClone(a),u=[],p=new Map,f=!1;for(let O=0;O<e.length;O++)try{let x=await xr(l,e[O],O,p);u.push(x),x.status==="FAILED"&&(f=!0)}catch(x){u.push({index:O,op:e[O].op,status:"FAILED",errorCode:"OP_ERROR",message:D(x),hunk:null,suggestions:null}),f=!0}let y=Sr(u);if(f){let O=u.filter(x=>x.status==="FAILED").map(x=>x.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${u.filter(x=>x.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${O}]\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:y,ops:u}}if(n)return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u6F14\u6210\u529F\uFF08dryRun=true\uFF09\uFF0C${e.length} \u4E2A op \u5168\u90E8\u547D\u4E2D\uFF0C\u672A\u843D\u5E93`,diff:y,ops:u};Gt(r);let R=JSON.stringify(r),_;try{let O=await Xe({conf:l,message:R});_=typeof O?.resp_data=="string"?O.resp_data:JSON.stringify(O?.resp_data??null)}catch(O){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(O),diff:y,ops:u}}let w=null,h=_;if(i)try{let x=(await oe({code:t})).resp_data;if(!x)w=!1,h=`${_} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let v=Pr(x,e,a,p);w=v.verified,v.verified||(h=`${_} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${v.problems.join("\uFF1B")}`)}}catch(O){w=!1,h=`${_} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(O)}`}return{ok:w===null?!0:w,applied:!0,verified:w,errorCode:w===!1?"VERIFY_FAILED":"OK",message:h,diff:y,ops:u}}async function nn(t,e){Gt(e);let r=JSON.stringify(e);try{let s=await Xe({conf:t,message:r}),n=typeof s?.resp_data=="string"?s.resp_data:JSON.stringify(s?.resp_data??null);return{ok:!0,code:t.pageinfo?.code??void 0,message:n}}catch(s){return{ok:!1,code:t.pageinfo?.code??void 0,message:D(s)}}}var vr=d.object({createtime:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),createaccountname:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u7F16\u7801"),clientcategorycode:d.union([d.string(),d.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),confsource:d.coerce.number().nullable().optional().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),directorytypecode:d.union([d.string(),d.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:d.union([d.string(),d.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),marktype:d.coerce.number().nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:d.union([d.string(),d.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C code \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),pagetemplatecode:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u6A21\u677F\u7F16\u7801"),pagetypename:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\u540D\u79F0"),pagedescr:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u63CF\u8FF0"),ref:d.union([d.string(),d.null()]).optional().describe("\u5916\u90E8\u5F15\u7528\uFF0C\u4E00\u822C\u4F20\u7A7A\u5B57\u7B26\u4E32"),status:d.coerce.number().nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:d.union([d.string(),d.null()]).optional().describe("\u6807\u9898"),type:d.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:d.union([d.string(),d.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountcode:d.union([d.string(),d.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:d.union([d.string(),d.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),versionnum:d.union([d.string(),d.null()]).optional().describe("\u7248\u672C\u53F7")}).catchall(d.unknown()),rt={renderinfo:d.any().optional().describe("IDE \u6E32\u67D3\u6807\u8BB0"),pageinfo:d.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 1\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F"),businessmodel:d.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:d.any().optional().describe("\u52A8\u4F5C\u903B\u8F91\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),presenter:d.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:d.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:d.any().optional().describe("\u63A7\u4EF6\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),pageswitch:d.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:d.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")},rn=[{name:"page_form_directories",config:{title:"\u67E5\u8BE2\u8868\u5355\u6240\u5C5E\u76EE\u5F55",description:`\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u6240\u5C5E\u76EE\u5F55\uFF08getDirectorys\uFF09\uFF0C\u53D6\u56DE\u7684 directorytypecode \u5373\u8868\u5355 pageinfo.directorytypecode \u7684\u53D6\u503C\uFF0C\u4E5F\u662F\u6309\u76EE\u5F55\u7B5B\u8868\u5355\u3001\u6216\u4E3A\u8868\u5355\u6307\u5B9A\u76EE\u5F55\u65F6\u8981\u7528\u7684\u7F16\u7801\u3002\n\n- \u9ED8\u8BA4\u6700\u591A\u56DE ${30} \u6761\uFF0C\u786C\u4E0A\u9650 ${200} \u6761\uFF1B\n- \u672A\u4F20\u4EFB\u4F55\u7B5B\u9009\u6761\u4EF6\u65F6\uFF0C\u53EA\u56DE\u9876\u7EA7\u76EE\u5F55\uFF08\u901A\u5E38\u5341\u6761\u91CF\u7EA7\uFF09\u5E76\u5728 hint \u4E2D\u8BF4\u660E\uFF1B\n- \u547D\u4E2D\u8FC7\u591A\u65F6 truncated=true\uFF0C\u8BF7\u7F29\u5C0F keys \u6216\u7528 offset \u7FFB\u9875\u3002\n\u7528\u6CD5\u5EFA\u8BAE\uFF1A\u5148\u7528 keys \u6309\u76EE\u5F55\u540D\u6A21\u7CCA\u641C\u7D22\uFF08\u5982 keys="\u4EF7\u683C"\uFF09\uFF0C\u62FF\u5230 directorytypecode \u540E\u518D\u53BB\u67E5/\u5EFA\u8868\u5355\uFF1B\u4E5F\u53EF\u4F20 parentdirectorytypecode \u9010\u7EA7\u4E0B\u94BB\uFF08\u4F20 "root" \u53EA\u770B\u9876\u7EA7\uFF09\u3002\n\n${X}`,inputSchema:{keys:d.string().optional().describe("\u76EE\u5F55\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u547D\u4E2D directorytypename / directoryname / centername / directorytypecode\uFF1B\u5F3A\u70C8\u5EFA\u8BAE\u4F18\u5148\u7528\u5B83\u68C0\u7D22\uFF0C\u907F\u514D\u62C9\u53D6\u5168\u91CF"),directorytypecode:d.string().optional().describe("\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF08\u5DF2\u77E5\u7F16\u7801\u53CD\u67E5\u540D\u79F0\u65F6\u7528\uFF09"),parentdirectorytypecode:d.string().optional().describe('\u7236\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF1B\u4F20 "root" \u8868\u793A\u53EA\u8981\u9876\u7EA7\u76EE\u5F55\uFF08parentdirectorytypecode \u4E3A\u7A7A\uFF09\uFF1B\u4F20\u5177\u4F53\u7F16\u7801\u5219\u53D6\u5176\u76F4\u63A5\u5B50\u76EE\u5F55'),centername:d.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u5982\u300C\u5BA2\u8BBF\u7BA1\u7406\u300D\u300C\u8425\u9500\u8D39\u63A7\u300D"),centercode:d.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u7F16\u7801\u7CBE\u786E\u5339\u914D"),marktype:d.string().optional().describe("\u521B\u5EFA\u6807\u8BB0\u7CBE\u786E\u5339\u914D\uFF0C\u6574\u6570\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),limit:d.string().optional().describe(`\u8FD4\u56DE\u6761\u6570\u4E0A\u9650\uFF0C\u9ED8\u8BA4 ${30}\uFF0C\u786C\u4E0A\u9650 ${200}`),offset:d.string().optional().describe("\u8D77\u59CB\u504F\u79FB\uFF0C\u9ED8\u8BA4 0\uFF1B\u914D\u5408 limit \u7FFB\u9875"),directorycategory:d.string().optional().describe('\u76EE\u5F55\u7C7B\u522B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A3-\u8868\u5355/\u9875\u9762\u76EE\u5F55\uFF08\u9ED8\u8BA4 "3"\uFF0C\u5373\u8868\u5355 directorytypecode \u7684\u53D6\u503C\u6765\u6E90\uFF09')},outputSchema:{sourceTotal:d.coerce.number().describe("\u63A5\u53E3\u8FD4\u56DE\u7684\u76EE\u5F55\u603B\u6570\uFF08\u7B5B\u9009\u524D\uFF0C\u4F53\u73B0\u5168\u91CF\u89C4\u6A21\uFF09"),total:d.coerce.number().describe("\u6309\u7B5B\u9009\u6761\u4EF6\u547D\u4E2D\u7684\u6761\u6570\uFF08\u622A\u65AD\u524D\uFF09"),returned:d.coerce.number().describe("\u672C\u6B21\u5B9E\u9645\u8FD4\u56DE\u6761\u6570"),offset:d.coerce.number().describe("\u672C\u6B21\u8FD4\u56DE\u7684\u8D77\u59CB\u504F\u79FB"),limit:d.coerce.number().describe("\u672C\u6B21\u751F\u6548\u7684\u8FD4\u56DE\u6761\u6570\u4E0A\u9650"),truncated:d.boolean().describe("true \u8868\u793A\u547D\u4E2D\u6570\u5927\u4E8E\u672C\u6B21\u8FD4\u56DE\uFF0C\u8FD8\u6709\u540E\u7EED"),hint:d.union([d.string(),d.null()]).describe("\u6536\u655B/\u7FFB\u9875\u63D0\u793A\uFF1Bnull \u8868\u793A\u65E0\u9700\u63D0\u793A"),items:d.array(d.object({directorytypecode:d.string().describe("\u76EE\u5F55\u7F16\u7801\uFF0C\u5373\u8868\u5355 pageinfo.directorytypecode \u7684\u53D6\u503C"),directorytypename:d.union([d.string(),d.null()]).optional().describe("\u76EE\u5F55\u540D\u79F0\uFF08\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u5E26\u540E\u7F00\uFF0C\u5982\u300C\u5236\u5B9A\u8BA1\u5212(\u5BA2\u8BBF\u7BA1\u7406)\u300D\uFF09"),directoryname:d.string().optional().describe("\u76EE\u5F55\u672C\u540D\uFF0C\u4EC5\u5728\u4E0E directorytypename \u4E0D\u540C\u65F6\u8FD4\u56DE"),parentdirectorytypecode:d.string().optional().describe("\u7236\u76EE\u5F55\u7F16\u7801\uFF1B\u7F3A\u5931\u5373\u9876\u7EA7\u76EE\u5F55"),centername:d.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\uFF0C\u4EC5\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u8FD4\u56DE"),marktype:d.coerce.number().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237")})).describe("\u76EE\u5F55\u9879\uFF08\u5DF2\u88C1\u526A\uFF0C\u4EC5\u4FDD\u7559\u5B9A\u4F4D\u6240\u9700\u5B57\u6BB5\uFF09")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a,directorycategory:l="3"}=t;try{let u=await Vt({directorycategory:String(l||"3")}),p=Array.isArray(u?.resp_data)?u.resp_data:[];return F(Re(p,{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a}))}catch(u){return j(u)}}},{name:"page_form_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u8868\u5355/\u9875\u9762",description:`\u5206\u9875\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u5217\u8868\uFF08Form/Page\uFF09\u3002\n\n${U}\n${X}`,inputSchema:{status:d.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),keys:d.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355 code / title"),keywords:d.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355\u4E2D\u7684\u5173\u952E\u8BCD"),clientcategorycode:d.string().optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),page:d.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:d.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),type:d.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:d.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D"),updatetimestart:d.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:d.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:d.array(vr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:d.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:d.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:d.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:d.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{status:e="",keys:r="",keywords:s="",clientcategorycode:n="",page:i=1,rows:c=20,type:o="",updateopname:a="",updatetimestart:l="",updatetimeend:u=""}=t;try{let p=await Kt({centercode:"",directorytypecode:"rootNode",starttime:"",status:e,keys:r,keywords:s,clientcategorycode:n,page:Number(i)||1,rows:Number(c)||20,type:o,updateopname:a,updatetimestart:l,updatetimeend:u});return F(p.resp_data)}catch(p){return j(p)}}},{name:"get_form",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u8BE6\u60C5",description:`\u6309 code \u83B7\u53D6\u8868\u5355\u5B8C\u6574\u8BE6\u60C5\uFF08pageinfo/businessmodel/presenter/view/controls/pageswitch/message\uFF09\uFF0C\u7ED3\u6784\u5D4C\u5957\u8F83\u6DF1\u3002\u5EFA\u8BAE\u5148 get_form_outline \u770B\u9AA8\u67B6\u3001get_form_fragment \u53D6\u5C40\u90E8\uFF0C\u518D\u7528 patch_form \u6539\uFF0C\u907F\u514D\u62C9\u53D6\u5E9E\u5927\u7684\u5B8C\u6574 JSON\u3002\n\n${U}\n${X}`,inputSchema:{code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:d.looseObject(rt),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let r=await oe({code:e});return F(r.resp_data)}catch(r){return j(r)}}},{name:"get_form_outline",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u9AA8\u67B6",description:`\u83B7\u53D6\u8868\u5355\u8F7B\u91CF\u9AA8\u67B6\uFF08\u7EA6 2\u20134KB\uFF09\uFF1Apageinfo \u5173\u952E\u5B57\u6BB5\u3001view \u6811\u9AA8\u67B6\u3001presenter \u7684 handlers \u4E0E initial \u5904\u7406\u5668\u6E05\u5355\uFF08\u6BCF\u9879\u5E26 scope \u6807\u6CE8\uFF09\u3001businessmodel \u903B\u8F91\u540D\u3002\u7528\u4E8E\u62FF\u5168\u8C8C\u4E0E\u6240\u6709\u53EF\u6539\u5BF9\u8C61 code\uFF0C\u907F\u514D\u76F2\u6539\u3002\u6CE8\u610F\u9875\u9762\u521D\u59CB\u5316\u811A\u672C\u5728 presenter.initial\uFF08scope='initial'\uFF09\u3002\n\n${X}`,inputSchema:{code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:{code:d.string().describe("\u8868\u5355\u7F16\u7801"),title:d.union([d.string(),d.null()]).optional().describe("\u6807\u9898"),type:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\uFF08\u540C page_form_list \u7684 type\uFF09"),status:d.union([d.string(),d.null()]).optional().describe("\u72B6\u6001"),clientcategorycode:d.union([d.string(),d.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B"),marktype:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u6807\u8BB0"),versionnum:d.union([d.string(),d.null()]).optional().describe("\u7248\u672C\u53F7"),viewTree:d.array(d.lazy(()=>d.object({code:d.union([d.string(),d.null()]).optional(),type:d.union([d.string(),d.null()]).optional(),title:d.union([d.string(),d.null()]).optional(),children:d.array(d.lazy(()=>d.object({code:d.union([d.string(),d.null()]).optional(),type:d.union([d.string(),d.null()]).optional(),title:d.union([d.string(),d.null()]).optional(),children:d.array(d.unknown()).optional()}))).optional()}))).optional().describe("view \u6811\u9AA8\u67B6\uFF08\u9012\u5F52\uFF0C\u4EC5 code/type/title + children\uFF09"),handlers:d.array(d.object({code:d.union([d.string(),d.null()]).optional(),name:d.union([d.string(),d.null()]).optional(),desc:d.union([d.string(),d.null()]).optional(),key:d.union([d.string(),d.null()]).optional(),condition:d.union([d.string(),d.null()]).optional(),actionCount:d.coerce.number().optional(),actionTypes:d.array(d.string()).optional(),scope:d.union([d.string(),d.null()]).optional().describe("\u5904\u7406\u5668\u5BB9\u5668\uFF1Ahandlers=\u4E8B\u4EF6\u5904\u7406\u5668 / initial=\u9875\u9762\u521D\u59CB\u5316\uFF08replace_script \u5BFB\u5740\u4F9D\u636E\uFF09")})).optional().describe("presenter \u4E8B\u4EF6\u5904\u7406\u5668\u6E05\u5355\uFF08\u542B\u9875\u9762\u521D\u59CB\u5316 initial\uFF0C\u6BCF\u9879\u5E26 scope \u6807\u6CE8\u6240\u5728\u5BB9\u5668\uFF09"),interfaces:d.array(d.object({code:d.union([d.string(),d.null()]).optional(),key:d.union([d.string(),d.null()]).optional(),desc:d.union([d.string(),d.null()]).optional(),actionCount:d.coerce.number().optional()})).optional().describe("presenter \u5BF9\u5916\u63A5\u53E3\u6E05\u5355"),businessModels:d.array(d.object({modelcode:d.union([d.string(),d.null()]).optional(),modellogiccode:d.union([d.string(),d.null()]).optional(),modellogicname:d.union([d.string(),d.null()]).optional(),actiontype:d.union([d.string(),d.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:d.union([d.string(),d.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let r=await Xt(e);return F(r)}catch(r){return j(r)}}},{name:"get_form_fragment",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u5C40\u90E8\u5185\u5BB9",description:`\u6309 code \u53D6\u8868\u5355\u5C40\u90E8\u5185\u5BB9\uFF08\u51E0 KB\uFF09\uFF1AnodeCode \u8282\u70B9\u5B50\u6811\uFF08\u53EF\u914D itemCode \u94BB\u53D6\u67D0\u6570\u7EC4\u5143\u7D20\uFF09\u3001handlerCode \u5904\u7406\u5668\u5B9A\u4E49\u4E0E actionIndex \u6E05\u5355\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09\u3001section \u6574\u6BB5\u3002\u914D\u5408 patch_form \u4F7F\u7528\u3002\n\n${X}`,inputSchema:{code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),nodeCode:d.string().optional().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B50\u6811"),itemCode:d.string().optional().describe("\u5728 nodeCode \u547D\u4E2D\u7684\u8282\u70B9\u5185\u90E8\uFF0C\u6309 code \u6DF1\u5EA6\u4F18\u5148\u94BB\u53D6\u67D0\u4E2A\u6570\u7EC4\u5143\u7D20\uFF08\u5982\u8868\u683C\u7684\u67D0\u4E00\u5217\uFF09\u5E76\u8FD4\u56DE\u8BE5\u5143\u7D20\uFF0C\u800C\u975E\u6574\u68F5\u5B50\u6811\uFF1B\u672A\u627E\u5230\u65F6\u5728 message \u63D0\u793A"),handlerCode:d.string().optional().describe("\u76EE\u6807 presenter \u5904\u7406\u5668\u7F16\u7801\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B9A\u4E49\u4E0E actionIndex \u6E05\u5355"),handlerScope:d.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),section:d.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:d.string().describe("\u8868\u5355\u7F16\u7801"),node:d.any().optional().describe("nodeCode \u547D\u4E2D\u7684\u8282\u70B9\u5B50\u6811"),handler:d.any().optional().describe("handlerCode \u547D\u4E2D\u7684\u5904\u7406\u5668\u5B8C\u6574\u5B9A\u4E49"),section:d.any().optional().describe("section \u547D\u4E2D\u7684\u6574\u6BB5\u5185\u5BB9"),actionIndex:d.array(d.object({index:d.coerce.number().describe("action \u4E0B\u6807"),code:d.union([d.string(),d.null()]).optional().describe("action \u7F16\u7801"),type:d.union([d.string(),d.null()]).optional().describe("action \u7C7B\u578B"),scriptLen:d.coerce.number().describe("script \u5B57\u7B26\u957F\u5EA6"),conditionLen:d.coerce.number().describe("condition \u5B57\u7B26\u957F\u5EA6"),expressionLen:d.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:d.union([d.string(),d.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e,nodeCode:r,itemCode:s,handlerCode:n,section:i}=t;try{let c=await en(e,{nodeCode:r,itemCode:s,handlerCode:n,section:i});return F(c)}catch(c){return j(c)}}}];import{z as m}from"zod";var Ir=m.discriminatedUnion("op",[m.object({op:m.literal("set_pageinfo"),patch:m.record(m.string(),m.unknown()).describe('\u6D45\u5408\u5E76\u8FDB pageinfo \u7684\u5B57\u6BB5\uFF0C\u5982 { "title": "\u65B0\u6807\u9898", "status": "1" }')}),m.object({op:m.literal("set_attrs"),code:m.string().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF08\u6574\u4E2A\u8868\u5355\u552F\u4E00\uFF0C\u4EC5\u9650 view \u6811\u8282\u70B9\u4E0E controls \u6570\u7EC4\uFF1Bpresenter/interface \u7684 action \u7ED3\u6784\u6539\u8BF7\u7528 patch_action_array_item\uFF09"),patch:m.record(m.string(),m.unknown()).describe('\u8981\u6539\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u6309 code \u5B9A\u4F4D\u540E\u6D45\u5408\u5E76\uFF0C\u5982 { "hidden": "1" }\u3002\u6CE8\u610F\uFF1A\u82E5 patch \u542B\u6570\u7EC4\u5C5E\u6027\u4F1A**\u6574\u4F53\u8986\u76D6**\u8BE5\u6570\u7EC4\uFF0C\u4E14 set_attrs \u9ED8\u8BA4\u7981\u6B62\u6574\u6BB5\u8986\u76D6\u6570\u7EC4\uFF08\u907F\u514D\u8BEF\u6539\u4E22\u5217/\u4E22\u7ED1\u5B9A\uFF0C\u66FE\u81F4\u6574\u5217\u4E22\u5931\uFF09\uFF0C\u5982\u9700\u6574\u4F53\u66FF\u6362\u8BF7\u663E\u5F0F\u4F20 overwriteArray:true\uFF0C\u5426\u5219\u8BF7\u6539\u7528 patch_node_array_item / patch_action_array_item \u505A\u5143\u7D20\u7EA7\u589E\u6539\u5220'),overwriteArray:m.boolean().optional().describe("patch \u542B\u6570\u7EC4\u5C5E\u6027\u65F6\u662F\u5426\u5141\u8BB8\u6574\u6BB5\u8986\u76D6\uFF0C\u9ED8\u8BA4 false\uFF08\u8986\u76D6\u5373\u963B\u65AD\u5E76\u63D0\u793A\u6539\u7528\u6570\u7EC4\u5143\u7D20\u7EA7 op\uFF09")}),m.object({op:m.literal("patch_node_array_item"),nodeCode:m.string().describe("\u7236\u8282\u70B9 code\uFF08\u5982\u8868\u683C\u8282\u70B9 infotable-table-...\uFF09"),arrayProp:m.string().describe('\u8981\u6539\u7684\u6570\u7EC4\u5C5E\u6027\u540D\uFF0C\u5982 "cols" / "options" / "content"'),itemKey:m.string().optional().describe('\u6570\u7EC4\u5143\u7D20\u5B9A\u4F4D\u952E\u5B57\u6BB5\u540D\uFF0C\u9ED8\u8BA4 "code"\uFF08merge/remove \u6A21\u5F0F\u3001\u4EE5\u53CA\u4E24\u7EA7\u6A21\u5F0F\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u65F6\u7528\uFF09'),itemKeyValue:m.unknown().optional().describe("\u8981\u5B9A\u4F4D / \u5220\u9664\u7684\u5143\u7D20\u952E\u503C\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09\uFF0C\u5982 dms_status \u5217\u7684 code=890419529224687617"),mode:m.enum(["merge","append","insert","remove"]).optional().describe("\u64CD\u4F5C\u6A21\u5F0F\uFF1Amerge=\u6D45\u5408\u5E76\u5230\u5DF2\u5B58\u5728\u5143\u7D20(\u9ED8\u8BA4)\uFF1Bappend=\u5728\u6570\u7EC4\u672B\u5C3E\u8FFD\u52A0 item\uFF1Binsert=\u6309 position \u63D2\u5165 item\uFF1Bremove=\u6309 itemKey \u5220\u9664\u5143\u7D20"),item:m.record(m.string(),m.unknown()).optional().describe("append/insert \u6A21\u5F0F\u4E0B\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20\u5BF9\u8C61"),position:m.number().int().nonnegative().optional().describe("insert \u6A21\u5F0F\u4E0B\u7684\u63D2\u5165\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),patch:m.record(m.string(),m.unknown()).optional().describe('merge \u6A21\u5F0F\u4E0B\u6D45\u5408\u5E76\u5230\u8BE5\u5143\u7D20\u7684\u5C5E\u6027\uFF0C\u5982 { "options": [...] }\uFF1B\u5176\u4F59\u5143\u7D20\u4E0E\u5176\u5B83\u5C5E\u6027\u4E0D\u53D7\u5F71\u54CD'),elementArrayProp:m.string().optional().describe("\u3010\u4E24\u7EA7\u5D4C\u5957\u3011\u82E5\u76EE\u6807\u5728\u300C\u6570\u7EC4\u5185\u67D0\u5143\u7D20\u7684\u5D4C\u5957\u6570\u7EC4\u300D\u4E2D\uFF08\u5982\u8868\u683C\u5217 cols[colCode].options\uFF09\uFF0C\u586B\u6B64\u5904\u5B50\u6570\u7EC4\u540D\uFF1B\u9700\u914D\u5408 itemKey/itemKeyValue \u5148\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u3002\u4E0D\u586B\u5219\u76F4\u63A5\u64CD\u4F5C nodeCode.arrayProp"),elementItemKey:m.string().optional().describe('\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\uFF0C\u9ED8\u8BA4 "code"\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09'),elementItemKeyValue:m.unknown().optional().describe("\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\u503C\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09"),createIfMissing:m.boolean().optional().describe("append/insert \u65F6\u82E5\u76EE\u6807\u6570\u7EC4\uFF08\u542B\u4E24\u7EA7\u5D4C\u5957\u76EE\u6807\uFF09\u4E0D\u5B58\u5728\uFF0C\u662F\u5426\u5141\u8BB8\u81EA\u52A8\u65B0\u5EFA\uFF0C\u9ED8\u8BA4 false\u2014\u2014\u9ED8\u8BA4 fail-closed \u62A5 ARRAY_NOT_FOUND \u4EE5\u907F\u514D\u8BEF\u9020\u5E73\u884C orphan \u7ED3\u6784\uFF1B\u786E\u9700\u65B0\u5EFA\u624D\u7F6E true")}),m.object({op:m.literal("patch_action_array_item"),handlerCode:m.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF0C\u4E0E replace_script \u540C\uFF09"),actionIndex:m.number().int().nonnegative().optional().describe("\u7B2C\u51E0\u4E2A action\uFF0C\u9ED8\u8BA4 0\uFF1B\u4E0E actionCode \u4E8C\u9009\u4E00"),actionCode:m.string().optional().describe("\u4EE5 action code \u5B9A\u4F4D\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF09"),scope:m.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:m.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),parentProp:m.string().optional().describe('\u6570\u7EC4\u6240\u5728\u7684\u5BB9\u5668\u5BF9\u8C61\u5C5E\u6027\u540D\uFF0C\u5982 "datarequest"\uFF08setter \u5728\u5176\u4E0B\uFF09\uFF1B\u7701\u7565\u8868\u793A\u6570\u7EC4\u76F4\u63A5\u6302\u5728 action \u4E0A'),arrayProp:m.string().describe('\u8981\u6539\u7684\u6570\u7EC4\u5C5E\u6027\u540D\uFF0C\u5982 "setter"\uFF08datarequest.setter\uFF0C\u754C\u9762\u8F93\u51FA\u7ED1\u5B9A\u5230\u63A7\u4EF6\uFF09/ "properties"\uFF08receivelink \u7684 param.properties\uFF09'),mode:m.enum(["merge","append","insert","remove"]).describe("\u64CD\u4F5C\u6A21\u5F0F\uFF1Amerge=\u6D45\u5408\u5E76\u5230\u5DF2\u5B58\u5728\u5143\u7D20\uFF1Bappend=\u672B\u5C3E\u8FFD\u52A0 item\uFF1Binsert=\u6309 position \u63D2\u5165 item\uFF1Bremove=\u6309 itemKey \u5220\u9664\u5143\u7D20"),itemKey:m.string().optional().describe('merge/remove \u6A21\u5F0F\u3001\u6216\u4E24\u7EA7\u6A21\u5F0F\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u7684\u952E\uFF0C\u9ED8\u8BA4 "code"'),itemKeyValue:m.unknown().optional().describe('merge/remove \u6A21\u5F0F\u8981\u5B9A\u4F4D / \u5220\u9664\u7684\u5143\u7D20\u952E\u503C\uFF1B\u4E24\u7EA7\u6A21\u5F0F\u65F6\u4E3A\u5916\u5C42\u5143\u7D20\u7684\u952E\u503C\uFF08\u5982 datarequest.setter \u4E2D name="kx_kq_product" \u7684\u90A3\u6761\uFF09'),item:m.record(m.string(),m.unknown()).optional().describe("append/insert \u6A21\u5F0F\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20"),position:m.number().int().nonnegative().optional().describe("insert \u6A21\u5F0F\u63D2\u5165\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),patch:m.record(m.string(),m.unknown()).optional().describe("merge \u6A21\u5F0F\u6D45\u5408\u5E76\u7684\u5C5E\u6027"),elementArrayProp:m.string().optional().describe('\u3010\u4E24\u7EA7\u5D4C\u5957\u3011\u771F\u5B9E\u7ED1\u5B9A\u5E38\u4F4D\u4E8E\u300C\u6570\u7EC4\u5185\u67D0\u5143\u7D20\u7684\u5D4C\u5957\u6570\u7EC4\u300D\uFF0C\u5982 setter[0].properties\uFF08\u6A21\u578B\u7EA7\u5C5E\u6027\u6620\u5C04\uFF09\u3002\u586B\u6B64\u5904\u5B50\u6570\u7EC4\u540D\u5373\u53EF\u94BB\u5230\u8BE5\u5D4C\u5957\u6570\u7EC4\u64CD\u4F5C\uFF0C\u65E0\u9700\u56DE\u4F20\u6574\u6BB5 setter\uFF1B\u5FC5\u987B\u914D\u5408 itemKey/itemKeyValue \u5148\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\uFF08\u5982 name="kx_kq_product"\uFF09\u3002\u4E0D\u586B\u5219\u53EA\u64CD\u4F5C\u9876\u5C42 arrayProp'),elementItemKey:m.string().optional().describe('\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\uFF0C\u9ED8\u8BA4 "code"\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09'),elementItemKeyValue:m.unknown().optional().describe("\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\u503C\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09"),createIfMissing:m.boolean().optional().describe("append/insert \u65F6\u82E5\u76EE\u6807\u5BB9\u5668/\u6570\u7EC4\uFF08\u542B\u4E24\u7EA7\u5D4C\u5957\u76EE\u6807\uFF09\u4E0D\u5B58\u5728\uFF0C\u662F\u5426\u5141\u8BB8\u81EA\u52A8\u65B0\u5EFA\uFF0C\u9ED8\u8BA4 false\u2014\u2014\u9ED8\u8BA4 fail-closed \u62A5 ARRAY_NOT_FOUND \u4EE5\u907F\u514D\u628A datarequest.setter \u8BEF\u5EFA\u5230\u9519\u8BEF\u5C42\u7EA7\uFF1B\u786E\u9700\u65B0\u5EFA\u624D\u7F6E true")}),m.object({op:m.literal("add_action"),handlerCode:m.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),scope:m.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:m.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),type:m.enum(tt).optional().describe("\u52A8\u4F5C\u7C7B\u578B\uFF0C\u9ED8\u8BA4 flycode\u3002initial\uFF08\u9875\u9762\u521D\u59CB\u5316\uFF09\u4EC5\u5141\u8BB8 flycode / receivelink\uFF1B\u5176\u4F59\u7C7B\u578B\u53EA\u80FD\u52A0\u5230 handlers \u4E8B\u4EF6\u91CC"),code:m.string().optional().describe("\u52A8\u4F5C code\uFF0C\u9ED8\u8BA4 action_<handlerCode \u672B8\u4F4D>\uFF08\u540C handler \u5185\u91CD\u590D\u65F6\u81EA\u52A8\u8FFD\u52A0 _2/_3\uFF09\uFF1B\u540C\u4E00 handler \u5185\u5FC5\u987B\u552F\u4E00"),desc:m.string().optional().describe("\u52A8\u4F5C\u663E\u793A\u540D\uFF0C\u9ED8\u8BA4\u53D6\u8BE5 type \u7684\u5E73\u53F0\u9ED8\u8BA4\u540D\uFF08\u5982 \u6570\u636E\u8BF7\u6C42 / \u8F7B\u63D0\u793A / \u63A5\u6536\u53C2\u6570\uFF09"),condition:m.string().optional().describe("\u6267\u884C\u6761\u4EF6\uFF08flycode \u8868\u8FBE\u5F0F\uFF09\uFF0C\u9ED8\u8BA4\u7A7A\u4E32"),position:m.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E\u3002\u4E8B\u4EF6\u5185 action \u6309\u6570\u7EC4\u987A\u5E8F\u4E32\u884C\u6267\u884C"),script:m.string().optional().describe('\u4EC5 type="flycode"\uFF1A\u811A\u672C\u5168\u6587\uFF1B\u5176\u5B83\u7C7B\u578B\u8BF7\u7528 fields'),fields:m.record(m.string(),m.unknown()).optional().describe('\u5728\u7C7B\u578B\u6A21\u677F\u4E0A\u6D45\u5408\u5E76\u7684\u5B57\u6BB5\uFF0C\u5982 toast \u7684 { "message": "\u4FDD\u5B58\u6210\u529F" }\u3001urllink \u7684 { "url": "https://..." }\uFF1B\u4E0D\u80FD\u8986\u76D6 type')}),m.object({op:m.literal("patch_action"),handlerCode:m.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),actionCode:m.string().optional().describe("\u8981\u6539\u7684 action code\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09\uFF1B\u6279\u91CF\u5220\u6539\u540E\u4E0B\u6807\u4F1A\u6F02\u79FB\uFF0C\u5EFA\u8BAE\u59CB\u7EC8\u7528 actionCode"),actionIndex:m.number().int().nonnegative().optional().describe("\u8981\u6539\u7684 action \u4E0B\u6807\uFF0C\u9ED8\u8BA4 0\uFF1B\u4EC5\u5728\u65E0\u6CD5\u786E\u5B9A code \u65F6\u4F7F\u7528"),scope:m.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:m.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),patch:m.record(m.string(),m.unknown()).describe('\u6D45\u5408\u5E76\u5230 action \u9876\u5C42\u7684\u5B57\u6BB5\uFF0C\u5982 { desc: "\u56FA\u5B9A\u5E95\u90E8" }\u3001{ message: "\u4FDD\u5B58\u6210\u529F" }\u3001{ logiccode: "L1", queue: "1" }\u3001{ condition: "a==1" }\u3002\u4E0D\u80FD\u542B type / code\uFF08\u6362\u7C7B\u578B\u6216\u6539\u540D\u8BF7 remove_action + add_action\uFF09\uFF1Bscript \u4EC5 type="flycode" \u53EF\u5199')}),m.object({op:m.literal("remove_action"),handlerCode:m.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),actionCode:m.string().optional().describe("\u8981\u5220\u9664\u7684 action code\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09\uFF1B\u7F3A\u7701\u4E14\u53EA\u7ED9\u4E0B\u6807\u65F6\uFF0C\u56DE\u8BFB\u6821\u9A8C\u4F1A\u7528\u843D\u5E93\u524D\u57FA\u7EBF\u6309\u4E0B\u6807\u89E3\u6790 code"),actionIndex:m.number().int().nonnegative().optional().describe("\u8981\u5220\u9664\u7684 action \u4E0B\u6807\uFF0C\u9ED8\u8BA4 0\uFF1B\u4EC5\u5728\u65E0\u6CD5\u786E\u5B9A code \u65F6\u4F7F\u7528"),scope:m.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:m.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09")}),m.object({op:m.literal("insert_node"),parentCode:m.string().describe("\u7236\u8282\u70B9 code\uFF08view \u6811\u4E2D\uFF09"),position:m.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),node:m.record(m.string(),m.unknown()).describe("\u65B0\u8282\u70B9\u5BF9\u8C61\uFF08\u542B type/code/title/content \u7B49\uFF09\uFF0C\u540C view \u6811\u8282\u70B9\u7ED3\u6784")}),m.object({op:m.literal("remove_node"),code:m.string().describe("\u8981\u5220\u9664\u7684\u8282\u70B9 code"),checkRefs:m.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")}),m.object({op:m.literal("move_node"),code:m.string().describe("\u79FB\u52A8\u8282\u70B9 code"),newParentCode:m.string().describe("\u65B0\u7236\u8282\u70B9 code\uFF08view \u6811\u4E2D\uFF09"),position:m.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),m.object({op:m.literal("set_section"),section:m.enum(["view","presenter","controls","pageswitch"]).describe("\u6574\u6BB5\u66FF\u6362\u76EE\u6807"),value:m.unknown().describe("\u6574\u6BB5\u65B0\u5185\u5BB9\uFF08\u900F\u4F20\u539F\u6837\u4FDD\u5B58\uFF09")}),m.object({op:m.literal("replace_script"),handlerCode:m.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),actionIndex:m.number().int().nonnegative().optional().describe("\u7B2C\u51E0\u4E2A action\uFF0C\u9ED8\u8BA4 0\uFF1B\u4E0E actionCode \u4E8C\u9009\u4E00"),actionCode:m.string().optional().describe("\u4EE5 action code \u5B9A\u4F4D\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF09"),field:m.enum(["script","condition","expression"]).optional().describe("\u76EE\u6807\u5B57\u7B26\u4E32\u5B57\u6BB5\uFF0C\u9ED8\u8BA4 script"),scope:m.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:m.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),replacement:m.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:m.array(m.object({oldString:m.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:m.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:m.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:m.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:m.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:m.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")}),m.object({op:m.literal("add_businessmodel"),modellogiccode:m.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:m.boolean().optional().describe("\u5F53 businessmodel \u5DF2\u5B58\u5728\u8BE5 modellogiccode \u65F6\u662F\u5426\u8986\u76D6\uFF0C\u9ED8\u8BA4 false\uFF08\u8DF3\u8FC7\uFF09")}),m.object({op:m.literal("remove_businessmodel"),modellogiccode:m.string().describe("\u8981\u79FB\u9664\u7684\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),checkRefs:m.boolean().optional().describe("\u524D\u7F6E\u5F15\u7528\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")})]),on=[{name:"patch_form",config:{title:"\u5C40\u90E8\u8865\u4E01\u4FEE\u6539\u8868\u5355/\u9875\u9762",description:`\u4EE5 delta ops \u5C40\u90E8\u4FEE\u6539\u8868\u5355\uFF0C\u65E0\u9700\u56DE\u4F20\u5B8C\u6574 JSON\u300214 \u7C7B ops\uFF1Aset_pageinfo/set_attrs/patch_node_array_item/patch_action_array_item/add_action/patch_action/remove_action/insert_node/remove_node/move_node/set_section/replace_script/add_businessmodel/remove_businessmodel\u3002\u63A8\u8350\u6D41\u7A0B\uFF1Aget_form_outline \u62FF code \u2192 get_form_fragment \u786E\u8BA4\u771F\u5B9E\u5C5E\u6027\u540D/\u811A\u672C \u2192 patch_form\u3002ops \u4E8B\u52A1\u6027\u9884\u6F14\uFF0C\u5931\u8D25\u6574\u6279\u56DE\u6EDA\uFF1B\u6539\u521D\u59CB\u5316\u811A\u672C\uFF08presenter.initial\uFF09\u4E0E\u6539\u6309\u94AE\u4E8B\u4EF6\u7528\u6CD5\u4E00\u81F4\u3002\n\n\u6570\u7EC4\u5143\u7D20\u7EA7\u6539\u52A8\uFF1Apatch_node_array_item \u652F\u6301 merge(\u9ED8\u8BA4)/append/insert/remove \u56DB\u79CD\u6A21\u5F0F\uFF0C\u4F5C\u7528\u4E8E view \u6811\u8282\u70B9\u7684 cols/options/content \u7B49\uFF1Bpatch_action_array_item \u7528\u4E8E presenter.handlers/initial \u4E2D\u67D0 action \u5185\u90E8\u6570\u7EC4\uFF08\u5982 datarequest.setter\u300C\u754C\u9762\u8F93\u51FA\u7ED1\u5B9A\u5230\u63A7\u4EF6\u300D\u3001param.properties\uFF09\uFF0C\u540C\u6837\u652F\u6301\u56DB\u79CD\u6A21\u5F0F\u3002\u4E24\u8005\u90FD\u652F\u6301\u300C\u4E24\u7EA7\u5D4C\u5957\u300D\uFF08elementArrayProp\uFF09\uFF1A\u5F53\u771F\u5B9E\u7ED1\u5B9A\u5728\u300C\u6570\u7EC4\u5185\u67D0\u5143\u7D20\u7684\u5D4C\u5957\u6570\u7EC4\u300D\uFF08\u5982 datarequest.setter[0].properties \u6A21\u578B\u7EA7\u5C5E\u6027\u6620\u5C04\uFF09\u65F6\uFF0C\u7528 itemKey/itemKeyValue \u5148\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u3001\u518D\u586B elementArrayProp \u94BB\u5230\u5D4C\u5957\u6570\u7EC4\u64CD\u4F5C\uFF0C\u65E0\u9700\u56DE\u4F20\u6574\u6BB5\u6570\u7EC4\u3002append/insert \u76EE\u6807\u6570\u7EC4\u4E0D\u5B58\u5728\u65F6\u9ED8\u8BA4 fail-closed \u62A5 ARRAY_NOT_FOUND\uFF08\u987B\u663E\u5F0F createIfMissing:true \u624D\u65B0\u5EFA\uFF09\uFF0C\u907F\u514D\u8BEF\u9020\u5E73\u884C orphan \u7ED3\u6784\uFF1Bremove \u6E05\u7A7A\u8C03\u5219\u5220\u9664\u8BE5\u6570\u7EC4\u5C5E\u6027\u907F\u514D\u7A7A\u58F3\u3002set_attrs \u9ED8\u8BA4\u7981\u6B62\u6574\u6BB5\u8986\u76D6\u6570\u7EC4\uFF08\u542B\u6570\u7EC4\u5C5E\u6027\u987B\u663E\u5F0F overwriteArray:true\uFF0C\u5426\u5219\u6539\u7528\u4E0A\u8FF0\u4E24 op\uFF09\u3002\n\n**\u52A0\u4E00\u4E2A\u65B0\u52A8\u4F5C**\uFF08\u6B64\u524D\u53EA\u80FD\u6574\u6BB5 set_section \u6216\u5168\u91CF save_form\uFF09\uFF1A\u7528 add_action \u5F80\u67D0 handler \u7684 actions \u8FFD\u52A0\u4E00\u6761\uFF0C\u6309 type \u81EA\u52A8\u8865\u5E73\u53F0\u7A7A\u9AA8\u67B6\uFF0C\u53EA\u9700\u4F20\u5173\u952E\u5B57\u6BB5\u3002\u4F8B\uFF1A\u7ED9\u521D\u59CB\u5316\u4E8B\u4EF6\u8FFD\u52A0\u811A\u672C {handlerCode, script:"..."}\uFF1B\u7ED9\u4E8B\u4EF6\u52A0\u8F7B\u63D0\u793A {handlerCode, type:"toast", fields:{message:"\u4FDD\u5B58\u6210\u529F"}}\u3002initial \u4EC5\u652F\u6301 flycode / receivelink\u3002\n\n**\u6539/\u5220\u5DF2\u6709\u52A8\u4F5C**\uFF1Apatch_action \u6D45\u5408\u5E76\u4EFB\u610F\u5B57\u6BB5\uFF08desc / condition / message / url / logiccode / queue \u7B49\uFF0Cscript \u4EC5 flycode\uFF09\uFF0C\u4E0D\u80FD\u6539 type \u4E0E code\uFF1B\u6362\u7C7B\u578B\u6216\u6539\u540D\u7528 remove_action + add_action\u3002replace_script \u53EA\u7BA1 script/condition/expression \u4E09\u4E2A\u5B57\u7B26\u4E32\u5B57\u6BB5\u7684\u6587\u672C\u66FF\u6362\uFF0C\u6539\u5176\u5B83\u5B57\u6BB5\u7528 patch_action\u3002\u5220\u9664\u540E\u4FDD\u7559 actions: []\u3002\u5B9A\u4F4D\u4E00\u5F8B\u7528 actionCode\uFF08\u4E0B\u6807\u4F1A\u968F\u540C\u6279\u6B21\u589E\u5220\u6F02\u79FB\uFF09\u3002\n\n**\u5BB9\u5668\u6D88\u6B67\u53C2\u6570**\uFF1A\u9700\u8981\u9650\u5B9A handlers / initial \u7684 op\uFF08patch_action_array_item / replace_script / add_action / patch_action / remove_action\uFF09\u540C\u65F6\u63A5\u53D7 scope \u4E0E handlerScope\uFF0C\u4E24\u8005\u7B49\u4EF7\uFF08\u8BFB\u5DE5\u5177 get_form_fragment \u7528\u7684\u662F handlerScope\uFF09\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\u3002\n\n${ht}\n${X}`,inputSchema:{code:m.string().describe("\u76EE\u6807\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),ops:m.array(Ir).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:G.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:m.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:m.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:m.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:m.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:m.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:m.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 / ARRAY_OVERWRITE_BLOCKED / ARRAY_NOT_FOUND / TYPE_NOT_ALLOWED / NO_TARGET / INVALID_PARAMS"),message:m.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),diff:m.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:m.array(m.object({index:m.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:m.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:m.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:m.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801"),message:m.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),hunk:m.string().nullable().optional().describe("\u8BE5 op \u4EA7\u751F\u7684 diff \u7247\u6BB5\uFF08replace_script \u624D\u6709\uFF09"),suggestions:m.array(m.object({startLine:m.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:m.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:m.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 t=>{let{code:e,commitMessage:r,dryRun:s=!1,verify:n=!0}=t,i=t.ops,c=Q(r);try{let o=await tn(e,i,c,{dryRun:s,verify:n});return{isError:!o.ok,content:[{type:"text",text:JSON.stringify(o)}],structuredContent:o}}catch(o){let a=D(o);return{isError:!0,content:[{type:"text",text:a}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:a,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\uFF09\u624D\u7528\uFF1A\u56DE\u4F20\u5B8C\u6574 FormResult \u5168\u91CF\u4FDD\u5B58\u3002\u65E5\u5E38\u5C40\u90E8\u6539\u52A8\u4F18\u5148 patch_form\u3002businessmodel \u968F\u8868\u5355\u900F\u4F20\uFF0CMCP \u4E0D\u5265\u79BB\u3002\n\n${X}`,inputSchema:{form:m.looseObject(rt).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:G.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:m.boolean().describe("\u662F\u5426\u4FDD\u5B58\u6210\u529F"),code:m.string().optional().describe("\u4FDD\u5B58\u6210\u529F\u7684\u8868\u5355\u7F16\u7801"),message:m.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 t=>{let{form:e,commitMessage:r}=t,s=Q(r);try{let n=await nn(e,s);return{isError:!n.ok,content:[{type:"text",text:JSON.stringify(n)}],structuredContent:n}}catch(n){let i=D(n);return{isError:!0,content:[{type:"text",text:i}],structuredContent:{ok:!1,code:void 0,message:i}}}}}];import{z as N}from"zod";function sn(t,e){return $({url:"/api/masterserv/hpage/listH5Page",method:"post",data:t,type:"business",token:e})}function an(t,e){return $({url:"/api/masterserv/hpage/listH5PageByOne",method:"post",data:t,type:"business",token:e})}function ln(t){return $({url:"/pemission/rolepermission/account/getPreviewAccounts",method:"post",data:t,type:"tenant"})}async function cn(){let t=ie();if(!t)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 e;for(let r=1;r<=3;r++)try{let s=await ln({pvcode:t.productVersionCode,rows:200}),i=(Array.isArray(s?.resp_data)?s.resp_data:[]).find(c=>c.positionname==="SFA\u7CFB\u7EDF\u7BA1\u7406\u5458");if(!i)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(!i.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 i.token}catch(s){e=s,r<3&&await new Promise(n=>setTimeout(n,800))}throw e}async function dn(t){let e=await cn();return sn(t,e)}async function un(t){let e=await cn();return an(t,e)}var pn=N.object({confjson:N.union([N.string(),N.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:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF0C\u9884\u7559\u5B57\u6BB5"),pagecode:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801"),pagedescr:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u63CF\u8FF0"),pagetype:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u9875\u9762\u7C7B\u578B\uFF0C\u9884\u7559\u5B57\u6BB5"),platcreateop:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u4EBA\u59D3\u540D"),platcreatetime:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u65F6\u95F4"),platstatus:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u5E73\u53F0\u72B6\u6001"),platupdateop:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),platupdatetime:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),status:N.union([N.string(),N.number(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u72B6\u6001\uFF1B1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6807\u9898")}).catchall(N.unknown()),Nr=pn.omit({confjson:!0}),Cr={data:N.array(Nr).describe("\u8FD9\u4E00\u9875\u7684 H5 \u8868\u5355\u6570\u636E"),pageCount:N.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:N.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:N.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:N.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},Dr=pn.shape,mn=[{name:"page_h5_form",config:{title:"\u5206\u9875\u67E5\u8BE2 H5 \u8868\u5355\u5217\u8868",description:"\u5206\u9875\u67E5\u8BE2\u667A\u6167100 H5 \u5F15\u64CE\u7684 H5 \u8868\u5355\u5217\u8868\uFF08\u4E0D\u542B confjson\uFF09\u3002\u79DF\u6237\u672A\u88C5 H5 \u5F15\u64CE\u65F6\u8FD4\u56DE HTTP 404\u3002",inputSchema:{keywords:N.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:N.string().optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),status:N.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),title:N.string().optional().describe("H5 \u8868\u5355\u7684\u6807\u9898\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),updateopname:N.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),page:N.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:N.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:Cr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keywords:e="",pagecode:r="",status:s="",title:n="",updateopname:i="",page:c=1,rows:o=20}=t;try{let l=(await dn({keywords:e,pagecode:r,status:s,title:n,updateopname:i,page:Number(c)||1,rows:Number(o)||20})).resp_data,u=Array.isArray(l?.data)?l.data.map(f=>{let y={...f};return delete y.confjson,y}):l?.data,p={...l,data:u};return F(p)}catch(a){return j(a)}}},{name:"get_h5_form",config:{title:"\u67E5\u8BE2 H5 \u8868\u5355\u8BE6\u60C5",description:"\u6309 pagecode \u83B7\u53D6 H5 \u8868\u5355\u8BE6\u60C5\uFF08\u542B confjson\uFF1AVue \u4EE3\u7801\u4E0E\u5143\u6570\u636E\uFF09\u3002\u5173\u952E\u5B57\u6BB5\uFF1Apagecode/title/status/pagedescr/confjson/platcreate*/platupdate*/platstatus\u3002\u672A\u88C5 H5 \u5F15\u64CE\u8FD4\u56DE HTTP 404\u3002",inputSchema:{pagecode:N.string().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:Dr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{pagecode:e}=t;try{let r=await un({pagecode:e});return{content:[{type:"text",text:JSON.stringify(r.resp_data)}],structuredContent:r.resp_data}}catch(r){return j(r)}}}];import{z as b}from"zod";function gn(t){return $({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function fn(t){return $({url:"/bizserv/bizmodel/get",method:"post",data:t,type:"tenant"})}var $r=b.object({classname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:b.union([b.string(),b.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:b.union([b.string(),b.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:b.union([b.string(),b.number()]).nullable().optional().describe("\u987A\u5E8F"),status:b.union([b.string(),b.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:b.union([b.string(),b.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(b.unknown()),Er={classname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:b.union([b.string(),b.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:b.union([b.string(),b.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:b.union([b.string(),b.number()]).nullable().optional().describe("\u987A\u5E8F"),status:b.union([b.string(),b.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:b.union([b.string(),b.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),confjson:b.string().nullable().optional().describe("flycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9")},yn=[{name:"page_function_list",config:{title:"\u5206\u9875\u67E5\u8BE2 flycode \u51FD\u6570",description:`\u5206\u9875\u67E5\u8BE2 flycode \u51FD\u6570\u5217\u8868\u3002dddlayer \u56FA\u5B9A\u4F20 "3"\u3002\n\n${U}\n${ye}`,inputSchema:{classname:b.string().optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),name:b.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C modelname \u4E00\u81F4"),modelname:b.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C name \u4E00\u81F4"),flycodekey:b.string().optional().describe("\u51FD\u6570\u5185\u5BB9\u5173\u952E\u5B57"),page:b.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:b.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:b.array($r).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:b.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:b.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:b.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:b.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{classname:e="",name:r="",modelname:s="",flycodekey:n="",page:i=1,rows:c=20}=t;try{let o=await gn({dddlayer:3,directorytypecode:"",starttime:"",classname:e,name:r,modelname:s,flycodekey:n,page:Number(i)||1,rows:Number(c)||20});return F(o.resp_data)}catch(o){return j(o)}}},{name:"get_function",config:{title:"\u67E5\u8BE2 flycode \u51FD\u6570\u8BE6\u60C5",description:`\u6309 modelcode \u67E5\u8BE2\u51FD\u6570\u8BE6\u60C5\uFF08\u57FA\u672C\u4FE1\u606F + confjson \u4EE3\u7801\uFF09\u3002\u4EE3\u7801\u8FD0\u884C\u4E8E Java Nashorn \u7684 ES5 JS\uFF0C\u65E0 FlyQL \u7F16\u8BD1\u4E0E\u5185\u7F6E\u5BF9\u8C61\uFF1B\u4E1A\u52A1\u903B\u8F91\u4E2D\u901A\u8FC7 loadex('\u65B9\u6CD5\u540D') \u52A0\u8F7D\u3002\n\n${U}\n${ye}`,inputSchema:{modelcode:b.string().describe("\u51FD\u6570\u7684\u7F16\u7801")},outputSchema:b.looseObject(Er),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{modelcode:e}=t;try{let r=await fn({modelcode:e});return F(r.resp_data)}catch(r){return j(r)}}}];import{z as C}from"zod";function bn(t){return $({url:"/bizserv/customfunction/list",method:"post",data:t,type:"tenant"})}var Tr=C.object({createtime:C.union([C.string(),C.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),creator:C.union([C.string(),C.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),dbfunctionname:C.union([C.string(),C.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D"),functioncode:C.union([C.string(),C.null()]).optional().describe("\u51FD\u6570\u552F\u4E00\u7F16\u7801"),functionname:C.union([C.string(),C.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),functionscript:C.union([C.string(),C.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u5185\u5BB9\uFF08PostgreSQL \u51FD\u6570\u4F53\uFF09"),marktype:C.union([C.string(),C.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:C.union([C.string(),C.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C functioncode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),publishstatus:C.union([C.string(),C.number()]).nullable().optional().describe("\u53D1\u5E03\u72B6\u6001\uFF0C1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03"),remark:C.union([C.string(),C.null()]).optional().describe("\u5907\u6CE8"),status:C.union([C.string(),C.number()]).nullable().optional().describe("\u72B6\u6001\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),updatetime:C.union([C.string(),C.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updator:C.union([C.string(),C.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA")}).catchall(C.unknown()),hn=[{name:"page_database_function_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u6570\u636E\u5E93\u51FD\u6570",description:`\u5206\u9875\u67E5\u8BE2\u6570\u636E\u5E93\u51FD\u6570\uFF08PostgreSQL \u81EA\u5B9A\u4E49\u51FD\u6570\uFF09\u5217\u8868\uFF1B\u7ED3\u679C\u5DF2\u968F\u884C\u8FD4\u56DE functionscript\uFF08\u51FD\u6570\u4F53\uFF09\uFF0C\u65E0\u9700\u8BE6\u60C5\u63A5\u53E3\u3002\n\n${U}\n${ye}`,inputSchema:{dbfunctionname:C.string().optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),name:C.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),pageindex:C.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),pagesize:C.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:C.array(Tr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:C.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:C.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:C.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:C.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{dbfunctionname:e="",name:r="",pageindex:s=1,pagesize:n=20}=t;try{let i=await bn({dbfunctionname:e,name:r,pageindex:Number(s)||1,pagesize:Number(n)||20});return F(i.resp_data)}catch(i){return j(i)}}}];import{z as xe}from"zod";function _n(t){return $({url:"/api/biz/sqlrun",method:"post",data:t,type:"business"})}var Fr={data:xe.array(xe.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:xe.coerce.number().nullable().optional().describe("\u67E5\u8BE2\u7ED3\u679C\u603B\u6570")},Rn=[{name:"run_sql",config:{title:"\u6267\u884C SQL \u67E5\u8BE2",description:`\u5728\u4E1A\u52A1\u5E93\uFF08PostgreSQL\uFF09\u4E2D\u6267\u884C\u4E00\u6761 SELECT \u67E5\u8BE2\uFF08\u63A5\u53E3\u4EC5\u652F\u6301 SELECT\uFF0C\u4E00\u6B21\u4E00\u6761\uFF0C\u53EA\u80FD\u67E5\u4E1A\u52A1\u8868\uFF1B\u67E5\u8868\u5B57\u6BB5\u7ED3\u6784\u8BF7\u7528 get_entity\uFF09\uFF0C\u8FD4\u56DE\u7ED3\u679C data \u4E0E\u603B\u6570 influenceCount\u3002\u9002\u7528\u4E8E\u76F4\u63A5\u63A2\u67E5\u4E1A\u52A1\u8868\u6570\u636E\u3001\u6838\u5BF9\u5B57\u6BB5\u503C\u3001\u9A8C\u8BC1\u540C\u6B65\u7ED3\u679C\u7B49\u53EA\u8BFB\u573A\u666F\u3002\n\u6CE8\u610F\uFF1A\u67E5\u8BE2\u7684\u5B57\u6BB5\u548C\u8868\u5FC5\u987B\u5728 get_entity \u4E2D\u80FD\u53D6\u5230\uFF1B\u53EA\u80FD\u7528\u57FA\u7840\u7684\u7B80\u5355\u67E5\u8BE2\u8BED\u53E5\uFF0C\u4E0D\u652F\u6301 WITH \u7B49\u590D\u6742\u8BED\u53E5\uFF1B\u6700\u7EC8\u5B9E\u9645\u6267\u884C\u7684 SQL \u4F1A\u88AB\u5F15\u64CE\u5904\u7406\uFF0C\u4E0D\u652F\u6301 platstatus \u7B49\u5E73\u53F0\u5B57\u6BB5\u3002`,inputSchema:{sql:xe.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:xe.looseObject(Fr),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{sql:e}=t;try{let r=await _n({sql:e});return F(r.resp_data)}catch(r){return j(r)}}}];import{z as wn}from"zod";var kn=[{name:"generate_unique_code",config:{title:"\u751F\u6210\u552F\u4E00\u7F16\u7801",description:"\u901A\u8FC7\u96EA\u82B1\u7B97\u6CD5\u751F\u6210\u5168\u5C40\u552F\u4E00 ID\uFF08code\uFF09\u3002\u65B0\u5EFA\u5B9E\u4F53/\u9886\u57DF/\u8868\u5355\u7B49\u5185\u5BB9\u65F6\u5176 JSON \u9700\u643A\u5E26\u552F\u4E00 code\uFF0C\u53EF\u8C03\u7528\u672C\u5DE5\u5177\u83B7\u53D6\uFF08\u53EF\u9009 prefix \u524D\u7F00\uFF09\u3002",inputSchema:{prefix:wn.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:wn.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 t=>{let{prefix:e=""}=t;try{let r=we().toString(),n={code:e?`${e}${r}`:r};return F(n)}catch(r){let n={error:r.message??String(r)};return{isError:!0,content:[{type:"text",text:JSON.stringify(n)}]}}}}];import{isJSONRPCNotification as Mr,isJSONRPCRequest as On,isJSONRPCResultResponse as Lr}from"@modelcontextprotocol/sdk/types.js";var xn=13*1024,jr=10,Sn=new Set(["description","examples","default","title"]),Hr=new Set(["const","enum","examples","default"]),Ur=new Set(["properties","patternProperties","$defs","definitions","dependentSchemas"]),Vr=new Set(["allOf","anyOf","oneOf","prefixItems"]),Kr=new Set(["items","additionalProperties","not","if","then","else","contains","propertyNames","unevaluatedProperties","unevaluatedItems"]),Yr="\uFF08\u672C\u8F93\u5165\u53C2\u6570\u4EE5\u7CBE\u7B80\u5F62\u6001\u516C\u544A\uFF1A\u5D4C\u5957\u7ED3\u6784\u7EC6\u8282\u5DF2\u7701\u7565\uFF1B\u670D\u52A1\u7AEF\u4ECD\u6309\u5B8C\u6574\u89C4\u5219\u6821\u9A8C\u8C03\u7528\u53C2\u6570\uFF0C\u62A5\u9519\u4F1A\u6307\u660E\u5177\u4F53\u5B57\u6BB5\u3002\uFF09";function Pn(t){return t?.trim().toLowerCase()==="compact"?"compact":"full"}var W=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),ot=t=>Buffer.byteLength(JSON.stringify(t)??"","utf8");function it(t,e=0){if(Array.isArray(t)){let s=e;for(let n of t)s=Math.max(s,it(n,e+1));return s}if(!W(t))return e;let r=e;for(let s of Object.values(t))r=Math.max(r,it(s,e+1));return r}var zr=["null","boolean","object","array","number","string"];function An(t,e){if(Array.isArray(t))return t.map(s=>e(s));if(!W(t))return t;let r={};for(let[s,n]of Object.entries(t)){if(Hr.has(s)){r[s]=n;continue}if(Ur.has(s)&&W(n)){r[s]=Object.fromEntries(Object.entries(n).map(([i,c])=>[i,e(c)]));continue}if(Vr.has(s)&&Array.isArray(n)){r[s]=n.map(i=>e(i));continue}if(Kr.has(s)){r[s]=Array.isArray(n)?n.map(i=>e(i)):e(n);continue}r[s]=n}return r}function qr(t){let e=An(t,vn),r={};for(let[s,n]of Object.entries(e))Sn.has(s)&&s!=="description"||(r[s]=n);return r}function vn(t){let e=An(t,vn);if(!W(e))return e;let r={};for(let[s,n]of Object.entries(e))Sn.has(s)||(r[s]=n);return r}function Br(t,e){if(e==="#")return t;if(!e.startsWith("#/"))return;let r=t;for(let s of e.slice(2).split("/")){let n=s.replaceAll("~1","/").replaceAll("~0","~");if(!W(r)||!Object.hasOwn(r,n))return;r=r[n]}return r}function st(t,e,r=new Set){if(!W(t))return;if(typeof t.$ref=="string"){if(r.has(t.$ref))return;let i=Br(e,t.$ref);return i===void 0?void 0:st(i,e,new Set([...r,t.$ref]))}if(typeof t.type=="string")return[t.type];if(Array.isArray(t.type)&&t.type.every(i=>typeof i=="string"))return t.type;let s=Array.isArray(t.anyOf)?t.anyOf:Array.isArray(t.oneOf)?t.oneOf:[];if(s.length===0)return;let n=s.map(i=>st(i,e,r));if(!n.some(i=>i===void 0))return[...new Set(n.flatMap(i=>i??[]))]}function Jr(t){let e=W(t.properties)?t.properties:{},r=typeof t.description=="string"&&t.description.length>0?`${t.description} `:"",s=Object.fromEntries(Object.entries(e).map(([n,i])=>{let c=st(i,t),o=c!==void 0&&c.length===1?c[0]:c,a={};return o!==void 0&&(a.type=o),Array.isArray(c)&&c.includes("array")&&(a.items={type:[...zr],items:{}}),W(i)&&(typeof i.description=="string"&&(a.description=i.description),i.enum!==void 0&&(a.enum=i.enum),i.const!==void 0&&(a.const=i.const)),[n,a]}));return{type:"object",description:`${r}${Yr}`,properties:s,...Array.isArray(t.required)?{required:[...t.required]}:{},...t.additionalProperties===!1?{additionalProperties:!1}:{}}}function Wr(t,e){let r=qr(t);return ot(r)<=e&&it(r)<=jr?{schema:r,presentation:"inline"}:{schema:Jr(t),presentation:"reduced"}}function Gr(t,e){if(!W(t.inputSchema))return t;let r=ot(t.inputSchema),{schema:s}=Wr(t.inputSchema,e);return ot(s)>=r?t:{...t,inputSchema:s}}function Qr(t,e){if(!Lr(t))return t;let r=t.result;if(!W(r)||!Array.isArray(r.tools))return t;let s=r.tools.map(n=>W(n)?Gr(n,e):n);return{...t,result:{...r,tools:s}}}function In(t,e){let r=new Set,s={start:()=>t.start(),close:()=>t.close(),setProtocolVersion:n=>t.setProtocolVersion?.(n),send:async(n,i)=>{let c="id"in n&&(typeof n.id=="string"||typeof n.id=="number")?n.id:void 0,o=c!==void 0&&r.has(c);try{await t.send(o?Qr(n,e):n,i)}finally{!On(n)&&c!==void 0&&r.delete(c)}}};return t.onmessage=n=>{if(On(n)&&n.method==="tools/list"&&r.add(n.id),Mr(n)&&n.method==="notifications/cancelled"){let i=n.params?.requestId;(typeof i=="string"||typeof i=="number")&&r.delete(i)}s.onmessage?.(n)},t.onerror=n=>s.onerror?.(n),t.onclose=()=>{r.clear(),s.onclose?.()},s}await gt();var Se=new Zr({name:"flycode-mcp",version:"1.0.0"}),Cn=(process.env.PROGRESSIVE_DISCLOSURE??"on").toLowerCase()!=="off",Nn=Pn(process.env.FLYCODE_MCP_INPUT_SCHEMA_PROFILE),eo=[...St,...Ct,...Tt,...Ut,...rn,...on,...mn,...yn,...hn,...Rn,...kn],Dn=new ve(Cn);Dn.registerAll(Se,eo);for(let t of bt(Dn))Se.registerTool(t.name,t.config,t.handler);async function to(){let t=new Xr,e=Nn==="compact"?In(t,xn):t;await Se.connect(e),process.on("SIGINT",async()=>{await Se.close(),process.exit(0)}),process.on("SIGTERM",async()=>{await Se.close(),process.exit(0)}),console.error(`flycode-mcp listening on stdio (progressive disclosure: ${Cn?"on":"off"}, input schema profile: ${Nn})`)}to().catch(t=>{console.error(t),process.exit(1)});
2
+ import{McpServer as oo}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as io}from"@modelcontextprotocol/sdk/server/stdio.js";var He="http://mconfig.xuantongkeji.com:51074",Mn="username",Ln="password",jn="tenantCode",Hn="envName";function Pe(t,e){let s=process.argv.slice(2).join("&"),i=new URLSearchParams(s).get(t);if(i!==null&&i!=="")return i;if(e!==void 0)return e;throw new Error(`Missing required arg: ${t}`)}var Z={username:Pe(Mn),password:Pe(Ln),tenantCode:Pe(jn),envName:Pe(Hn)};import Vn from"axios";var ut=null;function Ve(t){ut=t}function pt(){return ut}var mt=null;function gt(t){mt=t}function ie(){return mt}var Ke=Vn.create({baseURL:He||"",timeout:2e4,headers:{"Content-Type":"application/json"}});Ke.interceptors.request.use(t=>{let r=t.token??pt();return r&&(t.headers=t.headers||{},t.headers.token=r),delete t.token,t});Ke.interceptors.response.use(t=>t.data,t=>Promise.reject(t));function $(t){let{type:e="center",...r}=t,s;switch(e){case"center":s=He||"";break;case"tenant":case"business":{let n=ie();if(!n)return Promise.reject(new Error(`type \u4E3A ${e} \u65F6\uFF0C\u5FC5\u987B\u5148\u8C03\u7528 setTenant() \u8BBE\u7F6E\u79DF\u6237\u4FE1\u606F`));s=e==="tenant"?n.conn.config:n.conn.business;break}}return Ke({...r,baseURL:s})}var Ae="1";function ft(t){return $({url:"/api/multiplat/auth/login",method:"post",data:t})}function yt(){return $({url:"/api/multiplat/auth/getTenantInfo",method:"post",data:{appid:Ae}})}function bt(t){return $({url:"/api/multiplat/auth/getIdeToken",method:"post",data:t})}async function ht(){let t=await ft({appid:Ae,username:Z.username,password:Z.password});if(t.code!==200)throw new Error(`Unable to login: ${t.msg}`);Ve(t.data.token),console.error("flycode-mcp \u767B\u5F55\u5B8C\u6210");let r=(await yt()).resp_data.find(o=>o.tenantcode===Z.tenantCode),s=r?.envs.find(o=>o.envname===Z.envName);if(r&&s){let o;try{o=JSON.parse(s.conn)}catch{throw new Error(`\u79DF\u6237\u73AF\u5883\u8FDE\u63A5\u4FE1\u606F\u89E3\u6790\u5931\u8D25, \u79DF\u6237\u53F7: ${Z.tenantCode}, \u73AF\u5883\u540D: ${Z.envName}, env.conn \u4E0D\u662F\u5408\u6CD5\u7684 JSON: ${s.conn}`)}gt({metaModelCode:r.metamodelcode,metaModelType:r.metamodeltype,productCode:r.productcode,productName:r.productname,productSeriesCode:r.productseriescode,productVersionCode:r.productversioncode,productVersionName:r.productversionname,tenantCode:r.tenantcode,tenantName:r.tenantname,conn:o,envId:s.envid,envName:s.envname,tenantEnvName:s.tenantenvname})}let n=ie();if(!n)throw new Error(`\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u79DF\u6237\u4FE1\u606F, \u79DF\u6237\u53F7: ${Z.tenantCode}, \u73AF\u5883\u540D: ${Z.envName}`);console.error("flycode-mcp \u83B7\u53D6\u79DF\u6237\u4FE1\u606F\u5B8C\u6210");let c=(await bt({appid:Ae,envid:n.envId,metamodeltype:n.metaModelType,productcode:n.productCode,productversioncode:n.productVersionCode,tenantcode:n.tenantCode})).resp_data?.idetoken;if(!c)throw new Error(`\u83B7\u53D6 IDE Token \u5931\u8D25, \u79DF\u6237\u53F7: ${n.tenantCode}, \u73AF\u5883\u540D: ${n.envName}, \u8FD4\u56DE\u4F53\u4E2D\u672A\u5305\u542B\u6709\u6548\u7684 idetoken`);Ve(c),console.error("flycode-mcp \u83B7\u53D6 IDE Token \u5B8C\u6210")}var Ue=[{name:"core",title:"\u6838\u5FC3\u5DE5\u5177",description:"\u8DE8\u57DF\u901A\u7528\u5DE5\u5177\uFF08\u5982\u6267\u884C SQL\u3001\u751F\u6210\u552F\u4E00\u7F16\u7801\uFF09\uFF0C\u59CB\u7EC8\u53EF\u7528",alwaysOn:!0},{name:"entity",title:"\u5B9E\u4F53",description:"\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u7684\u67E5\u8BE2",alwaysOn:!1},{name:"form",title:"\u8868\u5355",description:"\u8868\u5355\u7684\u67E5\u8BE2\u4E0E\u4FEE\u6539\uFF08\u542B flycode \u811A\u672C\u7247\u6BB5\uFF09",alwaysOn:!1},{name:"logic",title:"\u4E1A\u52A1\u903B\u8F91",description:"FlyCode \u4E1A\u52A1\u903B\u8F91(modelLogic/\u6A21\u578B\u903B\u8F91/\u9886\u57DF)\u7684\u67E5\u8BE2\u4E0E\u4FEE\u6539",alwaysOn:!1},{name:"function",title:"\u51FD\u6570",description:"\u5E73\u53F0\u51FD\u6570\u4E0E\u6570\u636E\u5E93\u51FD\u6570\u7684\u67E5\u8BE2",alwaysOn:!1},{name:"h5",title:"H5 \u8868\u5355",description:"H5 \u9875\u9762\u7684\u67E5\u8BE2",alwaysOn:!1}],ye={run_sql:"core",generate_unique_code:"core",page_entity_list:"entity",get_entity:"entity",page_entity_directories:"entity",create_entity:"entity",patch_entity:"entity",page_form_directories:"form",page_form_list:"form",get_form:"form",get_form_outline:"form",get_form_fragment:"form",patch_form:"form",save_form:"form",page_model_logic_directories:"logic",page_model_logic_list:"logic",get_model_logic:"logic",save_model_logic:"logic",patch_model_logic:"logic",str_replace_flycode:"logic",page_function_list:"function",get_function:"function",page_database_function_list:"function",page_h5_form:"h5",get_h5_form:"h5"};function Kn(t){return t?Ue.find(e=>e.name===t)?.alwaysOn??!1:!1}var Ie=class{handles=new Map;toolNames=[];progressive;constructor(e){this.progressive=e}registerAll(e,r){for(let s of r){let n=e.registerTool(s.name,s.config,s.handler);this.handles.set(s.name,n),this.toolNames.push(s.name);let i=ye[s.name];this.progressive&&!Kn(i)&&n.disable()}}activate(e,r=!1){let s=this.toolNames.filter(n=>ye[n]===e);for(let n of s){let i=this.handles.get(n);i&&(r&&i.enabled?i.disable():!r&&!i.enabled&&i.enable())}return s}isProgressive(){return this.progressive}domainActive(e){let r=this.toolNames.filter(s=>ye[s]===e);return r.length===0?!1:r.every(s=>this.handles.get(s)?.enabled??!1)}status(){return Ue.map(e=>{let r=this.toolNames.filter(s=>ye[s]===e.name).map(s=>{let n=this.handles.get(s);return{name:s,description:n?.description??"",active:n?.enabled??!1}});return{name:e.name,title:e.title,description:e.description,alwaysOn:e.alwaysOn,active:this.domainActive(e.name),tools:r}})}focus(e){let r=Ue.find(n=>n.name===e);if(!r)return null;let s=this.toolNames.filter(n=>ye[n]===e).map(n=>{let i=this.handles.get(n);return{name:n,description:i?.description??"",active:i?.enabled??!1}});return{name:e,title:r.title,tools:s}}};import{z as E}from"zod";function D(t){let e=t;if(e?.response?.data!=null)try{return JSON.stringify(e.response.data)}catch{return String(e.response.data)}return t instanceof Error?t.message:String(t)}function T(t){return{content:[{type:"text",text:JSON.stringify(t)}],structuredContent:t}}function j(t){return{isError:!0,content:[{type:"text",text:D(t)}]}}var _t=E.enum(["core","entity","form","logic","function","h5"]),se=32*1024,Ye=160,ze="\u964D\u7EA7\u4E0D\u5F71\u54CD\u5DE5\u5177\u53EF\u7528\u6027\uFF1B\u5B8C\u6574\u53C2\u6570\u8BF7\u4EE5 mcp_activate \u542F\u7528\u540E\u5BA2\u6237\u7AEF\u91CD\u62C9\u7684 tools/list \u4E3A\u51C6\u3002";function wt(t){return t.length<=Ye?t:`${t.slice(0,Ye)}\u2026(\u7701\u7565 ${t.length-Ye} \u5B57\u7B26)`}function Un(t){let e=(o,a)=>JSON.stringify({progressive:t.progressive,domains:o,focus:a}).length;if(e(t.domains,t.focus)<=se)return{...t,truncated:!1};let r=(o,a)=>o.map(l=>({...l,description:a(l.description)})),s=t.domains.map(o=>({...o,tools:r(o.tools,wt)})),n=t.focus?{...t.focus,tools:r(t.focus.tools,wt)}:null;if(e(s,n)<=se)return{progressive:t.progressive,domains:s,focus:n,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${se} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u622A\u65AD\u5DE5\u5177\u63CF\u8FF0\u3002${ze}`};let i=s.map(o=>({...o,tools:r(o.tools,()=>"")})),c=n?{...n,tools:r(n.tools,()=>"")}:null;return e(i,c)<=se?{progressive:t.progressive,domains:i,focus:c,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${se} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u79FB\u9664\u5DE5\u5177\u63CF\u8FF0\uFF08\u4EC5\u4FDD\u7559\u5DE5\u5177\u540D\u4E0E\u542F\u7528\u6001\uFF09\u3002${ze}`}:{progressive:t.progressive,domains:i.map(o=>({...o,tools:[]})),focus:c?{...c,tools:[]}:null,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u5373\u4F7F\u964D\u7EA7\u4ECD\u8D85\u8FC7 ${se} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u4E22\u5F03\u5DE5\u5177\u6E05\u5355\u3002${ze}`}}function Rt(t){let e={name:"mcp_catalog",config:{title:"\u5DE5\u5177\u76EE\u5F55\uFF08\u6E10\u8FDB\u5F0F\u62AB\u9732\uFF09",description:"\u67E5\u770B\u5F53\u524D\u53EF\u7528\u7684\u5DE5\u5177\u57DF\u4E0E\u72B6\u6001\u3002\u4E0D\u4F20 domain \u65F6\u8FD4\u56DE\u5168\u90E8\u57DF\uFF08core/entity/form/logic/function/h5\uFF09\u7684\u542F\u7528\u72B6\u6001\u4E0E\u5404\u57DF\u5185\u5DE5\u5177\u6E05\u5355\uFF1B\u4F20 domain \u65F6\u53EA\u805A\u7126\u8FD4\u56DE\u8BE5\u57DF\u7684\u5DE5\u5177\u6E05\u5355\uFF08\u540D\u79F0 + \u8BF4\u660E + \u542F\u7528\u72B6\u6001\uFF09\u3002\u5F53\u5BA2\u6237\u7AEF\u56E0\u4E0A\u4E0B\u6587\u9650\u5236\u53EA\u66B4\u9732\u4E86\u90E8\u5206\u5DE5\u5177\u65F6\uFF0C\u5148\u8C03\u7528\u672C\u5DE5\u5177\u4E86\u89E3\u8FD8\u6709\u54EA\u4E9B\u80FD\u529B\u53EF\u7ECF mcp_activate \u89E3\u9501\u3002\u672C\u5DE5\u5177**\u4E0D\u8FD4\u56DE**\u5DE5\u5177\u7684\u5165\u53C2 schema\uFF1A\u5B8C\u6574\u53C2\u6570\u8BF7\u4EE5 mcp_activate \u542F\u7528\u8BE5\u57DF\u540E\u5BA2\u6237\u7AEF\u91CD\u65B0\u62C9\u53D6\u7684 tools/list \u4E3A\u51C6\uFF08\u9012\u5F52\u7ED3\u6784\u7684\u5168\u91CF schema \u5355\u57DF\u53EF\u8FBE\u6570\u767E KB\uFF0C\u56DE\u4F20\u4F1A\u6491\u7206\u4E0A\u4E0B\u6587\uFF09\u3002",inputSchema:{domain:_t.optional().describe("\u53EF\u9009\uFF1A\u805A\u7126\u67D0\u57DF\uFF08core/entity/form/logic/function/h5\uFF09\uFF0C\u53EA\u8FD4\u56DE\u8BE5\u57DF\u7684\u5DE5\u5177\u6E05\u5355")},outputSchema:{progressive:E.boolean().describe("\u662F\u5426\u5904\u4E8E\u6E10\u8FDB\u5F0F\u62AB\u9732\u6A21\u5F0F"),domains:E.array(E.object({name:E.string(),title:E.string(),description:E.string(),alwaysOn:E.boolean(),active:E.boolean(),tools:E.array(E.object({name:E.string(),description:E.string(),active:E.boolean()}))})).describe("\u5168\u90E8\u57DF\u7684\u72B6\u6001\u4E0E\u5DE5\u5177\u6E05\u5355"),focus:E.object({name:E.string(),title:E.string(),tools:E.array(E.object({name:E.string(),description:E.string(),active:E.boolean()}))}).nullable().optional().describe("\u4EC5\u5F53\u4F20\u5165 domain \u65F6\u8FD4\u56DE\uFF1A\u8BE5\u57DF\u5DE5\u5177\u6E05\u5355\uFF08\u540D\u79F0 + \u8BF4\u660E + \u542F\u7528\u72B6\u6001\uFF0C\u4E0D\u542B\u5165\u53C2 schema\uFF09"),truncated:E.boolean().describe("\u8FD4\u56DE\u4F53\u662F\u5426\u56E0\u8D85\u8FC7\u4F53\u79EF\u786C\u4E0A\u9650\u800C\u88AB\u81EA\u52A8\u964D\u7EA7"),note:E.string().optional().describe("\u88AB\u964D\u7EA7\u65F6\u7684\u8BF4\u660E\uFF08\u6B63\u5E38\u60C5\u51B5\u4E0B\u4E0D\u5B58\u5728\uFF09")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}},handler:async s=>{let n=s?.domain??void 0,i=n?t.focus(n):null;return T(Un({progressive:t.isProgressive(),domains:t.status(),focus:i}))}},r={name:"mcp_activate",config:{title:"\u542F\u7528/\u6536\u8D77\u5DE5\u5177\u57DF\uFF08\u6E10\u8FDB\u5F0F\u62AB\u9732\uFF09",description:'\u5207\u6362\u67D0\u4E2A\u80FD\u529B\u57DF\uFF08entity/form/logic/function/h5\uFF09\u7684\u5DE5\u5177\u53EF\u89C1\u6027\u3002\u542F\u7528\u540E\u670D\u52A1\u7AEF\u4F1A\u63A8\u9001 tools/list_changed \u901A\u77E5\uFF0C\u5408\u89C4\u5BA2\u6237\u7AEF\u5C06\u91CD\u65B0\u62C9\u53D6\u5DE5\u5177\u6E05\u5355\u5E76\u53EF\u89C1\u8BE5\u57DF\u5DE5\u5177\uFF1B\u6536\u8D77\u5219\u5C06\u5176\u4ECE\u6E05\u5355\u79FB\u9664\u4EE5\u56DE\u6536\u4E0A\u4E0B\u6587\u3002core \u57DF\u5DE5\u5177\u59CB\u7EC8\u542F\u7528\uFF0C\u65E0\u9700\u4E5F\u4E0D\u5E94\u5207\u6362\u3002\u82E5\u542F\u7528\u540E\u8C03\u7528\u57DF\u5DE5\u5177\u4ECD\u62A5 "tool not found"\uFF0C\u8BF4\u660E\u5F53\u524D\u5BA2\u6237\u7AEF\u672A\u5B9E\u73B0 list_changed \u91CD\u62C9\uFF0C\u8BF7\u5C06\u73AF\u5883\u53D8\u91CF PROGRESSIVE_DISCLOSURE \u8BBE\u4E3A off \u9000\u56DE\u5168\u90E8\u542F\u7528\u7684\u6A21\u5F0F\u3002',inputSchema:{domain:_t.describe("\u8981\u542F\u7528\u6216\u6536\u8D77\u7684\u57DF\uFF1Aentity / form / logic / function / h5"),deactivate:E.boolean().optional().describe("true=\u6536\u8D77\u8BE5\u57DF\u5DE5\u5177\uFF08\u4ECE tools/list \u79FB\u9664\uFF09\uFF1B\u7701\u7565\u6216 false=\u542F\u7528\u8BE5\u57DF\u5DE5\u5177")},outputSchema:{domain:E.string(),deactivated:E.boolean(),tools:E.array(E.string()).describe("\u53D7\u672C\u6B21\u5207\u6362\u5F71\u54CD\u7684\u5DE5\u5177\u540D\u5217\u8868"),progressive:E.boolean(),note:E.string().describe("\u7ED9\u6A21\u578B/\u4F7F\u7528\u8005\u7684\u63D0\u793A\u4FE1\u606F")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1}},handler:async s=>{let n=s?.domain??"core",i=s?.deactivate===!0,c=t.activate(n,i),o=t.isProgressive()?"\u5DF2\u5207\u6362\u53EF\u89C1\u6027\uFF0C\u670D\u52A1\u7AEF\u5DF2\u63A8\u9001 tools/list_changed\uFF1B\u82E5\u5BA2\u6237\u7AEF\u672A\u91CD\u65B0\u62C9\u53D6\u5DE5\u5177\u6E05\u5355\uFF08\u4E0D\u652F\u6301\u8BE5\u901A\u77E5\uFF09\uFF0C\u8BF7\u6539\u7528 PROGRESSIVE_DISCLOSURE=off\u3002":"\u6E10\u8FDB\u5F0F\u62AB\u9732\u5DF2\u5173\u95ED\uFF08PROGRESSIVE_DISCLOSURE=off\uFF09\uFF1A\u5168\u90E8\u5DE5\u5177\u59CB\u7EC8\u542F\u7528\uFF0C\u672C\u6B21\u5207\u6362\u4E3A\u65E0\u5BB3\u7A7A\u64CD\u4F5C\u3002";return T({domain:n,deactivated:i,tools:c,progressive:t.isProgressive(),note:o})}};return[e,r]}var V='\u901A\u7528\u7EA6\u5B9A\uFF1A\u7B5B\u9009\u679A\u4E3E\u6309\u5B57\u7B26\u4E32\u4F20\u5165\uFF08\u5982 actiontype \u4F20 "3"\uFF09\uFF1B\u5217\u8868 / \u8BE6\u60C5\u8FD4\u56DE\u5B57\u6BB5\u4EE5\u6570\u5B57\u6216\u5B57\u7B26\u4E32\u8FD4\u56DE\uFF0C\u4E24\u8005\u517C\u5BB9\u3002marktype\uFF08\u521B\u5EFA\u6807\u8BB0\uFF09\uFF1A0-\u5E73\u53F0 / 1-\u4EA7\u54C1 / 2-\u79DF\u6237\uFF1Bstatus\uFF1A1-\u542F\u7528 / 2-\u505C\u7528\uFF1Bconfsource\uFF1A1-IDE \u914D\u7F6E / 2-\u7528\u6237\u7EA7\u914D\u7F6E\u3002',ae="\u3010logic \u679A\u4E3E\u3011actiontype\uFF08\u64CD\u4F5C\u7C7B\u578B\uFF09\uFF1A1-\u5217\u8868\u67E5\u8BE2 / 2-\u5355\u4E2A\u67E5\u8BE2 / 3-\u6570\u636E\u63D0\u4EA4 / 4-\u6279\u91CF\u63D0\u4EA4 / 5-\u5BFC\u5165 / 6-\u5BFC\u51FA / 7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6 / 8-\u6D41\u7A0B / 9-\u4E1A\u52A1\u8C03\u5EA6 / 10-ipaas \u63A5\u53E3\u3002actioncategory\uFF08\u884C\u4E3A\u7C7B\u578B\uFF09\uFF1A1-flycode \u63A5\u53E3 / 2-\u5FAE\u670D\u52A1 / 3-\u5185\u90E8\u51FD\u6570 / 4-\u5BFC\u5165 / 5-\u5BFC\u51FA / 6-flycode \u5BFC\u5165 / 7-flycode \u5BFC\u51FA\u3002execmode\uFF1A1-\u540C\u6B65 / 2-\u5F02\u6B65\uFF1Bexecutionmode\uFF1Astandard-\u6807\u51C6 / strict-\u4E25\u683C\u3002tenantdbname\uFF08\u79DF\u6237\u5E93\u6743\u9650\uFF09\uFF1A\u53EA\u8BFB-\u67E5\u8BE2 / \u8BFB\u5199-\u589E\u5220\u6539\u67E5 / \u62A5\u8868-\u4FDD\u7559\u3002usedatarule\uFF1A1-\u4F7F\u7528\u6570\u636E\u6743\u9650\u3002input/output[].datatype\uFF08\u53C2\u6570\u5F62\u6001\uFF09\uFF1A0-\u5355\u5B9E\u4F53 / 1-\u6570\u7EC4\u3002",Ne="properties[].propertytypecode\uFF08\u5B57\u6BB5\u7C7B\u578B\uFF09\uFF1A1-\u4E3B\u952E(int8) / 2-\u540D\u79F0(200) / 3-\u6587\u672C(200) / 4-\u957F\u6587\u672C / 5-\u6574\u6570(int4) / 6-\u957F\u6574\u6570(int8) / 10-\u6570\u5B57(numeric) / 7-\u65E5\u671F\u65F6\u95F4(ts) / 29-\u5E74\u6708\u65E5(date) / 30-\u65F6\u95F4\u8303\u56F4 / 18-\u72B6\u6001(int4) / 16-\u56FE\u7247 / 26-\u9644\u4EF6 / 17-\u5B9A\u4F4D / 19-\u9009\u9879\u96C6 / 8-\u521B\u5EFA\u4EBA / 9-\u4FEE\u6539\u4EBA / 11-\u521B\u5EFA\u65F6\u95F4 / 12-\u4FEE\u6539\u65F6\u95F4 / 31-\u62FC\u97F3 / 100-\u662F\u5426\u9ED8\u8BA4 / 13-\u624B\u673A\u53F7 / 15-\u56FA\u5B9A\u7535\u8BDD / 14-\u90AE\u7BB1 / 27-\u90AE\u7F16 / 20-\u6392\u5E8F / 200000000000-\u5173\u8054\u5BF9\u8C61 / 100000000000-\u4E1A\u52A1\u5BF9\u8C61 / 10000000000-\u5B57\u5178\u5BF9\u8C61 / 300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61 / 1000000000-\u672C\u5BF9\u8C61\u3002",ne="\u3010entity \u679A\u4E3E\u3011datapattern\uFF08\u5B9E\u4F53\u7C7B\u578B\uFF09\uFF1A1-\u539F\u751F / 2-\u884D\u751F / 3-\u89C6\u56FE / 4-\u8D85\u7EA7\u8868\u5355\u3002objecttypecode\uFF08\u5206\u7C7B\uFF09\uFF1A1-\u57FA\u672C / 2-\u6811\u5F62 / 3-\u6570\u636E\u5B57\u5178 / 4-\u5173\u8054\u3002objectcatgory\uFF1A1-\u6743\u9650\u5BF9\u8C61 / 2-\u5426\u3002publishstatus\uFF1A1-\u5DF2\u53D1\u5E03 / 2-\u672A\u53D1\u5E03\u3002hasoffline\uFF1A1-\u6709 / 0-\u65E0\u3002properties[].idxtype\uFF08\u7D22\u5F15\uFF09\uFF1A1-\u65E0 / 2-\u4E3B\u952E\u7D22\u5F15\u3002",X="\u3010form \u679A\u4E3E\u3011type\uFF08\u9875\u9762\u7C7B\u578B\uFF09\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\u3002clientcategorycode\uFF08\u7528\u6237\u7AEF\uFF09\uFF1A1-web / 2-app / 6-\u5C0F\u7A0B\u5E8F\u3002",kt='\u3010action \u7C7B\u578B\u3011flycode / datarequest(\u6570\u636E\u8BF7\u6C42) / datasubmit(\u6570\u636E\u63D0\u4EA4) / dataimport(\u5BFC\u5165\u884C\u4E3A) / dataexport(\u5BFC\u51FA\u884C\u4E3A) / datatransfer(\u6570\u636E\u8F6C\u79FB) / dataserialize(\u6570\u636E\u5E8F\u5217\u5316) / smartrequest(\u667A\u6167\u573A\u666F\u8BF7\u6C42) / link(\u94FE\u63A5) / call(\u4E8B\u4EF6\u547C\u53EB) / return(\u8FD4\u56DE) / af_preaddflow(\u6D41\u7A0B\u53D1\u8D77) / af_handleflow(\u5904\u7406\u5BA1\u6279) / af_flowdetail(\u6D41\u7A0B\u8282\u70B9\u8BE6\u60C5) / ctrlevent(\u8C03\u7528\u63A7\u4EF6\u4E8B\u4EF6) / receivelink(\u63A5\u6536\u53C2\u6570) / eventlink(\u4E8B\u4EF6\u76D1\u542C) / attributeevaluate(\u5C5E\u6027\u8868\u8FBE\u5F0F) / alert(\u63D0\u793A\u5F39\u7A97) / toast(\u8F7B\u63D0\u793A) / share(\u5206\u4EAB\u884C\u4E3A) / popsubview(\u6253\u5F00popview) / closesubview(\u5173\u95EDpopview) / print(\u6253\u5370\u4E8B\u4EF6) / urllink(URL\u94FE\u63A5) / runevent(\u6267\u884C\u4E8B\u4EF6)\u3002\u6CE8\u610F\uFF1Ainitial\uFF08\u9875\u9762\u521D\u59CB\u5316\uFF09\u4EC5\u652F\u6301 flycode / receivelink\uFF0C\u5176\u4F59\u7C7B\u578B\u53EA\u80FD\u52A0\u5230 handlers \u4E8B\u4EF6\uFF1B\u300C\u6570\u636E\u5B57\u5178\u7ED1\u5B9A\u300D\u65E0\u72EC\u7ACB type\uFF0C\u7528 datarequest + fields:{"_type_spe":"dictbind","logiccode":"100000000001100001"}\u3002',be='\u3010function \u679A\u4E3E\u3011dddlayer\uFF08\u51FD\u6570\u5C42\u7EA7\uFF09\uFF1A\u56FA\u5B9A\u4F20 "3"\uFF08\u51FD\u6570\u7C7B\uFF09\u3002\u6570\u636E\u5E93\u51FD\u6570 publishstatus\uFF1A1-\u672A\u53D1\u5E03 / 2-\u5DF2\u53D1\u5E03\u3002';import{z as O}from"zod";function vt(t){return $({url:"/bizserv/bizmodel/pageModelLogicList",method:"post",data:t,type:"tenant"})}function Ot(t){return $({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function ee(t){return $({url:"/bizserv/bizmodel/getModelLogic",method:"post",data:t,type:"tenant"})}function Ce(t){return $({url:"/bizserv/bizmodel/saveModelLogic",method:"post",data:{...t,overwrite:!1},type:"tenant"})}import{z as g}from"zod";var qe=g.object({marktype:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:g.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u540D\u79F0\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:g.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:g.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:g.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u4E2D\u6587\u540D\uFF0C\u9605\u8BFB\u53CB\u597D"),propertytypecode:g.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(g.unknown()),Yn=g.array(qe),St=g.object({datatype:g.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:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:g.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:g.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:g.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:g.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(g.unknown()),xt=g.array(St),zn=g.array(g.object({dynamic:g.object({fieldblacklist:g.unknown().optional().nullable().describe("\u5B57\u6BB5\u9ED1\u540D\u5355"),fieldmap:g.unknown().optional().nullable().describe("\u5B57\u6BB5\u6620\u5C04")}).catchall(g.unknown()).optional().nullable().describe("\u52A8\u6001\u914D\u7F6E"),marktype:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0"),modellogiccode:g.string().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),modellogicstepcode:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u7F16\u7801"),modellogicstepname:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u540D\u79F0"),seq:g.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:g.string().optional().nullable().describe("\u72B6\u6001"),templateparams:g.object({flycode:g.string().optional().nullable().describe("flycode \u811A\u672C\u4EE3\u7801\u5B57\u7B26\u4E32"),sourcemap:g.string().optional().nullable().describe("\u6E90\u6620\u5C04"),tempcompiledflycode:g.string().optional().nullable().describe("\u7F16\u8BD1\u540E\u7684 flycode")}).catchall(g.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:g.string().optional().nullable().describe("\u6A21\u677F\u5F15\u7528")}).catchall(g.unknown())),Be=g.object({field:g.string().optional().nullable().describe("\u5B57\u6BB5\u540D\uFF08\u5BF9\u5E94\u4E1A\u52A1\u5BF9\u8C61\u7684\u5C5E\u6027\u540D\uFF09\uFF0C\u5BFC\u51FA\u5217\u7684\u6700\u4F73\u5B9A\u4F4D\u952E"),column:g.string().optional().nullable().describe("\u5BFC\u51FA\u540E\u7684\u5217\u6807\u9898"),width:g.string().optional().nullable().describe("\u5217\u5BBD"),type:g.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u5982 string"),dynamictext:g.unknown().optional().nullable().describe("\u52A8\u6001\u6587\u672C\u914D\u7F6E")}).catchall(g.unknown()),qn=g.object({bindcols:g.array(Be).optional().nullable().describe("\u5BFC\u51FA\u7684\u5217\u5B9A\u4E49"),modelcode:g.string().describe("\u4E1A\u52A1\u6A21\u578B\u7F16\u7801"),logiccode:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),logicname:g.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u540D\u79F0")}).catchall(g.unknown()),Je={actioncategory:g.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:g.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:g.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:g.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:g.string().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),executionmode:g.string().optional().nullable().describe("\u6267\u884C\u6A21\u5F0F\uFF0Cstandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F"),functionname:g.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:g.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),input:xt.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:g.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),marktype:g.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:g.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:g.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),modellogiccode:g.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801"),modellogicname:g.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),operations:zn.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:xt.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:g.object({server:g.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u5730\u5740"),url:g.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u8DEF\u5F84")}).catchall(g.unknown()).optional().nullable().describe("\u5FAE\u670D\u52A1\u7684 REST \u914D\u7F6E\uFF0C\u4EC5 actioncategory=2 \u5FAE\u670D\u52A1 \u65F6\u5B58\u5728"),bindjson:qn.optional().nullable().describe("\u5BFC\u51FA\u7ED1\u5B9A\u7684 Excel \u5217\u914D\u7F6E\uFF0C\u4EC5 actioncategory=5 \u5BFC\u51FA \u65F6\u5B58\u5728"),status:g.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),tenantdbcode:g.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u7F16\u7801"),tenantdbname:g.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:g.string().optional().nullable().describe("tenantdbname \u5BF9\u5E94\u7684 key \u503C"),uilogicscript:g.string().optional().nullable().describe("\u79BB\u7EBF\u811A\u672C\uFF0C\u4EC5\u7528\u4E8E app \u7AEF\u79BB\u7EBF\u6570\u636E\u63D0\u4EA4"),usedatarule:g.string().optional().nullable().describe("1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650")},Pt=g.looseObject(Je),At=g.discriminatedUnion("op",[g.object({op:g.literal("add_param").describe("\u5411 input / output \u8FFD\u52A0\u4E00\u6761\u53C2\u6570\uFF08\u589E\u52A0\u4E00\u4E2A input / \u589E\u52A0\u4E00\u4E2A output\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),param:St.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u6761\u8F93\u5165/\u8F93\u51FA\u53C2\u6570\uFF08\u5355\u4E2A LogicParameters \u5BF9\u8C61\uFF09"),position:g.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),g.object({op:g.literal("remove_param").describe("\u4ECE input / output \u6309 name \u5220\u9664\u6574\u6761\u53C2\u6570\uFF08\u5220\u9664\u4E00\u4E2A input / output\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:g.string().describe("\u8981\u5220\u9664\u7684\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09")}),g.object({op:g.literal("set_param_attrs").describe("\u6309 name \u5B9A\u4F4D\u53C2\u6570\uFF0C\u6D45\u5408\u5E76\u5176\u9876\u5C42\u5C5E\u6027\uFF08\u5982 datatype / objectcode / objectname \u7B49\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:g.string().describe("\u76EE\u6807\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09"),patch:g.record(g.string(),g.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u53C2\u6570\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "datatype": "1", "objectname": "\u5BA2\u6237" }')}),g.object({op:g.literal("add_property").describe("\u5411\u6307\u5B9A\u53C2\u6570\u7684 properties[] \u8FFD\u52A0\u4E00\u4E2A\u5B57\u6BB5\uFF08\u589E\u52A0 input \u5C5E\u6027 / \u589E\u52A0 output \u5C5E\u6027\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:g.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),property:qe.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u4E2A\u5B57\u6BB5\uFF08\u5355\u4E2A LogicParameterProperties \u5BF9\u8C61\uFF09"),position:g.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),g.object({op:g.literal("remove_property").describe("\u4ECE\u6307\u5B9A\u53C2\u6570\u7684 properties[] \u5220\u9664\u4E00\u4E2A\u5B57\u6BB5\uFF08\u5220\u9664 input/output \u4E2D\u67D0\u5C5E\u6027\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:g.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:g.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:g.string().optional().describe("\u6309\u5B57\u6BB5\u7F16\u7801 propertycode \u5B9A\u4F4D\uFF08\u4E0E propertyName \u4E8C\u9009\u4E00\uFF09")}),g.object({op:g.literal("replace_property").describe("\u6309 name \u6216 propertycode \u5B9A\u4F4D\u5E76\u6574\u4F53\u66FF\u6362\u4E00\u4E2A\u5B57\u6BB5\uFF08\u66FF\u6362 input/output \u4E2D\u67D0\u5C5E\u6027\uFF09"),target:g.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:g.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:g.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:g.string().optional().describe("\u6309\u5B57\u6BB5\u7F16\u7801 propertycode \u5B9A\u4F4D\uFF08\u4E0E propertyName \u4E8C\u9009\u4E00\uFF09"),property:qe.describe("\u7528\u6765\u6574\u4F53\u66FF\u6362\u76EE\u6807\u5B57\u6BB5\u7684\u65B0\u5B57\u6BB5\u5BF9\u8C61")}),g.object({op:g.literal("set_meta").describe("\u6D45\u5408\u5E76\u9876\u5C42\u4E1A\u52A1\u903B\u8F91\u5143\u6570\u636E\uFF08\u5982 modellogicname / description / actiontype / execmode / functionname / marktype\uFF09\uFF1B\u4E0D\u80FD\u542B input/output/operations"),patch:g.record(g.string(),g.unknown()).describe('\u6D45\u5408\u5E76\u8FDB\u4E1A\u52A1\u903B\u8F91\u9876\u5C42\u5143\u6570\u636E\u7684\u5B57\u6BB5\uFF0C\u5982 { "modellogicname": "\u65B0\u6807\u9898", "description": "\u8BF4\u660E" }')}),g.object({op:g.literal("add_export_column").describe("\u5411\u5BFC\u51FA\u5217\uFF08bindjson.bindcols\uFF09\u8FFD\u52A0\u4E00\u5217\uFF08\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF09"),column:Be.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u5217\uFF08\u5355\u4E2A LogicBindColumn \u5BF9\u8C61\uFF0C\u5EFA\u8BAE\u81F3\u5C11\u5E26 field\uFF09"),position:g.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),g.object({op:g.literal("remove_export_column").describe("\u4ECE\u5BFC\u51FA\u5217\uFF08bindjson.bindcols\uFF09\u6309 field \u6216 column \u5220\u9664\u4E00\u5217\uFF08\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF09"),field:g.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:g.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09")}),g.object({op:g.literal("replace_export_column").describe("\u6309 field \u6216 column \u5B9A\u4F4D\u5E76\u6574\u4F53\u66FF\u6362\u4E00\u5217\uFF08\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF09"),field:g.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:g.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09"),newColumn:Be.describe("\u7528\u6765\u6574\u4F53\u66FF\u6362\u76EE\u6807\u5217\u7684\u65B0\u5217\u5BF9\u8C61")}),g.object({op:g.literal("set_export_column_attrs").describe("\u6309 field \u6216 column \u5B9A\u4F4D\u67D0\u5217\uFF0C\u6D45\u5408\u5E76\u5176\u90E8\u5206\u5C5E\u6027\uFF08\u5982\u6539 column \u6807\u9898 / width \u5217\u5BBD / type \u7C7B\u578B\uFF0C\u4E0D\u6539 field\uFF09\uFF1B\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528"),field:g.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:g.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09"),patch:g.record(g.string(),g.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u5217\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "column": "\u65B0\u6807\u9898", "width": "20" }')}),g.object({op:g.literal("set_bind_meta").describe("\u5B89\u5168\u6D45\u5408\u5E76 bindjson \u9876\u5C42\uFF08\u5982 logicname\uFF09\uFF0C\u4E0D\u5F71\u54CD bindcols \u5217\u5B9A\u4E49\uFF1B\u4EC5 actioncategory=5 \u5BFC\u51FA \u7C7B\u53EF\u7528\uFF1B\u4E0D\u80FD\u542B bindcols"),patch:g.record(g.string(),g.unknown()).describe('\u6D45\u5408\u5E76\u8FDB bindjson \u9876\u5C42\u7684\u5B57\u6BB5\uFF08\u9664 bindcols \u5916\uFF09\uFF0C\u5982 { "logicname": "\u65B0\u5BFC\u51FA\u540D" }')})]);var It=[{name:"page_model_logic_directories",config:{title:"\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u76EE\u5F55",description:`\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u6240\u5C5E\u76EE\u5F55(\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55 / ModelDirectory)\u3002\u8FD4\u56DE\u5404\u4E1A\u52A1\u6A21\u578B\u76EE\u5F55\u9879\uFF0C\u6BCF\u9879\u542B modelcode (\u5373 modellogic \u4E2D\u7684 modelcode\uFF0C\u67E5\u67D0\u76EE\u5F55\u4E0B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u7528\u7684\u7F16\u7801)\u3001modelname(\u76EE\u5F55\u540D)\u3001metamodelcode\u3001directorytypecode(\u7236\u76EE\u5F55\u7F16\u7801)\u7B49\u3002\n\n\u53EF\u6309 modelname \u6A21\u7CCA\u641C\u7D22\uFF0C\u6216\u4F20\u5165 directorytypecode \u67E5\u8BE2\u67D0\u76EE\u5F55\u4E0B\u7684\u5B50\u76EE\u5F55\uFF08\u9ED8\u8BA4 rootNode \u67E5\u4E00\u7EA7\u76EE\u5F55\uFF09\u3002\n\n${V}\n${ae}`,inputSchema:{modelname:O.string().optional().describe("\u4E1A\u52A1\u6A21\u578B\u540D\u6A21\u7CCA\u5339\u914D\uFF0C\u53EF\u7A7A\uFF1B\u4E0D\u4F20\u5219\u8FD4\u56DE\u8BE5\u76EE\u5F55\u4E0B\u7684\u5168\u90E8"),directorytypecode:O.string().optional().describe('\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF1A\u56FA\u5B9A\u4F20 "rootNode" \u67E5\u4E00\u7EA7\u76EE\u5F55\uFF1B\u4F20\u5165\u5177\u4F53\u76EE\u5F55\u7684 modelcode \u53EF\u67E5\u5176\u4E0B\u7684\u5B50\u76EE\u5F55\uFF1B\u7701\u7565\u9ED8\u8BA4 "rootNode"'),dddlayer:O.string().optional().describe("\u76EE\u5F55\u5C42\u7EA7\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u4E00\u7EA7\u76EE\u5F55\uFF08\u9ED8\u8BA4\uFF09\uFF1B\u7701\u7565\u9ED8\u8BA4 1"),page:O.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:O.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:O.array(O.object({modeldescr:O.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u7684\u63CF\u8FF0\u8BF4\u660E"),createtime:O.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:O.union([O.string(),O.number(),O.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),dddlayer:O.coerce.number().optional().nullable().describe("\u76EE\u5F55\u5C42\u7EA7\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u4E00\u7EA7\u76EE\u5F55"),modelname:O.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u540D\uFF08\u6240\u5C5E\u76EE\u5F55\u540D\uFF09"),directorytypecode:O.string().optional().nullable().describe("\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF08\u7236\u76EE\u5F55\u7684 modelcode\uFF1B\u4E00\u7EA7\u76EE\u5F55\u5176\u7236\u4E3A rootNode\uFF09"),metamodelcode:O.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),classname:O.string().optional().nullable().describe("\u7C7B\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u5E26 classname\uFF0C\u5982 ai_base / cost\uFF09"),modelcode:O.string().describe("\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u5373 modellogic \u4E2D\u7684 modelcode\uFF0C\u67E5\u67D0\u76EE\u5F55\u4E0B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u7528\u5230\u5B83"),marktype:O.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),tablename:O.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u4E3A\u7A7A\uFF09"),updatetime:O.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:O.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:O.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:O.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:O.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),updateaccountcode:O.union([O.string(),O.number(),O.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(O.unknown())).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 t=>{let{modelname:e="",directorytypecode:r="rootNode",dddlayer:s="1",page:n=1,rows:i=999}=t;try{let c=await Ot({dddlayer:Number(s)||1,modelname:e,directorytypecode:r,page:Number(n)||1,rows:Number(i)||999,centercode:""});return T(c.resp_data)}catch(c){return j(c)}}},{name:"page_model_logic_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91",description:`\u5206\u9875\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u5217\u8868(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u3002\u652F\u6301\u6309\u6807\u9898/\u7F16\u7801/\u65B9\u6CD5\u540D/\u5173\u952E\u5B57/\u4FEE\u6539\u4EBA/\u7C7B\u578B\u7B5B\u9009\u3002\n\n${V}\n${ae}`,inputSchema:{keys:O.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:O.string().optional().describe("\u5B8C\u6574 JSON (\u5185\u542B\u4EE3\u7801) \u4E2D\u7684\u5173\u952E\u5B57\uFF0C\u6A21\u7CCA\u5339\u914D"),page:O.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:O.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updateopname:O.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),updatetimestart:O.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:O.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:O.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:O.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:O.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:O.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:O.array(O.object({actiontype:O.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:O.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:O.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),modelname:O.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u540D"),modellogiccode:O.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modellogicname:O.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),metamodelcode:O.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modellogiccode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),execmode:O.coerce.number().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),functionname:O.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:O.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:O.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),marktype:O.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),updatetime:O.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:O.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:O.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:O.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:O.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),confsource:O.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),updateaccountcode:O.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(O.unknown())).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 t=>{let{keys:e="",keywords:r="",page:s=1,rows:n=20,updateopname:i="",updatetimestart:c="",updatetimeend:o="",actiontype:a="",actioncategory:l="",tenantdbname:u="",jobstatus:m=null}=t;try{let f=await vt({actioncategory:l,actiontype:a,centercode:"",directorytypecode:"rootNode",jobstatus:m,keys:e,keywords:r,modelcode:"rootNode",page:Number(s)||1,rows:Number(n)||20,tenantdbname:u,updateopname:i,updatetimeend:o,updatetimestart:c});return T(f.resp_data)}catch(f){return j(f)}}},{name:"get_model_logic",config:{title:"\u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91\u8BE6\u60C5",description:`\u6309 modellogiccode \u67E5\u8BE2\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u5B8C\u6574\u8BE6\u60C5\uFF1Aflycode \u811A\u672C\u3001input/output \u53C2\u6570\u53CA\u5B57\u6BB5\u5C5E\u6027\u3001\u64CD\u4F5C\u6B65\u9AA4\u3002\n\n${V}\n${ae}\n${Ne}`,inputSchema:{modellogiccode:O.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801")},outputSchema:Je,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{modellogiccode:e}=t;try{let r=await ee({modellogiccode:e});return T(r.resp_data)}catch(r){return j(r)}}}];import{z as A}from"zod";import{z as De}from"zod";var G=De.object({committype:De.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:De.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:De.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 Q(t){return{committype:t.committype,committypetext:t.committypetext,msgbody:t.msgbody??""}}function J(t,e="YYYY-MM-DD HH:mm:ss"){if(isNaN(t.getTime()))throw new Error("Invalid date provided");let r={YYYY:t.getFullYear().toString(),YY:t.getFullYear().toString().slice(-2),MM:String(t.getMonth()+1).padStart(2,"0"),M:String(t.getMonth()+1),DD:String(t.getDate()).padStart(2,"0"),D:String(t.getDate()),HH:String(t.getHours()).padStart(2,"0"),H:String(t.getHours()),mm:String(t.getMinutes()).padStart(2,"0"),m:String(t.getMinutes()),ss:String(t.getSeconds()).padStart(2,"0"),s:String(t.getSeconds()),SSS:String(t.getMilliseconds()).padStart(3,"0")},s=Object.keys(r).sort((i,c)=>c.length-i.length),n=e;for(let i of s)n=n.replace(new RegExp(i,"g"),r[i]);return n}function We(t,e){let r=[],s=[];if(e==="exact"){for(let n=0;n<t.length;n++)r.push(t[n]),s.push(n);return{text:r.join(""),map:s}}for(let n=0;n<t.length;n++){let i=t[n];if(i==="\r"){r.push(`\n`),s.push(n),t[n+1]===`\n`&&n++;continue}if(i===" "||i===" "){let c=n;for(;c<t.length&&(t[c]===" "||t[c]===" ");)c++;if(c>=t.length||t[c]===`\n`||t[c]==="\r"){n=c-1;continue}r.push(i),s.push(n);continue}r.push(i),s.push(n)}return{text:r.join(""),map:s}}function z(t,e="normalized"){return We(t,e).text}function Ge(t){return t.replace(/\r\n?/g,`\n`)}function Qe(t,e){let r=1,s=Math.min(e,t.length);for(let n=0;n<s;n++)t[n]===`\n`&&r++;return r}function Bn(t,e,r="normalized"){if(e.length===0)return[];let s=We(t,r),n=We(e,r);if(n.text.length===0)return[];let i=[],c=0;for(;;){let o=s.text.indexOf(n.text,c);if(o===-1)break;let a=s.map[o],l=s.map[o+n.text.length-1]+1;i.push({startOffset:a,endOffset:l,startLine:Qe(t,a),endLine:Qe(t,Math.max(l-1,0))}),c=o+n.text.length}return i}function Nt(t){let e=new Map;if(t.length<2)return t.length===1&&e.set(t,1),e;for(let r=0;r<t.length-1;r++){let s=t.slice(r,r+2);e.set(s,(e.get(s)??0)+1)}return e}function Jn(t,e){if(t.size===0&&e.size===0)return 1;if(t.size===0||e.size===0)return 0;let r=0,[s,n]=t.size<=e.size?[t,e]:[e,t];for(let[c,o]of s){let a=n.get(c);a&&(r+=Math.min(o,a))}let i=0;for(let c of t.values())i+=c;for(let c of e.values())i+=c;return i===0?0:2*r/i}function Wn(t,e,r=3){let s=Ge(t).split(`\n`),n=Ge(e).split(`\n`);if(s.length===0||n.length===0)return[];let i=n.map(u=>u.trim()).join(`\n`),c=Nt(i),o=s.map(u=>u.trim()),a=new Map,l=new Set([n.length-1,n.length,n.length+1]);for(let u of l)if(!(u<1))for(let m=0;m+u<=s.length;m++){let f=o.slice(m,m+u).join(`\n`),y=Jn(Nt(f),c);if(y<=.3)continue;let _=a.get(m);(!_||y>_.score)&&a.set(m,{score:y,preview:s.slice(m,m+u).join(`\n`).slice(0,120)})}return Array.from(a.entries()).map(([u,m])=>({startLine:u+1,score:Math.round(m.score*100)/100,preview:m.preview})).sort((u,m)=>m.score-u.score).slice(0,r)}function Gn(t){let e=(t.match(/\r\n/g)??[]).length,r=(t.match(/\n/g)??[]).length-e;return e>r?`\r\n`:`\n`}function Ct(t,e){let r=Gn(e);return t.replace(/\r\n?|\n/g,r)}var le=40;function Qn(t,e,r,s=3){let n=Ge(t).split(`\n`),i=[],c=e.slice().sort((o,a)=>o.startOffset-a.startOffset);for(let o of c){let a=Math.max(1,o.startLine-s),l=Math.min(n.length,o.endLine+s),u=t.slice(o.startOffset,o.endOffset).split(`\n`).map(R=>R.replace(/\r$/,"")),m=r.split(`\n`),f=u.length,y=m.length,h=[["@@",`-${o.startLine},${f}`,`+${o.startLine},${y}`,"@@"].join(" ")];for(let R=a;R<o.startLine;R++)h.push(` ${n[R-1]}`);for(let R of u.slice(0,le))h.push(`-${R}`);f>le&&h.push(`... \u7701\u7565 ${f-le} \u884C`);for(let R of m.slice(0,le))h.push(`+${R}`);y>le&&h.push(`... \u7701\u7565 ${y-le} \u884C`);for(let R=o.endLine+1;R<=l;R++)h.push(` ${n[R-1]}`);i.push(h.join(`\n`))}return i.join(`\n`)}function $e(t,e,r={}){let s=r.contextLines??3,n=r.topN??3,i=t.slice(),c=[],o=!1;for(let a=0;a<e.length;a++){let l=e[a],u=l.operationIndex??0,m=()=>({index:a,label:l.label??null,status:"FAILED",errorCode:"OK",message:null,operationIndex:u,matchCount:0,replacedCount:0,range:null,suggestions:null,dependentOnFailedOp:o,hunk:null}),f=(I,F,H={})=>{c.push({...m(),status:"FAILED",errorCode:I,message:F,...H}),o=!0};if(!Number.isInteger(u)||u<0||u>=i.length){f("NO_TARGET",`operationIndex=${u} \u4E0D\u5B58\u5728\uFF0C\u5F53\u524D\u5171\u6709 ${i.length} \u4E2A operation\uFF08\u53EF\u7528\u4E0B\u6807 0~${Math.max(i.length-1,0)}\uFF09`);continue}if(l.rewrite!==!0&&(typeof l.oldString!="string"||l.oldString.length===0)){f("EMPTY_OLD_STRING","oldString \u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32\uFF1B\u6574\u4EFD\u811A\u672C\u91CD\u5199\u8BF7\u6539\u7528 rewrite=true\uFF08\u4EC5\u4F20 newString\uFF0C\u4E0D\u5FC5\u56DE\u4F20\u65E7\u5168\u6587\uFF09\uFF0C\u6539 input/output \u7ED3\u6784\u8BF7\u7528 patch_model_logic");continue}if(l.replaceAll===!0&&l.occurrence!=null){f("INVALID_PARAMS","replaceAll \u4E0E occurrence \u4E92\u65A5\uFF0C\u53EA\u80FD\u4E8C\u9009\u4E00");continue}if(l.rewrite===!0){if(typeof l.newString!="string"){f("INVALID_PARAMS","rewrite=true \u65F6 newString \u5FC5\u586B\u4E14\u4E3A\u5B57\u7B26\u4E32\uFF08\u6574\u4EFD\u66FF\u6362\u7684\u76EE\u6807\u6587\u672C\uFF09");continue}let I=i[u],F=Ct(l.newString,I),H=Qe(I,I.length);i[u]=F,c.push({...m(),status:"OK",errorCode:"OK",matchCount:1,replacedCount:1,range:{startOffset:0,endOffset:I.length,startLine:1,endLine:H},hunk:`\u6574\u4EFD\u66FF\u6362\uFF1A${I.length} \u2192 ${F.length} \u5B57\u7B26\uFF08rewrite \u6A21\u5F0F\uFF0C\u672A\u56DE\u663E\u65E7\u5168\u6587\uFF09`});continue}let y=l.matchMode??"normalized",_=i[u],h=Bn(_,l.oldString,y);if(h.length===0){f("NOT_FOUND",`oldString \u5728 operation[${u}] \u7684\u811A\u672C\u4E2D\u672A\u5339\u914D\u5230\u4EFB\u4F55\u5185\u5BB9\uFF08matchMode=${y}\uFF09`,{suggestions:Wn(_,l.oldString,n)});continue}let R;if(l.replaceAll===!0)R=h;else if(l.occurrence!=null){if(!Number.isInteger(l.occurrence)||l.occurrence<1||l.occurrence>h.length){f("OCCURRENCE_OUT_OF_RANGE",`occurrence=${l.occurrence} \u8D8A\u754C\uFF0C\u5B9E\u9645\u5339\u914D\u6570\u4E3A ${h.length}`,{matchCount:h.length});continue}R=[h[l.occurrence-1]]}else if(h.length>1){let I=h.map(F=>`\u7B2C ${F.startLine}~${F.endLine} \u884C`).join("\u3001");f("NOT_UNIQUE",`oldString \u5339\u914D\u5230 ${h.length} \u5904\uFF08${I}\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:h.length});continue}else R=h;let w=Ct(l.newString,_),v=_;for(let I=R.length-1;I>=0;I--)v=v.slice(0,R[I].startOffset)+w+v.slice(R[I].endOffset);let x=Qn(_,R,w,s);i[u]=v,c.push({...m(),status:"OK",errorCode:"OK",matchCount:h.length,replacedCount:R.length,range:R[0],hunk:x})}return{scripts:i,results:c,ok:c.length>0&&c.every(a=>a.status==="OK")}}async function Dt(t,e){e.committype==="saverecord"&&(e.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{return(await Ce(t)).resp_data}catch(r){return D(r)}}function ce(t,e){return(e==="input"?t.input:t.output)??[]}function he(t){return t.actioncategory!=null&&String(t.actioncategory)!=="5"?null:(t.bindjson==null&&(t.bindjson={modelcode:t.modelcode}),t.bindjson.bindcols==null&&(t.bindjson.bindcols=[]),t.bindjson.bindcols)}function re(t){let e=K(t.field)?t.field:void 0,r=K(t.column)?t.column:void 0;return{fieldKey:e,colKey:r}}function te(t,e,r){return e!==void 0&&t?.field===e||r!==void 0&&e===void 0&&t?.column===r}function K(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}async function Zn(t,e,r){let s=(i={})=>({index:r,op:e.op,status:"OK",errorCode:"OK",message:null,...i}),n=(i,c,o={})=>({index:r,op:e.op,status:"FAILED",errorCode:i,message:c,...o});switch(e.op){case"add_param":{let i=ce(t,e.target);if(K(e.param.name)&&i.some(o=>o?.name===e.param.name))return n("DUP_NAME",`target=${e.target} \u4E2D\u5DF2\u5B58\u5728 name=${e.param.name} \u7684\u53C2\u6570\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let c=e.position??i.length;return i.splice(c,0,e.param),e.target==="input"?t.input=i:t.output=i,s({message:`\u5DF2\u5728 ${e.target} \u7684 position=${c} \u8FFD\u52A0\u53C2\u6570 ${e.param.name??"(\u672A\u547D\u540D)"}`})}case"remove_param":{let i=ce(t,e.target),c=i.filter(a=>a?.name===e.name);if(c.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`);if(c.length>1)return n("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${c.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let o=i.findIndex(a=>a?.name===e.name);return i.splice(o,1),e.target==="input"?t.input=i:t.output=i,s({message:`\u5DF2\u4ECE ${e.target} \u79FB\u9664\u53C2\u6570 ${e.name}`})}case"set_param_attrs":{let c=ce(t,e.target).filter(o=>o?.name===e.name);return c.length===0?n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`):c.length>1?n("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${c.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(c[0],e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230 ${e.target} \u53C2\u6570 ${e.name}`}))}case"add_property":{let c=ce(t,e.target).filter(y=>y?.name===e.paramName);if(c.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(c.length>1)return n("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${c.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let o=c[0],a=o.properties??(o.properties=[]),l=K(e.property.name)?e.property.name:void 0,u=K(e.property.propertycode)?e.property.propertycode:void 0,m=a.find(y=>l!==void 0&&y?.name===l||u!==void 0&&y?.propertycode===u);if(m){let y=l!==void 0&&m?.name===l?`name=${l}`:`propertycode=${u}`;return n("DUP_NAME",`\u53C2\u6570 ${e.paramName} \u4E2D\u5DF2\u5B58\u5728 ${y} \u7684\u5C5E\u6027\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`)}let f=e.position??a.length;return a.splice(f,0,e.property),s({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u7684 position=${f} \u8FFD\u52A0\u5C5E\u6027 ${e.property.name??e.property.propertycode??"(\u672A\u547D\u540D)"}`})}case"remove_property":{let i=K(e.propertyName)?e.propertyName:void 0,c=K(e.propertyCode)?e.propertyCode:void 0;if(i===void 0&&c===void 0)return n("INVALID_PARAMS","remove_property \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 propertyName \u6216 propertyCode\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E\uFF08\u5E73\u53F0\u4E0A\u81EA\u5B9A\u4E49\u5B57\u6BB5\u7684 propertycode \u6052\u4E3A\u7A7A\u4E32\uFF09");let a=ce(t,e.target).filter(_=>_?.name===e.paramName);if(a.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(a.length>1)return n("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${a.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let u=a[0].properties??[],m=_=>i!==void 0&&_?.name===i||c!==void 0&&_?.propertycode===c,f=u.filter(m);if(f.length===0)return n("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(f.length>1)return n("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${f.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let y=u.findIndex(m);return u.splice(y,1),s({message:`\u5DF2\u4ECE ${e.target}.${e.paramName} \u79FB\u9664\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"replace_property":{let i=K(e.propertyName)?e.propertyName:void 0,c=K(e.propertyCode)?e.propertyCode:void 0;if(i===void 0&&c===void 0)return n("INVALID_PARAMS","replace_property \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 propertyName \u6216 propertyCode\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E\uFF08\u5E73\u53F0\u4E0A\u81EA\u5B9A\u4E49\u5B57\u6BB5\u7684 propertycode \u6052\u4E3A\u7A7A\u4E32\uFF09");let a=ce(t,e.target).filter(_=>_?.name===e.paramName);if(a.length===0)return n("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(a.length>1)return n("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${a.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let u=a[0].properties??[],m=_=>i!==void 0&&_?.name===i||c!==void 0&&_?.propertycode===c,f=u.filter(m);if(f.length===0)return n("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(f.length>1)return n("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${f.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let y=u.findIndex(m);return u[y]=e.property,s({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u66FF\u6362\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"set_meta":{let i=["input","output","operations"].filter(c=>c in e.patch);return i.length>0?n("INVALID_PARAMS",`set_meta \u4E0D\u80FD\u4FEE\u6539 ${i.join("/")}\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7684 param/property \u7C7B op`):(Object.assign(t,e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u9876\u5C42\u5143\u6570\u636E\u5B57\u6BB5\u5230\u4E1A\u52A1\u903B\u8F91`}))}case"add_export_column":{let i=he(t);if(i===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 add_export_column\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let{fieldKey:c,colKey:o}=re(e.column);if(c!==void 0&&i.some(l=>l?.field===c))return n("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 field=${c} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);if(o!==void 0&&c===void 0&&i.some(l=>l?.column===o))return n("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 column=${o} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let a=e.position??i.length;return i.splice(a,0,e.column),s({message:`\u5DF2\u5728 bindcols \u7684 position=${a} \u8FFD\u52A0\u5BFC\u51FA\u5217 ${c??o??"(\u672A\u547D\u540D)"}`})}case"remove_export_column":{let{fieldKey:i,colKey:c}=re(e);if(i===void 0&&c===void 0)return n("INVALID_PARAMS","remove_export_column \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 field \u6216 column\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E");let o=he(t);if(o===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 remove_export_column\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let a=o.filter(u=>te(u,i,c));if(a.length===0)return n("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(a.length>1)return n("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${a.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00\uFF08field/column \u7EC4\u5408\u4E0D\u8DB3\u4EE5\u552F\u4E00\u5B9A\u4F4D\uFF09`);let l=o.findIndex(u=>te(u,i,c));return o.splice(l,1),s({message:`\u5DF2\u4ECE bindcols \u79FB\u9664\u5BFC\u51FA\u5217 ${i??c}`})}case"replace_export_column":{let{fieldKey:i,colKey:c}=re(e);if(i===void 0&&c===void 0)return n("INVALID_PARAMS","replace_export_column \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 field \u6216 column\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E");let o=he(t);if(o===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 replace_export_column\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let a=o.filter(u=>te(u,i,c));if(a.length===0)return n("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(a.length>1)return n("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${a.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let l=o.findIndex(u=>te(u,i,c));return o[l]=e.newColumn,s({message:`\u5DF2\u5728 bindcols \u66FF\u6362\u5BFC\u51FA\u5217 ${i??c}`})}case"set_export_column_attrs":{let{fieldKey:i,colKey:c}=re(e);if(i===void 0&&c===void 0)return n("INVALID_PARAMS","set_export_column_attrs \u9700\u63D0\u4F9B\u975E\u7A7A\u7684 field \u6216 column\uFF08\u4E8C\u9009\u4E00\uFF09\u7528\u4E8E\u5B9A\u4F4D\uFF1B\u7A7A\u5B57\u7B26\u4E32\u4E0D\u80FD\u4F5C\u4E3A\u5B9A\u4F4D\u952E");let o=he(t);if(o===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 set_export_column_attrs\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");let a=o.filter(l=>te(l,i,c));return a.length===0?n("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217"):a.length>1?n("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${a.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(a[0],e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u5BFC\u51FA\u5217 ${i??c}`}))}case"set_bind_meta":{if(he(t)===null)return n("INVALID_PARAMS","\u5F53\u524D\u4E1A\u52A1\u903B\u8F91\u975E\u5BFC\u51FA\u7C7B\u578B\uFF08actioncategory\u22605\uFF09\uFF0C\u4E0D\u80FD\u4F7F\u7528 set_bind_meta\uFF1B\u8BF7\u6539\u7528 save_model_logic \u5168\u91CF\u4FDD\u5B58");if("bindcols"in e.patch)return n("INVALID_PARAMS","set_bind_meta \u4E0D\u80FD\u4FEE\u6539 bindcols\uFF08\u5BFC\u51FA\u5217\u5B9A\u4E49\uFF09\uFF0C\u8BF7\u4F7F\u7528 add_export_column / remove_export_column \u7B49\u5217\u7EA7 op");let c=t.bindjson;return c?(Object.assign(c,e.patch),s({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A bindjson \u9876\u5C42\u5B57\u6BB5`})):n("INVALID_PARAMS","bindjson \u7F3A\u5931\uFF0C\u65E0\u6CD5\u6267\u884C set_bind_meta")}default:return n("OP_ERROR",`\u672A\u77E5 op \u7C7B\u578B\uFF1A${e.op}`)}}function Xn(t){let e=t.map(s=>`ops[${s.index}] ${s.op} (${s.status}): ${s.message??""}`).join(`\n`),r=e.split(`\n`);return r.length<=Ee?e:`${r.slice(0,Ee).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${r.length} \u884C\uFF09`}function er(t,e){let r=[],s=n=>(n==="input"?t.input:t.output)??[];for(let n=0;n<e.length;n++){let i=e[n];switch(i.op){case"set_meta":for(let[c,o]of Object.entries(i.patch))JSON.stringify(t[c])!==JSON.stringify(o)&&r.push(`ops[${n}] set_meta.${c} \u672A\u751F\u6548`);break;case"add_param":{s(i.target).some(o=>o?.name===i.param.name)||r.push(`ops[${n}] add_param \u53C2\u6570\u672A\u8FFD\u52A0`);break}case"remove_param":{s(i.target).some(o=>o?.name===i.name)&&r.push(`ops[${n}] remove_param \u53C2\u6570\u4ECD\u5B58\u5728`);break}case"set_param_attrs":{let o=s(i.target).find(a=>a?.name===i.name);if(!o){r.push(`ops[${n}] set_param_attrs \u53C2\u6570\u6D88\u5931`);break}for(let[a,l]of Object.entries(i.patch))JSON.stringify(o[a])!==JSON.stringify(l)&&r.push(`ops[${n}] set_param_attrs.${a} \u672A\u751F\u6548`);break}case"add_property":{let o=s(i.target).find(f=>f?.name===i.paramName);if(!o){r.push(`ops[${n}] add_property \u53C2\u6570\u6D88\u5931`);break}let a=o.properties??[],l=K(i.property.name)?i.property.name:void 0,u=K(i.property.propertycode)?i.property.propertycode:void 0;a.some(f=>l!==void 0&&f?.name===l||u!==void 0&&f?.propertycode===u)||r.push(`ops[${n}] add_property \u5C5E\u6027\u672A\u8FFD\u52A0`);break}case"remove_property":{let o=s(i.target).find(f=>f?.name===i.paramName);if(!o){r.push(`ops[${n}] remove_property \u53C2\u6570\u6D88\u5931`);break}let a=o.properties??[],l=K(i.propertyName)?i.propertyName:void 0,u=K(i.propertyCode)?i.propertyCode:void 0,m=f=>l!==void 0&&f?.name===l||u!==void 0&&f?.propertycode===u;a.some(m)&&r.push(`ops[${n}] remove_property \u5C5E\u6027\u4ECD\u5B58\u5728`);break}case"replace_property":{let o=s(i.target).find(y=>y?.name===i.paramName);if(!o){r.push(`ops[${n}] replace_property \u53C2\u6570\u6D88\u5931`);break}let a=o.properties??[],l=K(i.propertyName)?i.propertyName:void 0,u=K(i.propertyCode)?i.propertyCode:void 0,m=y=>l!==void 0&&y?.name===l||u!==void 0&&y?.propertycode===u,f=a.find(m);if(!f){r.push(`ops[${n}] replace_property \u5C5E\u6027\u6D88\u5931`);break}for(let[y,_]of Object.entries(i.property))JSON.stringify(f[y])!==JSON.stringify(_)&&r.push(`ops[${n}] replace_property.${y} \u672A\u751F\u6548`);break}case"add_export_column":{let c=t.bindjson?.bindcols??[],o=K(i.column.field)?i.column.field:void 0,a=K(i.column.column)?i.column.column:void 0;c.some(u=>te(u,o,a))||r.push(`ops[${n}] add_export_column \u5217\u672A\u8FFD\u52A0`);break}case"remove_export_column":{let c=t.bindjson?.bindcols??[],{fieldKey:o,colKey:a}=re(i);c.some(l=>te(l,o,a))&&r.push(`ops[${n}] remove_export_column \u5217\u4ECD\u5B58\u5728`);break}case"replace_export_column":{let c=t.bindjson?.bindcols??[],{fieldKey:o,colKey:a}=re(i),l=c.find(u=>te(u,o,a));if(!l){r.push(`ops[${n}] replace_export_column \u5217\u6D88\u5931`);break}for(let[u,m]of Object.entries(i.newColumn))JSON.stringify(l[u])!==JSON.stringify(m)&&r.push(`ops[${n}] replace_export_column.${u} \u672A\u751F\u6548`);break}case"set_export_column_attrs":{let c=t.bindjson?.bindcols??[],{fieldKey:o,colKey:a}=re(i),l=c.find(u=>te(u,o,a));if(!l){r.push(`ops[${n}] set_export_column_attrs \u5217\u6D88\u5931`);break}for(let[u,m]of Object.entries(i.patch))JSON.stringify(l[u])!==JSON.stringify(m)&&r.push(`ops[${n}] set_export_column_attrs.${u} \u672A\u751F\u6548`);break}case"set_bind_meta":{let c=t.bindjson;if(!c){r.push(`ops[${n}] set_bind_meta bindjson \u672A\u751F\u6548`);break}for(let[o,a]of Object.entries(i.patch))JSON.stringify(c[o])!==JSON.stringify(a)&&r.push(`ops[${n}] set_bind_meta.${o} \u672A\u751F\u6548`);break}}}return{verified:r.length===0,problems:r}}async function $t(t,e,r,s={}){let n=s.dryRun??!1,i=s.verify??!0,c=(h,R)=>({ok:!1,applied:!1,verified:null,errorCode:h,message:R,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return c("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let o;try{o=(await ee({modellogiccode:t})).resp_data}catch(h){return c("FETCH_FAILED",D(h))}if(!o)return c("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);let a=structuredClone(o),l=[],u=!1;for(let h=0;h<e.length;h++)try{let R=await Zn(a,e[h],h);l.push(R),R.status==="FAILED"&&(u=!0)}catch(R){l.push({index:h,op:e[h].op,status:"FAILED",errorCode:"OP_ERROR",message:D(R)}),u=!0}let m=Xn(l);if(u){let h=l.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${l.filter(R=>R.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${h}]\uFF09\u3002\u672C\u6279\u6B21\u672A\u4EA7\u751F\u4EFB\u4F55\u5199\u5165\uFF0C\u8BF7\u6839\u636E ops[].message \u4FEE\u6B63\u540E\u91CD\u8BD5`,diff:m,ops:l}}if(n)return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u6F14\u6210\u529F\uFF08dryRun=true\uFF09\uFF0C${e.length} \u4E2A op \u5168\u90E8\u547D\u4E2D\uFF0C\u672A\u843D\u5E93`,diff:m,ops:l};r.committype==="saverecord"&&(r.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),a.message=JSON.stringify(r);let f;try{let h=await Ce(a);f=typeof h?.resp_data=="string"?h.resp_data:JSON.stringify(h?.resp_data??null)}catch(h){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(h),diff:m,ops:l}}let y=null,_=f;if(i)try{let R=(await ee({modellogiccode:t})).resp_data;if(!R)y=!1,_=`${f} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let w=er(R,e);y=w.verified,w.verified||(_=`${f} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${w.problems.join("\uFF1B")}`)}}catch(h){y=!1,_=`${f} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(h)}`}return{ok:y===null?!0:y,applied:!0,verified:y,errorCode:y===!1?"VERIFY_FAILED":"OK",message:_,diff:m,ops:l}}var Ee=150;function tr(t){let e=t.filter(n=>n.hunk).map(n=>`--- ops[${n.index}]${n.label?` (${n.label})`:""} @ operation[${n.operationIndex}]\n${n.hunk}`);if(e.length===0)return"";let r=e.join(`\n`),s=r.split(`\n`);return s.length<=Ee?r:`${s.slice(0,Ee).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${s.length} \u884C\uFF09`}async function nr(t,e){e.committype==="saverecord"&&(e.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{let r=await Ce(t);return{ok:!0,text:typeof r?.resp_data=="string"?r.resp_data:JSON.stringify(r?.resp_data??null)}}catch(r){return{ok:!1,text:D(r)}}}async function Et(t,e,r,s={}){let n=s.contextLines??3,i=s.dryRun??!1,c=s.verify??!0,o=(w,v)=>({ok:!1,applied:!1,verified:null,errorCode:w,message:v,lengthBefore:0,lengthAfter:0,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return o("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let a;try{a=(await ee({modellogiccode:t})).resp_data}catch(w){return o("FETCH_FAILED",D(w))}if(!a)return o("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);if(!a.operations||a.operations.length===0)return o("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 l=a.operations.map(w=>w.templateparams?.flycode??""),u=l.reduce((w,v)=>w+v.length,0),m=$e(l,e,{contextLines:n}),f=tr(m.results),y=m.scripts.reduce((w,v)=>w+v.length,0);if(!m.ok){let w=m.results.filter(x=>x.status==="FAILED"),v=w.map(x=>x.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${w.length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${v}]\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:u,lengthAfter:y,diff:f,ops:m.results}}if(i)return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u6F14\u6210\u529F\uFF08dryRun=true\uFF09\uFF0C${e.length} \u4E2A op \u5168\u90E8\u547D\u4E2D\uFF0C\u672A\u843D\u5E93`,lengthBefore:u,lengthAfter:y,diff:f,ops:m.results};for(let w=0;w<m.scripts.length;w++)if(m.scripts[w]!==l[w]){let v=a.operations[w].templateparams;a.operations[w].templateparams={...v??{},flycode:m.scripts[w]}}let _=await nr(a,r);if(!_.ok)return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:_.text,lengthBefore:u,lengthAfter:y,diff:f,ops:m.results};let h=null,R=_.text;if(c)try{let x=((await ee({modellogiccode:t})).resp_data?.operations??[]).map(F=>F.templateparams?.flycode??""),I=[];m.results.forEach((F,H)=>{let M=e[H],B=x[F.operationIndex]??"",Y=M.matchMode??"normalized",q=z(B,Y),ge=z(M.newString,Y),fe=z(M.oldString,Y);M.newString.length>0&&!q.includes(ge)&&I.push(`ops[${H}] \u7684\u65B0\u5185\u5BB9\u672A\u51FA\u73B0\u5728\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`),!ge.includes(fe)&&q.includes(fe)&&I.push(`ops[${H}] \u7684 oldString \u4ECD\u7136\u5B58\u5728\u4E8E\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`)}),h=I.length===0,I.length>0&&(R=`${_.text} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${I.join("\uFF1B")}`)}catch(w){h=!1,R=`${_.text} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(w)}`}return{ok:h===null?!0:h,applied:!0,verified:h,errorCode:h===!1?"VERIFY_FAILED":"OK",message:R,lengthBefore:u,lengthAfter:y,diff:f,ops:m.results}}var Ft=[{name:"save_model_logic",config:{title:"\u4FDD\u5B58\u4E1A\u52A1\u903B\u8F91\uFF08\u4EC5\u65B0\u589E / \u6216\u5168\u91CF JSON \u5F88\u5C0F\u5982\u5FAE\u670D\u52A1\uFF09",description:`\u5168\u91CF\u4FDD\u5B58\u4E00\u6761\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u3002\u4EC5\u7528\u4E8E\uFF1A\u2460\u65B0\u589E\uFF1B\u2461\u5DF2\u6709\u903B\u8F91 JSON \u5F88\u5C0F\uFF08\u5982\u5FAE\u670D\u52A1 actioncategory=2\uFF09\u3002\u7F16\u8F91\u666E\u901A flycode \u63A5\u53E3\u7684\u5DF2\u6709\u903B\u8F91\u8BF7\u52FF\u56DE\u4F20\u6574\u4EFD\u5927\u5BF9\u8C61\u2014\u2014\u6539\u811A\u672C\u7528 str_replace_flycode\uFF0C\u6539\u7ED3\u6784/\u5143\u6570\u636E\u7528 patch_model_logic\u3002\nactioncategory \u679A\u4E3E\u89C1 get_model_logic / page_model_logic_list\u3002\n\n${V}`,inputSchema:{logic:Pt.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:G.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:A.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 t=>{let{logic:e,commitMessage:r}=t,s=Q(r);try{let n=await Dt(e,s);return{content:[{type:"text",text:n}],structuredContent:{result:n}}}catch(n){let i=D(n);return{isError:!0,content:[{type:"text",text:i}],structuredContent:{result:i}}}}},{name:"patch_model_logic",config:{title:"\u5C40\u90E8\u8865\u4E01\u4FEE\u6539\u4E1A\u52A1\u903B\u8F91(\u6A21\u578B\u903B\u8F91/modelLogic/\u9886\u57DF)\u7684input/output/\u5143\u6570\u636E",description:`\u4EE5 delta ops \u5C40\u90E8\u4FEE\u6539 input/output \u7ED3\u6784\u6216\u9876\u5C42\u5143\u6570\u636E\uFF0C\u65E0\u9700\u56DE\u4F20\u6574\u4EFD LogicResult\u3002ops \u5206\u4E09\u7C7B\uFF1A\u2460input/output \u7ED3\u6784\uFF08add_param/remove_param/set_param_attrs/add_property/remove_property/replace_property\uFF09\uFF1B\u2461\u5143\u6570\u636E\uFF08set_meta\uFF0C\u4E0D\u542B input/output/operations\uFF09\uFF1B\u2462\u5BFC\u51FA\u5217\uFF08\u4EC5 actioncategory=5\uFF1Aadd_export_column/remove_export_column/replace_export_column/set_export_column_attrs/set_bind_meta\uFF09\u3002\u5168\u90E8 op \u9884\u6F14\u6210\u529F\u624D\u843D\u5E93\uFF0C\u4EFB\u4E00\u5931\u8D25\u6574\u6279\u56DE\u6EDA\u3002\u6539 flycode \u811A\u672C\u8BF7\u7528 str_replace_flycode\uFF1B\u5FAE\u670D\u52A1 JSON \u5C0F\u8BF7\u76F4\u63A5\u7528 save_model_logic\u3002\n\n${V}\n${ae}\n${Ne}`,inputSchema:{modellogiccode:A.string().describe("\u76EE\u6807\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:A.array(At).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:G.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:A.boolean().optional().describe("\u53EA\u9884\u6F14\u5E76\u8F93\u51FA\u6458\u8981\u3001\u4E0D\u843D\u5E93\uFF0C\u9ED8\u8BA4 false\u3002\u6539\u52A8\u8F83\u5927\u6216\u4E0D\u786E\u5B9A\u65F6\u5EFA\u8BAE\u5148\u7F6E true"),verify:A.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:A.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:A.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:A.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:A.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / PARAM_NOT_FOUND / PROP_NOT_FOUND / DUP_NAME / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:A.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),diff:A.string().describe("\u5168\u90E8 op \u7684\u6267\u884C\u6458\u8981\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD\uFF1B\u53EA\u56DE\u6539\u52A8\u6458\u8981\uFF0C\u4E0D\u56DE\u6574\u4EFD\u5BF9\u8C61"),ops:A.array(A.object({index:A.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:A.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:A.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:A.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801\uFF1AOK / PARAM_NOT_FOUND / PROP_NOT_FOUND / DUP_NAME / INVALID_PARAMS / OP_ERROR"),message:A.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null")})).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 t=>{let{modellogiccode:e,commitMessage:r,dryRun:s=!1,verify:n=!0}=t,i=t.ops,c=Q(r);try{let o=await $t(e,i,c,{dryRun:s,verify:n});return{isError:!o.ok,content:[{type:"text",text:JSON.stringify(o)}],structuredContent:o}}catch(o){let a=D(o);return{isError:!0,content:[{type:"text",text:a}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:a,diff:"",ops:[]}}}}},{name:"str_replace_flycode",config:{title:"\u6279\u91CF\u5C40\u90E8\u66FF\u6362 flycode \u811A\u672C",description:"\u4EE5 oldString\u2192newString \u5C40\u90E8\u66FF\u6362 flycode \u811A\u672C\uFF0C\u4E0D\u5FC5\u56DE\u4F20\u6574\u4EFD\u3002\u652F\u6301\u591A ops \u6279\u91CF\u3001rewrite=true \u6574\u4EFD\u91CD\u5199\uFF08\u53EA\u4F20 newString\uFF09\u3001dryRun \u9884\u89C8\u3001occurrence/replaceAll \u6D88\u6B67\uFF1B\u9ED8\u8BA4\u5BB9\u5FCD CRLF/LF \u5DEE\u5F02\u3002\u5168\u90E8 op \u4E8B\u52A1\u6027\u9884\u6F14\uFF0C\u4EFB\u4E00\u5931\u8D25\u6574\u6279\u56DE\u6EDA\u3002\u6539\u7ED3\u6784/\u5143\u6570\u636E\u8BF7\u7528 patch_model_logic\u3002",inputSchema:{modelLogicCode:A.string().describe("\u8981\u4FEE\u6539\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:A.array(A.object({oldString:A.string().describe("\u5F85\u66FF\u6362\u7684\u539F\u6587\u7247\u6BB5\uFF0C\u5728 partial \u6A21\u5F0F\uFF08\u9ED8\u8BA4\uFF0Crewrite \u975E true\uFF09\u4E0B\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\u3002rewrite=true \u65F6\u672C\u5B57\u6BB5\u88AB\u5FFD\u7565"),newString:A.string().describe("\u66FF\u6362\u540E\u7684\u65B0\u6587\u672C\uFF1Bpartial \u6A21\u5F0F\u4E0B\u4F20\u7A7A\u5B57\u7B26\u4E32\u8868\u793A\u5220\u9664 oldString \u8FD9\u6BB5\u5185\u5BB9\uFF1Brewrite=true \u65F6\u672C\u5B57\u6BB5\u4E3A\u6574\u4EFD\u66FF\u6362\u7684\u76EE\u6807\u5168\u6587\uFF08\u5FC5\u586B\uFF09"),rewrite:A.boolean().optional().describe("\u6574\u4EFD\u66FF\u6362\u5F00\u5173\uFF1A\u4E3A true \u65F6\u5FFD\u7565 oldString\uFF0C\u628A\u6574\u4E2A operation \u7684 flycode \u811A\u672C\u6574\u4F53\u66FF\u6362\u4E3A newString\uFF0C\u7528\u4E8E\u6574\u4EFD\u811A\u672C\u91CD\u5199\uFF08\u5927\u8303\u56F4\u91CD\u6784\uFF09\uFF0C\u7701\u53BB\u56DE\u4F20\u65E7\u5168\u6587\uFF1B\u7F3A\u7701/false \u7EF4\u6301\u539F\u6709 str_replace \u5C40\u90E8\u66FF\u6362\u884C\u4E3A"),operationIndex:A.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:A.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:A.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:A.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:A.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\u3002\u6574\u4EFD\u91CD\u5199\u7528 rewrite=true \u7684\u5355 op\uFF0C\u5C40\u90E8\u6539\u52A8\u7528 oldString/newString \u7684\u591A op"),commitMessage:G.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:A.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:A.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:A.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:A.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:A.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:A.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:A.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / NO_OPERATIONS / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:A.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),lengthBefore:A.coerce.number().describe("\u66FF\u6362\u524D\u811A\u672C\u603B\u5B57\u7B26\u6570"),lengthAfter:A.coerce.number().describe("\u66FF\u6362\u540E\u811A\u672C\u603B\u5B57\u7B26\u6570"),diff:A.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:A.array(A.object({index:A.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),label:A.string().nullable().describe("\u8C03\u7528\u65B9\u4F20\u5165\u7684\u6807\u8BC6"),status:A.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:A.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:A.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),operationIndex:A.coerce.number().describe("\u5B9E\u9645\u4F5C\u7528\u7684 operation \u4E0B\u6807"),matchCount:A.coerce.number().describe("oldString \u7684\u5339\u914D\u603B\u6570"),replacedCount:A.coerce.number().describe("\u5B9E\u9645\u66FF\u6362\u7684\u5904\u6570"),range:A.object({startOffset:A.coerce.number().describe("\u8D77\u59CB\u5B57\u7B26\u504F\u79FB"),endOffset:A.coerce.number().describe("\u7ED3\u675F\u5B57\u7B26\u504F\u79FB\uFF08\u4E0D\u542B\uFF09"),startLine:A.coerce.number().describe("\u8D77\u59CB\u884C\u53F7\uFF0C1-based"),endLine:A.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:A.array(A.object({startLine:A.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:A.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:A.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:A.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:A.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 t=>{let{modelLogicCode:e,ops:r,commitMessage:s,dryRun:n=!1,contextLines:i=3,verify:c=!0}=t,o=Q(s);try{let a=await Et(e,r,o,{dryRun:n,contextLines:i,verify:c});return{isError:!a.ok,content:[{type:"text",text:JSON.stringify({ok:a.ok,applied:a.applied,verified:a.verified,errorCode:a.errorCode,message:a.message,ops:a.ops.map(l=>({index:l.index,status:l.status,errorCode:l.errorCode,message:l.message,operationIndex:l.operationIndex,matchCount:l.matchCount,replacedCount:l.replacedCount,range:l.range,suggestions:l.suggestions,dependentOnFailedOp:l.dependentOnFailedOp})),diff:a.diff})}],structuredContent:a}}catch(a){let l=D(a);return{isError:!0,content:[{type:"text",text:l}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:l,lengthBefore:0,lengthAfter:0,diff:"",ops:[]}}}}}];import{z as k}from"zod";function Tt(t){return $({url:"/bizserv/biz/pageList",method:"post",data:t,type:"tenant"})}function de(t){return $({url:"/bizserv/biz/getBizObject",method:"post",data:t,type:"tenant"})}function Mt(t){return $({url:"/bizserv/biz/saveObject",method:"post",data:t,type:"tenant"})}var _e={ENTITY:"1",FORM:"3"};function Fe(t){return $({url:"/bizserv/biz/getDirectorys",method:"post",data:t,type:"tenant"})}function L(t){return t==null?"":String(t)}function we(t,e){return L(t).toLowerCase().includes(e)}function Re(t,e={}){let r=Array.isArray(t)?t:[],s=L(e.keys).trim(),n=L(e.directorytypecode).trim(),i=L(e.parentdirectorytypecode).trim(),c=L(e.centercode).trim(),o=L(e.centername).trim(),a=L(e.marktype).trim(),l=s.toLowerCase(),u=M=>L(M.parentdirectorytypecode).trim()==="",m=i.toLowerCase()==="root",f=r.filter(M=>{if(n&&L(M.directorytypecode).trim()!==n)return!1;if(m){if(!u(M))return!1}else if(i&&L(M.parentdirectorytypecode).trim()!==i)return!1;return!(c&&L(M.centercode).trim()!==c||o&&!we(M.centername,o.toLowerCase())||a&&L(M.marktype).trim()!==a||l&&!(we(M.directorytypename,l)||we(M.directoryname,l)||we(M.centername,l)||we(M.directorytypecode,l)))}),y=!!(l||n||i||c||o),_=f,h=null;if(y||(_=f.filter(u),h=`\u63A5\u53E3\u4E0D\u652F\u6301\u5206\u9875\u4E14\u5168\u91CF ${r.length} \u6761\uFF0C\u672A\u4F20\u7B5B\u9009\u6761\u4EF6\u65F6\u5DF2\u81EA\u52A8\u6536\u655B\u4E3A\u9876\u7EA7\u76EE\u5F55 ${_.length} \u6761\uFF1B\u8BF7\u4F20 keys \u6309\u540D\u79F0\u6A21\u7CCA\u641C\u7D22\uFF0C\u6216\u7528 parentdirectorytypecode \u9010\u7EA7\u4E0B\u94BB\u3002`),l){let M=B=>{let Y=L(B.directorytypename).toLowerCase(),q=L(B.directoryname).toLowerCase();return Y===l||q===l?0:Y.startsWith(l)||q.startsWith(l)?1:2};_=[..._].sort((B,Y)=>{let q=M(B)-M(Y);if(q!==0)return q;let ge=L(B.directorytypename).length,fe=L(Y.directorytypename).length;return ge!==fe?ge-fe:L(B.directorytypecode).localeCompare(L(Y.directorytypecode))})}else _=[..._].sort((M,B)=>{let Y=L(M.directorytypecode),q=L(B.directorytypecode);return Y.length!==q.length?Y.length-q.length:Y.localeCompare(q)});let R=Number(e.limit),w=Number.isFinite(R)&&R>0?Math.min(Math.floor(R),200):30,v=Number(e.offset),x=Number.isFinite(v)&&v>0?Math.floor(v):0,I=_.slice(x,x+w),F=x+I.length<_.length,H=[];return h&&H.push(h),Number.isFinite(R)&&R>200&&H.push(`limit ${R} \u8D85\u8FC7\u786C\u4E0A\u9650 200\uFF0C\u5DF2\u6309 200 \u5904\u7406\u3002`),F&&H.push(`\u547D\u4E2D ${_.length} \u6761\uFF0C\u672C\u6B21\u8FD4\u56DE\u7B2C ${x+1}-${x+I.length} \u6761\uFF1B\u8BF7\u7F29\u5C0F keys \u8303\u56F4\u6216\u8C03\u5927 offset \u7EE7\u7EED\u7FFB\u9875\u3002`),_.length===0&&H.push(`\u672A\u547D\u4E2D\u4EFB\u4F55\u76EE\u5F55\uFF08\u63A5\u53E3\u5168\u91CF ${r.length} \u6761\uFF09\uFF1B\u8BF7\u6362\u66F4\u77ED\u7684\u5173\u952E\u8BCD\uFF0C\u6216\u4F20 parentdirectorytypecode="root" \u4ECE\u9876\u7EA7\u76EE\u5F55\u9010\u7EA7\u4E0B\u94BB\u3002`),{sourceTotal:r.length,total:_.length,returned:I.length,offset:x,limit:w,truncated:F,hint:H.length>0?H.join(" "):null,items:I.map(rr)}}function rr(t){let e=t.directorytypename??null,r=L(t.directoryname),s=L(t.parentdirectorytypecode).trim(),n=L(t.centername).trim(),i={directorytypecode:L(t.directorytypecode),directorytypename:e};r&&r!==L(e)&&(i.directoryname=r),s&&(i.parentdirectorytypecode=s),n&&(i.centername=n);let c=Number(t.marktype);return Number.isFinite(c)&&t.marktype!==null&&t.marktype!==void 0&&(i.marktype=c),i}import{z as P}from"zod";var or=P.array(P.object({columnname:P.string().optional().nullable().describe("\u5C5E\u6027\u5217\u7684\u5217\u540D\uFF0C\u5373\u6570\u636E\u5E93\u8868\u7684\u5B57\u6BB5\u7684\u540D\u5B57"),idxtype:P.union([P.string(),P.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:P.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:P.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),propertycategorycode:P.string().optional().nullable().describe("\u5C5E\u6027\u7C7B\u522B\u7F16\u7801"),propertycode:P.string().optional().nullable().describe("\u5C5E\u6027\u7F16\u7801\uFF0C\u552F\u4E00\u6807\u8BC6\u4E00\u4E2A\u5C5E\u6027"),propertydescr:P.string().optional().nullable().describe("\u5C5E\u6027\u63CF\u8FF0"),propertyname:P.string().optional().nullable().describe("\u5C5E\u6027\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),propertytypecode:P.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:P.union([P.string(),P.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:P.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:P.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:P.union([P.string(),P.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:P.union([P.string(),P.number()]).optional().nullable().describe("\u5C5E\u6027\u5E8F\u53F7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),columnnameError:P.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:P.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:P.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:P.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(P.unknown())),ir={confsource:P.union([P.string(),P.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:P.union([P.string(),P.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:P.union([P.string(),P.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:P.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),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("\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:P.union([P.string(),P.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:P.string().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:P.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:P.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:P.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:P.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801\u3002\u4EC5\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u8FD4\u56DE"),objecttypecode:P.union([P.string(),P.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:P.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode\u3002\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),properties:or.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:P.union([P.string(),P.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),script:P.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:P.union([P.string(),P.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:P.union([P.string(),P.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:P.union([P.string(),P.number()]).optional().nullable().describe("\u5B9E\u4F53\u5E8F\u53F7\u3002\u4EC5\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),tablename:P.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D")},Lt=P.looseObject(ir);var jt=[{name:"page_entity_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53",description:`\u5206\u9875\u67E5\u8BE2\u5B9E\u4F53(\u6570\u636E\u5E93\u8868)\u5217\u8868\u3002\u652F\u6301\u6309\u540D\u79F0/\u7C7B\u578B\u7B5B\u9009\u3002\n\n${V}\n${ne}`,inputSchema:{objectname:k.string().optional().describe("\u5B9E\u4F53\u4E2D\u6587\u540D\u3001\u5B9E\u4F53\u8868\u540D\u3001\u5B9E\u4F53 objectcode \u6A21\u7CCA\u5339\u914D"),page:k.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:k.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updatetimestart:k.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:k.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:k.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:k.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:k.array(k.object({confsource:k.union([k.string(),k.number()]).optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),createaccountcode:k.union([k.string(),k.number()]).optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:k.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:k.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),datapattern:k.union([k.string(),k.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:k.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:k.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),hasoffline:k.string().optional().nullable().describe("\u5B9E\u4F53\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C1-\u6709\uFF1B0-\u65E0"),marktype:k.union([k.string(),k.number()]).optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:k.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C objectcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectcatgory:k.union([k.string(),k.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:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:k.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:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:k.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801"),objecttypecode:k.union([k.string(),k.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"),parentobjectcode:k.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode"),publishstatus:k.union([k.string(),k.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),status:k.union([k.string(),k.number()]).optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:k.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D"),updateaccountcode:k.union([k.string(),k.number()]).optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),updatetime:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(k.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:k.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:k.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:k.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:k.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{objectname:e="",page:r=1,rows:s=20,updatetimestart:n="",updatetimeend:i="",datapattern:c="",objecttypecode:o=""}=t;try{let a=await Tt({centercode:"",directorytypecode:"rootNode",starttime:"",objectname:e,page:Number(r)||1,rows:Number(s)||20,updatetimestart:n,updatetimeend:i,datapattern:c,objecttypecode:o});return T(a.resp_data)}catch(a){return j(a)}}},{name:"get_entity",config:{title:"\u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5",description:`\u6309 objectcode \u67E5\u8BE2\u5B9E\u4F53\u8BE6\u60C5\uFF1A\u57FA\u672C\u4FE1\u606F\u4E0E\u5C5E\u6027\u6570\u7EC4 properties\u3002\npropertytypecode \u5B8C\u6574\u679A\u4E3E\u89C1 get_model_logic\u3002\n\n${V}\n${ne}`,inputSchema:{objectcode:k.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u5B9E\u4F53\u7684\u7F16\u7801")},outputSchema:Lt,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{objectcode:e}=t;try{let r=await de({objectcode:e});return T(r.resp_data)}catch(r){return j(r)}}},{name:"page_entity_directories",config:{title:"\u67E5\u8BE2\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55",description:`\u67E5\u8BE2\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u6240\u5C5E\u76EE\u5F55\u5217\u8868\uFF0C\u53D6\u56DE\u7684 directorytypecode \u5373\u76EE\u5F55\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u4E3A\u5B9E\u4F53\u6307\u5B9A\u76EE\u5F55\u65F6\u4F7F\u7528\u3002\n\n- \u9ED8\u8BA4\u6700\u591A\u56DE ${30} \u6761\uFF0C\u786C\u4E0A\u9650 ${200} \u6761\uFF1B\n- \u672A\u4F20\u4EFB\u4F55\u7B5B\u9009\u6761\u4EF6\u65F6\uFF0C\u53EA\u56DE\u9876\u7EA7\u76EE\u5F55\uFF08\u901A\u5E38\u5341\u4F59\u6761\u91CF\u7EA7\uFF09\u5E76\u5728 hint \u4E2D\u8BF4\u660E\uFF1B\n- \u547D\u4E2D\u8FC7\u591A\u65F6 truncated=true\uFF0C\u8BF7\u7F29\u5C0F keys \u6216\u7528 offset \u7FFB\u9875\u3002\n\u7528\u6CD5\u5EFA\u8BAE\uFF1A\u5148\u7528 keys \u6309\u76EE\u5F55\u540D\u6A21\u7CCA\u641C\u7D22\uFF08\u5982 keys="\u4EF7\u683C"\uFF09\uFF0C\u62FF\u5230 directorytypecode \u540E\u518D\u53BB\u5EFA\u5B9E\u4F53\uFF08create_entity\uFF09\uFF1B\u4E5F\u53EF\u4F20 parentdirectorytypecode \u9010\u7EA7\u4E0B\u94BB\uFF08\u4F20 "root" \u53EA\u770B\u9876\u7EA7\uFF09\u3002\n\n${ne}`,inputSchema:{keys:k.string().optional().describe("\u76EE\u5F55\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u547D\u4E2D directorytypename / directoryname / centername / directorytypecode\uFF1B\u5F3A\u70C8\u5EFA\u8BAE\u4F18\u5148\u7528\u5B83\u68C0\u7D22\uFF0C\u907F\u514D\u62C9\u53D6\u5168\u91CF"),directorytypecode:k.string().optional().describe("\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF08\u5DF2\u77E5\u7F16\u7801\u53CD\u67E5\u540D\u79F0\u65F6\u7528\uFF09"),parentdirectorytypecode:k.string().optional().describe('\u7236\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF1B\u4F20 "root" \u8868\u793A\u53EA\u8981\u9876\u7EA7\u76EE\u5F55\uFF08parentdirectorytypecode \u4E3A\u7A7A\uFF09\uFF1B\u4F20\u5177\u4F53\u7F16\u7801\u5219\u53D6\u5176\u76F4\u63A5\u5B50\u76EE\u5F55'),centername:k.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u5982\u300C\u5BA2\u8BBF\u7BA1\u7406\u300D\u300C\u8425\u9500\u8D39\u63A7\u300D"),centercode:k.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u7F16\u7801\u7CBE\u786E\u5339\u914D"),marktype:k.string().optional().describe("\u521B\u5EFA\u6807\u8BB0\u7CBE\u786E\u5339\u914D\uFF0C\u6574\u6570\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),limit:k.string().optional().describe(`\u8FD4\u56DE\u6761\u6570\u4E0A\u9650\uFF0C\u9ED8\u8BA4 ${30}\uFF0C\u786C\u4E0A\u9650 ${200}`),offset:k.string().optional().describe("\u8D77\u59CB\u504F\u79FB\uFF0C\u9ED8\u8BA4 0\uFF1B\u914D\u5408 limit \u7FFB\u9875"),directorycategory:k.string().optional().describe('\u76EE\u5F55\u7C7B\u522B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u5B9E\u4F53\u76EE\u5F55\uFF08\u9ED8\u8BA4 "1"\uFF0C\u5373\u5B9E\u4F53 directorytypecode \u7684\u53D6\u503C\u6765\u6E90\uFF09\uFF1B3-\u8868\u5355/\u9875\u9762\u76EE\u5F55')},outputSchema:{sourceTotal:k.coerce.number().describe("\u63A5\u53E3\u8FD4\u56DE\u7684\u76EE\u5F55\u603B\u6570\uFF08\u7B5B\u9009\u524D\uFF0C\u4F53\u73B0\u5168\u91CF\u89C4\u6A21\uFF09"),total:k.coerce.number().describe("\u6309\u7B5B\u9009\u6761\u4EF6\u547D\u4E2D\u7684\u6761\u6570\uFF08\u622A\u65AD\u524D\uFF09"),returned:k.coerce.number().describe("\u672C\u6B21\u5B9E\u9645\u8FD4\u56DE\u6761\u6570"),offset:k.coerce.number().describe("\u672C\u6B21\u8FD4\u56DE\u7684\u8D77\u59CB\u504F\u79FB"),limit:k.coerce.number().describe("\u672C\u6B21\u751F\u6548\u7684\u8FD4\u56DE\u6761\u6570\u4E0A\u9650"),truncated:k.boolean().describe("true \u8868\u793A\u547D\u4E2D\u6570\u5927\u4E8E\u672C\u6B21\u8FD4\u56DE\uFF0C\u8FD8\u6709\u540E\u7EED"),hint:k.union([k.string(),k.null()]).describe("\u6536\u655B/\u7FFB\u9875\u63D0\u793A\uFF1Bnull \u8868\u793A\u65E0\u9700\u63D0\u793A"),items:k.array(k.object({directorytypecode:k.string().describe("\u76EE\u5F55\u7F16\u7801\uFF0C\u5373\u5B9E\u4F53 directorytypecode \u7684\u53D6\u503C\uFF0C\u4E5F\u662F create_entity \u7684\u5FC5\u586B\u5165\u53C2"),directorytypename:k.union([k.string(),k.null()]).optional().describe("\u76EE\u5F55\u540D\u79F0\uFF08\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u5E26\u540E\u7F00\uFF0C\u5982\u300C\u5236\u5B9A\u8BA1\u5212(\u5BA2\u8BBF\u7BA1\u7406)\u300D\uFF09"),directoryname:k.string().optional().describe("\u76EE\u5F55\u672C\u540D\uFF0C\u4EC5\u5728\u4E0E directorytypename \u4E0D\u540C\u65F6\u8FD4\u56DE"),parentdirectorytypecode:k.string().optional().describe("\u7236\u76EE\u5F55\u7F16\u7801\uFF1B\u7F3A\u5931\u5373\u9876\u7EA7\u76EE\u5F55"),centername:k.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\uFF0C\u4EC5\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u8FD4\u56DE"),marktype:k.coerce.number().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237")})).describe("\u76EE\u5F55\u9879\uFF08\u5DF2\u88C1\u526A\uFF0C\u4EC5\u4FDD\u7559\u5B9A\u4F4D\u6240\u9700\u5B57\u6BB5\uFF09")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a,directorycategory:l=_e.ENTITY}=t;try{let u=await Fe({directorycategory:String(l||_e.ENTITY)}),m=Array.isArray(u?.resp_data)?u.resp_data:[];return T(Re(m,{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a}))}catch(u){return j(u)}}}];import{z as S}from"zod";var Ze=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(e,r,s=15778368e5){if(e>this.maxWorkerId||e<0)throw new Error(`workerId \u5FC5\u987B\u5728 0 ~ ${this.maxWorkerId} \u4E4B\u95F4`);if(r>this.maxDatacenterId||r<0)throw new Error(`datacenterId \u5FC5\u987B\u5728 0 ~ ${this.maxDatacenterId} \u4E4B\u95F4`);this.workerId=BigInt(e),this.datacenterId=BigInt(r),this.epoch=BigInt(s)}nextId(){let e=this.currentTimestamp();if(e<this.lastTimestamp){let s=this.lastTimestamp-e;if(s<=5n)for(;e<this.lastTimestamp;)e=this.currentTimestamp();else throw new Error(`\u65F6\u949F\u56DE\u62E8\u8FC7\u5927: ${s}ms\uFF0C\u65E0\u6CD5\u751F\u6210 ID`)}return e===this.lastTimestamp?(this.sequence=this.sequence+1n&BigInt(this.sequenceMask),this.sequence===0n&&(e=this.waitNextMillis(this.lastTimestamp))):this.sequence=0n,this.lastTimestamp=e,e-this.epoch<<BigInt(this.timestampShift)|this.datacenterId<<BigInt(this.datacenterIdShift)|this.workerId<<BigInt(this.workerIdShift)|this.sequence}waitNextMillis(e){let r=this.currentTimestamp();for(;r<=e;)r=this.currentTimestamp();return r}currentTimestamp(){return BigInt(Date.now())}parse(e){let r=(e>>BigInt(this.timestampShift))+this.epoch,s=e>>BigInt(this.datacenterIdShift)&BigInt(this.maxDatacenterId),n=e>>BigInt(this.workerIdShift)&BigInt(this.maxWorkerId),i=e&BigInt(this.sequenceMask);return{timestamp:r,datacenterId:s,workerId:n,sequence:i,generateTime:new Date(Number(r))}}},sr=1,ar=1,lr=new Ze(sr,ar),ke=()=>lr.nextId();var cr="3",dr=new Set(["200000000000","100000000000","10000000000","300000000000","1000000000"]);function Le(t){return String(t??"")===cr}function Ht(t){return t?dr.has(t):!1}function ur(t){let e=String(t.datapattern??"");return e==="3"||e==="4"}function Me(t,e,r={}){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:"",...r}}function Xe(t,e){let r={propertycode:ke().toString(),propertyname:t.propertyname,columnname:t.columnname,propertytypecode:t.propertytypecode,propertycategorycode:"1",idxtype:t.idxtype??"1",marktype:"2",propertydescr:t.propertydescr??"",ismaster:t.ismaster??"0",relationobjectcode:t.relationobjectcode??"",relationpropertycode:t.relationpropertycode??"",status:"1",publishstatus:"2"};return e.seq&&(r.seq=null),r}function pr(t){let e={...t};return e.committype==="saverecord"&&(e.msgbody=J(new Date,"YYYY-MM-DD HH:mm")),{message:JSON.stringify(e),edittime:J(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:!1}}function ve(t){return Le(t)?1:2}function mr(t){let e=Le(t.objecttypecode);return{objectcode:ke().toString(),objectname:t.objectname,objecttypecode:t.objecttypecode,datapattern:"1",tablename:t.tablename,objectmark:t.tablename,objectdescr:t.propertydescr??"",directorytypecode:t.directorytypecode,objectcatgory:"2",storagelevel:0,parentobjectcode:t.parentobjectcode??"",diclayer:"0",script:"",marktype:"2",status:"1",publishstatus:ve(t.objecttypecode),properties:[]}}function gr(t){let e=t.initialFields??[],r=e.some(n=>n.propertytypecode==="1"),s=[];r||s.push(Xe({propertyname:"\u4E3B\u952E",columnname:"id",propertytypecode:"1",idxtype:"2",ismaster:"0"},{seq:!1}));for(let n of e)s.push(Xe(n,{seq:!1}));return s}async function Vt(t,e){let r=pr(e),s={...t,...r},n=await Mt(s);return typeof n.resp_data=="string"?n.resp_data:JSON.stringify(n.resp_data??null)}async function fr(t){try{let r=(await de({objectcode:t.objectcode}))?.resp_data;if(!r)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let s=[];return r.objectname!==t.objectname&&s.push("objectname \u4E0D\u4E00\u81F4"),String(r.objecttypecode??"")!==String(t.objecttypecode)&&s.push("objecttypecode \u4E0D\u4E00\u81F4"),String(r.directorytypecode??"")!==String(t.directorytypecode)&&s.push("directorytypecode \u4E0D\u4E00\u81F4"),{verified:s.length===0,problems:s}}catch(e){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(e)]}}}async function yr(t,e){try{let s=(await de({objectcode:t}))?.resp_data;if(!s)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let n=Array.isArray(s.properties)?s.properties:[],i=[];for(let c of e){let o=n.find(a=>String(a.propertycode??"")===String(c.propertycode));if(!o){i.push(`\u65B0\u589E\u5C5E\u6027 ${c.propertycode} (${c.propertyname}) \u672A\u51FA\u73B0\u5728\u56DE\u8BFB\u7ED3\u679C`);continue}o.propertyname!==c.propertyname&&i.push(`\u5C5E\u6027 ${c.propertycode} \u7684 propertyname \u4E0D\u4E00\u81F4`),String(o.columnname??"")!==String(c.columnname)&&i.push(`\u5C5E\u6027 ${c.propertycode} \u7684 columnname \u4E0D\u4E00\u81F4`)}return{verified:i.length===0,problems:i}}catch(r){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(r)]}}}async function Kt(t,e,r={}){let s=r.dryRun!==!1,n=r.confirm===!0,i=r.verify!==!1,c=t.initialFields??[];for(let R of c){if(!R.propertyname||!R.propertytypecode||!R.columnname)return Me("INVALID_PARAMS","initialFields \u4E2D\u6BCF\u4E2A\u5B57\u6BB5\u5FC5\u987B\u5305\u542B propertyname / propertytypecode / columnname",{entityName:t.objectname});if(Ht(R.propertytypecode)&&!R.relationobjectcode)return Me("INVALID_PARAMS",`\u5173\u8054\u7C7B\u578B\u5B57\u6BB5(propertytypecode=${R.propertytypecode}) \u5FC5\u987B\u63D0\u4F9B relationobjectcode`,{entityName:t.objectname})}let o=Le(t.objecttypecode),a=mr(t),l=o?[]:gr(t),u={...a,properties:l},m=[];if(m.push(`\u5B9E\u4F53 ${t.objectname} (objecttypecode=${t.objecttypecode}, tablename=${t.tablename})`),o)m.push("\u6570\u636E\u5B57\u5178\uFF1A\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0Cproperties \u56FA\u5B9A\u4E3A\u7A7A");else{m.push(`properties: ${l.length} \u4E2A\uFF08\u542B\u9ED8\u8BA4\u4E3B\u952E\uFF09`);for(let R of l)m.push(` + ${R.propertyname} [${R.columnname}] type=${R.propertytypecode} idxtype=${R.idxtype}`)}let f=m.join(`\n`),y=ve(t.objecttypecode),_=y!==1;if(!(n&&!s))return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u89C8\u6A21\u5F0F\uFF08\u672A\u843D\u5E93\uFF09\u3002publishstatus=${y}${_?"\uFF0C\u4FDD\u5B58\u540E\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03":"\uFF08\u6570\u636E\u5B57\u5178\u5DF2\u53D1\u5E03\uFF09"}\u3002\u786E\u8BA4\u65E0\u8BEF\u540E\u8BF7\u4EE5 confirm=true\u3001dryRun=false \u6267\u884C\u3002`,publishStatus:y,needManualPublish:_,entityCode:u.objectcode,entityName:u.objectname??"",diff:f};try{let R=await Vt(u,e),w=null,v=[];if(i){let I=await fr(u);w=I.verified,v=I.problems}let x=`${R}${_?" | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03":""}${v.length?" | \u6821\u9A8C\u95EE\u9898\uFF1A"+v.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:w,errorCode:w===!1?"VERIFY_FAILED":"OK",message:x,publishStatus:y,needManualPublish:_,entityCode:u.objectcode,entityName:u.objectname??"",diff:f}}catch(R){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(R)}`,publishStatus:y,needManualPublish:_,entityCode:u.objectcode,entityName:u.objectname??"",diff:f}}}async function Ut(t,e,r,s={}){let n=s.dryRun!==!1,i=s.confirm===!0,c=s.verify!==!1,o;try{let w=await de({objectcode:t});if(!w?.resp_data)return Me("ENTITY_NOT_FOUND",`\u5B9E\u4F53 ${t} \u4E0D\u5B58\u5728\u6216\u67E5\u8BE2\u4E3A\u7A7A`,{entityCode:t});o=w.resp_data}catch(w){return Me("FETCH_FAILED",`\u67E5\u8BE2\u5B9E\u4F53\u5931\u8D25\uFF1A${D(w)}`,{entityCode:t})}let a=Le(o.objecttypecode),l=e.map((w,v)=>({index:v,op:w.op,status:"OK",errorCode:"OK",message:null})),u=e.findIndex(w=>w.op==="modify_field"||w.op==="delete_field");if(u>=0)return l[u].status="FAILED",l[u].errorCode="FIELD_OP_UNSUPPORTED",l[u].message="\u4FEE\u6539/\u5220\u9664\u5B57\u6BB5\u8BF7\u8BA9\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C",{ok:!1,applied:!1,verified:null,errorCode:"FIELD_OP_UNSUPPORTED",message:"\u4FEE\u6539/\u5220\u9664\u5B57\u6BB5\u8BF7\u8BA9\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C",publishStatus:ve(String(o.objecttypecode??"")),needManualPublish:ve(String(o.objecttypecode??""))!==1,entityCode:t,entityName:o.objectname??"",diff:Te(e,l),ops:l};if(a){let w=e.findIndex(v=>v.op==="add_field");return w>=0&&(l[w].status="FAILED",l[w].errorCode="DICTIONARY_NO_FIELD_OPS",l[w].message="\u6570\u636E\u5B57\u5178\u4E0D\u5141\u8BB8\u8C03\u6574\u5B57\u6BB5"),{ok:!1,applied:!1,verified:null,errorCode:"DICTIONARY_NO_FIELD_OPS",message:"\u6570\u636E\u5B57\u5178\u4E0D\u5141\u8BB8\u8C03\u6574\u5B57\u6BB5",publishStatus:ve(String(o.objecttypecode??"")),needManualPublish:!1,entityCode:t,entityName:o.objectname??"",diff:Te(e,l),ops:l}}let m=structuredClone(o);m.properties=Array.isArray(m.properties)?[...m.properties]:[];let f=ur(m),y=[],_=!1;for(let w=0;w<e.length;w++){let v=e[w];if(v.op!=="add_field")continue;let x=v;if(!x.propertyname||!x.propertytypecode||!x.columnname){l[w].status="FAILED",l[w].errorCode="INVALID_PARAMS",l[w].message="add_field \u7F3A\u5C11\u5FC5\u586B\u53C2\u6570 propertyname / propertytypecode / columnname",_=!0;continue}if(Ht(x.propertytypecode)&&!x.relationobjectcode){l[w].status="FAILED",l[w].errorCode="INVALID_PARAMS",l[w].message=`\u5173\u8054\u7C7B\u578B(propertytypecode=${x.propertytypecode}) \u5FC5\u586B relationobjectcode`,_=!0;continue}if(m.properties.some(F=>String(F.columnname??"")===x.columnname)){l[w].status="FAILED",l[w].errorCode="DUP_PROP_CODE",l[w].message=`\u5B57\u6BB5\u5217\u540D columnname=${x.columnname} \u5DF2\u5B58\u5728\u4E8E\u5B9E\u4F53`,_=!0;continue}let I=Xe({propertyname:x.propertyname,propertytypecode:x.propertytypecode,columnname:x.columnname,propertydescr:x.propertydescr,idxtype:x.idxtype,relationobjectcode:x.relationobjectcode,relationpropertycode:x.relationpropertycode,ismaster:(x.idxtype==="2","0")},{seq:f});m.properties.push(I),y.push(I),l[w].message=`\u5C06\u65B0\u589E\u5C5E\u6027 ${I.propertycode} (${I.propertyname} [${I.columnname}])`}if(_)return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:"\u9884\u6F14\u5931\u8D25\uFF1A\u5B58\u5728\u672A\u901A\u8FC7\u7684 op\uFF0C\u672C\u6279\u6B21\u672A\u5199\u5165\uFF08\u4E8B\u52A1\u6027\uFF09",publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:Te(e,l),ops:l};m.publishstatus=2;let h=Te(e,l);if(!(i&&!n))return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:"\u9884\u89C8\u6A21\u5F0F\uFF08\u672A\u843D\u5E93\uFF09\u3002\u4E8B\u52A1\u6027\u9884\u6F14\u901A\u8FC7\uFF0C\u786E\u8BA4\u65E0\u8BEF\u540E\u8BF7 confirm=true\u3001dryRun=false \u6267\u884C\u3002",publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:h,ops:l};try{let w=await Vt(m,r),v=null,x=[];if(c&&y.length>0){let F=await yr(t,y);v=F.verified,x=F.problems}let I=`${w} | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03${x.length?"\uFF1B\u6821\u9A8C\u95EE\u9898\uFF1A"+x.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:v,errorCode:v===!1?"VERIFY_FAILED":"OK",message:I,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:h,ops:l}}catch(w){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(w)}`,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:o.objectname??"",diff:h,ops:l}}}function Te(t,e){let s=t.map((i,c)=>`ops[${c}] ${i.op} (${e[c].status}): ${e[c].message??""}`).join(`\n`),n=4e3;return s.length>n?s.slice(0,n)+`\n...(\u5DF2\u622A\u65AD)`:s}var br=S.object({propertyname:S.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:S.string().describe("\u5C5E\u6027\u7C7B\u578B\u7F16\u7801\uFF08\u89C1 get_model_logic \u7684 PROPERTY_TYPE_ENUM\uFF1B\u5982 1-\u4E3B\u952E(int8)\u30013-\u6587\u672C(200)\u30015-\u6574\u6570(int4) \u7B49\uFF09"),columnname:S.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:S.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:S.string().optional().describe("\u7D22\u5F15\u65B9\u5F0F\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\u3002\u7F3A\u7701 1\uFF08\u4E3B\u952E\u5B57\u6BB5\u4F20 2\uFF09"),relationobjectcode:S.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:S.string().optional().describe("\u5173\u8054\u5C5E\u6027\u7F16\u7801\uFF0C\u5173\u8054\u7C7B\u578B\u65F6\u53EF\u9009")}),hr=S.discriminatedUnion("op",[S.object({op:S.literal("add_field"),propertyname:S.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:S.string().describe("\u5C5E\u6027\u7C7B\u578B\u7F16\u7801\uFF08\u89C1 get_model_logic \u7684 PROPERTY_TYPE_ENUM\uFF09"),columnname:S.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:S.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:S.string().optional().describe("\u7D22\u5F15\u65B9\u5F0F\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\u3002\u7F3A\u7701 1"),relationobjectcode:S.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:S.string().optional().describe("\u5173\u8054\u5C5E\u6027\u7F16\u7801\uFF0C\u5173\u8054\u7C7B\u578B\u65F6\u53EF\u9009")}).describe("\u65B0\u589E\u5B57\u6BB5\uFF08\u5F53\u524D\u552F\u4E00\u5B9E\u73B0\u7684 op\uFF09"),S.object({op:S.literal("modify_field"),propertycode:S.string().describe("\u8981\u4FEE\u6539\u7684\u5C5E\u6027\u7F16\u7801"),patch:S.record(S.string(),S.unknown()).describe("\u8981\u5408\u5E76\u7684\u5C5E\u6027\u5B57\u6BB5\uFF08\u4FDD\u7559\u672A\u5B9E\u73B0\uFF0C\u4F20\u5165\u5373\u62D2\u7EDD\uFF09")}).describe("\u4FEE\u6539\u5B57\u6BB5\uFF08\u4FDD\u7559\u672A\u5B9E\u73B0\uFF1A\u63D0\u793A\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C\uFF09"),S.object({op:S.literal("delete_field"),propertycode:S.string().describe("\u8981\u5220\u9664\u7684\u5C5E\u6027\u7F16\u7801")}).describe("\u5220\u9664\u5B57\u6BB5\uFF08\u4FDD\u7559\u672A\u5B9E\u73B0\uFF1A\u63D0\u793A\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C\uFF09")]),_r={ok:S.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:S.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:S.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:S.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / FETCH_FAILED / ENTITY_NOT_FOUND / FIELD_OP_UNSUPPORTED / DICTIONARY_NO_FIELD_OPS / INVALID_PARAMS / DUP_PROP_CODE / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:S.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:S.number().describe("\u5B9E\u4F53\u7EA7\u53D1\u5E03\u72B6\u6001\uFF1A\u975E\u5B57\u5178\u5B9E\u4F53 2\uFF08\u672A\u53D1\u5E03\uFF09\u3001\u6570\u636E\u5B57\u5178 1\uFF08\u5DF2\u53D1\u5E03\uFF09"),needManualPublish:S.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:S.string().describe("\u5B9E\u4F53\u7F16\u7801"),entityName:S.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:S.string().describe("\u5168\u90E8 op \u7684\u6267\u884C\u6458\u8981\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD"),ops:S.array(S.object({index:S.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:S.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:S.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:S.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801"),message:S.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null")})).describe("\u6BCF\u4E2A op \u7684\u6267\u884C\u7ED3\u679C\uFF0C\u4E0E\u5165\u53C2 ops \u4E00\u4E00\u5BF9\u5E94")},wr={ok:S.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:S.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u65F6\u4E3A false"),verified:S.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:S.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / INVALID_PARAMS / SAVE_FAILED / VERIFY_FAILED"),message:S.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:S.number().describe("\u5B9E\u4F53\u7EA7\u53D1\u5E03\u72B6\u6001\uFF1A\u975E\u5B57\u5178\u5B9E\u4F53 2\uFF08\u672A\u53D1\u5E03\uFF09\u3001\u6570\u636E\u5B57\u5178 1\uFF08\u5DF2\u53D1\u5E03\uFF09"),needManualPublish:S.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:S.string().describe("\u65B0\u5EFA\u5B9E\u4F53\u7684\u7F16\u7801"),entityName:S.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:S.string().describe("\u5C06\u8981\u521B\u5EFA\u7684\u5B9E\u4F53\u6458\u8981\uFF08\u5B57\u6BB5\u5217\u8868\uFF09\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD")};function Yt(t,e){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:""}}var zt=[{name:"create_entity",config:{title:"\u65B0\u589E\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09",description:`\u65B0\u589E\u4E00\u4E2A\u5B9E\u4F53\uFF08\u6570\u636E\u8868\uFF09\u3002\u4EC5\u4F20\u5FC5\u8981\u53C2\u6570\uFF0C\u5B8C\u6574\u5B9E\u4F53\u5BF9\u8C61\u7531 MCP \u4FA7\u7EC4\u88C5\u540E\u8C03\u5E73\u53F0\u4FDD\u5B58\u63A5\u53E3\u3002\n\u6CE8\u610F\uFF1A\u6240\u6709\u5199\u64CD\u4F5C\u9ED8\u8BA4 confirm=false + dryRun=true\uFF0C\u8BF7\u5148\u9884\u89C8\u3001\u786E\u8BA4\u65E0\u8BEF\u540E\u518D\u4EE5 confirm=true\u3001dryRun=false \u6267\u884C\uFF1B\u4FDD\u5B58\u540E\u5B9E\u4F53\u5904\u4E8E\u672A\u53D1\u5E03\u6001\uFF0C\u9700\u5230\u5E73\u53F0\u624B\u52A8\u70B9\u51FB\u53D1\u5E03\uFF08\u65B0\u589E\u6570\u636E\u5B57\u5178\u9664\u5916\uFF0C\u5176 publishstatus=1 \u5DF2\u53D1\u5E03\uFF09\u3002\n\u5B57\u6BB5\u89C4\u5219\uFF1Atablename \u5FC5\u586B\u4E14 objectmark \u81EA\u52A8\u590D\u5236\u5176\u503C\uFF1B\u6570\u636E\u5B57\u5178(objecttypecode=3)\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0C\u65E0\u9700\u4E5F\u4E0D\u5141\u8BB8\u4F20 initialFields\u3002\n\n${V}\n${ne}`,inputSchema:{objectname:S.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),objecttypecode:S.string().describe("\u5B9E\u4F53\u5206\u7C7B\uFF08\u5FC5\u586B\uFF09\uFF1A1-\u57FA\u672C\u5BF9\u8C61\uFF1B2-\u6811\u578B\u5BF9\u8C61\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5BF9\u8C61"),tablename:S.string().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u5FC5\u586B\uFF09\uFF1Bobjectmark \u81EA\u52A8\u590D\u5236\u6B64\u503C"),directorytypecode:S.string().describe("\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF08\u5FC5\u586B\uFF09\uFF0C\u53D6\u503C\u6765\u81EA page_entity_directories \u67E5\u8BE2\u5230\u7684 directorytypecode"),parentobjectcode:S.string().optional().describe("\u7236\u5B9E\u4F53\u7F16\u7801\uFF0C\u6811\u578B/\u5173\u8054\u5B9E\u4F53\u4F7F\u7528"),propertydescr:S.string().optional().describe("\u5B9E\u4F53\u63CF\u8FF0"),initialFields:S.array(br).optional().describe("\u53EF\u9009\u521D\u59CB\u5B57\u6BB5\uFF08\u6BCF\u9879\u4EC5 propertyname/propertytypecode/columnname \u5FC5\u586B\uFF09\uFF1B\u6570\u636E\u5B57\u5178\u5FFD\u7565\u6B64\u53C2\u6570\u3002\u975E\u5B57\u5178\u5B9E\u4F53\u82E5\u672A\u63D0\u4F9B\u4E3B\u952E(propertytypecode=1)\uFF0CMCP \u4F1A\u81EA\u52A8\u8865\u4E00\u4E2A\u300C\u4E3B\u952E/id\u300D"),commitMessage:G.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u7F3A\u7701 mcp \u7EC4\u88C5\u9ED8\u8BA4\uFF08committype=saverecord\uFF09"),confirm:S.boolean().optional().describe("\u662F\u5426\u786E\u8BA4\u843D\u5E93\uFF0C\u9ED8\u8BA4 false\u3002\u5FC5\u987B\u663E\u5F0F true \u624D\u4F1A\u771F\u6B63\u4FDD\u5B58"),dryRun:S.boolean().optional().describe("\u662F\u5426\u4EC5\u9884\u89C8\u4E0D\u843D\u5E93\uFF0C\u9ED8\u8BA4 true\u3002\u7F6E false \u624D\u6267\u884C\u4FDD\u5B58\uFF08\u9700\u914D\u5408 confirm=true\uFF09"),verify:S.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:wr,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectname:e,objecttypecode:r,tablename:s,directorytypecode:n,parentobjectcode:i,propertydescr:c,initialFields:o,confirm:a=!1,dryRun:l=!0,verify:u=!0}=t,m=t?.commitMessage?Q(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let f=await Kt({objectname:e,objecttypecode:r,tablename:s,directorytypecode:n,parentobjectcode:i,propertydescr:c,initialFields:o},m,{confirm:a,dryRun:l,verify:u});return{isError:!f.ok,content:[{type:"text",text:JSON.stringify(f)}],structuredContent:f}}catch(f){let y=D(f);return{isError:!0,content:[{type:"text",text:y}],structuredContent:Yt("SAVE_FAILED",y)}}}},{name:"patch_entity",config:{title:"\u5DF2\u6709\u5B9E\u4F53\u65B0\u589E\u5B57\u6BB5",description:`\u5BF9\u5DF2\u6709\u5B9E\u4F53\u505A\u5B57\u6BB5\u7EA7\u4FEE\u6539\u3002\u5F53\u524D\u4EC5\u5B9E\u73B0 add_field\uFF08\u65B0\u589E\u5B57\u6BB5\uFF09\uFF1Bmodify_field / delete_field \u4E3A\u4FDD\u7559 op\uFF0C\u4F20\u5165\u4F1A\u76F4\u63A5\u5931\u8D25\u5E76\u63D0\u793A\u300C\u4FEE\u6539/\u5220\u9664\u5B57\u6BB5\u8BF7\u8BA9\u7528\u6237\u5230 IDE \u5E73\u53F0\u624B\u52A8\u64CD\u4F5C\u300D\u3002\n\u6570\u636E\u5B57\u5178(objecttypecode=3)\u7684\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0C\u4E0D\u5141\u8BB8\u4EFB\u4F55\u5B57\u6BB5\u589E\u6539\u5220\uFF0C\u4F20\u5165 add_field \u4F1A\u5931\u8D25\u5E76\u63D0\u793A\u300C\u6570\u636E\u5B57\u5178\u4E0D\u5141\u8BB8\u8C03\u6574\u5B57\u6BB5\u300D\u3002\n\u6CE8\u610F\uFF1A\u6240\u6709\u5199\u64CD\u4F5C\u9ED8\u8BA4 confirm=false + dryRun=true\uFF0C\u8BF7\u5148\u9884\u89C8\u3001\u786E\u8BA4\u65E0\u8BEF\u540E\u518D\u4EE5 confirm=true\u3001dryRun=false \u6267\u884C\uFF1B\u4FDD\u5B58\u540E\u5B9E\u4F53\u5904\u4E8E\u672A\u53D1\u5E03\u6001\uFF0C\u9700\u5230\u5E73\u53F0\u624B\u52A8\u70B9\u51FB\u53D1\u5E03\u3002\n\n${V}\n${ne}`,inputSchema:{objectcode:S.string().describe("\u76EE\u6807\u5B9E\u4F53\u7684\u7F16\u7801"),ops:S.array(hr).min(1).describe("\u5B57\u6BB5\u64CD\u4F5C\u6570\u7EC4\uFF0C\u81F3\u5C11\u4E00\u4E2A\u5143\u7D20\uFF1B\u6309\u6570\u7EC4\u987A\u5E8F\u4E8B\u52A1\u6027\u6267\u884C\uFF0C\u4EFB\u4E00\u5931\u8D25\u6574\u6279\u56DE\u6EDA\u3002\u4EC5 add_field \u5DF2\u5B9E\u73B0"),commitMessage:G.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u6574\u6279 ops \u5171\u7528\u4E00\u4E2A\uFF1B\u7F3A\u7701 mcp \u7EC4\u88C5\u9ED8\u8BA4\uFF08committype=saverecord\uFF09"),confirm:S.boolean().optional().describe("\u662F\u5426\u786E\u8BA4\u843D\u5E93\uFF0C\u9ED8\u8BA4 false\u3002\u5FC5\u987B\u663E\u5F0F true \u624D\u4F1A\u771F\u6B63\u4FDD\u5B58"),dryRun:S.boolean().optional().describe("\u662F\u5426\u4EC5\u9884\u89C8\u4E0D\u843D\u5E93\uFF0C\u9ED8\u8BA4 true\u3002\u7F6E false \u624D\u6267\u884C\u4FDD\u5B58\uFF08\u9700\u914D\u5408 confirm=true\uFF09"),verify:S.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:_r,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectcode:e,ops:r,confirm:s=!1,dryRun:n=!0,verify:i=!0}=t,c=t?.commitMessage?Q(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let o=await Ut(e,r,c,{confirm:s,dryRun:n,verify:i});return{isError:!o.ok,content:[{type:"text",text:JSON.stringify(o)}],structuredContent:o}}catch(o){let a=D(o);return{isError:!0,content:[{type:"text",text:a}],structuredContent:Yt("SAVE_FAILED",a)}}}}];import{z as d}from"zod";function qt(t){return Fe({directorycategory:t.directorycategory??_e.FORM})}function Bt(t){return $({url:"/bizserv/bizpage/pageList",method:"post",data:t,type:"tenant"})}function oe(t){return $({url:"/bizserv/bizpage/getPage",method:"post",data:t,type:"tenant"})}function et(t){let{conf:e,message:r,ui:s,edittime:n=J(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:i=!1,clearuserconfig:c=!0}=t;return $({url:"/biserv/bizpage/saveNewPage",method:"post",data:{clearuserconfig:c,conf:e,edittime:n,message:r,overwrite:i,ui:s??e},type:"tenant"})}var it=["flycode","datarequest","datasubmit","dataimport","dataexport","datatransfer","dataserialize","smartrequest","link","call","return","af_preaddflow","af_handleflow","af_flowdetail","ctrlevent","receivelink","eventlink","attributeevaluate","alert","toast","share","popsubview","closesubview","print","urllink","runevent"],Rr=["flycode","receivelink"],kr={flycode:"flycode",datarequest:"\u6570\u636E\u8BF7\u6C42",datasubmit:"\u6570\u636E\u63D0\u4EA4",dataimport:"\u5BFC\u5165\u884C\u4E3A",dataexport:"\u5BFC\u51FA\u884C\u4E3A",datatransfer:"\u6570\u636E\u8F6C\u79FB",dataserialize:"\u6570\u636E\u5E8F\u5217\u5316",smartrequest:"\u667A\u6167\u573A\u666F\u8BF7\u6C42",link:"\u94FE\u63A5",call:"\u4E8B\u4EF6\u547C\u53EB",return:"\u8FD4\u56DE",af_preaddflow:"\u6D41\u7A0B\u53D1\u8D77",af_handleflow:"\u5904\u7406\u5BA1\u6279",af_flowdetail:"\u6D41\u7A0B\u8282\u70B9\u8BE6\u60C5",ctrlevent:"\u8C03\u7528\u63A7\u4EF6\u4E8B\u4EF6",receivelink:"\u63A5\u6536\u53C2\u6570",eventlink:"\u4E8B\u4EF6\u76D1\u542C",attributeevaluate:"\u5C5E\u6027\u8868\u8FBE\u5F0F\u884C\u4E3A",alert:"\u63D0\u793A\u5F39\u7A97",toast:"\u8F7B\u63D0\u793A",share:"\u5206\u4EAB\u884C\u4E3A",popsubview:"\u6253\u5F00popview",closesubview:"\u5173\u95EDpopview",print:"\u6253\u5370\u4E8B\u4EF6",urllink:"URL\u94FE\u63A5",runevent:"\u6267\u884C\u4E8B\u4EF6"},vr={flycode:{script:""},datarequest:{logiccode:"",mode:"1",queue:"0",pagesize:"",pagesource:"",hasextraparams:"",sorter:"",getter:[],setter:[]},datasubmit:{logiccode:"",queue:"0",mode:"1",getter:[],setter:[]},dataimport:{logiccode:"",mode:"1",servicetype:"background",microclass:"",template:"",templatename:"",extraparam:[{title:"\u5F53\u6570\u636E\u91CD\u590D\u65F6\u5982\u4F55\u5904\u7406",paramkey:"_dataaddmode",requesturl:"",options:[{text:"\u8986\u76D6",key:"1",isselected:""},{text:"\u8FFD\u52A0",key:"2",isselected:""},{text:"\u653E\u5F03",key:"3",isselected:""}]}],getter:[],setter:[],onsuccess:""},dataexport:{logiccode:"",servicetype:"",dynamicparmsource:"",microclass:"",colselectable:"",sheetname:"",filename:"",mode:"1",getter:[],setter:[],extraparam:[{requesturl:""}],extconfig:{filetype:["1"],exportcontent:["excel","link","photo"],iscompress:"1",imagetype:"origin",imagesizepercolumn:"5",imageheightcm:"2.0",filewatermark:"0",filewatermarkvalue:"1"},enableattachmentexport:"",attachmentexportsetting:{attachmentfields:[],foldernamefields:[],attachmentnamefields:[],separator:"_"}},datatransfer:{getter:[],setter:[]},dataserialize:{targetname:"",param:{datatype:"0",ctrl:{code:"",scope:""},properties:[]}},smartrequest:{agentcode:"",agent_id:"",agent_name:"",agent_version_name:"",agent_version_id:"",queue:"",streaming:"",smartctrl:"",getter:[{name:"scene_param",datatype:"0",ctrl:{code:"",scope:""},properties:[]}],setter:[{name:"scene_data",datatype:"0",ctrlcode:"",properties:[]}]},link:{title:"",pagecode:"",mode:"popup",closeicon:"1",closewindowicon:"1",onreturn:"",pagesize:{width:"",height:""},pagesizeWidth:"",pagesizeHeight:"",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},call:{pagecode:"","event-key":"",key:"",isbroadcast:"0",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},return:{pagecode:"",pagecount:""},af_preaddflow:{af_processdefinekey:"",title:"",mode:"popup",pagesizeWidth:"",pagesizeHeight:"",pagesize:{width:"",height:""},newversion:"1",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},af_handleflow:{processinfo:[{name:"af_processdefineid",value:"",ctrl:{code:"",component:""}},{name:"af_processinstanceid",value:"",ctrl:{code:"",component:""}},{name:"af_taskid",value:"",ctrl:{code:"",component:""}},{name:"af_taskkey",value:"",ctrl:{code:"",component:""}},{name:"af_processinstancename",value:"",ctrl:{code:"",component:""}}],newversion:"1",param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[]}},af_flowdetail:{param:{name:"__linkparam",datatype:"0",ctrl:{code:"",scope:""},properties:[{name:"af_processinstanceid",value:"",ctrl:{code:"",component:""}},{name:"af_processdefinekey",value:"",ctrl:{code:"",component:""}},{name:"af_processinstancename",value:"",ctrl:{code:"",component:""}}]}},ctrlevent:{ctrlcode:"",trigger:""},receivelink:{param:{name:"__linkparam",datatype:"0",ctrlcode:"",properties:[{name:"__pagestatus",paramtype:"1",ctrl:{code:"",component:""}}]}},eventlink:{key:"",handler:"",param:{name:"__linkparam",datatype:"0",ctrlcode:"",properties:[{name:"__pagestatus",paramtype:"1",ctrl:{code:"",component:""}}]}},attributeevaluate:{ctrlcode:"",attribute:"",expression:""},alert:{noticestyle:"warning",message:"",buttons:"",choices:[{title:"\u786E\u5B9A",handler:""},{title:"\u53D6\u6D88",handler:""}]},toast:{message:"",title:"",noticestyle:"info",duration:"3",position:"top"},share:{provider:"",imagewidth:""},popsubview:{viewcode:"",viewwidth:"",viewheight:"",viewtitle:"",popupmode:"center"},closesubview:{},print:{pagecode:"",ctrlcode:"",printmode:"image",printermodel:"custom",printerinfo:""},urllink:{url:"",mode:"",targetctrl:"",queryparams:"",bodyparams:""},runevent:{handler:""}};function st(t){return t?Array.isArray(t)?t.filter(Boolean):[t]:[]}function U(t,e,r){let s=[{scope:"handlers",list:t.presenter?.handlers??[]},{scope:"initial",list:st(t.presenter?.initial)}],n=[];for(let i of s)if(!(r&&i.scope!==r))for(let c of i.list)c&&c.code===e&&n.push({handler:c,scope:i.scope});return n}var Jt=150;function Zt(t){t.committype==="saverecord"&&(t.msgbody=J(new Date,"YYYY-MM-DD HH:mm"))}function Xt(t,e){if(!t)return null;if(t.code===e)return t;if(Array.isArray(t.content))for(let r of t.content){let s=Xt(r,e);if(s)return s}return null}function je(t){let e=[];t.view?.body&&e.push(t.view.body);for(let r of me(t)??[])r&&typeof r=="object"&&e.push(r);return e}function me(t){let e=t.view?.subviews;return Array.isArray(e)?e:null}function nt(t,e){for(let r of je(t)){let s=Xt(r,e);if(s)return s}return null}function Or(t){let e=[],r=n=>{n&&Array.isArray(n.content)&&(e.push(n.content),n.content.forEach(r))};for(let n of je(t))r(n);let s=me(t);return s&&e.push(s),Array.isArray(t.controls)&&e.push(t.controls),e}function xr(t,e){for(let r of Or(t))for(let s=0;s<r.length;s++){let n=r[s];if(n&&typeof n=="object"&&n.code===e)return{node:n,siblings:r,index:s}}return null}function Oe(t){let e=[],r=s=>{s&&(e.push(s),Array.isArray(s.content)&&s.content.forEach(r))};for(let s of je(t))r(s);return Array.isArray(t.controls)&&t.controls.forEach(s=>{s&&e.push(s)}),e}function rt(t,e){if(Array.isArray(t)){for(let r of t)if(r&&typeof r=="object"){if(r.code===e)return r;let s=rt(r,e);if(s)return s}return null}if(t&&typeof t=="object")for(let r of Object.values(t)){let s=rt(r,e);if(s)return s}return null}function Wt(t,e){let r=xr(t,e);if(!r)return null;let[s]=r.siblings.splice(r.index,1);return s??null}function tt(t){let e=new Set,r=s=>{if(s){for(let n of s.eventlist??[])n?.handler&&e.add(n.handler);Array.isArray(s.content)&&s.content.forEach(r)}};r(t.view?.body??null);for(let s of je(t))r(s);for(let s of t.presenter?.handlers??[]){for(let n of s?.actions??[]){n?.handler&&e.add(n.handler),n?.logiccode&&e.add(n.logiccode);let i=n?.viewcode;i&&e.add(i)}for(let n of s?.eventlist??[])n?.handler&&e.add(n.handler)}for(let s of st(t.presenter?.initial)){for(let n of s?.actions??[]){n?.handler&&e.add(n.handler),n?.logiccode&&e.add(n.logiccode);let i=n?.viewcode;i&&e.add(i)}for(let n of s?.eventlist??[])n?.handler&&e.add(n.handler)}for(let s of t.presenter?.interface??[])for(let n of s?.actions??[]){n?.handler&&e.add(n.handler);let i=n?.viewcode;i&&e.add(i)}return e}function Sr(t){return{oldString:t.oldString,newString:t.newString,replaceAll:t.replaceAll,occurrence:t.occurrence,matchMode:t.matchMode,label:t.label}}function ot(t){let e={code:t.code??null,type:t.type??null,title:t.title??null};return Array.isArray(t.content)&&t.content.length>0&&(e.children=t.content.map(ot)),e}async function en(t){let r=(await oe({code:t})).resp_data;if(!r)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let s=(()=>{let c=(o,a)=>(o??[]).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(u=>u?.type??"").filter(u=>!!u),scope:a}));return[...c(r.presenter?.handlers??[],"handlers"),...c(st(r.presenter?.initial),"initial")]})(),n=(r.presenter?.interface??[]).map(c=>({code:c?.code??null,key:c?.key??null,desc:c?.desc??null,actionCount:c?.actions?.length??0})),i=(r.businessmodel??[]).map(c=>({modelcode:c?.modelcode??null,modellogiccode:c?.modellogiccode??null,modellogicname:c?.modellogicname??null,actiontype:c?.actiontype??null}));return{code:t,title:r.pageinfo?.title??null,type:r.pageinfo?.type??null,status:r.pageinfo?.status??null,clientcategorycode:r.pageinfo?.clientcategorycode??null,marktype:r.pageinfo?.marktype??null,versionnum:r.pageinfo?.versionnum??null,viewTree:r.view?.body?[ot(r.view.body)]:[],subviews:(me(r)??[]).filter(c=>!!c&&typeof c=="object").map(c=>ot(c)),handlers:s,interfaces:n,businessModels:i,message:r.message??null}}async function tn(t,e){let s=(await oe({code:t})).resp_data;if(!s)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let n,i,c,o=s.message??null;if(e.nodeCode)if(n=nt(s,e.nodeCode)??s.controls?.find(l=>l?.code===e.nodeCode)??null,n){if(e.itemCode){let l=rt(n,e.itemCode);l?n=l:(n=null,o=`nodeCode=${e.nodeCode} \u4E0B\u672A\u627E\u5230 code=${e.itemCode} \u7684\u5143\u7D20`)}}else{let l=me(s)?.length??0;o=`\u672A\u627E\u5230 code=${e.nodeCode} \u7684\u8282\u70B9\uFF08\u5DF2\u68C0\u7D22 view.body \u6811\u3001view.subviews \u5F39\u7A97 ${l} \u4E2A\u3001controls\uFF09`}if(e.handlerCode){let l=U(s,e.handlerCode,e.handlerScope);l.length===1?i=l[0].handler:l.length>1?(i=null,o=`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 handlerScope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`):(i=null,o=`\u672A\u627E\u5230 handlerCode=${e.handlerCode} \u7684\u5904\u7406\u5668\uFF08\u5DF2\u68C0\u7D22 handlers \u4E0E initial${e.handlerScope?`\uFF0C\u672C\u6B21\u9650\u5B9A ${e.handlerScope}`:""}\uFF09`)}e.section&&(c=e.section==="subviews"?me(s)??null:s[e.section]??null);let a=i?.actions?i.actions.map((l,u)=>({index:u,code:l?.code??null,type:l?.type??null,scriptLen:(l?.script??"")?.length??0,conditionLen:(l?.condition??"")?.length??0,expressionLen:(l.expression??"")?.length??0})):void 0;return{code:t,node:n??void 0,handler:i??void 0,section:c??void 0,actionIndex:a,message:o}}function Pr(t){let{type:e}=t,r=structuredClone(vr[e]??{}),s={code:t.code,type:e,desc:t.desc??kr[e],condition:t.condition??"",...r};return e==="flycode"&&t.script!=null&&(s.script=t.script),t.fields&&Object.assign(s,t.fields),s}function Ar(t,e){let r=t.replace(/[^0-9A-Za-z_]/g,"").slice(-8)||"action",s=new Set(e.map(c=>c?.code).filter(c=>!!c)),n=`action_${r}`;if(!s.has(n))return n;let i=2;for(;s.has(`${n}_${i}`);)i++;return`${n}_${i}`}function Gt(t,e,r){if(e!=null&&e!==""){let i=t.find(c=>c?.code===e);return i?{action:i}:{error:"NODE_NOT_FOUND",message:`\u672A\u627E\u5230 actionCode=${e}\uFF08\u8BE5 handler \u4E0B\u73B0\u6709 code\uFF1A${t.map(c=>c?.code??"(\u7A7A)").join(", ")||"\u65E0"}\uFF09`}}let s=r??0;if(!Number.isInteger(s)||s<0||s>=t.length)return{error:"NO_TARGET",message:`actionIndex=${s} \u8D8A\u754C\uFF0C\u8BE5 handler \u5171\u6709 ${t.length} \u4E2A action`};let n=t[s];return n?{action:n}:{error:"NODE_NOT_FOUND",message:`actionIndex=${s} \u5904\u4E3A\u7A7A`}}function Ir(t,e,r,s){let n=U(t,r.handlerCode,r.scope)[0]?.handler.actions??[],i=s||(r.actionCode!=null&&r.actionCode!==""?r.actionCode:"");if(i)return n.find(o=>o?.code===i)??void 0;let c=r.actionIndex??0;if(e){let o=(U(e,r.handlerCode,r.scope)[0]?.handler.actions??[])[c];if(o?.code)return n.find(a=>a?.code===o.code)??void 0}return n[c]??void 0}async function Nr(t,e,r,s){let n=(o={})=>({index:r,op:e.op,status:"OK",errorCode:"OK",message:null,hunk:null,suggestions:null,...o}),i=(o,a,l={})=>({index:r,op:e.op,status:"FAILED",errorCode:o,message:a,hunk:null,suggestions:null,...l}),c=o=>{let a=o.createIfMissing??!1,l=null,u=o.base[o.arrayProp];if(Array.isArray(u))l=u;else if(o.mode==="append"||o.mode==="insert"){if(!a)return i("ARRAY_NOT_FOUND",`${o.label}.${o.arrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${o.mode} \u5143\u7D20\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\u6570\u7EC4\u4EE5\u907F\u514D\u8BEF\u9020\u7ED3\u6784\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);o.base[o.arrayProp]=[],l=o.base[o.arrayProp]}else return i("INVALID_PARAMS",`${o.label}.${o.arrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${u===null?"null":typeof u}\uFF09\uFF0C\u65E0\u6CD5\u5B9A\u4F4D\u5143\u7D20`);let m=l,f=o.base,y=o.arrayProp;if(o.elementArrayProp!=null){if(o.itemKey==null||o.itemKeyValue===void 0)return i("INVALID_PARAMS",`\u4E24\u7EA7\u6A21\u5F0F\u9700\u8981 itemKey/itemKeyValue \u5B9A\u4F4D\u5916\u5C42 ${o.arrayProp} \u4E2D\u7684\u5143\u7D20`);let w=o.itemKey,v=l.filter(F=>F&&typeof F=="object"&&F[w]===o.itemKeyValue);if(v.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 ${o.label}.${o.arrayProp} \u4E2D\u627E\u5230 ${w}=${String(o.itemKeyValue)} \u7684\u5143\u7D20`);if(v.length>1)return i("DUP_CODE",`\u5143\u7D20 ${w}=${String(o.itemKeyValue)} \u5728 ${o.label}.${o.arrayProp} \u4E2D\u51FA\u73B0 ${v.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let x=v[0],I=x[o.elementArrayProp];if(Array.isArray(I))m=I,f=x,y=o.elementArrayProp;else if(o.mode==="append"||o.mode==="insert"){if(!a)return i("ARRAY_NOT_FOUND",`${o.label}.${o.arrayProp}[${w}=${String(o.itemKeyValue)}].${o.elementArrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${o.mode}\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\u6570\u7EC4\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);x[o.elementArrayProp]=[],m=x[o.elementArrayProp],f=x,y=o.elementArrayProp}else return i("INVALID_PARAMS",`${o.label}.${o.arrayProp}[${w}=${String(o.itemKeyValue)}].${o.elementArrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${I===null?"null":typeof I}\uFF09`)}let _=o.elementArrayProp!=null?o.elementItemKey??"code":o.itemKey??"code",h=o.elementArrayProp!=null?o.elementItemKeyValue:o.itemKeyValue;if(o.mode==="remove"){if(h===void 0)return i("INVALID_PARAMS","remove \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E\uFF08itemKey/itemKeyValue \u6216 elementItemKey/elementItemKeyValue\uFF09");let w=m.filter(x=>x&&typeof x=="object"&&x[_]===h);if(w.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 ${o.label}.${y} \u4E2D\u627E\u5230 ${_}=${String(h)} \u7684\u5143\u7D20`);if(w.length>1)return i("DUP_CODE",`\u5143\u7D20 ${_}=${String(h)} \u5728 ${o.label}.${y} \u4E2D\u51FA\u73B0 ${w.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let v=m.indexOf(w[0]);return m.splice(v,1),m.length===0&&delete f[y],n({message:`\u5DF2\u4ECE ${o.label}.${y} \u79FB\u9664 ${_}=${String(h)}`})}if(o.mode==="merge"){if(!o.patch)return i("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981 patch");if(h===void 0)return i("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E");let w=m.filter(v=>v&&typeof v=="object"&&v[_]===h);return w.length===0?i("NODE_NOT_FOUND",`\u672A\u5728 ${o.label}.${y} \u4E2D\u627E\u5230 ${_}=${String(h)} \u7684\u5143\u7D20`):w.length>1?i("DUP_CODE",`\u5143\u7D20 ${_}=${String(h)} \u5728 ${o.label}.${y} \u4E2D\u51FA\u73B0 ${w.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`):(Object.assign(w[0],o.patch),n({message:`\u5DF2\u5408\u5E76 ${Object.keys(o.patch).length} \u4E2A\u5C5E\u6027\u5230 ${o.label}.${y}[${_}=${String(h)}]`}))}if(!o.item)return i("INVALID_PARAMS",`${o.mode} \u6A21\u5F0F\u9700\u8981 item\uFF08\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20\uFF09`);let R=o.mode==="insert"?o.position??m.length:m.length;return m.splice(R,0,o.item),n({message:`\u5DF2\u5728 ${o.label}.${y} \u7684 position=${R} ${o.mode==="insert"?"\u63D2\u5165":"\u8FFD\u52A0"}\u5143\u7D20`})};switch(e.op){case"set_pageinfo":return t.pageinfo={...t.pageinfo??{},...e.patch},n({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5B57\u6BB5\u5230 pageinfo`});case"set_attrs":{let o=Oe(t).filter(u=>u.code===e.code);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(o.length>1)return i("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${o.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let a=Object.entries(e.patch).filter(([,u])=>Array.isArray(u));if(a.length>0&&!e.overwriteArray)return i("ARRAY_OVERWRITE_BLOCKED",`patch \u542B\u6570\u7EC4\u5C5E\u6027 ${a.map(([u])=>`"${u}"`).join("\u3001")}\uFF0Cset_attrs \u9ED8\u8BA4\u7981\u6B62\u6574\u6BB5\u8986\u76D6\u6570\u7EC4\u4EE5\u907F\u514D\u8BEF\u6539\u4E22\u5217/\u4E22\u7ED1\u5B9A\u3002\u5982\u9700\u6574\u4F53\u66FF\u6362\u8BF7\u663E\u5F0F\u4F20 overwriteArray:true\uFF1B\u5426\u5219\u8BF7\u6539\u7528 patch_node_array_item\uFF08view \u6811\u6570\u7EC4\uFF09\u6216 patch_action_array_item\uFF08handler action \u7684 datarequest.setter \u7B49\uFF09\u505A\u5143\u7D20\u7EA7\u589E\u6539\u5220`);Object.assign(o[0],e.patch);let l=a.length>0?`\uFF08\u6CE8\u610F\uFF1A\u5DF2\u6309 overwriteArray:true \u6574\u4F53\u8986\u76D6\u6570\u7EC4\u5C5E\u6027 ${a.map(([u])=>`"${u}"`).join("\u3001")}\uFF09`:"";return n({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u8282\u70B9 ${e.code}${l}`})}case"patch_node_array_item":{let o=Oe(t).find(a=>a.code===e.nodeCode);return o?c({base:o,arrayProp:e.arrayProp,elementArrayProp:e.elementArrayProp,mode:e.mode??"merge",itemKey:e.itemKey,itemKeyValue:e.itemKeyValue,elementItemKey:e.elementItemKey,elementItemKeyValue:e.elementItemKeyValue,item:e.item,position:e.position,patch:e.patch,createIfMissing:e.createIfMissing,label:`\u8282\u70B9 ${e.nodeCode}`}):i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 nodeCode=${e.nodeCode} \u7684\u8282\u70B9`)}case"patch_view_array_item":{let o=t.view;if(!o)return i("NODE_NOT_FOUND","\u8868\u5355\u6CA1\u6709 view \u7ED3\u6784\uFF0C\u65E0\u6CD5\u64CD\u4F5C view \u7EA7\u6570\u7EC4");if((e.mode??"merge")==="remove"&&e.arrayProp==="subviews"&&e.elementArrayProp==null&&e.checkRefs!==!1){let a=e.itemKeyValue;if(typeof a=="string"&&tt(t).has(a))return i("REF_VIOLATION",`\u4ECD\u6709\u4E8B\u4EF6/action \u7684 viewcode \u6307\u5411\u5F39\u7A97 ${a}\uFF0C\u79FB\u9664\u524D\u8BF7\u5148\u89E3\u9664\u5F15\u7528\uFF08\u6216 checkRefs=false \u5F3A\u5236\u5220\u9664\uFF09`)}return c({base:o,arrayProp:e.arrayProp,elementArrayProp:e.elementArrayProp,mode:e.mode??"merge",itemKey:e.itemKey,itemKeyValue:e.itemKeyValue,elementItemKey:e.elementItemKey,elementItemKeyValue:e.elementItemKeyValue,item:e.item,position:e.position,patch:e.patch,createIfMissing:e.createIfMissing,label:"view"})}case"patch_action_array_item":{let o=U(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let l=o[0].handler.actions??[],u;if(e.actionCode!=null){if(u=l.find(y=>y?.code===e.actionCode),!u)return i("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let y=e.actionIndex??0;if(y<0||y>=l.length)return i("NO_TARGET",`actionIndex=${y} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${l.length} \u4E2A action`);u=l[y]}if(!u)return i("NODE_NOT_FOUND",`handler ${e.handlerCode} \u672A\u5B9A\u4F4D\u5230 action`);let m=u,f;if(e.parentProp){let y=m[e.parentProp];if(y==null)if((e.mode==="append"||e.mode==="insert")&&e.createIfMissing)m[e.parentProp]={},f=m[e.parentProp];else return i("ARRAY_NOT_FOUND",`action \u7684 ${e.parentProp}.${e.arrayProp} \u4E0D\u5B58\u5728\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);else f=y}else f=m;return c({base:f,arrayProp:e.arrayProp,elementArrayProp:e.elementArrayProp,mode:e.mode,itemKey:e.itemKey,itemKeyValue:e.itemKeyValue,elementItemKey:e.elementItemKey,elementItemKeyValue:e.elementItemKeyValue,item:e.item,position:e.position,patch:e.patch,createIfMissing:e.createIfMissing,label:`action ${e.actionCode??e.actionIndex??0}`})}case"add_action":{let o=U(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let{handler:a,scope:l}=o[0],u=e.type??"flycode";if(!it.includes(u))return i("INVALID_PARAMS",`\u672A\u77E5 action type=${String(u)}\uFF0C\u53EF\u9009\u503C\u89C1 FORM_ACTION_TYPES`);if(l==="initial"&&!Rr.includes(u))return i("TYPE_NOT_ALLOWED",`\u521D\u59CB\u5316\u4E8B\u4EF6\uFF08initial\uFF09\u4E2D\u7684 action \u4EC5\u652F\u6301 flycode / receivelink\uFF08\u63A5\u6536\u53C2\u6570\uFF09\uFF0C\u4E0D\u652F\u6301 type=${u}\uFF1B\u8BE5\u7C7B\u52A8\u4F5C\u8BF7\u52A0\u5230 handlers \u4E8B\u4EF6\u4E2D`);if(e.script!=null&&u!=="flycode")return i("INVALID_PARAMS",`script \u4EC5\u9002\u7528\u4E8E type="flycode"\uFF1Btype=${u} \u8BF7\u6539\u7528 fields \u4F20\u8BE5\u7C7B\u578B\u5B57\u6BB5\uFF08\u5982 urllink \u7684 url\u3001toast \u7684 message\uFF09`);if(e.fields&&Object.prototype.hasOwnProperty.call(e.fields,"type"))return i("INVALID_PARAMS","fields \u4E0D\u80FD\u8986\u76D6 type\uFF0C\u8BF7\u7528 type \u53C2\u6570\u6307\u5B9A\u52A8\u4F5C\u7C7B\u578B");let m=a.actions??(a.actions=[]),f=e.code??Ar(e.handlerCode,m);if(!f)return i("INVALID_PARAMS","action code \u4E0D\u80FD\u4E3A\u7A7A");if(m.some(h=>h?.code===f))return i("DUP_CODE",`handler ${e.handlerCode} \u4E2D\u5DF2\u5B58\u5728 code=${f} \u7684 action\uFF0C\u8BF7\u6362\u4E00\u4E2A code`);let y=Pr({type:u,code:f,desc:e.desc,condition:e.condition,script:e.script,fields:e.fields}),_=e.position??m.length;return m.splice(_,0,y),n({message:`\u5DF2\u5728 ${l} \u7684 handler ${e.handlerCode} \u7684 position=${_} \u63D2\u5165 action code=${f}\uFF08type=${u}\uFF0Cdesc=${String(y.desc)}\uFF09`})}case"patch_action":{let o=U(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let{handler:a,scope:l}=o[0],u=a.actions??[],m=Gt(u,e.actionCode,e.actionIndex);if("error"in m)return i(m.error,m.message);let f=m.action,y=e.patch??{},_=Object.keys(y);if(_.length===0)return i("INVALID_PARAMS","patch \u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u7ED9\u51FA\u8981\u4FEE\u6539\u7684\u5B57\u6BB5");if(_.includes("type"))return i("INVALID_PARAMS",`patch \u4E0D\u80FD\u8986\u76D6 type\uFF08\u5F53\u524D ${String(f.type)}\uFF09\uFF1Atype \u51B3\u5B9A\u8BE5\u52A8\u4F5C\u7684\u5B57\u6BB5\u9AA8\u67B6\uFF0C\u76F4\u63A5\u6539\u4F1A\u6B8B\u7559\u65E7\u7C7B\u578B\u5B57\u6BB5\uFF1B\u6362\u7C7B\u578B\u8BF7 remove_action + add_action`);if(_.includes("code"))return i("INVALID_PARAMS","patch \u4E0D\u80FD\u8986\u76D6 code\uFF1Aaction code \u662F\u540E\u7EED\u5B9A\u4F4D\uFF08replace_script / patch_action_array_item\uFF09\u4E0E\u56DE\u8BFB\u6821\u9A8C\u7684\u952E\uFF0C\u91CD\u547D\u540D\u8BF7 remove_action + add_action");if(_.includes("script")){if(f.type!=="flycode")return i("INVALID_PARAMS",`script \u4EC5\u9002\u7528\u4E8E type="flycode"\uFF1B\u5F53\u524D action type=${String(f.type)}\uFF0C\u5176\u5B57\u6BB5\u8BF7\u76F4\u63A5\u5199\u8FDB patch`);if(typeof y.script!="string")return i("INVALID_PARAMS","patch.script \u5FC5\u987B\u662F\u5B57\u7B26\u4E32")}return Object.assign(f,y),s?.set(r,f.code==null?null:String(f.code)),n({message:`\u5DF2\u66F4\u65B0 ${l} \u7684 handler ${e.handlerCode} \u4E2D action code=${String(f.code)} \u7684 ${_.join(", ")}`})}case"remove_action":{let o=U(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let{handler:a,scope:l}=o[0],u=a.actions??[],m=Gt(u,e.actionCode,e.actionIndex);if("error"in m)return i(m.error,m.message);let f=u.indexOf(m.action),y=m.action.code??"";return u.splice(f,1),s?.set(r,y||null),n({message:`\u5DF2\u4ECE ${l} \u7684 handler ${e.handlerCode} \u5220\u9664 action code=${y||`#${f}`}\uFF08type=${String(m.action.type)}\uFF09\uFF0C\u5269\u4F59 ${u.length} \u4E2A`})}case"insert_node":{let o=nt(t,e.parentCode);if(!o)return i("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\uFF08\u542B subviews \u5F39\u7A97\uFF09\u4E2D\u627E\u5230 parentCode=${e.parentCode} \u7684\u7236\u8282\u70B9`);o.content||(o.content=[]);let a=e.position??o.content.length;return o.content.splice(a,0,e.node),n({message:`\u5DF2\u5728 ${e.parentCode} \u7684 position=${a} \u63D2\u5165\u8282\u70B9`})}case"remove_node":{let o=Oe(t).filter(u=>u.code===e.code);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(o.length>1)return i("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${o.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);if(e.checkRefs!==!1&&tt(t).has(e.code))return i("REF_VIOLATION",`\u4ECD\u6709\u4E8B\u4EF6/handler \u5F15\u7528 ${e.code}\uFF0C\u79FB\u9664\u524D\u8BF7\u5148\u89E3\u9664\u5F15\u7528\uFF08\u6216 checkRefs=false\uFF09`);if(!Wt(t,e.code))return i("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`);let l=me(t);return l&&l.length===0&&delete t.view.subviews,n({message:`\u5DF2\u79FB\u9664\u8282\u70B9 ${e.code}`})}case"move_node":{let o=Oe(t).filter(m=>m.code===e.code);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(o.length>1)return i("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${o.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let a=Wt(t,e.code);if(!a)return i("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`);let l=nt(t,e.newParentCode);if(!l)return i("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\uFF08\u542B subviews \u5F39\u7A97\uFF09\u4E2D\u627E\u5230 newParentCode=${e.newParentCode} \u7684\u7236\u8282\u70B9`);l.content||(l.content=[]);let u=e.position??l.content.length;return l.content.splice(u,0,a),n({message:`\u5DF2\u5C06 ${e.code} \u79FB\u52A8\u5230 ${e.newParentCode} \u7684 position=${u}`})}case"set_section":return t[e.section]=e.value,n({message:`\u5DF2\u6574\u6BB5\u66FF\u6362 ${e.section}`});case"replace_script":{let o=U(t,e.handlerCode,e.scope);if(o.length===0)return i("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(o.length>1)return i("DUP_CODE",`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 scope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`);let l=o[0].handler.actions??[],u;if(e.actionCode!=null){if(u=l.find(h=>h?.code===e.actionCode),!u)return i("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let h=e.actionIndex??0;if(h<0||h>=l.length)return i("NO_TARGET",`actionIndex=${h} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${l.length} \u4E2A action`);u=l[h]}let m=e.field??"script";if(e.replacement!=null)return u[m]=e.replacement,n({message:`\u5DF2\u6574\u6BB5\u8986\u76D6 ${e.handlerCode}.actions[${e.actionIndex??0}].${m}`});if(!e.ops||e.ops.length===0)return i("INVALID_PARAMS","replace_script \u9700\u63D0\u4F9B replacement \u6216 ops\uFF08oldString\u2192newString \u6570\u7EC4\uFF09");let f=u[m]??"",y=$e([f],e.ops.map(Sr),{contextLines:3}),_=y.results[0];return y.ok?(u[m]=y.scripts[0],n({message:`\u5DF2\u5C40\u90E8\u66FF\u6362 ${m}`,hunk:_?.hunk??null})):i("OPS_FAILED",_?.message??"\u811A\u672C\u66FF\u6362\u5931\u8D25",{hunk:_?.hunk??null,suggestions:_?.suggestions??null})}case"add_businessmodel":{let o=t.businessmodel??(t.businessmodel=[]),a=o.find(u=>u?.modellogiccode===e.modellogiccode);if(a&&!e.overwrite)return n({message:`businessmodel \u5DF2\u5B58\u5728 ${e.modellogiccode}\uFF0C\u8DF3\u8FC7\uFF08overwrite=false\uFF09`});let l;try{l=(await ee({modellogiccode:e.modellogiccode})).resp_data}catch(u){return i("FETCH_FAILED",`\u83B7\u53D6\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5931\u8D25\uFF1A${D(u)}`)}return l?a&&e.overwrite?(Object.assign(a,l),n({message:`\u5DF2\u8986\u76D6 businessmodel \u4E2D\u7684 ${e.modellogiccode}`})):(o.push(l),n({message:`\u5DF2\u8FFD\u52A0\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5230 businessmodel`})):i("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${e.modellogiccode} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`)}case"remove_businessmodel":{let o=t.businessmodel??[],a=o.findIndex(l=>l?.modellogiccode===e.modellogiccode);return a<0?n({message:`businessmodel \u4E2D\u4E0D\u5B58\u5728 ${e.modellogiccode}\uFF0C\u65E0\u9700\u79FB\u9664`}):e.checkRefs!==!1&&tt(t).has(e.modellogiccode)?i("REF_VIOLATION",`\u4ECD\u6709\u4E8B\u4EF6/handler \u5F15\u7528 ${e.modellogiccode}\uFF0C\u79FB\u9664\u524D\u8BF7\u5148\u89E3\u9664\u5F15\u7528\uFF08\u6216 checkRefs=false\uFF09`):(o.splice(a,1),n({message:`\u5DF2\u4ECE businessmodel \u79FB\u9664 ${e.modellogiccode}`}))}}}function Cr(t){let e=[];for(let n of t)n.hunk?e.push(`--- ops[${n.index}] ${n.op}\n${n.hunk}`):e.push(`ops[${n.index}] ${n.op} (${n.status}): ${n.message??""}`);let r=e.join(`\n`),s=r.split(`\n`);return s.length<=Jt?r:`${s.slice(0,Jt).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${s.length} \u884C\uFF09`}function nn(t,e){let r=JSON.stringify(e);return t.some(s=>JSON.stringify(s)===r)}function rn(t,e,r,s,n,i,c){let o=t[e];if(!Array.isArray(o))return{error:`${e} \u975E\u6570\u7EC4`};if(!r)return{finalArr:o,finalProp:e};if(s==null||n===void 0)return{error:"\u4E24\u7EA7\u6A21\u5F0F\u7F3A\u5916\u5C42\u5B9A\u4F4D\u952E"};let a=o.filter(u=>u&&typeof u=="object"&&u[s]===n);if(a.length!==1)return{error:`\u5916\u5C42\u5143\u7D20 ${s}=${String(n)} \u547D\u4E2D ${a.length} \u4E2A\uFF08\u5E94\u552F\u4E00\uFF09`};let l=a[0][r];return Array.isArray(l)?{finalArr:l,finalProp:`${e}[${s}=${String(n)}].${r}`}:{error:`${e}[${s}=${String(n)}].${r} \u975E\u6570\u7EC4`}}function Qt(t,e,r,s,n){let i=e.mode??"merge",c=e.elementArrayProp!=null?e.elementItemKey??"code":e.itemKey??"code",o=e.elementArrayProp!=null?e.elementItemKeyValue:e.itemKeyValue;if(i==="remove"){let m=t[e.arrayProp],f=null;if(e.elementArrayProp!=null){if(Array.isArray(m)){let y=m.find(_=>_&&typeof _=="object"&&_[e.itemKey??"code"]===e.itemKeyValue);f=y?y[e.elementArrayProp]??null:null}}else f=Array.isArray(m)?m:null;if(f==null)return;f.some(y=>y&&typeof y=="object"&&y[c]===o)&&n.push(`ops[${s}] ${r} remove \u5143\u7D20 ${c}=${String(o)} \u4ECD\u5B58\u5728`);return}let a=rn(t,e.arrayProp,e.elementArrayProp,e.itemKey,e.itemKeyValue,e.elementItemKey,e.elementItemKeyValue);if("error"in a){n.push(`ops[${s}] ${r} ${a.error}`);return}let l=a.finalArr;if(i==="append"||i==="insert"){if(!e.item){n.push(`ops[${s}] ${r} ${i} \u7F3A item`);return}nn(l,e.item)||n.push(`ops[${s}] ${r} ${i} \u5143\u7D20\u672A\u51FA\u73B0`);return}let u=l.find(m=>m&&typeof m=="object"&&m[c]===o);if(!u){n.push(`ops[${s}] ${r} \u5143\u7D20 ${c}=${String(o)} \u672A\u627E\u5230`);return}for(let[m,f]of Object.entries(e.patch??{}))JSON.stringify(u[m])!==JSON.stringify(f)&&n.push(`ops[${s}] ${r}.${m} \u672A\u751F\u6548`)}function Dr(t,e,r,s){let n=[],i=Oe(t),c=new Set(i.map(o=>o.code).filter(o=>!!o));for(let o=0;o<e.length;o++){let a=e[o];switch(a.op){case"set_pageinfo":for(let[l,u]of Object.entries(a.patch))JSON.stringify(t.pageinfo?.[l])!==JSON.stringify(u)&&n.push(`ops[${o}] set_pageinfo.${l} \u672A\u751F\u6548`);break;case"set_attrs":{let l=i.find(u=>u.code===a.code);if(!l){n.push(`ops[${o}] set_attrs \u8282\u70B9 ${a.code} \u6D88\u5931`);break}for(let[u,m]of Object.entries(a.patch))JSON.stringify(l[u])!==JSON.stringify(m)&&n.push(`ops[${o}] set_attrs.${u} \u672A\u751F\u6548`);break}case"patch_node_array_item":{let l=i.find(u=>u.code===a.nodeCode);if(!l){n.push(`ops[${o}] patch_node_array_item \u8282\u70B9 ${a.nodeCode} \u6D88\u5931`);break}Qt(l,a,"patch_node_array_item",o,n);break}case"patch_view_array_item":{let l=t.view;if(!l){n.push(`ops[${o}] patch_view_array_item \u8868\u5355\u6CA1\u6709 view \u7ED3\u6784`);break}Qt(l,a,"patch_view_array_item",o,n);break}case"patch_action_array_item":{let l=U(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] patch_action_array_item handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let m=l[0].handler.actions??[],f=a.actionCode!=null?m.find(I=>I?.code===a.actionCode):m[a.actionIndex??0];if(!f){n.push(`ops[${o}] patch_action_array_item action \u672A\u627E\u5230`);break}let y=f,_=a.parentProp?y[a.parentProp]??{}:y,h=a.elementArrayProp!=null?a.elementItemKey??"code":a.itemKey??"code",R=a.elementArrayProp!=null?a.elementItemKeyValue:a.itemKeyValue;if(a.mode==="remove"){let I=_[a.arrayProp],F=null;if(a.elementArrayProp!=null){if(Array.isArray(I)){let H=I.find(M=>M&&typeof M=="object"&&M[a.itemKey??"code"]===a.itemKeyValue);F=H?H[a.elementArrayProp]??null:null}}else F=Array.isArray(I)?I:null;if(F==null)break;F.some(H=>H&&typeof H=="object"&&H[h]===R)&&n.push(`ops[${o}] patch_action_array_item remove \u5143\u7D20 ${h}=${String(R)} \u4ECD\u5B58\u5728`);break}let w=rn(_,a.arrayProp,a.elementArrayProp,a.itemKey,a.itemKeyValue,a.elementItemKey,a.elementItemKeyValue);if("error"in w){n.push(`ops[${o}] patch_action_array_item ${w.error}`);break}let v=w.finalArr;if(a.mode==="append"||a.mode==="insert"){if(!a.item){n.push(`ops[${o}] patch_action_array_item ${a.mode} \u7F3A item`);break}nn(v,a.item)||n.push(`ops[${o}] patch_action_array_item ${a.mode} \u5143\u7D20\u672A\u51FA\u73B0`);break}let x=v.find(I=>I&&typeof I=="object"&&I[h]===R);if(!x){n.push(`ops[${o}] patch_action_array_item \u5143\u7D20 ${h}=${String(R)} \u672A\u627E\u5230`);break}for(let[I,F]of Object.entries(a.patch??{}))JSON.stringify(x[I])!==JSON.stringify(F)&&n.push(`ops[${o}] patch_action_array_item.${I} \u672A\u751F\u6548`);break}case"add_action":{let l=U(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] add_action handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let u=l[0].handler.actions??[],m=a.type??"flycode",f;if(a.code)f=u.find(y=>y?.code===a.code);else if(r){let y=U(r,a.handlerCode,a.scope)[0]?.handler,_=new Set((y?.actions??[]).map(h=>h?.code).filter(h=>!!h));f=u.filter(h=>h?.code&&!_.has(h.code)).find(h=>h.type===m)}else{let y=a.position??u.length-1,_=u[y];_&&_.type===m&&(f=_)}if(!f){n.push(`ops[${o}] add_action \u65B0 action \u672A\u51FA\u73B0\uFF08handler ${a.handlerCode}\uFF09`);break}f.type!==m&&n.push(`ops[${o}] add_action.type \u672A\u751F\u6548\uFF08\u671F\u671B ${m}\uFF0C\u5B9E\u9645 ${String(f.type)}\uFF09`),m==="flycode"&&a.script!=null&&z(String(f.script??""))!==z(a.script)&&n.push(`ops[${o}] add_action.script \u672A\u751F\u6548`);for(let[y,_]of Object.entries(a.fields??{}))JSON.stringify(f[y])!==JSON.stringify(_)&&n.push(`ops[${o}] add_action.${y} \u672A\u751F\u6548`);break}case"patch_action":{if(U(t,a.handlerCode,a.scope).length!==1){n.push(`ops[${o}] patch_action handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let u=Ir(t,r,a,s?.get(o));if(!u){n.push(`ops[${o}] patch_action action \u672A\u627E\u5230\uFF08handler ${a.handlerCode}\uFF09`);break}let m=u;for(let[f,y]of Object.entries(a.patch??{}))(f==="script"&&typeof y=="string"?z(String(m.script??""))===z(y):JSON.stringify(m[f])===JSON.stringify(y))||n.push(`ops[${o}] patch_action.${f} \u672A\u751F\u6548`);break}case"remove_action":{let l=U(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] remove_action handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let u=l[0].handler.actions??[],m=s?.get(o)??"";if(!m&&a.actionCode!=null&&a.actionCode!==""&&(m=a.actionCode),!m&&r&&(m=(U(r,a.handlerCode,a.scope)[0]?.handler.actions??[])[a.actionIndex??0]?.code??""),!m){n.push(`ops[${o}] remove_action \u65E0\u6CD5\u786E\u5B9A\u88AB\u5220\u9664\u7684 action\uFF08\u672A\u7ED9 actionCode\uFF0C\u843D\u5E93\u524D\u57FA\u7EBF\u5BF9\u5E94\u4E0B\u6807\u4E5F\u6CA1\u6709 code\uFF09`);break}u.some(f=>f?.code===m)&&n.push(`ops[${o}] remove_action \u52A8\u4F5C ${m} \u4ECD\u5B58\u5728`);break}case"insert_node":c.has(a.node.code)||n.push(`ops[${o}] insert_node \u8282\u70B9\u672A\u51FA\u73B0`);break;case"remove_node":c.has(a.code)&&n.push(`ops[${o}] remove_node \u8282\u70B9\u4ECD\u5B58\u5728`);break;case"move_node":c.has(a.code)||n.push(`ops[${o}] move_node \u8282\u70B9\u6D88\u5931`);break;case"set_section":break;case"replace_script":{let l=U(t,a.handlerCode,a.scope);if(l.length!==1){n.push(`ops[${o}] replace_script handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let m=l[0].handler.actions??[],f=a.actionCode!=null?m.find(h=>h?.code===a.actionCode):m[a.actionIndex??0];if(!f){n.push(`ops[${o}] replace_script action \u672A\u627E\u5230`);break}let y=a.field??"script",_=f[y]??"";if(a.replacement!=null)z(_)!==z(a.replacement)&&n.push(`ops[${o}] replace_script \u6574\u6BB5\u8986\u76D6\u672A\u751F\u6548`);else if(a.ops)for(let h of a.ops){let R=h.matchMode??"normalized",w=z(_,R),v=z(h.newString,R),x=z(h.oldString,R);h.newString.length>0&&!w.includes(v)&&n.push(`ops[${o}] replace_script \u65B0\u5185\u5BB9\u672A\u51FA\u73B0`),!v.includes(x)&&w.includes(x)&&n.push(`ops[${o}] replace_script \u65E7\u5185\u5BB9\u4ECD\u5B58\u5728`)}break}case"add_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===a.modellogiccode)||n.push(`ops[${o}] add_businessmodel \u672A\u8FFD\u52A0`);break}case"remove_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===a.modellogiccode)&&n.push(`ops[${o}] remove_businessmodel \u672A\u79FB\u9664`);break}}}return{verified:n.length===0,problems:n}}function $r(t){let e=[];for(let r=0;r<t.length;r++){let s=t[r],n=s.handlerScope;if(n!=="handlers"&&n!=="initial"){e.push(t[r]);continue}let i=s.scope;if((i==="handlers"||i==="initial")&&i!==n)return{ops:t,error:`ops[${r}]\uFF08op=${String(s.op)}\uFF09\u540C\u65F6\u7ED9\u4E86 scope="${i}" \u4E0E handlerScope="${n}"\uFF0C\u4E24\u8005\u542B\u4E49\u76F8\u540C\u4F46\u53D6\u503C\u51B2\u7A81\uFF1B\u8BF7\u53EA\u4FDD\u7559\u4E00\u4E2A`};let c={...s,scope:n};delete c.handlerScope,e.push(c)}return{ops:e}}async function on(t,e,r,s={}){let n=s.dryRun??!1,i=s.verify??!0,c=(v,x)=>({ok:!1,applied:!1,verified:null,errorCode:v,message:x,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return c("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let o=$r(e);if(o.error)return c("INVALID_PARAMS",o.error);e=o.ops;let a;try{a=(await oe({code:t})).resp_data}catch(v){return c("FETCH_FAILED",D(v))}if(!a)return c("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let l=structuredClone(a),u=[],m=new Map,f=!1;for(let v=0;v<e.length;v++)try{let x=await Nr(l,e[v],v,m);u.push(x),x.status==="FAILED"&&(f=!0)}catch(x){u.push({index:v,op:e[v].op,status:"FAILED",errorCode:"OP_ERROR",message:D(x),hunk:null,suggestions:null}),f=!0}let y=Cr(u);if(f){let v=u.filter(x=>x.status==="FAILED").map(x=>x.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${u.filter(x=>x.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${v}]\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:y,ops:u}}if(n)return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u6F14\u6210\u529F\uFF08dryRun=true\uFF09\uFF0C${e.length} \u4E2A op \u5168\u90E8\u547D\u4E2D\uFF0C\u672A\u843D\u5E93`,diff:y,ops:u};Zt(r);let _=JSON.stringify(r),h;try{let v=await et({conf:l,message:_});h=typeof v?.resp_data=="string"?v.resp_data:JSON.stringify(v?.resp_data??null)}catch(v){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(v),diff:y,ops:u}}let R=null,w=h;if(i)try{let x=(await oe({code:t})).resp_data;if(!x)R=!1,w=`${h} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let I=Dr(x,e,a,m);R=I.verified,I.verified||(w=`${h} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${I.problems.join("\uFF1B")}`)}}catch(v){R=!1,w=`${h} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(v)}`}return{ok:R===null?!0:R,applied:!0,verified:R,errorCode:R===!1?"VERIFY_FAILED":"OK",message:w,diff:y,ops:u}}async function sn(t,e){Zt(e);let r=JSON.stringify(e);try{let s=await et({conf:t,message:r}),n=typeof s?.resp_data=="string"?s.resp_data:JSON.stringify(s?.resp_data??null);return{ok:!0,code:t.pageinfo?.code??void 0,message:n}}catch(s){return{ok:!1,code:t.pageinfo?.code??void 0,message:D(s)}}}var an=d.object({code:d.union([d.string(),d.null()]).optional(),type:d.union([d.string(),d.null()]).optional(),title:d.union([d.string(),d.null()]).optional(),children:d.array(d.object({code:d.union([d.string(),d.null()]).optional(),type:d.union([d.string(),d.null()]).optional(),title:d.union([d.string(),d.null()]).optional(),children:d.array(d.unknown()).optional()})).optional()}),Er=d.object({createtime:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),createaccountname:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u7F16\u7801"),clientcategorycode:d.union([d.string(),d.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),confsource:d.coerce.number().nullable().optional().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),directorytypecode:d.union([d.string(),d.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:d.union([d.string(),d.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),marktype:d.coerce.number().nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:d.union([d.string(),d.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C code \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),pagetemplatecode:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u6A21\u677F\u7F16\u7801"),pagetypename:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\u540D\u79F0"),pagedescr:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u63CF\u8FF0"),ref:d.union([d.string(),d.null()]).optional().describe("\u5916\u90E8\u5F15\u7528\uFF0C\u4E00\u822C\u4F20\u7A7A\u5B57\u7B26\u4E32"),status:d.coerce.number().nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:d.union([d.string(),d.null()]).optional().describe("\u6807\u9898"),type:d.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:d.union([d.string(),d.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountcode:d.union([d.string(),d.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:d.union([d.string(),d.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),versionnum:d.union([d.string(),d.null()]).optional().describe("\u7248\u672C\u53F7")}).catchall(d.unknown()),at={renderinfo:d.any().optional().describe("IDE \u6E32\u67D3\u6807\u8BB0"),pageinfo:d.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 1\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F"),businessmodel:d.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:d.any().optional().describe("\u52A8\u4F5C\u903B\u8F91\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),presenter:d.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:d.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:d.any().optional().describe("\u63A7\u4EF6\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),pageswitch:d.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:d.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")},ln=[{name:"page_form_directories",config:{title:"\u67E5\u8BE2\u8868\u5355\u6240\u5C5E\u76EE\u5F55",description:`\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u6240\u5C5E\u76EE\u5F55\uFF08getDirectorys\uFF09\uFF0C\u53D6\u56DE\u7684 directorytypecode \u5373\u8868\u5355 pageinfo.directorytypecode \u7684\u53D6\u503C\uFF0C\u4E5F\u662F\u6309\u76EE\u5F55\u7B5B\u8868\u5355\u3001\u6216\u4E3A\u8868\u5355\u6307\u5B9A\u76EE\u5F55\u65F6\u8981\u7528\u7684\u7F16\u7801\u3002\n\n- \u9ED8\u8BA4\u6700\u591A\u56DE ${30} \u6761\uFF0C\u786C\u4E0A\u9650 ${200} \u6761\uFF1B\n- \u672A\u4F20\u4EFB\u4F55\u7B5B\u9009\u6761\u4EF6\u65F6\uFF0C\u53EA\u56DE\u9876\u7EA7\u76EE\u5F55\uFF08\u901A\u5E38\u5341\u6761\u91CF\u7EA7\uFF09\u5E76\u5728 hint \u4E2D\u8BF4\u660E\uFF1B\n- \u547D\u4E2D\u8FC7\u591A\u65F6 truncated=true\uFF0C\u8BF7\u7F29\u5C0F keys \u6216\u7528 offset \u7FFB\u9875\u3002\n\u7528\u6CD5\u5EFA\u8BAE\uFF1A\u5148\u7528 keys \u6309\u76EE\u5F55\u540D\u6A21\u7CCA\u641C\u7D22\uFF08\u5982 keys="\u4EF7\u683C"\uFF09\uFF0C\u62FF\u5230 directorytypecode \u540E\u518D\u53BB\u67E5/\u5EFA\u8868\u5355\uFF1B\u4E5F\u53EF\u4F20 parentdirectorytypecode \u9010\u7EA7\u4E0B\u94BB\uFF08\u4F20 "root" \u53EA\u770B\u9876\u7EA7\uFF09\u3002\n\n${X}`,inputSchema:{keys:d.string().optional().describe("\u76EE\u5F55\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u547D\u4E2D directorytypename / directoryname / centername / directorytypecode\uFF1B\u5F3A\u70C8\u5EFA\u8BAE\u4F18\u5148\u7528\u5B83\u68C0\u7D22\uFF0C\u907F\u514D\u62C9\u53D6\u5168\u91CF"),directorytypecode:d.string().optional().describe("\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF08\u5DF2\u77E5\u7F16\u7801\u53CD\u67E5\u540D\u79F0\u65F6\u7528\uFF09"),parentdirectorytypecode:d.string().optional().describe('\u7236\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF1B\u4F20 "root" \u8868\u793A\u53EA\u8981\u9876\u7EA7\u76EE\u5F55\uFF08parentdirectorytypecode \u4E3A\u7A7A\uFF09\uFF1B\u4F20\u5177\u4F53\u7F16\u7801\u5219\u53D6\u5176\u76F4\u63A5\u5B50\u76EE\u5F55'),centername:d.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\u6A21\u7CCA\u5339\u914D\uFF0C\u5982\u300C\u5BA2\u8BBF\u7BA1\u7406\u300D\u300C\u8425\u9500\u8D39\u63A7\u300D"),centercode:d.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u7F16\u7801\u7CBE\u786E\u5339\u914D"),marktype:d.string().optional().describe("\u521B\u5EFA\u6807\u8BB0\u7CBE\u786E\u5339\u914D\uFF0C\u6574\u6570\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),limit:d.string().optional().describe(`\u8FD4\u56DE\u6761\u6570\u4E0A\u9650\uFF0C\u9ED8\u8BA4 ${30}\uFF0C\u786C\u4E0A\u9650 ${200}`),offset:d.string().optional().describe("\u8D77\u59CB\u504F\u79FB\uFF0C\u9ED8\u8BA4 0\uFF1B\u914D\u5408 limit \u7FFB\u9875"),directorycategory:d.string().optional().describe('\u76EE\u5F55\u7C7B\u522B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A3-\u8868\u5355/\u9875\u9762\u76EE\u5F55\uFF08\u9ED8\u8BA4 "3"\uFF0C\u5373\u8868\u5355 directorytypecode \u7684\u53D6\u503C\u6765\u6E90\uFF09')},outputSchema:{sourceTotal:d.coerce.number().describe("\u63A5\u53E3\u8FD4\u56DE\u7684\u76EE\u5F55\u603B\u6570\uFF08\u7B5B\u9009\u524D\uFF0C\u4F53\u73B0\u5168\u91CF\u89C4\u6A21\uFF09"),total:d.coerce.number().describe("\u6309\u7B5B\u9009\u6761\u4EF6\u547D\u4E2D\u7684\u6761\u6570\uFF08\u622A\u65AD\u524D\uFF09"),returned:d.coerce.number().describe("\u672C\u6B21\u5B9E\u9645\u8FD4\u56DE\u6761\u6570"),offset:d.coerce.number().describe("\u672C\u6B21\u8FD4\u56DE\u7684\u8D77\u59CB\u504F\u79FB"),limit:d.coerce.number().describe("\u672C\u6B21\u751F\u6548\u7684\u8FD4\u56DE\u6761\u6570\u4E0A\u9650"),truncated:d.boolean().describe("true \u8868\u793A\u547D\u4E2D\u6570\u5927\u4E8E\u672C\u6B21\u8FD4\u56DE\uFF0C\u8FD8\u6709\u540E\u7EED"),hint:d.union([d.string(),d.null()]).describe("\u6536\u655B/\u7FFB\u9875\u63D0\u793A\uFF1Bnull \u8868\u793A\u65E0\u9700\u63D0\u793A"),items:d.array(d.object({directorytypecode:d.string().describe("\u76EE\u5F55\u7F16\u7801\uFF0C\u5373\u8868\u5355 pageinfo.directorytypecode \u7684\u53D6\u503C"),directorytypename:d.union([d.string(),d.null()]).optional().describe("\u76EE\u5F55\u540D\u79F0\uFF08\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u5E26\u540E\u7F00\uFF0C\u5982\u300C\u5236\u5B9A\u8BA1\u5212(\u5BA2\u8BBF\u7BA1\u7406)\u300D\uFF09"),directoryname:d.string().optional().describe("\u76EE\u5F55\u672C\u540D\uFF0C\u4EC5\u5728\u4E0E directorytypename \u4E0D\u540C\u65F6\u8FD4\u56DE"),parentdirectorytypecode:d.string().optional().describe("\u7236\u76EE\u5F55\u7F16\u7801\uFF1B\u7F3A\u5931\u5373\u9876\u7EA7\u76EE\u5F55"),centername:d.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\uFF0C\u4EC5\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u8FD4\u56DE"),marktype:d.coerce.number().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237")})).describe("\u76EE\u5F55\u9879\uFF08\u5DF2\u88C1\u526A\uFF0C\u4EC5\u4FDD\u7559\u5B9A\u4F4D\u6240\u9700\u5B57\u6BB5\uFF09")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a,directorycategory:l="3"}=t;try{let u=await qt({directorycategory:String(l||"3")}),m=Array.isArray(u?.resp_data)?u.resp_data:[];return T(Re(m,{keys:e,directorytypecode:r,parentdirectorytypecode:s,centername:n,centercode:i,marktype:c,limit:o,offset:a}))}catch(u){return j(u)}}},{name:"page_form_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u8868\u5355/\u9875\u9762",description:`\u5206\u9875\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u5217\u8868\uFF08Form/Page\uFF09\u3002\n\n${V}\n${X}`,inputSchema:{status:d.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),keys:d.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355 code / title"),keywords:d.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355\u4E2D\u7684\u5173\u952E\u8BCD"),clientcategorycode:d.string().optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),page:d.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:d.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),type:d.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:d.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D"),updatetimestart:d.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:d.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:d.array(Er).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:d.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:d.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:d.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:d.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{status:e="",keys:r="",keywords:s="",clientcategorycode:n="",page:i=1,rows:c=20,type:o="",updateopname:a="",updatetimestart:l="",updatetimeend:u=""}=t;try{let m=await Bt({centercode:"",directorytypecode:"rootNode",starttime:"",status:e,keys:r,keywords:s,clientcategorycode:n,page:Number(i)||1,rows:Number(c)||20,type:o,updateopname:a,updatetimestart:l,updatetimeend:u});return T(m.resp_data)}catch(m){return j(m)}}},{name:"get_form",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u8BE6\u60C5",description:`\u6309 code \u83B7\u53D6\u8868\u5355\u5B8C\u6574\u8BE6\u60C5\uFF08pageinfo/businessmodel/presenter/view/controls/pageswitch/message\uFF09\uFF0C\u7ED3\u6784\u5D4C\u5957\u8F83\u6DF1\u3002\u5EFA\u8BAE\u5148 get_form_outline \u770B\u9AA8\u67B6\u3001get_form_fragment \u53D6\u5C40\u90E8\uFF0C\u518D\u7528 patch_form \u6539\uFF0C\u907F\u514D\u62C9\u53D6\u5E9E\u5927\u7684\u5B8C\u6574 JSON\u3002\n\n${V}\n${X}`,inputSchema:{code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:d.looseObject(at),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let r=await oe({code:e});return T(r.resp_data)}catch(r){return j(r)}}},{name:"get_form_outline",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u9AA8\u67B6",description:`\u83B7\u53D6\u8868\u5355\u8F7B\u91CF\u9AA8\u67B6\uFF08\u6570 KB\uFF0C\u968F\u63A7\u4EF6\u6570\u91CF\u589E\u957F\uFF09\uFF1Apageinfo \u5173\u952E\u5B57\u6BB5\u3001view \u6811\u9AA8\u67B6\uFF08body\uFF09\u3001\u5F39\u7A97\u89C6\u56FE\u9AA8\u67B6\uFF08subviews\uFF0C\u5143\u7D20 type=popview\uFF09\u3001presenter \u7684 handlers \u4E0E initial \u5904\u7406\u5668\u6E05\u5355\uFF08\u6BCF\u9879\u5E26 scope \u6807\u6CE8\uFF09\u3001businessmodel \u903B\u8F91\u540D\u3002\u7528\u4E8E\u62FF\u5168\u8C8C\u4E0E\u6240\u6709\u53EF\u6539\u5BF9\u8C61 code\uFF0C\u907F\u514D\u76F2\u6539\u3002\u6CE8\u610F\u9875\u9762\u521D\u59CB\u5316\u811A\u672C\u5728 presenter.initial\uFF08scope='initial'\uFF09\uFF1B\u5F39\u7A97\u53CA\u5176\u5185\u90E8\u63A7\u4EF6\u7684 code \u53EA\u51FA\u73B0\u5728 subviews \u91CC\uFF0C\u4E0D\u5728 viewTree \u4E2D\u3002\n\n${X}`,inputSchema:{code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:{code:d.string().describe("\u8868\u5355\u7F16\u7801"),title:d.union([d.string(),d.null()]).optional().describe("\u6807\u9898"),type:d.union([d.string(),d.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\uFF08\u540C page_form_list \u7684 type\uFF09"),status:d.union([d.string(),d.null()]).optional().describe("\u72B6\u6001"),clientcategorycode:d.union([d.string(),d.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B"),marktype:d.union([d.string(),d.null()]).optional().describe("\u521B\u5EFA\u6807\u8BB0"),versionnum:d.union([d.string(),d.null()]).optional().describe("\u7248\u672C\u53F7"),viewTree:d.array(an).optional().describe("view \u6811\u9AA8\u67B6\uFF08body \u9875\u9762\u4E3B\u4F53\uFF0C\u9012\u5F52\uFF0C\u4EC5 code/type/title + children\uFF09"),subviews:d.array(an).optional().describe("\u5F39\u7A97\u89C6\u56FE\u9AA8\u67B6\uFF08view.subviews\uFF0C\u5143\u7D20 type=popview\uFF09\uFF0C\u6BCF\u9879\u4E00\u68F5\u4E0E viewTree \u540C\u6784\u7684\u6811\uFF1B\u5F39\u7A97\u53CA\u5176\u5185\u90E8\u63A7\u4EF6\u7684 code \u53EA\u80FD\u4ECE\u8FD9\u91CC\u62FF\u5230"),handlers:d.array(d.object({code:d.union([d.string(),d.null()]).optional(),name:d.union([d.string(),d.null()]).optional(),desc:d.union([d.string(),d.null()]).optional(),key:d.union([d.string(),d.null()]).optional(),condition:d.union([d.string(),d.null()]).optional(),actionCount:d.coerce.number().optional(),actionTypes:d.array(d.string()).optional(),scope:d.union([d.string(),d.null()]).optional().describe("\u5904\u7406\u5668\u5BB9\u5668\uFF1Ahandlers=\u4E8B\u4EF6\u5904\u7406\u5668 / initial=\u9875\u9762\u521D\u59CB\u5316\uFF08replace_script \u5BFB\u5740\u4F9D\u636E\uFF09")})).optional().describe("presenter \u4E8B\u4EF6\u5904\u7406\u5668\u6E05\u5355\uFF08\u542B\u9875\u9762\u521D\u59CB\u5316 initial\uFF0C\u6BCF\u9879\u5E26 scope \u6807\u6CE8\u6240\u5728\u5BB9\u5668\uFF09"),interfaces:d.array(d.object({code:d.union([d.string(),d.null()]).optional(),key:d.union([d.string(),d.null()]).optional(),desc:d.union([d.string(),d.null()]).optional(),actionCount:d.coerce.number().optional()})).optional().describe("presenter \u5BF9\u5916\u63A5\u53E3\u6E05\u5355"),businessModels:d.array(d.object({modelcode:d.union([d.string(),d.null()]).optional(),modellogiccode:d.union([d.string(),d.null()]).optional(),modellogicname:d.union([d.string(),d.null()]).optional(),actiontype:d.union([d.string(),d.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:d.union([d.string(),d.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let r=await en(e);return T(r)}catch(r){return j(r)}}},{name:"get_form_fragment",config:{title:"\u67E5\u8BE2\u8868\u5355/\u9875\u9762\u5C40\u90E8\u5185\u5BB9",description:`\u6309 code \u53D6\u8868\u5355\u5C40\u90E8\u5185\u5BB9\uFF08\u51E0 KB\uFF09\uFF1AnodeCode \u8282\u70B9\u5B50\u6811\uFF08\u53EF\u914D itemCode \u94BB\u53D6\u67D0\u6570\u7EC4\u5143\u7D20\uFF1BnodeCode \u4E5F\u652F\u6301 view.subviews \u91CC\u7684\u5F39\u7A97\u53CA\u5176\u5185\u90E8\u63A7\u4EF6\uFF0C\u672A\u547D\u4E2D\u4F1A\u5728 message \u660E\u786E\u8BF4\u660E\uFF09\u3001handlerCode \u5904\u7406\u5668\u5B9A\u4E49\u4E0E actionIndex \u6E05\u5355\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09\u3001section \u6574\u6BB5\uFF08section='subviews' \u53EA\u53D6\u5F39\u7A97\u6570\u7EC4\uFF09\u3002\u914D\u5408 patch_form \u4F7F\u7528\u3002\n\n${X}`,inputSchema:{code:d.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),nodeCode:d.string().optional().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF08\u542B view.subviews \u5F39\u7A97\u8282\u70B9\u53CA\u5176\u5185\u90E8\u63A7\u4EF6\uFF09\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B50\u6811\uFF1B\u672A\u547D\u4E2D\u65F6 message \u4F1A\u8BF4\u660E\u5DF2\u68C0\u7D22\u7684\u8303\u56F4"),itemCode:d.string().optional().describe("\u5728 nodeCode \u547D\u4E2D\u7684\u8282\u70B9\u5185\u90E8\uFF0C\u6309 code \u6DF1\u5EA6\u4F18\u5148\u94BB\u53D6\u67D0\u4E2A\u6570\u7EC4\u5143\u7D20\uFF08\u5982\u8868\u683C\u7684\u67D0\u4E00\u5217\uFF09\u5E76\u8FD4\u56DE\u8BE5\u5143\u7D20\uFF0C\u800C\u975E\u6574\u68F5\u5B50\u6811\uFF1B\u672A\u627E\u5230\u65F6\u5728 message \u63D0\u793A"),handlerCode:d.string().optional().describe("\u76EE\u6807 presenter \u5904\u7406\u5668\u7F16\u7801\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B9A\u4E49\u4E0E actionIndex \u6E05\u5355"),handlerScope:d.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),section:d.enum(["pageinfo","view","presenter","controls","pageswitch","businessmodel","subviews"]).optional().describe("\u8FD4\u56DE\u6574\u6BB5\u5185\u5BB9\uFF08\u4EC5\u6838\u5BF9\u5F15\u7528\u7528\uFF09\uFF1Bsubviews=\u53EA\u53D6\u5F39\u7A97\u6570\u7EC4")},outputSchema:{code:d.string().describe("\u8868\u5355\u7F16\u7801"),node:d.any().optional().describe("nodeCode \u547D\u4E2D\u7684\u8282\u70B9\u5B50\u6811"),handler:d.any().optional().describe("handlerCode \u547D\u4E2D\u7684\u5904\u7406\u5668\u5B8C\u6574\u5B9A\u4E49"),section:d.any().optional().describe("section \u547D\u4E2D\u7684\u6574\u6BB5\u5185\u5BB9"),actionIndex:d.array(d.object({index:d.coerce.number().describe("action \u4E0B\u6807"),code:d.union([d.string(),d.null()]).optional().describe("action \u7F16\u7801"),type:d.union([d.string(),d.null()]).optional().describe("action \u7C7B\u578B"),scriptLen:d.coerce.number().describe("script \u5B57\u7B26\u957F\u5EA6"),conditionLen:d.coerce.number().describe("condition \u5B57\u7B26\u957F\u5EA6"),expressionLen:d.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:d.union([d.string(),d.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e,nodeCode:r,itemCode:s,handlerCode:n,handlerScope:i,section:c}=t;try{let o=await tn(e,{nodeCode:r,itemCode:s,handlerCode:n,handlerScope:i,section:c});return T(o)}catch(o){return j(o)}}}];import{z as p}from"zod";var Fr=p.discriminatedUnion("op",[p.object({op:p.literal("set_pageinfo"),patch:p.record(p.string(),p.unknown()).describe('\u6D45\u5408\u5E76\u8FDB pageinfo \u7684\u5B57\u6BB5\uFF0C\u5982 { "title": "\u65B0\u6807\u9898", "status": "1" }')}),p.object({op:p.literal("set_attrs"),code:p.string().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF08\u6574\u4E2A\u8868\u5355\u552F\u4E00\uFF0C\u542B view.subviews \u5F39\u7A97\u53CA\u5176\u5185\u90E8\u63A7\u4EF6\uFF1Bpresenter/interface \u7684 action \u7ED3\u6784\u6539\u8BF7\u7528 patch_action_array_item\uFF09"),patch:p.record(p.string(),p.unknown()).describe('\u8981\u6539\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u6309 code \u5B9A\u4F4D\u540E\u6D45\u5408\u5E76\uFF0C\u5982 { "hidden": "1" }\u3002\u6CE8\u610F\uFF1A\u82E5 patch \u542B\u6570\u7EC4\u5C5E\u6027\u4F1A**\u6574\u4F53\u8986\u76D6**\u8BE5\u6570\u7EC4\uFF0C\u4E14 set_attrs \u9ED8\u8BA4\u7981\u6B62\u6574\u6BB5\u8986\u76D6\u6570\u7EC4\uFF08\u907F\u514D\u8BEF\u6539\u4E22\u5217/\u4E22\u7ED1\u5B9A\uFF0C\u66FE\u81F4\u6574\u5217\u4E22\u5931\uFF09\uFF0C\u5982\u9700\u6574\u4F53\u66FF\u6362\u8BF7\u663E\u5F0F\u4F20 overwriteArray:true\uFF0C\u5426\u5219\u8BF7\u6539\u7528 patch_node_array_item / patch_action_array_item \u505A\u5143\u7D20\u7EA7\u589E\u6539\u5220'),overwriteArray:p.boolean().optional().describe("patch \u542B\u6570\u7EC4\u5C5E\u6027\u65F6\u662F\u5426\u5141\u8BB8\u6574\u6BB5\u8986\u76D6\uFF0C\u9ED8\u8BA4 false\uFF08\u8986\u76D6\u5373\u963B\u65AD\u5E76\u63D0\u793A\u6539\u7528\u6570\u7EC4\u5143\u7D20\u7EA7 op\uFF09")}),p.object({op:p.literal("patch_node_array_item"),nodeCode:p.string().describe("\u7236\u8282\u70B9 code\uFF08\u5982\u8868\u683C\u8282\u70B9 infotable-table-...\uFF1B\u4E5F\u53EF\u4EE5\u662F view.subviews \u91CC\u7684\u5F39\u7A97 code\uFF0C\u7528\u4E8E\u6539\u5F39\u7A97\u5185\u90E8\u6570\u7EC4\uFF09"),arrayProp:p.string().describe('\u8981\u6539\u7684\u6570\u7EC4\u5C5E\u6027\u540D\uFF0C\u5982 "cols" / "options" / "content"'),itemKey:p.string().optional().describe('\u6570\u7EC4\u5143\u7D20\u5B9A\u4F4D\u952E\u5B57\u6BB5\u540D\uFF0C\u9ED8\u8BA4 "code"\uFF08merge/remove \u6A21\u5F0F\u3001\u4EE5\u53CA\u4E24\u7EA7\u6A21\u5F0F\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u65F6\u7528\uFF09'),itemKeyValue:p.unknown().optional().describe("\u8981\u5B9A\u4F4D / \u5220\u9664\u7684\u5143\u7D20\u952E\u503C\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09\uFF0C\u5982 dms_status \u5217\u7684 code=890419529224687617"),mode:p.enum(["merge","append","insert","remove"]).optional().describe("\u64CD\u4F5C\u6A21\u5F0F\uFF1Amerge=\u6D45\u5408\u5E76\u5230\u5DF2\u5B58\u5728\u5143\u7D20(\u9ED8\u8BA4)\uFF1Bappend=\u5728\u6570\u7EC4\u672B\u5C3E\u8FFD\u52A0 item\uFF1Binsert=\u6309 position \u63D2\u5165 item\uFF1Bremove=\u6309 itemKey \u5220\u9664\u5143\u7D20"),item:p.record(p.string(),p.unknown()).optional().describe("append/insert \u6A21\u5F0F\u4E0B\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20\u5BF9\u8C61"),position:p.number().int().nonnegative().optional().describe("insert \u6A21\u5F0F\u4E0B\u7684\u63D2\u5165\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),patch:p.record(p.string(),p.unknown()).optional().describe('merge \u6A21\u5F0F\u4E0B\u6D45\u5408\u5E76\u5230\u8BE5\u5143\u7D20\u7684\u5C5E\u6027\uFF0C\u5982 { "options": [...] }\uFF1B\u5176\u4F59\u5143\u7D20\u4E0E\u5176\u5B83\u5C5E\u6027\u4E0D\u53D7\u5F71\u54CD'),elementArrayProp:p.string().optional().describe("\u3010\u4E24\u7EA7\u5D4C\u5957\u3011\u82E5\u76EE\u6807\u5728\u300C\u6570\u7EC4\u5185\u67D0\u5143\u7D20\u7684\u5D4C\u5957\u6570\u7EC4\u300D\u4E2D\uFF08\u5982\u8868\u683C\u5217 cols[colCode].options\uFF09\uFF0C\u586B\u6B64\u5904\u5B50\u6570\u7EC4\u540D\uFF1B\u9700\u914D\u5408 itemKey/itemKeyValue \u5148\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u3002\u4E0D\u586B\u5219\u76F4\u63A5\u64CD\u4F5C nodeCode.arrayProp"),elementItemKey:p.string().optional().describe('\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\uFF0C\u9ED8\u8BA4 "code"\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09'),elementItemKeyValue:p.unknown().optional().describe("\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\u503C\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09"),createIfMissing:p.boolean().optional().describe("append/insert \u65F6\u82E5\u76EE\u6807\u6570\u7EC4\uFF08\u542B\u4E24\u7EA7\u5D4C\u5957\u76EE\u6807\uFF09\u4E0D\u5B58\u5728\uFF0C\u662F\u5426\u5141\u8BB8\u81EA\u52A8\u65B0\u5EFA\uFF0C\u9ED8\u8BA4 false\u2014\u2014\u9ED8\u8BA4 fail-closed \u62A5 ARRAY_NOT_FOUND \u4EE5\u907F\u514D\u8BEF\u9020\u5E73\u884C orphan \u7ED3\u6784\uFF1B\u786E\u9700\u65B0\u5EFA\u624D\u7F6E true")}),p.object({op:p.literal("patch_view_array_item"),arrayProp:p.string().describe('view \u5C42\u7EA7\u7684\u6570\u7EC4\u5C5E\u6027\u540D\uFF0C\u5F39\u7A97\u8BF7\u7528 "subviews"\uFF08\u5143\u7D20 type=popview\uFF09'),itemKey:p.string().optional().describe('\u6570\u7EC4\u5143\u7D20\u5B9A\u4F4D\u952E\u5B57\u6BB5\u540D\uFF0C\u9ED8\u8BA4 "code"\uFF08merge/remove \u6A21\u5F0F\u3001\u4EE5\u53CA\u4E24\u7EA7\u6A21\u5F0F\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u65F6\u7528\uFF09'),itemKeyValue:p.unknown().optional().describe("\u8981\u5B9A\u4F4D / \u5220\u9664\u7684\u5143\u7D20\u952E\u503C\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09\uFF0C\u5982\u5F39\u7A97 code=1501119668772016226"),mode:p.enum(["merge","append","insert","remove"]).optional().describe("\u64CD\u4F5C\u6A21\u5F0F\uFF1Amerge=\u6D45\u5408\u5E76\u5230\u5DF2\u5B58\u5728\u5143\u7D20(\u9ED8\u8BA4)\uFF1Bappend=\u5728\u6570\u7EC4\u672B\u5C3E\u8FFD\u52A0 item\uFF08\u65B0\u5EFA\u5F39\u7A97\uFF09\uFF1Binsert=\u6309 position \u63D2\u5165 item\uFF1Bremove=\u6309 itemKey \u5220\u9664\u5143\u7D20\uFF08\u5220\u9664\u5F39\u7A97\uFF09"),item:p.record(p.string(),p.unknown()).optional().describe("append/insert \u6A21\u5F0F\u4E0B\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20\u5BF9\u8C61\uFF08\u65B0\u5EFA\u5F39\u7A97\u65F6\u4F20\u5B8C\u6574 popview \u8282\u70B9\uFF09"),position:p.number().int().nonnegative().optional().describe("insert \u6A21\u5F0F\u4E0B\u7684\u63D2\u5165\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),patch:p.record(p.string(),p.unknown()).optional().describe('merge \u6A21\u5F0F\u4E0B\u6D45\u5408\u5E76\u5230\u8BE5\u5143\u7D20\u7684\u5C5E\u6027\uFF0C\u5982 { "title": "\u8D27\u8865", "needconfirm": "0" }'),elementArrayProp:p.string().optional().describe("\u3010\u4E24\u7EA7\u5D4C\u5957\u3011\u82E5\u76EE\u6807\u5728\u300C\u6570\u7EC4\u5185\u67D0\u5143\u7D20\u7684\u5D4C\u5957\u6570\u7EC4\u300D\u4E2D\uFF0C\u586B\u6B64\u5904\u5B50\u6570\u7EC4\u540D\uFF1B\u9700\u914D\u5408 itemKey/itemKeyValue \u5148\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20"),elementItemKey:p.string().optional().describe('\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\uFF0C\u9ED8\u8BA4 "code"'),elementItemKeyValue:p.unknown().optional().describe("\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\u503C"),createIfMissing:p.boolean().optional().describe("append/insert \u65F6\u82E5\u76EE\u6807\u6570\u7EC4\uFF08\u542B\u4E24\u7EA7\u5D4C\u5957\u76EE\u6807\uFF09\u4E0D\u5B58\u5728\uFF0C\u662F\u5426\u5141\u8BB8\u81EA\u52A8\u65B0\u5EFA\uFF0C\u9ED8\u8BA4 false\u3002\u8868\u5355\u9996\u6B21\u52A0\u5F39\u7A97\u65F6 view.subviews \u901A\u5E38\u4E0D\u5B58\u5728\uFF0C\u987B\u663E\u5F0F\u7F6E true"),checkRefs:p.boolean().optional().describe("remove \u5220\u9664\u9876\u5C42\u5F39\u7A97\u65F6\u662F\u5426\u6821\u9A8C\u5F15\u7528\uFF08popsubview/closesubview \u7684 viewcode\uFF09\uFF0C\u9ED8\u8BA4 true\uFF1B\u4ECD\u88AB\u6253\u5F00\u52A8\u4F5C\u6307\u5411\u7684\u5F39\u7A97\u4F1A\u62A5 REF_VIOLATION\uFF0C\u786E\u9700\u5F3A\u5220\u624D\u7F6E false\u3002\u5220\u5F39\u7A97\u5185\u5D4C\u5957\u5143\u7D20\u65F6\u4E0D\u751F\u6548")}),p.object({op:p.literal("patch_action_array_item"),handlerCode:p.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF0C\u4E0E replace_script \u540C\uFF09"),actionIndex:p.number().int().nonnegative().optional().describe("\u7B2C\u51E0\u4E2A action\uFF0C\u9ED8\u8BA4 0\uFF1B\u4E0E actionCode \u4E8C\u9009\u4E00"),actionCode:p.string().optional().describe("\u4EE5 action code \u5B9A\u4F4D\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF09"),scope:p.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:p.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),parentProp:p.string().optional().describe('\u6570\u7EC4\u6240\u5728\u7684\u5BB9\u5668\u5BF9\u8C61\u5C5E\u6027\u540D\uFF0C\u5982 "datarequest"\uFF08setter \u5728\u5176\u4E0B\uFF09\uFF1B\u7701\u7565\u8868\u793A\u6570\u7EC4\u76F4\u63A5\u6302\u5728 action \u4E0A'),arrayProp:p.string().describe('\u8981\u6539\u7684\u6570\u7EC4\u5C5E\u6027\u540D\uFF0C\u5982 "setter"\uFF08datarequest.setter\uFF0C\u754C\u9762\u8F93\u51FA\u7ED1\u5B9A\u5230\u63A7\u4EF6\uFF09/ "properties"\uFF08receivelink \u7684 param.properties\uFF09'),mode:p.enum(["merge","append","insert","remove"]).describe("\u64CD\u4F5C\u6A21\u5F0F\uFF1Amerge=\u6D45\u5408\u5E76\u5230\u5DF2\u5B58\u5728\u5143\u7D20\uFF1Bappend=\u672B\u5C3E\u8FFD\u52A0 item\uFF1Binsert=\u6309 position \u63D2\u5165 item\uFF1Bremove=\u6309 itemKey \u5220\u9664\u5143\u7D20"),itemKey:p.string().optional().describe('merge/remove \u6A21\u5F0F\u3001\u6216\u4E24\u7EA7\u6A21\u5F0F\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u7684\u952E\uFF0C\u9ED8\u8BA4 "code"'),itemKeyValue:p.unknown().optional().describe('merge/remove \u6A21\u5F0F\u8981\u5B9A\u4F4D / \u5220\u9664\u7684\u5143\u7D20\u952E\u503C\uFF1B\u4E24\u7EA7\u6A21\u5F0F\u65F6\u4E3A\u5916\u5C42\u5143\u7D20\u7684\u952E\u503C\uFF08\u5982 datarequest.setter \u4E2D name="kx_kq_product" \u7684\u90A3\u6761\uFF09'),item:p.record(p.string(),p.unknown()).optional().describe("append/insert \u6A21\u5F0F\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20"),position:p.number().int().nonnegative().optional().describe("insert \u6A21\u5F0F\u63D2\u5165\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),patch:p.record(p.string(),p.unknown()).optional().describe("merge \u6A21\u5F0F\u6D45\u5408\u5E76\u7684\u5C5E\u6027"),elementArrayProp:p.string().optional().describe('\u3010\u4E24\u7EA7\u5D4C\u5957\u3011\u771F\u5B9E\u7ED1\u5B9A\u5E38\u4F4D\u4E8E\u300C\u6570\u7EC4\u5185\u67D0\u5143\u7D20\u7684\u5D4C\u5957\u6570\u7EC4\u300D\uFF0C\u5982 setter[0].properties\uFF08\u6A21\u578B\u7EA7\u5C5E\u6027\u6620\u5C04\uFF09\u3002\u586B\u6B64\u5904\u5B50\u6570\u7EC4\u540D\u5373\u53EF\u94BB\u5230\u8BE5\u5D4C\u5957\u6570\u7EC4\u64CD\u4F5C\uFF0C\u65E0\u9700\u56DE\u4F20\u6574\u6BB5 setter\uFF1B\u5FC5\u987B\u914D\u5408 itemKey/itemKeyValue \u5148\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\uFF08\u5982 name="kx_kq_product"\uFF09\u3002\u4E0D\u586B\u5219\u53EA\u64CD\u4F5C\u9876\u5C42 arrayProp'),elementItemKey:p.string().optional().describe('\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\uFF0C\u9ED8\u8BA4 "code"\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09'),elementItemKeyValue:p.unknown().optional().describe("\u4E24\u7EA7\u6A21\u5F0F\u4E0B\u5B9A\u4F4D\u5D4C\u5957\u6570\u7EC4\u5185\u67D0\u5B50\u5143\u7D20\u7684\u952E\u503C\uFF08merge/remove \u6A21\u5F0F\u7528\uFF09"),createIfMissing:p.boolean().optional().describe("append/insert \u65F6\u82E5\u76EE\u6807\u5BB9\u5668/\u6570\u7EC4\uFF08\u542B\u4E24\u7EA7\u5D4C\u5957\u76EE\u6807\uFF09\u4E0D\u5B58\u5728\uFF0C\u662F\u5426\u5141\u8BB8\u81EA\u52A8\u65B0\u5EFA\uFF0C\u9ED8\u8BA4 false\u2014\u2014\u9ED8\u8BA4 fail-closed \u62A5 ARRAY_NOT_FOUND \u4EE5\u907F\u514D\u628A datarequest.setter \u8BEF\u5EFA\u5230\u9519\u8BEF\u5C42\u7EA7\uFF1B\u786E\u9700\u65B0\u5EFA\u624D\u7F6E true")}),p.object({op:p.literal("add_action"),handlerCode:p.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),scope:p.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:p.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),type:p.enum(it).optional().describe("\u52A8\u4F5C\u7C7B\u578B\uFF0C\u9ED8\u8BA4 flycode\u3002initial\uFF08\u9875\u9762\u521D\u59CB\u5316\uFF09\u4EC5\u5141\u8BB8 flycode / receivelink\uFF1B\u5176\u4F59\u7C7B\u578B\u53EA\u80FD\u52A0\u5230 handlers \u4E8B\u4EF6\u91CC"),code:p.string().optional().describe("\u52A8\u4F5C code\uFF0C\u9ED8\u8BA4 action_<handlerCode \u672B8\u4F4D>\uFF08\u540C handler \u5185\u91CD\u590D\u65F6\u81EA\u52A8\u8FFD\u52A0 _2/_3\uFF09\uFF1B\u540C\u4E00 handler \u5185\u5FC5\u987B\u552F\u4E00"),desc:p.string().optional().describe("\u52A8\u4F5C\u663E\u793A\u540D\uFF0C\u9ED8\u8BA4\u53D6\u8BE5 type \u7684\u5E73\u53F0\u9ED8\u8BA4\u540D\uFF08\u5982 \u6570\u636E\u8BF7\u6C42 / \u8F7B\u63D0\u793A / \u63A5\u6536\u53C2\u6570\uFF09"),condition:p.string().optional().describe("\u6267\u884C\u6761\u4EF6\uFF08flycode \u8868\u8FBE\u5F0F\uFF09\uFF0C\u9ED8\u8BA4\u7A7A\u4E32"),position:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E\u3002\u4E8B\u4EF6\u5185 action \u6309\u6570\u7EC4\u987A\u5E8F\u4E32\u884C\u6267\u884C"),script:p.string().optional().describe('\u4EC5 type="flycode"\uFF1A\u811A\u672C\u5168\u6587\uFF1B\u5176\u5B83\u7C7B\u578B\u8BF7\u7528 fields'),fields:p.record(p.string(),p.unknown()).optional().describe('\u5728\u7C7B\u578B\u6A21\u677F\u4E0A\u6D45\u5408\u5E76\u7684\u5B57\u6BB5\uFF0C\u5982 toast \u7684 { "message": "\u4FDD\u5B58\u6210\u529F" }\u3001urllink \u7684 { "url": "https://..." }\uFF1B\u4E0D\u80FD\u8986\u76D6 type')}),p.object({op:p.literal("patch_action"),handlerCode:p.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),actionCode:p.string().optional().describe("\u8981\u6539\u7684 action code\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09\uFF1B\u6279\u91CF\u5220\u6539\u540E\u4E0B\u6807\u4F1A\u6F02\u79FB\uFF0C\u5EFA\u8BAE\u59CB\u7EC8\u7528 actionCode"),actionIndex:p.number().int().nonnegative().optional().describe("\u8981\u6539\u7684 action \u4E0B\u6807\uFF0C\u9ED8\u8BA4 0\uFF1B\u4EC5\u5728\u65E0\u6CD5\u786E\u5B9A code \u65F6\u4F7F\u7528"),scope:p.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:p.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),patch:p.record(p.string(),p.unknown()).describe('\u6D45\u5408\u5E76\u5230 action \u9876\u5C42\u7684\u5B57\u6BB5\uFF0C\u5982 { desc: "\u56FA\u5B9A\u5E95\u90E8" }\u3001{ message: "\u4FDD\u5B58\u6210\u529F" }\u3001{ logiccode: "L1", queue: "1" }\u3001{ condition: "a==1" }\u3002\u4E0D\u80FD\u542B type / code\uFF08\u6362\u7C7B\u578B\u6216\u6539\u540D\u8BF7 remove_action + add_action\uFF09\uFF1Bscript \u4EC5 type="flycode" \u53EF\u5199')}),p.object({op:p.literal("remove_action"),handlerCode:p.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),actionCode:p.string().optional().describe("\u8981\u5220\u9664\u7684 action code\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09\uFF1B\u7F3A\u7701\u4E14\u53EA\u7ED9\u4E0B\u6807\u65F6\uFF0C\u56DE\u8BFB\u6821\u9A8C\u4F1A\u7528\u843D\u5E93\u524D\u57FA\u7EBF\u6309\u4E0B\u6807\u89E3\u6790 code"),actionIndex:p.number().int().nonnegative().optional().describe("\u8981\u5220\u9664\u7684 action \u4E0B\u6807\uFF0C\u9ED8\u8BA4 0\uFF1B\u4EC5\u5728\u65E0\u6CD5\u786E\u5B9A code \u65F6\u4F7F\u7528"),scope:p.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:p.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09")}),p.object({op:p.literal("insert_node"),parentCode:p.string().describe("\u7236\u8282\u70B9 code\uFF08view \u6811\uFF0C\u542B subviews \u5F39\u7A97\u8282\u70B9\uFF1B\u4F20\u5F39\u7A97 code \u5373\u5F80\u5F39\u7A97\u5185\u52A0\u63A7\u4EF6\uFF09"),position:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E"),node:p.record(p.string(),p.unknown()).describe("\u65B0\u8282\u70B9\u5BF9\u8C61\uFF08\u542B type/code/title/content \u7B49\uFF09\uFF0C\u540C view \u6811\u8282\u70B9\u7ED3\u6784")}),p.object({op:p.literal("remove_node"),code:p.string().describe("\u8981\u5220\u9664\u7684\u8282\u70B9 code\uFF08\u5F39\u7A97\u6839\u8282\u70B9\u4E5F\u53EF\uFF1A\u5B83\u5728 view.subviews \u91CC\uFF09"),checkRefs:p.boolean().optional().describe("\u524D\u7F6E\u5F15\u7528\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true\uFF1B\u5B58\u5728\u4E8B\u4EF6/handler \u5F15\u7528\uFF08\u542B popsubview/closesubview \u7684 viewcode \u6307\u5411\u8BE5\u5F39\u7A97\uFF09\u65F6\u62D2\u7EDD\u5220\u9664\uFF0C\u7F6E false \u8DF3\u8FC7\u6821\u9A8C")}),p.object({op:p.literal("move_node"),code:p.string().describe("\u79FB\u52A8\u8282\u70B9 code"),newParentCode:p.string().describe("\u65B0\u7236\u8282\u70B9 code\uFF08view \u6811\u4E2D\uFF09"),position:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),p.object({op:p.literal("set_section"),section:p.enum(["view","presenter","controls","pageswitch"]).describe("\u6574\u6BB5\u66FF\u6362\u76EE\u6807"),value:p.unknown().describe("\u6574\u6BB5\u65B0\u5185\u5BB9\uFF08\u900F\u4F20\u539F\u6837\u4FDD\u5B58\uFF09")}),p.object({op:p.literal("replace_script"),handlerCode:p.string().describe("presenter \u5904\u7406\u5668 code\uFF08handlers \u4E0E initial \u5747\u68C0\u7D22\uFF09"),actionIndex:p.number().int().nonnegative().optional().describe("\u7B2C\u51E0\u4E2A action\uFF0C\u9ED8\u8BA4 0\uFF1B\u4E0E actionCode \u4E8C\u9009\u4E00"),actionCode:p.string().optional().describe("\u4EE5 action code \u5B9A\u4F4D\uFF08\u4E0E actionIndex \u4E8C\u9009\u4E00\uFF09"),field:p.enum(["script","condition","expression"]).optional().describe("\u76EE\u6807\u5B57\u7B26\u4E32\u5B57\u6BB5\uFF0C\u9ED8\u8BA4 script"),scope:p.enum(["handlers","initial"]).optional().describe("\u9650\u5B9A\u5904\u7406\u5668\u5BB9\u5668\uFF1B\u9ED8\u8BA4\u540C\u65F6\u68C0\u7D22 handlers \u4E0E initial\uFF0C\u540C\u540D\u8DE8\u5BB9\u5668\u65F6\u987B\u6307\u5B9A\u4EE5\u6D88\u6B67"),handlerScope:p.enum(["handlers","initial"]).optional().describe("scope \u7684\u7B49\u4EF7\u522B\u540D\uFF08\u4E0E get_form_fragment \u7684 handlerScope \u540C\u540D\uFF0C\u4E24\u8005\u4EFB\u4F20\u5176\u4E00\u5373\u53EF\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\uFF09"),replacement:p.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:p.array(p.object({oldString:p.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:p.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:p.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:p.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:p.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:p.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")}),p.object({op:p.literal("add_businessmodel"),modellogiccode:p.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:p.boolean().optional().describe("\u5F53 businessmodel \u5DF2\u5B58\u5728\u8BE5 modellogiccode \u65F6\u662F\u5426\u8986\u76D6\uFF0C\u9ED8\u8BA4 false\uFF08\u8DF3\u8FC7\uFF09")}),p.object({op:p.literal("remove_businessmodel"),modellogiccode:p.string().describe("\u8981\u79FB\u9664\u7684\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),checkRefs:p.boolean().optional().describe("\u524D\u7F6E\u5F15\u7528\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")})]),cn=[{name:"patch_form",config:{title:"\u5C40\u90E8\u8865\u4E01\u4FEE\u6539\u8868\u5355/\u9875\u9762",description:`\u4EE5 delta ops \u5C40\u90E8\u4FEE\u6539\u8868\u5355\uFF0C\u65E0\u9700\u56DE\u4F20\u5B8C\u6574 JSON\u300215 \u7C7B ops\uFF1Aset_pageinfo/set_attrs/patch_node_array_item/patch_view_array_item/patch_action_array_item/add_action/patch_action/remove_action/insert_node/remove_node/move_node/set_section/replace_script/add_businessmodel/remove_businessmodel\u3002\u63A8\u8350\u6D41\u7A0B\uFF1Aget_form_outline \u62FF code \u2192 get_form_fragment \u786E\u8BA4\u771F\u5B9E\u5C5E\u6027\u540D/\u811A\u672C \u2192 patch_form\u3002ops \u4E8B\u52A1\u6027\u9884\u6F14\uFF0C\u5931\u8D25\u6574\u6279\u56DE\u6EDA\uFF1B\u6539\u521D\u59CB\u5316\u811A\u672C\uFF08presenter.initial\uFF09\u4E0E\u6539\u6309\u94AE\u4E8B\u4EF6\u7528\u6CD5\u4E00\u81F4\u3002\n\n**\u5F39\u7A97\uFF08popview\uFF09**\uFF1A\u5E73\u53F0\u7684\u5F39\u7A97\u6302\u5728 view.subviews\uFF08\u4E0E view.body \u5E73\u7EA7\u7684\u6570\u7EC4\uFF0C\u5143\u7D20 type=popview\uFF09\uFF0C\u5F39\u7A97\u5185\u63A7\u4EF6\u5728\u5F39\u7A97\u8282\u70B9\u7684 content \u4E0B\u3002view \u6811\u904D\u5386\u5DF2\u8986\u76D6 subviews\uFF0C\u56E0\u6B64\uFF1A\u6539\u5F39\u7A97\u5C5E\u6027\u6216\u5728\u5F39\u7A97\u5185\u52A0/\u5220\u63A7\u4EF6\uFF0C\u76F4\u63A5\u7528 set_attrs / insert_node\uFF08parentCode=\u5F39\u7A97 code\uFF09/ remove_node / move_node / patch_node_array_item\uFF08\u542B\u5F39\u7A97\u5185\u90E8\u8282\u70B9\u7684 eventlist\uFF09\uFF1B\u800C\u300C\u5F39\u7A97\u6839\u8282\u70B9\u81EA\u8EAB\u5728 subviews \u6570\u7EC4\u91CC\u3001\u6CA1\u6709\u7236\u8282\u70B9\u300D\u7684\u589E\u5220\u6539\uFF0C\u7528 patch_view_array_item\uFF08base=view\uFF09\uFF1Aappend \u65B0\u5EFA\u5F39\u7A97\uFF08\u8868\u5355\u9996\u6B21\u52A0\u5F39\u7A97\u987B createIfMissing:true\uFF09\u3001merge \u6539 title/needconfirm \u7B49\u3001remove \u5220\u9664\u5F39\u7A97\u3002\u5220\u5F39\u7A97\u4E24\u6761\u8DEF\u7B49\u4EF7\uFF1Aremove_node{code=\u5F39\u7A97code} \u6216 patch_view_array_item{arrayProp:"subviews",mode:"remove",itemKeyValue:\u5F39\u7A97code}\uFF0C\u4E24\u8005\u90FD\u9ED8\u8BA4\u6821\u9A8C popsubview/closesubview \u7684 viewcode \u5F15\u7528\uFF08\u62A5 REF_VIOLATION\uFF09\uFF0C\u786E\u9700\u5F3A\u5220\u4F20 checkRefs:false\uFF1B\u5220\u6389\u6700\u540E\u4E00\u4E2A\u5F39\u7A97\u540E subviews \u5C5E\u6027\u4F1A\u88AB\u6E05\u6389\uFF0C\u4E0D\u7559\u7A7A\u6570\u7EC4\u3002\u6253\u5F00\u5F39\u7A97\u4ECD\u7528 add_action type="popsubview"\uFF08fields:{viewcode,viewwidth,viewheight,popupmode}\uFF09\u3002\u7EA2\u7EBF\uFF1A\u5F39\u7A97\u5185\u63A7\u4EF6 code \u5E38\u88AB datarequest.setter \u5F15\u7528\uFF0C\u52FF\u6539 code\u3001\u52FF\u5220\u4ECD\u88AB\u5F15\u7528\u7684\u8282\u70B9\u3002\n\n\u6570\u7EC4\u5143\u7D20\u7EA7\u6539\u52A8\uFF1Apatch_node_array_item \u652F\u6301 merge(\u9ED8\u8BA4)/append/insert/remove \u56DB\u79CD\u6A21\u5F0F\uFF0C\u4F5C\u7528\u4E8E view \u6811\u8282\u70B9\u7684 cols/options/content \u7B49\uFF1Bpatch_action_array_item \u7528\u4E8E presenter.handlers/initial \u4E2D\u67D0 action \u5185\u90E8\u6570\u7EC4\uFF08\u5982 datarequest.setter\u300C\u754C\u9762\u8F93\u51FA\u7ED1\u5B9A\u5230\u63A7\u4EF6\u300D\u3001param.properties\uFF09\uFF0C\u540C\u6837\u652F\u6301\u56DB\u79CD\u6A21\u5F0F\u3002\u4E24\u8005\u90FD\u652F\u6301\u300C\u4E24\u7EA7\u5D4C\u5957\u300D\uFF08elementArrayProp\uFF09\uFF1A\u5F53\u771F\u5B9E\u7ED1\u5B9A\u5728\u300C\u6570\u7EC4\u5185\u67D0\u5143\u7D20\u7684\u5D4C\u5957\u6570\u7EC4\u300D\uFF08\u5982 datarequest.setter[0].properties \u6A21\u578B\u7EA7\u5C5E\u6027\u6620\u5C04\uFF09\u65F6\uFF0C\u7528 itemKey/itemKeyValue \u5148\u5B9A\u4F4D\u5916\u5C42\u5143\u7D20\u3001\u518D\u586B elementArrayProp \u94BB\u5230\u5D4C\u5957\u6570\u7EC4\u64CD\u4F5C\uFF0C\u65E0\u9700\u56DE\u4F20\u6574\u6BB5\u6570\u7EC4\u3002append/insert \u76EE\u6807\u6570\u7EC4\u4E0D\u5B58\u5728\u65F6\u9ED8\u8BA4 fail-closed \u62A5 ARRAY_NOT_FOUND\uFF08\u987B\u663E\u5F0F createIfMissing:true \u624D\u65B0\u5EFA\uFF09\uFF0C\u907F\u514D\u8BEF\u9020\u5E73\u884C orphan \u7ED3\u6784\uFF1Bremove \u6E05\u7A7A\u8C03\u5219\u5220\u9664\u8BE5\u6570\u7EC4\u5C5E\u6027\u907F\u514D\u7A7A\u58F3\u3002set_attrs \u9ED8\u8BA4\u7981\u6B62\u6574\u6BB5\u8986\u76D6\u6570\u7EC4\uFF08\u542B\u6570\u7EC4\u5C5E\u6027\u987B\u663E\u5F0F overwriteArray:true\uFF0C\u5426\u5219\u6539\u7528\u4E0A\u8FF0\u4E24 op\uFF09\u3002\n\n**\u52A0\u4E00\u4E2A\u65B0\u52A8\u4F5C**\uFF08\u6B64\u524D\u53EA\u80FD\u6574\u6BB5 set_section \u6216\u5168\u91CF save_form\uFF09\uFF1A\u7528 add_action \u5F80\u67D0 handler \u7684 actions \u8FFD\u52A0\u4E00\u6761\uFF0C\u6309 type \u81EA\u52A8\u8865\u5E73\u53F0\u7A7A\u9AA8\u67B6\uFF0C\u53EA\u9700\u4F20\u5173\u952E\u5B57\u6BB5\u3002\u4F8B\uFF1A\u7ED9\u521D\u59CB\u5316\u4E8B\u4EF6\u8FFD\u52A0\u811A\u672C {handlerCode, script:"..."}\uFF1B\u7ED9\u4E8B\u4EF6\u52A0\u8F7B\u63D0\u793A {handlerCode, type:"toast", fields:{message:"\u4FDD\u5B58\u6210\u529F"}}\u3002initial \u4EC5\u652F\u6301 flycode / receivelink\u3002\n\n**\u6539/\u5220\u5DF2\u6709\u52A8\u4F5C**\uFF1Apatch_action \u6D45\u5408\u5E76\u4EFB\u610F\u5B57\u6BB5\uFF08desc / condition / message / url / logiccode / queue \u7B49\uFF0Cscript \u4EC5 flycode\uFF09\uFF0C\u4E0D\u80FD\u6539 type \u4E0E code\uFF1B\u6362\u7C7B\u578B\u6216\u6539\u540D\u7528 remove_action + add_action\u3002replace_script \u53EA\u7BA1 script/condition/expression \u4E09\u4E2A\u5B57\u7B26\u4E32\u5B57\u6BB5\u7684\u6587\u672C\u66FF\u6362\uFF0C\u6539\u5176\u5B83\u5B57\u6BB5\u7528 patch_action\u3002\u5220\u9664\u540E\u4FDD\u7559 actions: []\u3002\u5B9A\u4F4D\u4E00\u5F8B\u7528 actionCode\uFF08\u4E0B\u6807\u4F1A\u968F\u540C\u6279\u6B21\u589E\u5220\u6F02\u79FB\uFF09\u3002\n\n**\u5BB9\u5668\u6D88\u6B67\u53C2\u6570**\uFF1A\u9700\u8981\u9650\u5B9A handlers / initial \u7684 op\uFF08patch_action_array_item / replace_script / add_action / patch_action / remove_action\uFF09\u540C\u65F6\u63A5\u53D7 scope \u4E0E handlerScope\uFF0C\u4E24\u8005\u7B49\u4EF7\uFF08\u8BFB\u5DE5\u5177 get_form_fragment \u7528\u7684\u662F handlerScope\uFF09\uFF1B\u90FD\u4F20\u4E14\u53D6\u503C\u4E0D\u540C\u4F1A\u62A5 INVALID_PARAMS\u3002\n\n${kt}\n${X}`,inputSchema:{code:p.string().describe("\u76EE\u6807\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),ops:p.array(Fr).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:G.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:p.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:p.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:p.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:p.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:p.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:p.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 / ARRAY_OVERWRITE_BLOCKED / ARRAY_NOT_FOUND / TYPE_NOT_ALLOWED / NO_TARGET / INVALID_PARAMS"),message:p.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),diff:p.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:p.array(p.object({index:p.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:p.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:p.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:p.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801"),message:p.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),hunk:p.string().nullable().optional().describe("\u8BE5 op \u4EA7\u751F\u7684 diff \u7247\u6BB5\uFF08replace_script \u624D\u6709\uFF09"),suggestions:p.array(p.object({startLine:p.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:p.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:p.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 t=>{let{code:e,commitMessage:r,dryRun:s=!1,verify:n=!0}=t,i=t.ops,c=Q(r);try{let o=await on(e,i,c,{dryRun:s,verify:n});return{isError:!o.ok,content:[{type:"text",text:JSON.stringify(o)}],structuredContent:o}}catch(o){let a=D(o);return{isError:!0,content:[{type:"text",text:a}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:a,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\uFF09\u624D\u7528\uFF1A\u56DE\u4F20\u5B8C\u6574 FormResult \u5168\u91CF\u4FDD\u5B58\u3002\u65E5\u5E38\u5C40\u90E8\u6539\u52A8\u4F18\u5148 patch_form\u3002businessmodel \u968F\u8868\u5355\u900F\u4F20\uFF0CMCP \u4E0D\u5265\u79BB\u3002\n\n${X}`,inputSchema:{form:p.looseObject(at).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:G.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:p.boolean().describe("\u662F\u5426\u4FDD\u5B58\u6210\u529F"),code:p.string().optional().describe("\u4FDD\u5B58\u6210\u529F\u7684\u8868\u5355\u7F16\u7801"),message:p.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 t=>{let{form:e,commitMessage:r}=t,s=Q(r);try{let n=await sn(e,s);return{isError:!n.ok,content:[{type:"text",text:JSON.stringify(n)}],structuredContent:n}}catch(n){let i=D(n);return{isError:!0,content:[{type:"text",text:i}],structuredContent:{ok:!1,code:void 0,message:i}}}}}];import{z as N}from"zod";function dn(t,e){return $({url:"/api/masterserv/hpage/listH5Page",method:"post",data:t,type:"business",token:e})}function un(t,e){return $({url:"/api/masterserv/hpage/listH5PageByOne",method:"post",data:t,type:"business",token:e})}function pn(t){return $({url:"/pemission/rolepermission/account/getPreviewAccounts",method:"post",data:t,type:"tenant"})}async function mn(){let t=ie();if(!t)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 e;for(let r=1;r<=3;r++)try{let s=await pn({pvcode:t.productVersionCode,rows:200}),i=(Array.isArray(s?.resp_data)?s.resp_data:[]).find(c=>c.positionname==="SFA\u7CFB\u7EDF\u7BA1\u7406\u5458");if(!i)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(!i.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 i.token}catch(s){e=s,r<3&&await new Promise(n=>setTimeout(n,800))}throw e}async function gn(t){let e=await mn();return dn(t,e)}async function fn(t){let e=await mn();return un(t,e)}var yn=N.object({confjson:N.union([N.string(),N.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:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF0C\u9884\u7559\u5B57\u6BB5"),pagecode:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801"),pagedescr:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u63CF\u8FF0"),pagetype:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u9875\u9762\u7C7B\u578B\uFF0C\u9884\u7559\u5B57\u6BB5"),platcreateop:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u4EBA\u59D3\u540D"),platcreatetime:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u65F6\u95F4"),platstatus:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u5E73\u53F0\u72B6\u6001"),platupdateop:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),platupdatetime:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),status:N.union([N.string(),N.number(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u72B6\u6001\uFF1B1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:N.union([N.string(),N.null()]).optional().describe("H5 \u8868\u5355\u7684\u6807\u9898")}).catchall(N.unknown()),Tr=yn.omit({confjson:!0}),Mr={data:N.array(Tr).describe("\u8FD9\u4E00\u9875\u7684 H5 \u8868\u5355\u6570\u636E"),pageCount:N.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:N.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:N.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:N.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},Lr=yn.shape,bn=[{name:"page_h5_form",config:{title:"\u5206\u9875\u67E5\u8BE2 H5 \u8868\u5355\u5217\u8868",description:"\u5206\u9875\u67E5\u8BE2\u667A\u6167100 H5 \u5F15\u64CE\u7684 H5 \u8868\u5355\u5217\u8868\uFF08\u4E0D\u542B confjson\uFF09\u3002\u79DF\u6237\u672A\u88C5 H5 \u5F15\u64CE\u65F6\u8FD4\u56DE HTTP 404\u3002",inputSchema:{keywords:N.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:N.string().optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),status:N.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),title:N.string().optional().describe("H5 \u8868\u5355\u7684\u6807\u9898\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),updateopname:N.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),page:N.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:N.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:Mr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keywords:e="",pagecode:r="",status:s="",title:n="",updateopname:i="",page:c=1,rows:o=20}=t;try{let l=(await gn({keywords:e,pagecode:r,status:s,title:n,updateopname:i,page:Number(c)||1,rows:Number(o)||20})).resp_data,u=Array.isArray(l?.data)?l.data.map(f=>{let y={...f};return delete y.confjson,y}):l?.data,m={...l,data:u};return T(m)}catch(a){return j(a)}}},{name:"get_h5_form",config:{title:"\u67E5\u8BE2 H5 \u8868\u5355\u8BE6\u60C5",description:"\u6309 pagecode \u83B7\u53D6 H5 \u8868\u5355\u8BE6\u60C5\uFF08\u542B confjson\uFF1AVue \u4EE3\u7801\u4E0E\u5143\u6570\u636E\uFF09\u3002\u5173\u952E\u5B57\u6BB5\uFF1Apagecode/title/status/pagedescr/confjson/platcreate*/platupdate*/platstatus\u3002\u672A\u88C5 H5 \u5F15\u64CE\u8FD4\u56DE HTTP 404\u3002",inputSchema:{pagecode:N.string().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:Lr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{pagecode:e}=t;try{let r=await fn({pagecode:e});return{content:[{type:"text",text:JSON.stringify(r.resp_data)}],structuredContent:r.resp_data}}catch(r){return j(r)}}}];import{z as b}from"zod";function hn(t){return $({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function _n(t){return $({url:"/bizserv/bizmodel/get",method:"post",data:t,type:"tenant"})}var jr=b.object({classname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:b.union([b.string(),b.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:b.union([b.string(),b.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:b.union([b.string(),b.number()]).nullable().optional().describe("\u987A\u5E8F"),status:b.union([b.string(),b.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:b.union([b.string(),b.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(b.unknown()),Hr={classname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:b.union([b.string(),b.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:b.union([b.string(),b.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:b.union([b.string(),b.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:b.union([b.string(),b.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:b.union([b.string(),b.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:b.union([b.string(),b.number()]).nullable().optional().describe("\u987A\u5E8F"),status:b.union([b.string(),b.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:b.union([b.string(),b.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:b.union([b.string(),b.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:b.union([b.string(),b.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),confjson:b.string().nullable().optional().describe("flycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9")},wn=[{name:"page_function_list",config:{title:"\u5206\u9875\u67E5\u8BE2 flycode \u51FD\u6570",description:`\u5206\u9875\u67E5\u8BE2 flycode \u51FD\u6570\u5217\u8868\u3002dddlayer \u56FA\u5B9A\u4F20 "3"\u3002\n\n${V}\n${be}`,inputSchema:{classname:b.string().optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),name:b.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C modelname \u4E00\u81F4"),modelname:b.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C name \u4E00\u81F4"),flycodekey:b.string().optional().describe("\u51FD\u6570\u5185\u5BB9\u5173\u952E\u5B57"),page:b.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:b.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:b.array(jr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:b.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:b.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:b.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:b.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{classname:e="",name:r="",modelname:s="",flycodekey:n="",page:i=1,rows:c=20}=t;try{let o=await hn({dddlayer:3,directorytypecode:"",starttime:"",classname:e,name:r,modelname:s,flycodekey:n,page:Number(i)||1,rows:Number(c)||20});return T(o.resp_data)}catch(o){return j(o)}}},{name:"get_function",config:{title:"\u67E5\u8BE2 flycode \u51FD\u6570\u8BE6\u60C5",description:`\u6309 modelcode \u67E5\u8BE2\u51FD\u6570\u8BE6\u60C5\uFF08\u57FA\u672C\u4FE1\u606F + confjson \u4EE3\u7801\uFF09\u3002\u4EE3\u7801\u8FD0\u884C\u4E8E Java Nashorn \u7684 ES5 JS\uFF0C\u65E0 FlyQL \u7F16\u8BD1\u4E0E\u5185\u7F6E\u5BF9\u8C61\uFF1B\u4E1A\u52A1\u903B\u8F91\u4E2D\u901A\u8FC7 loadex('\u65B9\u6CD5\u540D') \u52A0\u8F7D\u3002\n\n${V}\n${be}`,inputSchema:{modelcode:b.string().describe("\u51FD\u6570\u7684\u7F16\u7801")},outputSchema:b.looseObject(Hr),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{modelcode:e}=t;try{let r=await _n({modelcode:e});return T(r.resp_data)}catch(r){return j(r)}}}];import{z as C}from"zod";function Rn(t){return $({url:"/bizserv/customfunction/list",method:"post",data:t,type:"tenant"})}var Vr=C.object({createtime:C.union([C.string(),C.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),creator:C.union([C.string(),C.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),dbfunctionname:C.union([C.string(),C.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D"),functioncode:C.union([C.string(),C.null()]).optional().describe("\u51FD\u6570\u552F\u4E00\u7F16\u7801"),functionname:C.union([C.string(),C.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),functionscript:C.union([C.string(),C.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u5185\u5BB9\uFF08PostgreSQL \u51FD\u6570\u4F53\uFF09"),marktype:C.union([C.string(),C.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:C.union([C.string(),C.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C functioncode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),publishstatus:C.union([C.string(),C.number()]).nullable().optional().describe("\u53D1\u5E03\u72B6\u6001\uFF0C1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03"),remark:C.union([C.string(),C.null()]).optional().describe("\u5907\u6CE8"),status:C.union([C.string(),C.number()]).nullable().optional().describe("\u72B6\u6001\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),updatetime:C.union([C.string(),C.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updator:C.union([C.string(),C.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA")}).catchall(C.unknown()),kn=[{name:"page_database_function_list",config:{title:"\u5206\u9875\u67E5\u8BE2\u6570\u636E\u5E93\u51FD\u6570",description:`\u5206\u9875\u67E5\u8BE2\u6570\u636E\u5E93\u51FD\u6570\uFF08PostgreSQL \u81EA\u5B9A\u4E49\u51FD\u6570\uFF09\u5217\u8868\uFF1B\u7ED3\u679C\u5DF2\u968F\u884C\u8FD4\u56DE functionscript\uFF08\u51FD\u6570\u4F53\uFF09\uFF0C\u65E0\u9700\u8BE6\u60C5\u63A5\u53E3\u3002\n\n${V}\n${be}`,inputSchema:{dbfunctionname:C.string().optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),name:C.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),pageindex:C.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),pagesize:C.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:C.array(Vr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:C.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:C.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:C.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:C.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{dbfunctionname:e="",name:r="",pageindex:s=1,pagesize:n=20}=t;try{let i=await Rn({dbfunctionname:e,name:r,pageindex:Number(s)||1,pagesize:Number(n)||20});return T(i.resp_data)}catch(i){return j(i)}}}];import{z as xe}from"zod";function vn(t){return $({url:"/api/biz/sqlrun",method:"post",data:t,type:"business"})}var Kr={data:xe.array(xe.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:xe.coerce.number().nullable().optional().describe("\u67E5\u8BE2\u7ED3\u679C\u603B\u6570")},On=[{name:"run_sql",config:{title:"\u6267\u884C SQL \u67E5\u8BE2",description:`\u5728\u4E1A\u52A1\u5E93\uFF08PostgreSQL\uFF09\u4E2D\u6267\u884C\u4E00\u6761 SELECT \u67E5\u8BE2\uFF08\u63A5\u53E3\u4EC5\u652F\u6301 SELECT\uFF0C\u4E00\u6B21\u4E00\u6761\uFF0C\u53EA\u80FD\u67E5\u4E1A\u52A1\u8868\uFF1B\u67E5\u8868\u5B57\u6BB5\u7ED3\u6784\u8BF7\u7528 get_entity\uFF09\uFF0C\u8FD4\u56DE\u7ED3\u679C data \u4E0E\u603B\u6570 influenceCount\u3002\u9002\u7528\u4E8E\u76F4\u63A5\u63A2\u67E5\u4E1A\u52A1\u8868\u6570\u636E\u3001\u6838\u5BF9\u5B57\u6BB5\u503C\u3001\u9A8C\u8BC1\u540C\u6B65\u7ED3\u679C\u7B49\u53EA\u8BFB\u573A\u666F\u3002\n\u6CE8\u610F\uFF1A\u67E5\u8BE2\u7684\u5B57\u6BB5\u548C\u8868\u5FC5\u987B\u5728 get_entity \u4E2D\u80FD\u53D6\u5230\uFF1B\u53EA\u80FD\u7528\u57FA\u7840\u7684\u7B80\u5355\u67E5\u8BE2\u8BED\u53E5\uFF0C\u4E0D\u652F\u6301 WITH \u7B49\u590D\u6742\u8BED\u53E5\uFF1B\u6700\u7EC8\u5B9E\u9645\u6267\u884C\u7684 SQL \u4F1A\u88AB\u5F15\u64CE\u5904\u7406\uFF0C\u4E0D\u652F\u6301 platstatus \u7B49\u5E73\u53F0\u5B57\u6BB5\u3002`,inputSchema:{sql:xe.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:xe.looseObject(Kr),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{sql:e}=t;try{let r=await vn({sql:e});return T(r.resp_data)}catch(r){return j(r)}}}];import{z as xn}from"zod";var Sn=[{name:"generate_unique_code",config:{title:"\u751F\u6210\u552F\u4E00\u7F16\u7801",description:"\u901A\u8FC7\u96EA\u82B1\u7B97\u6CD5\u751F\u6210\u5168\u5C40\u552F\u4E00 ID\uFF08code\uFF09\u3002\u65B0\u5EFA\u5B9E\u4F53/\u9886\u57DF/\u8868\u5355\u7B49\u5185\u5BB9\u65F6\u5176 JSON \u9700\u643A\u5E26\u552F\u4E00 code\uFF0C\u53EF\u8C03\u7528\u672C\u5DE5\u5177\u83B7\u53D6\uFF08\u53EF\u9009 prefix \u524D\u7F00\uFF09\u3002",inputSchema:{prefix:xn.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:xn.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 t=>{let{prefix:e=""}=t;try{let r=ke().toString(),n={code:e?`${e}${r}`:r};return T(n)}catch(r){let n={error:r.message??String(r)};return{isError:!0,content:[{type:"text",text:JSON.stringify(n)}]}}}}];import{isJSONRPCNotification as Ur,isJSONRPCRequest as Pn,isJSONRPCResultResponse as Yr}from"@modelcontextprotocol/sdk/types.js";var An=13*1024,zr=10,In=new Set(["description","examples","default","title"]),qr=new Set(["const","enum","examples","default"]),Br=new Set(["properties","patternProperties","$defs","definitions","dependentSchemas"]),Jr=new Set(["allOf","anyOf","oneOf","prefixItems"]),Wr=new Set(["items","additionalProperties","not","if","then","else","contains","propertyNames","unevaluatedProperties","unevaluatedItems"]),Gr="\uFF08\u672C\u8F93\u5165\u53C2\u6570\u4EE5\u7CBE\u7B80\u5F62\u6001\u516C\u544A\uFF1A\u5D4C\u5957\u7ED3\u6784\u7EC6\u8282\u5DF2\u7701\u7565\uFF1B\u670D\u52A1\u7AEF\u4ECD\u6309\u5B8C\u6574\u89C4\u5219\u6821\u9A8C\u8C03\u7528\u53C2\u6570\uFF0C\u62A5\u9519\u4F1A\u6307\u660E\u5177\u4F53\u5B57\u6BB5\u3002\uFF09";function Nn(t){return t?.trim().toLowerCase()==="compact"?"compact":"full"}var W=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),lt=t=>Buffer.byteLength(JSON.stringify(t)??"","utf8");function ct(t,e=0){if(Array.isArray(t)){let s=e;for(let n of t)s=Math.max(s,ct(n,e+1));return s}if(!W(t))return e;let r=e;for(let s of Object.values(t))r=Math.max(r,ct(s,e+1));return r}var Qr=["null","boolean","object","array","number","string"];function Cn(t,e){if(Array.isArray(t))return t.map(s=>e(s));if(!W(t))return t;let r={};for(let[s,n]of Object.entries(t)){if(qr.has(s)){r[s]=n;continue}if(Br.has(s)&&W(n)){r[s]=Object.fromEntries(Object.entries(n).map(([i,c])=>[i,e(c)]));continue}if(Jr.has(s)&&Array.isArray(n)){r[s]=n.map(i=>e(i));continue}if(Wr.has(s)){r[s]=Array.isArray(n)?n.map(i=>e(i)):e(n);continue}r[s]=n}return r}function Zr(t){let e=Cn(t,Dn),r={};for(let[s,n]of Object.entries(e))In.has(s)&&s!=="description"||(r[s]=n);return r}function Dn(t){let e=Cn(t,Dn);if(!W(e))return e;let r={};for(let[s,n]of Object.entries(e))In.has(s)||(r[s]=n);return r}function Xr(t,e){if(e==="#")return t;if(!e.startsWith("#/"))return;let r=t;for(let s of e.slice(2).split("/")){let n=s.replaceAll("~1","/").replaceAll("~0","~");if(!W(r)||!Object.hasOwn(r,n))return;r=r[n]}return r}function dt(t,e,r=new Set){if(!W(t))return;if(typeof t.$ref=="string"){if(r.has(t.$ref))return;let i=Xr(e,t.$ref);return i===void 0?void 0:dt(i,e,new Set([...r,t.$ref]))}if(typeof t.type=="string")return[t.type];if(Array.isArray(t.type)&&t.type.every(i=>typeof i=="string"))return t.type;let s=Array.isArray(t.anyOf)?t.anyOf:Array.isArray(t.oneOf)?t.oneOf:[];if(s.length===0)return;let n=s.map(i=>dt(i,e,r));if(!n.some(i=>i===void 0))return[...new Set(n.flatMap(i=>i??[]))]}function eo(t){let e=W(t.properties)?t.properties:{},r=typeof t.description=="string"&&t.description.length>0?`${t.description} `:"",s=Object.fromEntries(Object.entries(e).map(([n,i])=>{let c=dt(i,t),o=c!==void 0&&c.length===1?c[0]:c,a={};return o!==void 0&&(a.type=o),Array.isArray(c)&&c.includes("array")&&(a.items={type:[...Qr],items:{}}),W(i)&&(typeof i.description=="string"&&(a.description=i.description),i.enum!==void 0&&(a.enum=i.enum),i.const!==void 0&&(a.const=i.const)),[n,a]}));return{type:"object",description:`${r}${Gr}`,properties:s,...Array.isArray(t.required)?{required:[...t.required]}:{},...t.additionalProperties===!1?{additionalProperties:!1}:{}}}function to(t,e){let r=Zr(t);return lt(r)<=e&&ct(r)<=zr?{schema:r,presentation:"inline"}:{schema:eo(t),presentation:"reduced"}}function no(t,e){if(!W(t.inputSchema))return t;let r=lt(t.inputSchema),{schema:s}=to(t.inputSchema,e);return lt(s)>=r?t:{...t,inputSchema:s}}function ro(t,e){if(!Yr(t))return t;let r=t.result;if(!W(r)||!Array.isArray(r.tools))return t;let s=r.tools.map(n=>W(n)?no(n,e):n);return{...t,result:{...r,tools:s}}}function $n(t,e){let r=new Set,s={start:()=>t.start(),close:()=>t.close(),setProtocolVersion:n=>t.setProtocolVersion?.(n),send:async(n,i)=>{let c="id"in n&&(typeof n.id=="string"||typeof n.id=="number")?n.id:void 0,o=c!==void 0&&r.has(c);try{await t.send(o?ro(n,e):n,i)}finally{!Pn(n)&&c!==void 0&&r.delete(c)}}};return t.onmessage=n=>{if(Pn(n)&&n.method==="tools/list"&&r.add(n.id),Ur(n)&&n.method==="notifications/cancelled"){let i=n.params?.requestId;(typeof i=="string"||typeof i=="number")&&r.delete(i)}s.onmessage?.(n)},t.onerror=n=>s.onerror?.(n),t.onclose=()=>{r.clear(),s.onclose?.()},s}await ht();var Se=new oo({name:"flycode-mcp",version:"1.0.0"}),Fn=(process.env.PROGRESSIVE_DISCLOSURE??"on").toLowerCase()!=="off",En=Nn(process.env.FLYCODE_MCP_INPUT_SCHEMA_PROFILE),so=[...It,...Ft,...jt,...zt,...ln,...cn,...bn,...wn,...kn,...On,...Sn],Tn=new Ie(Fn);Tn.registerAll(Se,so);for(let t of Rt(Tn))Se.registerTool(t.name,t.config,t.handler);async function ao(){let t=new io,e=En==="compact"?$n(t,An):t;await Se.connect(e),process.on("SIGINT",async()=>{await Se.close(),process.exit(0)}),process.on("SIGTERM",async()=>{await Se.close(),process.exit(0)}),console.error(`flycode-mcp listening on stdio (progressive disclosure: ${Fn?"on":"off"}, input schema profile: ${En})`)}ao().catch(t=>{console.error(t),process.exit(1)});