flycode-mcp 1.14.5 → 1.14.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{McpServer as Kr}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as Vr}from"@modelcontextprotocol/sdk/server/stdio.js";var je="http://mconfig.xuantongkeji.com:51074",vn="username",Cn="password",Dn="tenantCode",En="envName";function Se(t,e){let i=process.argv.slice(2).join("&"),s=new URLSearchParams(i).get(t);if(s!==null&&s!=="")return s;if(e!==void 0)return e;throw new Error(`Missing required arg: ${t}`)}var Q={username:Se(vn),password:Se(Cn),tenantCode:Se(Dn),envName:Se(En)};import $n from"axios";var st=null;function He(t){st=t}function at(){return st}var lt=null;function ct(t){lt=t}function oe(){return lt}var Ue=$n.create({baseURL:je||"",timeout:2e4,headers:{"Content-Type":"application/json"}});Ue.interceptors.request.use(t=>{let o=t.token??at();return o&&(t.headers=t.headers||{},t.headers.token=o),delete t.token,t});Ue.interceptors.response.use(t=>t.data,t=>Promise.reject(t));function E(t){let{type:e="center",...o}=t,i;switch(e){case"center":i=je||"";break;case"tenant":case"business":{let r=oe();if(!r)return Promise.reject(new Error(`type \u4E3A ${e} \u65F6\uFF0C\u5FC5\u987B\u5148\u8C03\u7528 setTenant() \u8BBE\u7F6E\u79DF\u6237\u4FE1\u606F`));i=e==="tenant"?r.conn.config:r.conn.business;break}}return Ue({...o,baseURL:i})}var Ne="1";function ut(t){return E({url:"/api/multiplat/auth/login",method:"post",data:t})}function dt(){return E({url:"/api/multiplat/auth/getTenantInfo",method:"post",data:{appid:Ne}})}function pt(t){return E({url:"/api/multiplat/auth/getIdeToken",method:"post",data:t})}async function mt(){let t=await ut({appid:Ne,username:Q.username,password:Q.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 o=(await dt()).resp_data.find(l=>l.tenantcode===Q.tenantCode),i=o?.envs.find(l=>l.envname===Q.envName);if(o&&i){let l;try{l=JSON.parse(i.conn)}catch{throw new Error(`\u79DF\u6237\u73AF\u5883\u8FDE\u63A5\u4FE1\u606F\u89E3\u6790\u5931\u8D25, \u79DF\u6237\u53F7: ${Q.tenantCode}, \u73AF\u5883\u540D: ${Q.envName}, env.conn \u4E0D\u662F\u5408\u6CD5\u7684 JSON: ${i.conn}`)}ct({metaModelCode:o.metamodelcode,metaModelType:o.metamodeltype,productCode:o.productcode,productName:o.productname,productSeriesCode:o.productseriescode,productVersionCode:o.productversioncode,productVersionName:o.productversionname,tenantCode:o.tenantcode,tenantName:o.tenantname,conn:l,envId:i.envid,envName:i.envname,tenantEnvName:i.tenantenvname})}let r=oe();if(!r)throw new Error(`\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u79DF\u6237\u4FE1\u606F, \u79DF\u6237\u53F7: ${Q.tenantCode}, \u73AF\u5883\u540D: ${Q.envName}`);console.error("flycode-mcp \u83B7\u53D6\u79DF\u6237\u4FE1\u606F\u5B8C\u6210");let n=(await pt({appid:Ne,envid:r.envId,metamodeltype:r.metaModelType,productcode:r.productCode,productversioncode:r.productVersionCode,tenantcode:r.tenantCode})).resp_data?.idetoken;if(!n)throw new Error(`\u83B7\u53D6 IDE Token \u5931\u8D25, \u79DF\u6237\u53F7: ${r.tenantCode}, \u73AF\u5883\u540D: ${r.envName}, \u8FD4\u56DE\u4F53\u4E2D\u672A\u5305\u542B\u6709\u6548\u7684 idetoken`);He(n),console.error("flycode-mcp \u83B7\u53D6 IDE Token \u5B8C\u6210")}var Ke=[{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}],ge={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 Fn(t){return t?Ke.find(e=>e.name===t)?.alwaysOn??!1:!1}var Ie=class{handles=new Map;toolNames=[];progressive;constructor(e){this.progressive=e}registerAll(e,o){for(let i of o){let r=e.registerTool(i.name,i.config,i.handler);this.handles.set(i.name,r),this.toolNames.push(i.name);let s=ge[i.name];this.progressive&&!Fn(s)&&r.disable()}}activate(e,o=!1){let i=this.toolNames.filter(r=>ge[r]===e);for(let r of i){let s=this.handles.get(r);s&&(o&&s.enabled?s.disable():!o&&!s.enabled&&s.enable())}return i}isProgressive(){return this.progressive}domainActive(e){let o=this.toolNames.filter(i=>ge[i]===e);return o.length===0?!1:o.every(i=>this.handles.get(i)?.enabled??!1)}status(){return Ke.map(e=>{let o=this.toolNames.filter(i=>ge[i]===e.name).map(i=>{let r=this.handles.get(i);return{name:i,description:r?.description??"",active:r?.enabled??!1}});return{name:e.name,title:e.title,description:e.description,alwaysOn:e.alwaysOn,active:this.domainActive(e.name),tools:o}})}focus(e){let o=Ke.find(r=>r.name===e);if(!o)return null;let i=this.toolNames.filter(r=>ge[r]===e).map(r=>{let s=this.handles.get(r);return{name:r,description:s?.description??"",active:s?.enabled??!1}});return{name:e,title:o.title,tools:i}}};import{z as $}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 M(t){return{isError:!0,content:[{type:"text",text:D(t)}]}}var gt=$.enum(["core","entity","form","logic","function","h5"]),ie=32*1024,Ve=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 ft(t){return t.length<=Ve?t:`${t.slice(0,Ve)}\u2026(\u7701\u7565 ${t.length-Ve} \u5B57\u7B26)`}function Tn(t){let e=(l,u)=>JSON.stringify({progressive:t.progressive,domains:l,focus:u}).length;if(e(t.domains,t.focus)<=ie)return{...t,truncated:!1};let o=(l,u)=>l.map(a=>({...a,description:u(a.description)})),i=t.domains.map(l=>({...l,tools:o(l.tools,ft)})),r=t.focus?{...t.focus,tools:o(t.focus.tools,ft)}:null;if(e(i,r)<=ie)return{progressive:t.progressive,domains:i,focus:r,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${ie} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u622A\u65AD\u5DE5\u5177\u63CF\u8FF0\u3002${Ye}`};let s=i.map(l=>({...l,tools:o(l.tools,()=>"")})),n=r?{...r,tools:o(r.tools,()=>"")}:null;return e(s,n)<=ie?{progressive:t.progressive,domains:s,focus:n,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${ie} \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:s.map(l=>({...l,tools:[]})),focus:n?{...n,tools:[]}:null,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u5373\u4F7F\u964D\u7EA7\u4ECD\u8D85\u8FC7 ${ie} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u4E22\u5F03\u5DE5\u5177\u6E05\u5355\u3002${Ye}`}}function yt(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:gt.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:$.boolean().describe("\u662F\u5426\u5904\u4E8E\u6E10\u8FDB\u5F0F\u62AB\u9732\u6A21\u5F0F"),domains:$.array($.object({name:$.string(),title:$.string(),description:$.string(),alwaysOn:$.boolean(),active:$.boolean(),tools:$.array($.object({name:$.string(),description:$.string(),active:$.boolean()}))})).describe("\u5168\u90E8\u57DF\u7684\u72B6\u6001\u4E0E\u5DE5\u5177\u6E05\u5355"),focus:$.object({name:$.string(),title:$.string(),tools:$.array($.object({name:$.string(),description:$.string(),active:$.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:$.boolean().describe("\u8FD4\u56DE\u4F53\u662F\u5426\u56E0\u8D85\u8FC7\u4F53\u79EF\u786C\u4E0A\u9650\u800C\u88AB\u81EA\u52A8\u964D\u7EA7"),note:$.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 i=>{let r=i?.domain??void 0,s=r?t.focus(r):null;return F(Tn({progressive:t.isProgressive(),domains:t.status(),focus:s}))}},o={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:gt.describe("\u8981\u542F\u7528\u6216\u6536\u8D77\u7684\u57DF\uFF1Aentity / form / logic / function / h5"),deactivate:$.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:$.string(),deactivated:$.boolean(),tools:$.array($.string()).describe("\u53D7\u672C\u6B21\u5207\u6362\u5F71\u54CD\u7684\u5DE5\u5177\u540D\u5217\u8868"),progressive:$.boolean(),note:$.string().describe("\u7ED9\u6A21\u578B/\u4F7F\u7528\u8005\u7684\u63D0\u793A\u4FE1\u606F")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1}},handler:async i=>{let r=i?.domain??"core",s=i?.deactivate===!0,n=t.activate(r,s),l=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:r,deactivated:s,tools:n,progressive:t.isProgressive(),note:l})}};return[e,o]}var H='\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',se="\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",Ae="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",te="\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",Z="\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",fe='\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 k}from"zod";function bt(t){return E({url:"/bizserv/bizmodel/pageModelLogicList",method:"post",data:t,type:"tenant"})}function ht(t){return E({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function X(t){return E({url:"/bizserv/bizmodel/getModelLogic",method:"post",data:t,type:"tenant"})}function ve(t){return E({url:"/bizserv/bizmodel/saveModelLogic",method:"post",data:{...t,overwrite:!1},type:"tenant"})}import{z as p}from"zod";var ze=p.object({marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u540D\u79F0\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u6240\u5C5E\u7684\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u5982\u679C\u662F\u81EA\u5B9A\u4E49\u53C2\u6570\u5219\u6B64\u7F16\u7801\u4E3A\u7A7A\u5B57\u7B26\u4E32"),propertycode:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u7F16\u7801\uFF0C\u53EA\u6709\u5F53\u6B64\u5B57\u6BB5\u6709\u6240\u5C5E\u5B9E\u4F53\u65F6\u624D\u6709\u503C\uFF0C\u4E34\u65F6\u521B\u5EFA\u7684\u81EA\u5B9A\u4E49\u5B9E\u4F53\u7684\u5B57\u6BB5\u5219\u4E3A\u7A7A\u5B57\u7B26\u4E32"),propertyname:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u4E2D\u6587\u540D\uFF0C\u9605\u8BFB\u53CB\u597D"),propertytypecode:p.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u6574\u6570\u5B57\u7B26\u4E32\uFF0C\u542B\u4E49\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)")}).catchall(p.unknown()),Mn=p.array(ze),Rt=p.object({datatype:p.string().optional().nullable().describe("\u6574\u6570\u5B57\u7B26\u4E32\uFF1A0-\u5355\u5B9E\u4F53\uFF1B1-\u6570\u7EC4\u30020 \u8868\u793A IN.name \u6216 OUT.xxx \u662F\u4E2A\u5BF9\u8C61\uFF1B1 \u8868\u793A\u662F\u4E2A\u6570\u7EC4"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:p.string().optional().nullable().describe("\u6B64\u53C2\u6570\u5BF9\u8C61/\u6570\u7EC4\u7684\u540D\u5B57\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:p.string().optional().nullable().describe("\u6B64\u53C2\u6570\u5173\u8054\u7684\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u5982\u679C\u662F\u81EA\u5B9A\u4E49\u53C2\u6570\u5219\u6B64\u7F16\u7801\u4E3A\u7A7A\u5B57\u7B26\u4E32"),objectname:p.string().optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u4E2D\u6587\u540D\u79F0\uFF0C\u9605\u8BFB\u53CB\u597D"),properties:Mn.optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u5C5E\u6027\u6570\u7EC4\uFF1A\u5355\u5B9E\u4F53\u65F6\u662F IN.name \u8FD9\u4E2A\u5BF9\u8C61\u6709\u7684\u5C5E\u6027\uFF1B\u6570\u7EC4\u65F6\u662F IN.name \u8FD9\u4E2A\u6570\u7EC4\u4E2D\u7684\u5143\u7D20\u5BF9\u8C61\u7684\u5C5E\u6027"),customcode:p.string().optional().nullable().describe("\u81EA\u5B9A\u4E49\u8F93\u51FA\u5BF9\u8C61\u7684\u7F16\u7801\uFF08\u4EC5\u81EA\u5B9A\u4E49\u8F93\u51FA\u53C2\u6570\u53EF\u80FD\u643A\u5E26\uFF0C\u5982\u5185\u90E8\u51FD\u6570 output\uFF09")}).catchall(p.unknown()),_t=p.array(Rt),Ln=p.array(p.object({dynamic:p.object({fieldblacklist:p.unknown().optional().nullable().describe("\u5B57\u6BB5\u9ED1\u540D\u5355"),fieldmap:p.unknown().optional().nullable().describe("\u5B57\u6BB5\u6620\u5C04")}).catchall(p.unknown()).optional().nullable().describe("\u52A8\u6001\u914D\u7F6E"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0"),modellogiccode:p.string().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),modellogicstepcode:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u7F16\u7801"),modellogicstepname:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u540D\u79F0"),seq:p.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:p.string().optional().nullable().describe("\u72B6\u6001"),templateparams:p.object({flycode:p.string().optional().nullable().describe("flycode \u811A\u672C\u4EE3\u7801\u5B57\u7B26\u4E32"),sourcemap:p.string().optional().nullable().describe("\u6E90\u6620\u5C04"),tempcompiledflycode:p.string().optional().nullable().describe("\u7F16\u8BD1\u540E\u7684 flycode")}).catchall(p.unknown()).optional().nullable().describe("\u6A21\u677F\u53C2\u6570\uFF0C\u5185\u542B\u5177\u4F53\u7684 flycode \u4EE3\u7801\uFF08\u5BFC\u51FA\u7ED3\u6784\u4EC5\u542B flycode\uFF09"),templateref:p.string().optional().nullable().describe("\u6A21\u677F\u5F15\u7528")}).catchall(p.unknown())),qe=p.object({field:p.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:p.string().optional().nullable().describe("\u5BFC\u51FA\u540E\u7684\u5217\u6807\u9898"),width:p.string().optional().nullable().describe("\u5217\u5BBD"),type:p.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u5982 string"),dynamictext:p.unknown().optional().nullable().describe("\u52A8\u6001\u6587\u672C\u914D\u7F6E")}).catchall(p.unknown()),jn=p.object({bindcols:p.array(qe).optional().nullable().describe("\u5BFC\u51FA\u7684\u5217\u5B9A\u4E49"),modelcode:p.string().describe("\u4E1A\u52A1\u6A21\u578B\u7F16\u7801"),logiccode:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),logicname:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u540D\u79F0")}).catchall(p.unknown()),Be={actioncategory:p.string().optional().nullable().describe("\u884C\u4E3A\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA"),actiontype:p.string().optional().nullable().describe("\u64CD\u4F5C\u7C7B\u578B, \u6574\u6570, \u542B\u4E49\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3"),description:p.string().optional().nullable().describe("\u5BF9\u6B64\u4E1A\u52A1\u9886\u57DF\u7684\u63CF\u8FF0\u8BF4\u660E\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u7528 descr \u4EE3\u66FF\uFF09"),descr:p.string().optional().nullable().describe("\u63CF\u8FF0\u8BF4\u660E\u7684\u66FF\u7528\u5B57\u6BB5\uFF0C\u4EC5\u5FAE\u670D\u52A1\uFF08actioncategory=2\uFF09\u8FD4\u56DE\uFF0C\u7B49\u4EF7\u4E8E description"),execmode:p.string().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),executionmode:p.string().optional().nullable().describe("\u6267\u884C\u6A21\u5F0F\uFF0Cstandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F"),functionname:p.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u51FD\u6570\u547D\u540D\uFF08A\u4E1A\u52A1\u903B\u8F91\u4E2D\u8C03\u7528B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u5199\u51FD\u6570\u540D\uFF09"),idempotenttype:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),input:_t.optional().nullable().describe("\u8BE5\u5B57\u6BB5\u5B9A\u4E49\u4E86\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u8F93\u5165\uFF1Aflycode \u4E2D\u7684\u5185\u7F6E\u5BF9\u8C61 IN \u4E2D\u53EF\u83B7\u53D6\u5230\u7684\u5185\u5BB9\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u65E0\u6B64\u5B57\u6BB5\uFF09"),logicscript:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:p.string().optional().nullable().describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u6BCF\u6B21\u4FDD\u5B58\u65F6\u586B\u5199\u7684\uFF0C\u7C7B\u4F3C git \u7684\u63D0\u4EA4\u4FE1\u606F\uFF08\u5BFC\u51FA\u7C7B\u7ED3\u6784\u53EF\u80FD\u7F3A\uFF09"),modelcode:p.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),modellogiccode:p.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801"),modellogicname:p.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),operations:Ln.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:_t.optional().nullable().describe("\u8BE5\u5B57\u6BB5\u5B9A\u4E49\u4E86\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u8F93\u51FA\uFF1Aflycode \u4E2D\u5C06\u4F1A\u8D4B\u503C\u7ED9\u5185\u7F6E\u5BF9\u8C61 OUT \u7684\u5185\u5BB9\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u65E0\u6B64\u5B57\u6BB5\uFF09"),rest:p.object({server:p.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u5730\u5740"),url:p.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u8DEF\u5F84")}).catchall(p.unknown()).optional().nullable().describe("\u5FAE\u670D\u52A1\u7684 REST \u914D\u7F6E\uFF0C\u4EC5 actioncategory=2 \u5FAE\u670D\u52A1 \u65F6\u5B58\u5728"),bindjson:jn.optional().nullable().describe("\u5BFC\u51FA\u7ED1\u5B9A\u7684 Excel \u5217\u914D\u7F6E\uFF0C\u4EC5 actioncategory=5 \u5BFC\u51FA \u65F6\u5B58\u5728"),status:p.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),tenantdbcode:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u7F16\u7801"),tenantdbname:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u64CD\u4F5C\u6743\u9650\uFF0C\u679A\u4E3E\u503C\u542B\u4E49\uFF1A\u53EA\u8BFB-\u6570\u636E\u5E93\u53EA\u80FD\u67E5\u8BE2\u4E0D\u80FD\u589E\u5220\u6539\uFF1B\u8BFB\u5199-\u6570\u636E\u5E93\u53EF\u589E\u5220\u6539\u67E5\uFF1B\u62A5\u8868-\u4FDD\u7559\u5B57\u6BB5"),tenantdbtype:p.string().optional().nullable().describe("tenantdbname \u5BF9\u5E94\u7684 key \u503C"),uilogicscript:p.string().optional().nullable().describe("\u79BB\u7EBF\u811A\u672C\uFF0C\u4EC5\u7528\u4E8E app \u7AEF\u79BB\u7EBF\u6570\u636E\u63D0\u4EA4"),usedatarule:p.string().optional().nullable().describe("1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650")},wt=p.looseObject(Be),kt=p.discriminatedUnion("op",[p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),param:Rt.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u6761\u8F93\u5165/\u8F93\u51FA\u53C2\u6570\uFF08\u5355\u4E2A LogicParameters \u5BF9\u8C61\uFF09"),position:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),p.object({op:p.literal("remove_param").describe("\u4ECE input / output \u6309 name \u5220\u9664\u6574\u6761\u53C2\u6570\uFF08\u5220\u9664\u4E00\u4E2A input / output\uFF09"),target:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:p.string().describe("\u8981\u5220\u9664\u7684\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09")}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:p.string().describe("\u76EE\u6807\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09"),patch:p.record(p.string(),p.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u53C2\u6570\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "datatype": "1", "objectname": "\u5BA2\u6237" }')}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:p.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:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:p.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:p.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:p.string().optional().describe("\u6309\u5B57\u6BB5\u7F16\u7801 propertycode \u5B9A\u4F4D\uFF08\u4E0E propertyName \u4E8C\u9009\u4E00\uFF09")}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:p.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:p.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:p.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")}),p.object({op:p.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:p.record(p.string(),p.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" }')}),p.object({op:p.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:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),p.object({op:p.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:p.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:p.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09")}),p.object({op:p.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:p.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:p.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")}),p.object({op:p.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:p.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:p.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09"),patch:p.record(p.string(),p.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u5217\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "column": "\u65B0\u6807\u9898", "width": "20" }')}),p.object({op:p.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:p.record(p.string(),p.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 xt=[{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${H}\n${se}`,inputSchema:{modelname:k.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:k.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:k.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: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")},outputSchema:{data:k.array(k.object({modeldescr:k.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u7684\u63CF\u8FF0\u8BF4\u660E"),createtime:k.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:k.union([k.string(),k.number(),k.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),dddlayer:k.coerce.number().optional().nullable().describe("\u76EE\u5F55\u5C42\u7EA7\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u4E00\u7EA7\u76EE\u5F55"),modelname:k.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u540D\uFF08\u6240\u5C5E\u76EE\u5F55\u540D\uFF09"),directorytypecode:k.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:k.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),classname:k.string().optional().nullable().describe("\u7C7B\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u5E26 classname\uFF0C\u5982 ai_base / cost\uFF09"),modelcode:k.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:k.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),tablename:k.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u4E3A\u7A7A\uFF09"),updatetime:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:k.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:k.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:k.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),updateaccountcode:k.union([k.string(),k.number(),k.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).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{modelname:e="",directorytypecode:o="rootNode",dddlayer:i="1",page:r=1,rows:s=999}=t;try{let n=await ht({dddlayer:Number(i)||1,modelname:e,directorytypecode:o,page:Number(r)||1,rows:Number(s)||999,centercode:""});return F(n.resp_data)}catch(n){return M(n)}}},{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${H}\n${se}`,inputSchema:{keys:k.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:k.string().optional().describe("\u5B8C\u6574 JSON (\u5185\u542B\u4EE3\u7801) \u4E2D\u7684\u5173\u952E\u5B57\uFF0C\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"),updateopname:k.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),updatetimestart:k.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:k.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:k.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:k.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:k.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:k.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:k.array(k.object({actiontype:k.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:k.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:k.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),modelname:k.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u540D"),modellogiccode:k.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modellogicname:k.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),metamodelcode:k.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modellogiccode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),execmode:k.coerce.number().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),functionname:k.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:k.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:k.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),marktype:k.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),updatetime:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:k.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:k.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:k.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:k.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),confsource:k.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),updateaccountcode:k.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).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{keys:e="",keywords:o="",page:i=1,rows:r=20,updateopname:s="",updatetimestart:n="",updatetimeend:l="",actiontype:u="",actioncategory:a="",tenantdbname:d="",jobstatus:y=null}=t;try{let h=await bt({actioncategory:a,actiontype:u,centercode:"",directorytypecode:"rootNode",jobstatus:y,keys:e,keywords:o,modelcode:"rootNode",page:Number(i)||1,rows:Number(r)||20,tenantdbname:d,updateopname:s,updatetimeend:l,updatetimestart:n});return F(h.resp_data)}catch(h){return M(h)}}},{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${H}\n${se}\n${Ae}`,inputSchema:{modellogiccode:k.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 o=await X({modellogiccode:e});return F(o.resp_data)}catch(o){return M(o)}}}];import{z as S}from"zod";import{z as Ce}from"zod";var J=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 W(t){return{committype:t.committype,committypetext:t.committypetext,msgbody:t.msgbody??""}}function q(t,e="YYYY-MM-DD HH:mm:ss"){if(isNaN(t.getTime()))throw new Error("Invalid date provided");let o={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")},i=Object.keys(o).sort((s,n)=>n.length-s.length),r=e;for(let s of i)r=r.replace(new RegExp(s,"g"),o[s]);return r}function Je(t,e){let o=[],i=[];if(e==="exact"){for(let r=0;r<t.length;r++)o.push(t[r]),i.push(r);return{text:o.join(""),map:i}}for(let r=0;r<t.length;r++){let s=t[r];if(s==="\r"){o.push(`\n`),i.push(r),t[r+1]===`\n`&&r++;continue}if(s===" "||s===" "){let n=r;for(;n<t.length&&(t[n]===" "||t[n]===" ");)n++;if(n>=t.length||t[n]===`\n`||t[n]==="\r"){r=n-1;continue}o.push(s),i.push(r);continue}o.push(s),i.push(r)}return{text:o.join(""),map:i}}function G(t,e="normalized"){return Je(t,e).text}function We(t){return t.replace(/\r\n?/g,`\n`)}function Ge(t,e){let o=1,i=Math.min(e,t.length);for(let r=0;r<i;r++)t[r]===`\n`&&o++;return o}function Hn(t,e,o="normalized"){if(e.length===0)return[];let i=Je(t,o),r=Je(e,o);if(r.text.length===0)return[];let s=[],n=0;for(;;){let l=i.text.indexOf(r.text,n);if(l===-1)break;let u=i.map[l],a=i.map[l+r.text.length-1]+1;s.push({startOffset:u,endOffset:a,startLine:Ge(t,u),endLine:Ge(t,Math.max(a-1,0))}),n=l+r.text.length}return s}function Ot(t){let e=new Map;if(t.length<2)return t.length===1&&e.set(t,1),e;for(let o=0;o<t.length-1;o++){let i=t.slice(o,o+2);e.set(i,(e.get(i)??0)+1)}return e}function Un(t,e){if(t.size===0&&e.size===0)return 1;if(t.size===0||e.size===0)return 0;let o=0,[i,r]=t.size<=e.size?[t,e]:[e,t];for(let[n,l]of i){let u=r.get(n);u&&(o+=Math.min(l,u))}let s=0;for(let n of t.values())s+=n;for(let n of e.values())s+=n;return s===0?0:2*o/s}function Kn(t,e,o=3){let i=We(t).split(`\n`),r=We(e).split(`\n`);if(i.length===0||r.length===0)return[];let s=r.map(d=>d.trim()).join(`\n`),n=Ot(s),l=i.map(d=>d.trim()),u=new Map,a=new Set([r.length-1,r.length,r.length+1]);for(let d of a)if(!(d<1))for(let y=0;y+d<=i.length;y++){let h=l.slice(y,y+d).join(`\n`),_=Un(Ot(h),n);if(_<=.3)continue;let R=u.get(y);(!R||_>R.score)&&u.set(y,{score:_,preview:i.slice(y,y+d).join(`\n`).slice(0,120)})}return Array.from(u.entries()).map(([d,y])=>({startLine:d+1,score:Math.round(y.score*100)/100,preview:y.preview})).sort((d,y)=>y.score-d.score).slice(0,o)}function Vn(t){let e=(t.match(/\r\n/g)??[]).length,o=(t.match(/\n/g)??[]).length-e;return e>o?`\r\n`:`\n`}function Pt(t,e){let o=Vn(e);return t.replace(/\r\n?|\n/g,o)}var ae=40;function Yn(t,e,o,i=3){let r=We(t).split(`\n`),s=[],n=e.slice().sort((l,u)=>l.startOffset-u.startOffset);for(let l of n){let u=Math.max(1,l.startLine-i),a=Math.min(r.length,l.endLine+i),d=t.slice(l.startOffset,l.endOffset).split(`\n`).map(g=>g.replace(/\r$/,"")),y=o.split(`\n`),h=d.length,_=y.length,w=[["@@",`-${l.startLine},${h}`,`+${l.startLine},${_}`,"@@"].join(" ")];for(let g=u;g<l.startLine;g++)w.push(` ${r[g-1]}`);for(let g of d.slice(0,ae))w.push(`-${g}`);h>ae&&w.push(`... \u7701\u7565 ${h-ae} \u884C`);for(let g of y.slice(0,ae))w.push(`+${g}`);_>ae&&w.push(`... \u7701\u7565 ${_-ae} \u884C`);for(let g=l.endLine+1;g<=a;g++)w.push(` ${r[g-1]}`);s.push(w.join(`\n`))}return s.join(`\n`)}function De(t,e,o={}){let i=o.contextLines??3,r=o.topN??3,s=t.slice(),n=[],l=!1;for(let u=0;u<e.length;u++){let a=e[u],d=a.operationIndex??0,y=()=>({index:u,label:a.label??null,status:"FAILED",errorCode:"OK",message:null,operationIndex:d,matchCount:0,replacedCount:0,range:null,suggestions:null,dependentOnFailedOp:l,hunk:null}),h=(C,L,K={})=>{n.push({...y(),status:"FAILED",errorCode:C,message:L,...K}),l=!0};if(!Number.isInteger(d)||d<0||d>=s.length){h("NO_TARGET",`operationIndex=${d} \u4E0D\u5B58\u5728\uFF0C\u5F53\u524D\u5171\u6709 ${s.length} \u4E2A operation\uFF08\u53EF\u7528\u4E0B\u6807 0~${Math.max(s.length-1,0)}\uFF09`);continue}if(a.rewrite!==!0&&(typeof a.oldString!="string"||a.oldString.length===0)){h("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(a.replaceAll===!0&&a.occurrence!=null){h("INVALID_PARAMS","replaceAll \u4E0E occurrence \u4E92\u65A5\uFF0C\u53EA\u80FD\u4E8C\u9009\u4E00");continue}if(a.rewrite===!0){if(typeof a.newString!="string"){h("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 C=s[d],L=Pt(a.newString,C),K=Ge(C,C.length);s[d]=L,n.push({...y(),status:"OK",errorCode:"OK",matchCount:1,replacedCount:1,range:{startOffset:0,endOffset:C.length,startLine:1,endLine:K},hunk:`\u6574\u4EFD\u66FF\u6362\uFF1A${C.length} \u2192 ${L.length} \u5B57\u7B26\uFF08rewrite \u6A21\u5F0F\uFF0C\u672A\u56DE\u663E\u65E7\u5168\u6587\uFF09`});continue}let _=a.matchMode??"normalized",R=s[d],w=Hn(R,a.oldString,_);if(w.length===0){h("NOT_FOUND",`oldString \u5728 operation[${d}] \u7684\u811A\u672C\u4E2D\u672A\u5339\u914D\u5230\u4EFB\u4F55\u5185\u5BB9\uFF08matchMode=${_}\uFF09`,{suggestions:Kn(R,a.oldString,r)});continue}let g;if(a.replaceAll===!0)g=w;else if(a.occurrence!=null){if(!Number.isInteger(a.occurrence)||a.occurrence<1||a.occurrence>w.length){h("OCCURRENCE_OUT_OF_RANGE",`occurrence=${a.occurrence} \u8D8A\u754C\uFF0C\u5B9E\u9645\u5339\u914D\u6570\u4E3A ${w.length}`,{matchCount:w.length});continue}g=[w[a.occurrence-1]]}else if(w.length>1){let C=w.map(L=>`\u7B2C ${L.startLine}~${L.endLine} \u884C`).join("\u3001");h("NOT_UNIQUE",`oldString \u5339\u914D\u5230 ${w.length} \u5904\uFF08${C}\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:w.length});continue}else g=w;let b=Pt(a.newString,R),P=R;for(let C=g.length-1;C>=0;C--)P=P.slice(0,g[C].startOffset)+b+P.slice(g[C].endOffset);let v=Yn(R,g,b,i);s[d]=P,n.push({...y(),status:"OK",errorCode:"OK",matchCount:w.length,replacedCount:g.length,range:g[0],hunk:v})}return{scripts:s,results:n,ok:n.length>0&&n.every(u=>u.status==="OK")}}async function St(t,e){e.committype==="saverecord"&&(e.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{return(await ve(t)).resp_data}catch(o){return D(o)}}function le(t,e){return(e==="input"?t.input:t.output)??[]}function ye(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 ne(t){let e=U(t.field)?t.field:void 0,o=U(t.column)?t.column:void 0;return{fieldKey:e,colKey:o}}function ee(t,e,o){return e!==void 0&&t?.field===e||o!==void 0&&e===void 0&&t?.column===o}function U(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}async function zn(t,e,o){let i=(s={})=>({index:o,op:e.op,status:"OK",errorCode:"OK",message:null,...s}),r=(s,n,l={})=>({index:o,op:e.op,status:"FAILED",errorCode:s,message:n,...l});switch(e.op){case"add_param":{let s=le(t,e.target);if(U(e.param.name)&&s.some(l=>l?.name===e.param.name))return r("DUP_NAME",`target=${e.target} \u4E2D\u5DF2\u5B58\u5728 name=${e.param.name} \u7684\u53C2\u6570\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let n=e.position??s.length;return s.splice(n,0,e.param),e.target==="input"?t.input=s:t.output=s,i({message:`\u5DF2\u5728 ${e.target} \u7684 position=${n} \u8FFD\u52A0\u53C2\u6570 ${e.param.name??"(\u672A\u547D\u540D)"}`})}case"remove_param":{let s=le(t,e.target),n=s.filter(u=>u?.name===e.name);if(n.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`);if(n.length>1)return r("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let l=s.findIndex(u=>u?.name===e.name);return s.splice(l,1),e.target==="input"?t.input=s:t.output=s,i({message:`\u5DF2\u4ECE ${e.target} \u79FB\u9664\u53C2\u6570 ${e.name}`})}case"set_param_attrs":{let n=le(t,e.target).filter(l=>l?.name===e.name);return n.length===0?r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`):n.length>1?r("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(n[0],e.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230 ${e.target} \u53C2\u6570 ${e.name}`}))}case"add_property":{let n=le(t,e.target).filter(_=>_?.name===e.paramName);if(n.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(n.length>1)return r("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let l=n[0],u=l.properties??(l.properties=[]),a=U(e.property.name)?e.property.name:void 0,d=U(e.property.propertycode)?e.property.propertycode:void 0,y=u.find(_=>a!==void 0&&_?.name===a||d!==void 0&&_?.propertycode===d);if(y){let _=a!==void 0&&y?.name===a?`name=${a}`:`propertycode=${d}`;return r("DUP_NAME",`\u53C2\u6570 ${e.paramName} \u4E2D\u5DF2\u5B58\u5728 ${_} \u7684\u5C5E\u6027\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`)}let h=e.position??u.length;return u.splice(h,0,e.property),i({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u7684 position=${h} \u8FFD\u52A0\u5C5E\u6027 ${e.property.name??e.property.propertycode??"(\u672A\u547D\u540D)"}`})}case"remove_property":{let s=U(e.propertyName)?e.propertyName:void 0,n=U(e.propertyCode)?e.propertyCode:void 0;if(s===void 0&&n===void 0)return r("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 u=le(t,e.target).filter(R=>R?.name===e.paramName);if(u.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(u.length>1)return r("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${u.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let d=u[0].properties??[],y=R=>s!==void 0&&R?.name===s||n!==void 0&&R?.propertycode===n,h=d.filter(y);if(h.length===0)return r("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(h.length>1)return r("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${h.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let _=d.findIndex(y);return d.splice(_,1),i({message:`\u5DF2\u4ECE ${e.target}.${e.paramName} \u79FB\u9664\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"replace_property":{let s=U(e.propertyName)?e.propertyName:void 0,n=U(e.propertyCode)?e.propertyCode:void 0;if(s===void 0&&n===void 0)return r("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 u=le(t,e.target).filter(R=>R?.name===e.paramName);if(u.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(u.length>1)return r("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${u.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let d=u[0].properties??[],y=R=>s!==void 0&&R?.name===s||n!==void 0&&R?.propertycode===n,h=d.filter(y);if(h.length===0)return r("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(h.length>1)return r("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${h.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let _=d.findIndex(y);return d[_]=e.property,i({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u66FF\u6362\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"set_meta":{let s=["input","output","operations"].filter(n=>n in e.patch);return s.length>0?r("INVALID_PARAMS",`set_meta \u4E0D\u80FD\u4FEE\u6539 ${s.join("/")}\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7684 param/property \u7C7B op`):(Object.assign(t,e.patch),i({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 s=ye(t);if(s===null)return r("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:n,colKey:l}=ne(e.column);if(n!==void 0&&s.some(a=>a?.field===n))return r("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 field=${n} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);if(l!==void 0&&n===void 0&&s.some(a=>a?.column===l))return r("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 column=${l} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let u=e.position??s.length;return s.splice(u,0,e.column),i({message:`\u5DF2\u5728 bindcols \u7684 position=${u} \u8FFD\u52A0\u5BFC\u51FA\u5217 ${n??l??"(\u672A\u547D\u540D)"}`})}case"remove_export_column":{let{fieldKey:s,colKey:n}=ne(e);if(s===void 0&&n===void 0)return r("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 l=ye(t);if(l===null)return r("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 u=l.filter(d=>ee(d,s,n));if(u.length===0)return r("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(u.length>1)return r("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${u.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00\uFF08field/column \u7EC4\u5408\u4E0D\u8DB3\u4EE5\u552F\u4E00\u5B9A\u4F4D\uFF09`);let a=l.findIndex(d=>ee(d,s,n));return l.splice(a,1),i({message:`\u5DF2\u4ECE bindcols \u79FB\u9664\u5BFC\u51FA\u5217 ${s??n}`})}case"replace_export_column":{let{fieldKey:s,colKey:n}=ne(e);if(s===void 0&&n===void 0)return r("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 l=ye(t);if(l===null)return r("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 u=l.filter(d=>ee(d,s,n));if(u.length===0)return r("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(u.length>1)return r("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${u.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let a=l.findIndex(d=>ee(d,s,n));return l[a]=e.newColumn,i({message:`\u5DF2\u5728 bindcols \u66FF\u6362\u5BFC\u51FA\u5217 ${s??n}`})}case"set_export_column_attrs":{let{fieldKey:s,colKey:n}=ne(e);if(s===void 0&&n===void 0)return r("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 l=ye(t);if(l===null)return r("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 u=l.filter(a=>ee(a,s,n));return u.length===0?r("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217"):u.length>1?r("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${u.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(u[0],e.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u5BFC\u51FA\u5217 ${s??n}`}))}case"set_bind_meta":{if(ye(t)===null)return r("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 r("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 n=t.bindjson;return n?(Object.assign(n,e.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A bindjson \u9876\u5C42\u5B57\u6BB5`})):r("INVALID_PARAMS","bindjson \u7F3A\u5931\uFF0C\u65E0\u6CD5\u6267\u884C set_bind_meta")}default:return r("OP_ERROR",`\u672A\u77E5 op \u7C7B\u578B\uFF1A${e.op}`)}}function qn(t){let e=t.map(i=>`ops[${i.index}] ${i.op} (${i.status}): ${i.message??""}`).join(`\n`),o=e.split(`\n`);return o.length<=Ee?e:`${o.slice(0,Ee).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${o.length} \u884C\uFF09`}function Bn(t,e){let o=[],i=r=>(r==="input"?t.input:t.output)??[];for(let r=0;r<e.length;r++){let s=e[r];switch(s.op){case"set_meta":for(let[n,l]of Object.entries(s.patch))JSON.stringify(t[n])!==JSON.stringify(l)&&o.push(`ops[${r}] set_meta.${n} \u672A\u751F\u6548`);break;case"add_param":{i(s.target).some(l=>l?.name===s.param.name)||o.push(`ops[${r}] add_param \u53C2\u6570\u672A\u8FFD\u52A0`);break}case"remove_param":{i(s.target).some(l=>l?.name===s.name)&&o.push(`ops[${r}] remove_param \u53C2\u6570\u4ECD\u5B58\u5728`);break}case"set_param_attrs":{let l=i(s.target).find(u=>u?.name===s.name);if(!l){o.push(`ops[${r}] set_param_attrs \u53C2\u6570\u6D88\u5931`);break}for(let[u,a]of Object.entries(s.patch))JSON.stringify(l[u])!==JSON.stringify(a)&&o.push(`ops[${r}] set_param_attrs.${u} \u672A\u751F\u6548`);break}case"add_property":{let l=i(s.target).find(h=>h?.name===s.paramName);if(!l){o.push(`ops[${r}] add_property \u53C2\u6570\u6D88\u5931`);break}let u=l.properties??[],a=U(s.property.name)?s.property.name:void 0,d=U(s.property.propertycode)?s.property.propertycode:void 0;u.some(h=>a!==void 0&&h?.name===a||d!==void 0&&h?.propertycode===d)||o.push(`ops[${r}] add_property \u5C5E\u6027\u672A\u8FFD\u52A0`);break}case"remove_property":{let l=i(s.target).find(h=>h?.name===s.paramName);if(!l){o.push(`ops[${r}] remove_property \u53C2\u6570\u6D88\u5931`);break}let u=l.properties??[],a=U(s.propertyName)?s.propertyName:void 0,d=U(s.propertyCode)?s.propertyCode:void 0,y=h=>a!==void 0&&h?.name===a||d!==void 0&&h?.propertycode===d;u.some(y)&&o.push(`ops[${r}] remove_property \u5C5E\u6027\u4ECD\u5B58\u5728`);break}case"replace_property":{let l=i(s.target).find(_=>_?.name===s.paramName);if(!l){o.push(`ops[${r}] replace_property \u53C2\u6570\u6D88\u5931`);break}let u=l.properties??[],a=U(s.propertyName)?s.propertyName:void 0,d=U(s.propertyCode)?s.propertyCode:void 0,y=_=>a!==void 0&&_?.name===a||d!==void 0&&_?.propertycode===d,h=u.find(y);if(!h){o.push(`ops[${r}] replace_property \u5C5E\u6027\u6D88\u5931`);break}for(let[_,R]of Object.entries(s.property))JSON.stringify(h[_])!==JSON.stringify(R)&&o.push(`ops[${r}] replace_property.${_} \u672A\u751F\u6548`);break}case"add_export_column":{let n=t.bindjson?.bindcols??[],l=U(s.column.field)?s.column.field:void 0,u=U(s.column.column)?s.column.column:void 0;n.some(d=>ee(d,l,u))||o.push(`ops[${r}] add_export_column \u5217\u672A\u8FFD\u52A0`);break}case"remove_export_column":{let n=t.bindjson?.bindcols??[],{fieldKey:l,colKey:u}=ne(s);n.some(a=>ee(a,l,u))&&o.push(`ops[${r}] remove_export_column \u5217\u4ECD\u5B58\u5728`);break}case"replace_export_column":{let n=t.bindjson?.bindcols??[],{fieldKey:l,colKey:u}=ne(s),a=n.find(d=>ee(d,l,u));if(!a){o.push(`ops[${r}] replace_export_column \u5217\u6D88\u5931`);break}for(let[d,y]of Object.entries(s.newColumn))JSON.stringify(a[d])!==JSON.stringify(y)&&o.push(`ops[${r}] replace_export_column.${d} \u672A\u751F\u6548`);break}case"set_export_column_attrs":{let n=t.bindjson?.bindcols??[],{fieldKey:l,colKey:u}=ne(s),a=n.find(d=>ee(d,l,u));if(!a){o.push(`ops[${r}] set_export_column_attrs \u5217\u6D88\u5931`);break}for(let[d,y]of Object.entries(s.patch))JSON.stringify(a[d])!==JSON.stringify(y)&&o.push(`ops[${r}] set_export_column_attrs.${d} \u672A\u751F\u6548`);break}case"set_bind_meta":{let n=t.bindjson;if(!n){o.push(`ops[${r}] set_bind_meta bindjson \u672A\u751F\u6548`);break}for(let[l,u]of Object.entries(s.patch))JSON.stringify(n[l])!==JSON.stringify(u)&&o.push(`ops[${r}] set_bind_meta.${l} \u672A\u751F\u6548`);break}}}return{verified:o.length===0,problems:o}}async function Nt(t,e,o,i={}){let r=i.dryRun??!1,s=i.verify??!0,n=(w,g)=>({ok:!1,applied:!1,verified:null,errorCode:w,message:g,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return n("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let l;try{l=(await X({modellogiccode:t})).resp_data}catch(w){return n("FETCH_FAILED",D(w))}if(!l)return n("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);let u=structuredClone(l),a=[],d=!1;for(let w=0;w<e.length;w++)try{let g=await zn(u,e[w],w);a.push(g),g.status==="FAILED"&&(d=!0)}catch(g){a.push({index:w,op:e[w].op,status:"FAILED",errorCode:"OP_ERROR",message:D(g)}),d=!0}let y=qn(a);if(d){let w=a.filter(g=>g.status==="FAILED").map(g=>g.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${a.filter(g=>g.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${w}]\uFF09\u3002\u672C\u6279\u6B21\u672A\u4EA7\u751F\u4EFB\u4F55\u5199\u5165\uFF0C\u8BF7\u6839\u636E ops[].message \u4FEE\u6B63\u540E\u91CD\u8BD5`,diff:y,ops:a}}if(r)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:a};o.committype==="saverecord"&&(o.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),u.message=JSON.stringify(o);let h;try{let w=await ve(u);h=typeof w?.resp_data=="string"?w.resp_data:JSON.stringify(w?.resp_data??null)}catch(w){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(w),diff:y,ops:a}}let _=null,R=h;if(s)try{let g=(await X({modellogiccode:t})).resp_data;if(!g)_=!1,R=`${h} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let b=Bn(g,e);_=b.verified,b.verified||(R=`${h} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${b.problems.join("\uFF1B")}`)}}catch(w){_=!1,R=`${h} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(w)}`}return{ok:_===null?!0:_,applied:!0,verified:_,errorCode:_===!1?"VERIFY_FAILED":"OK",message:R,diff:y,ops:a}}var Ee=150;function Jn(t){let e=t.filter(r=>r.hunk).map(r=>`--- ops[${r.index}]${r.label?` (${r.label})`:""} @ operation[${r.operationIndex}]\n${r.hunk}`);if(e.length===0)return"";let o=e.join(`\n`),i=o.split(`\n`);return i.length<=Ee?o:`${i.slice(0,Ee).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${i.length} \u884C\uFF09`}async function Wn(t,e){e.committype==="saverecord"&&(e.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{let o=await ve(t);return{ok:!0,text:typeof o?.resp_data=="string"?o.resp_data:JSON.stringify(o?.resp_data??null)}}catch(o){return{ok:!1,text:D(o)}}}async function It(t,e,o,i={}){let r=i.contextLines??3,s=i.dryRun??!1,n=i.verify??!0,l=(b,P)=>({ok:!1,applied:!1,verified:null,errorCode:b,message:P,lengthBefore:0,lengthAfter:0,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return l("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let u;try{u=(await X({modellogiccode:t})).resp_data}catch(b){return l("FETCH_FAILED",D(b))}if(!u)return l("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);if(!u.operations||u.operations.length===0)return l("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 a=u.operations.map(b=>b.templateparams?.flycode??""),d=a.reduce((b,P)=>b+P.length,0),y=De(a,e,{contextLines:r}),h=Jn(y.results),_=y.scripts.reduce((b,P)=>b+P.length,0);if(!y.ok){let b=y.results.filter(v=>v.status==="FAILED"),P=b.map(v=>v.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${b.length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${P}]\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:d,lengthAfter:_,diff:h,ops:y.results}}if(s)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:d,lengthAfter:_,diff:h,ops:y.results};for(let b=0;b<y.scripts.length;b++)if(y.scripts[b]!==a[b]){let P=u.operations[b].templateparams;u.operations[b].templateparams={...P??{},flycode:y.scripts[b]}}let R=await Wn(u,o);if(!R.ok)return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:R.text,lengthBefore:d,lengthAfter:_,diff:h,ops:y.results};let w=null,g=R.text;if(n)try{let v=((await X({modellogiccode:t})).resp_data?.operations??[]).map(L=>L.templateparams?.flycode??""),C=[];y.results.forEach((L,K)=>{let j=e[K],z=v[L.operationIndex]??"",V=j.matchMode??"normalized",Y=G(z,V),pe=G(j.newString,V),me=G(j.oldString,V);j.newString.length>0&&!Y.includes(pe)&&C.push(`ops[${K}] \u7684\u65B0\u5185\u5BB9\u672A\u51FA\u73B0\u5728\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`),!pe.includes(me)&&Y.includes(me)&&C.push(`ops[${K}] \u7684 oldString \u4ECD\u7136\u5B58\u5728\u4E8E\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`)}),w=C.length===0,C.length>0&&(g=`${R.text} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${C.join("\uFF1B")}`)}catch(b){w=!1,g=`${R.text} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(b)}`}return{ok:w===null?!0:w,applied:!0,verified:w,errorCode:w===!1?"VERIFY_FAILED":"OK",message:g,lengthBefore:d,lengthAfter:_,diff:h,ops:y.results}}var At=[{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${H}`,inputSchema:{logic:wt.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:J.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:S.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:o}=t,i=W(o);try{let r=await St(e,i);return{content:[{type:"text",text:r}],structuredContent:{result:r}}}catch(r){let s=D(r);return{isError:!0,content:[{type:"text",text:s}],structuredContent:{result:s}}}}},{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${H}\n${se}\n${Ae}`,inputSchema:{modellogiccode:S.string().describe("\u76EE\u6807\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:S.array(kt).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:J.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:S.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:S.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: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\u4EFB\u4E00 op \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 / EMPTY_OPS / FETCH_FAILED / PARAM_NOT_FOUND / PROP_NOT_FOUND / DUP_NAME / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:S.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),diff:S.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:S.array(S.object({index:S.coerce.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\uFF1AOK / PARAM_NOT_FOUND / PROP_NOT_FOUND / DUP_NAME / INVALID_PARAMS / OP_ERROR"),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")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{modellogiccode:e,commitMessage:o,dryRun:i=!1,verify:r=!0}=t,s=t.ops,n=W(o);try{let l=await Nt(e,s,n,{dryRun:i,verify:r});return{isError:!l.ok,content:[{type:"text",text:JSON.stringify(l)}],structuredContent:l}}catch(l){let u=D(l);return{isError:!0,content:[{type:"text",text:u}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:u,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:S.string().describe("\u8981\u4FEE\u6539\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:S.array(S.object({oldString:S.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:S.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:S.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:S.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:S.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:S.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:S.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:S.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:J.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:S.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:S.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:S.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: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\u4EFB\u4E00 op \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 / EMPTY_OPS / FETCH_FAILED / NO_OPERATIONS / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:S.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),lengthBefore:S.coerce.number().describe("\u66FF\u6362\u524D\u811A\u672C\u603B\u5B57\u7B26\u6570"),lengthAfter:S.coerce.number().describe("\u66FF\u6362\u540E\u811A\u672C\u603B\u5B57\u7B26\u6570"),diff:S.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:S.array(S.object({index:S.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),label:S.string().nullable().describe("\u8C03\u7528\u65B9\u4F20\u5165\u7684\u6807\u8BC6"),status:S.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:S.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:S.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),operationIndex:S.coerce.number().describe("\u5B9E\u9645\u4F5C\u7528\u7684 operation \u4E0B\u6807"),matchCount:S.coerce.number().describe("oldString \u7684\u5339\u914D\u603B\u6570"),replacedCount:S.coerce.number().describe("\u5B9E\u9645\u66FF\u6362\u7684\u5904\u6570"),range:S.object({startOffset:S.coerce.number().describe("\u8D77\u59CB\u5B57\u7B26\u504F\u79FB"),endOffset:S.coerce.number().describe("\u7ED3\u675F\u5B57\u7B26\u504F\u79FB\uFF08\u4E0D\u542B\uFF09"),startLine:S.coerce.number().describe("\u8D77\u59CB\u884C\u53F7\uFF0C1-based"),endLine:S.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:S.array(S.object({startLine:S.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:S.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:S.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:S.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:S.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:o,commitMessage:i,dryRun:r=!1,contextLines:s=3,verify:n=!0}=t,l=W(i);try{let u=await It(e,o,l,{dryRun:r,contextLines:s,verify:n});return{isError:!u.ok,content:[{type:"text",text:JSON.stringify({ok:u.ok,applied:u.applied,verified:u.verified,errorCode:u.errorCode,message:u.message,ops:u.ops.map(a=>({index:a.index,status:a.status,errorCode:a.errorCode,message:a.message,operationIndex:a.operationIndex,matchCount:a.matchCount,replacedCount:a.replacedCount,range:a.range,suggestions:a.suggestions,dependentOnFailedOp:a.dependentOnFailedOp})),diff:u.diff})}],structuredContent:u}}catch(u){let a=D(u);return{isError:!0,content:[{type:"text",text:a}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:a,lengthBefore:0,lengthAfter:0,diff:"",ops:[]}}}}}];import{z as O}from"zod";function vt(t){return E({url:"/bizserv/biz/pageList",method:"post",data:t,type:"tenant"})}function ce(t){return E({url:"/bizserv/biz/getBizObject",method:"post",data:t,type:"tenant"})}function Ct(t){return E({url:"/bizserv/biz/saveObject",method:"post",data:t,type:"tenant"})}var be={ENTITY:"1",FORM:"3"};function $e(t){return E({url:"/bizserv/biz/getDirectorys",method:"post",data:t,type:"tenant"})}function T(t){return t==null?"":String(t)}function he(t,e){return T(t).toLowerCase().includes(e)}function _e(t,e={}){let o=Array.isArray(t)?t:[],i=T(e.keys).trim(),r=T(e.directorytypecode).trim(),s=T(e.parentdirectorytypecode).trim(),n=T(e.centercode).trim(),l=T(e.centername).trim(),u=T(e.marktype).trim(),a=i.toLowerCase(),d=j=>T(j.parentdirectorytypecode).trim()==="",y=s.toLowerCase()==="root",h=o.filter(j=>{if(r&&T(j.directorytypecode).trim()!==r)return!1;if(y){if(!d(j))return!1}else if(s&&T(j.parentdirectorytypecode).trim()!==s)return!1;return!(n&&T(j.centercode).trim()!==n||l&&!he(j.centername,l.toLowerCase())||u&&T(j.marktype).trim()!==u||a&&!(he(j.directorytypename,a)||he(j.directoryname,a)||he(j.centername,a)||he(j.directorytypecode,a)))}),_=!!(a||r||s||n||l),R=h,w=null;if(_||(R=h.filter(d),w=`\u63A5\u53E3\u4E0D\u652F\u6301\u5206\u9875\u4E14\u5168\u91CF ${o.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`),a){let j=z=>{let V=T(z.directorytypename).toLowerCase(),Y=T(z.directoryname).toLowerCase();return V===a||Y===a?0:V.startsWith(a)||Y.startsWith(a)?1:2};R=[...R].sort((z,V)=>{let Y=j(z)-j(V);if(Y!==0)return Y;let pe=T(z.directorytypename).length,me=T(V.directorytypename).length;return pe!==me?pe-me:T(z.directorytypecode).localeCompare(T(V.directorytypecode))})}else R=[...R].sort((j,z)=>{let V=T(j.directorytypecode),Y=T(z.directorytypecode);return V.length!==Y.length?V.length-Y.length:V.localeCompare(Y)});let g=Number(e.limit),b=Number.isFinite(g)&&g>0?Math.min(Math.floor(g),200):30,P=Number(e.offset),v=Number.isFinite(P)&&P>0?Math.floor(P):0,C=R.slice(v,v+b),L=v+C.length<R.length,K=[];return w&&K.push(w),Number.isFinite(g)&&g>200&&K.push(`limit ${g} \u8D85\u8FC7\u786C\u4E0A\u9650 200\uFF0C\u5DF2\u6309 200 \u5904\u7406\u3002`),L&&K.push(`\u547D\u4E2D ${R.length} \u6761\uFF0C\u672C\u6B21\u8FD4\u56DE\u7B2C ${v+1}-${v+C.length} \u6761\uFF1B\u8BF7\u7F29\u5C0F keys \u8303\u56F4\u6216\u8C03\u5927 offset \u7EE7\u7EED\u7FFB\u9875\u3002`),R.length===0&&K.push(`\u672A\u547D\u4E2D\u4EFB\u4F55\u76EE\u5F55\uFF08\u63A5\u53E3\u5168\u91CF ${o.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:o.length,total:R.length,returned:C.length,offset:v,limit:b,truncated:L,hint:K.length>0?K.join(" "):null,items:C.map(Gn)}}function Gn(t){let e=t.directorytypename??null,o=T(t.directoryname),i=T(t.parentdirectorytypecode).trim(),r=T(t.centername).trim(),s={directorytypecode:T(t.directorytypecode),directorytypename:e};o&&o!==T(e)&&(s.directoryname=o),i&&(s.parentdirectorytypecode=i),r&&(s.centername=r);let n=Number(t.marktype);return Number.isFinite(n)&&t.marktype!==null&&t.marktype!==void 0&&(s.marktype=n),s}import{z as N}from"zod";var Qn=N.array(N.object({columnname:N.string().optional().nullable().describe("\u5C5E\u6027\u5217\u7684\u5217\u540D\uFF0C\u5373\u6570\u636E\u5E93\u8868\u7684\u5B57\u6BB5\u7684\u540D\u5B57"),idxtype:N.union([N.string(),N.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:N.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:N.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),propertycategorycode:N.string().optional().nullable().describe("\u5C5E\u6027\u7C7B\u522B\u7F16\u7801"),propertycode:N.string().optional().nullable().describe("\u5C5E\u6027\u7F16\u7801\uFF0C\u552F\u4E00\u6807\u8BC6\u4E00\u4E2A\u5C5E\u6027"),propertydescr:N.string().optional().nullable().describe("\u5C5E\u6027\u63CF\u8FF0"),propertyname:N.string().optional().nullable().describe("\u5C5E\u6027\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),propertytypecode:N.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:N.union([N.string(),N.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:N.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:N.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:N.union([N.string(),N.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:N.coerce.number().optional().nullable().describe("\u5C5E\u6027\u5E8F\u53F7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),columnnameError:N.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:N.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:N.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:N.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(N.unknown())),Zn={confsource:N.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E\u3002\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),datapattern:N.union([N.string(),N.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:N.union([N.string(),N.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:N.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:N.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:N.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:N.union([N.string(),N.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:N.string().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:N.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:N.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:N.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:N.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801\u3002\u4EC5\u6570\u636E\u5B57\u5178\u5B9E\u4F53\u8FD4\u56DE"),objecttypecode:N.union([N.string(),N.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:N.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode\u3002\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),properties:Qn.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:N.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),script:N.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:N.union([N.string(),N.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:N.coerce.number().optional().nullable().describe("\u5B58\u50A8\u7B49\u7EA7\u3002\u89C6\u56FE/\u6570\u636E\u5B57\u5178/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u4E0D\u8FD4\u56DE"),seq:N.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u5E8F\u53F7\u3002\u4EC5\u89C6\u56FE/\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u8FD4\u56DE"),tablename:N.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D")},Dt=N.looseObject(Zn);var Et=[{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${H}\n${te}`,inputSchema:{objectname:O.string().optional().describe("\u5B9E\u4F53\u4E2D\u6587\u540D\u3001\u5B9E\u4F53\u8868\u540D\u3001\u5B9E\u4F53 objectcode \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"),updatetimestart:O.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:O.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:O.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:O.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:O.array(O.object({confsource:O.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),createaccountcode:O.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:O.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:O.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),datapattern:O.coerce.number().optional().nullable().describe("\u6570\u636E\u6A21\u5F0F\uFF0C\u542B\u4E49\uFF1A1-\u539F\u751F\u5B9E\u4F53\uFF1B2-\u884D\u751F\u5B9E\u4F53\uFF1B3-\u89C6\u56FE\uFF1B4-\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\u3002\u539F\u751F\u5B9E\u4F53\uFF1A\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF1B\u884D\u751F\u3001\u89C6\u56FE\uFF1A\u4E0D\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF1B\u8D85\u7EA7\u8868\u5355\u5B9E\u4F53\uFF1A\u9700\u8981\u5728\u6570\u636E\u5E93\u771F\u6B63\u521B\u5EFA\u8868\uFF0C\u4F46\u662F\u662F\u5E73\u53F0\u6839\u636E\u7528\u6237\u7684\u914D\u7F6E\u81EA\u52A8\u521B\u5EFA\u7684\uFF0C\u8868\u540D\u65E0\u542B\u4E49"),directorytypecode:O.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:O.string().optional().nullable().describe("\u5B9E\u4F53\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),hasoffline:O.string().optional().nullable().describe("\u5B9E\u4F53\u662F\u5426\u6709\u79BB\u7EBF\u8BBE\u7F6E\uFF0C1-\u6709\uFF1B0-\u65E0"),marktype:O.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:O.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C objectcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectcatgory:O.coerce.number().optional().nullable().describe("\u5BF9\u8C61\u7C7B\u522B\uFF0C\u8868\u793A\u662F\u5426\u4E3A\u6743\u9650\u8BBE\u7F6E\u5BF9\u8C61\uFF0C1-\u662F\uFF1B2-\u5426"),objectcode:O.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),objectdescr:O.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u63CF\u8FF0"),objectmark:O.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:O.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u4E2D\u6587\u540D\uFF0C\u4FBF\u4E8E\u9605\u8BFB"),objecttemplatecode:O.string().optional().nullable().describe("\u5B9E\u4F53\u7684\u6A21\u677F\u7F16\u7801"),objecttypecode:O.string().optional().nullable().describe("\u5B9E\u4F53\u5206\u7C7B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u57FA\u672C\u5B9E\u4F53\uFF1B2-\u6811\u5F62\u5B9E\u4F53\uFF1B3-\u6570\u636E\u5B57\u5178\uFF1B4-\u5173\u8054\u5B9E\u4F53"),parentobjectcode:O.string().optional().nullable().describe("\u7236\u5B9E\u4F53\u7684 objectcode"),publishstatus:O.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u53D1\u5E03\u72B6\u6001\uFF0C1-\u5DF2\u53D1\u5E03\uFF1B2-\u672A\u53D1\u5E03"),status:O.coerce.number().optional().nullable().describe("\u5B9E\u4F53\u7684\u72B6\u6001\uFF0C1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:O.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D"),updateaccountcode:O.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:O.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),updatetime:O.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).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{objectname:e="",page:o=1,rows:i=20,updatetimestart:r="",updatetimeend:s="",datapattern:n="",objecttypecode:l=""}=t;try{let u=await vt({centercode:"",directorytypecode:"rootNode",starttime:"",objectname:e,page:Number(o)||1,rows:Number(i)||20,updatetimestart:r,updatetimeend:s,datapattern:n,objecttypecode:l});return F(u.resp_data)}catch(u){return M(u)}}},{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${H}\n${te}`,inputSchema:{objectcode:O.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u5B9E\u4F53\u7684\u7F16\u7801")},outputSchema:Dt,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{objectcode:e}=t;try{let o=await ce({objectcode:e});return F(o.resp_data)}catch(o){return M(o)}}},{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${te}`,inputSchema:{keys:O.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:O.string().optional().describe("\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF08\u5DF2\u77E5\u7F16\u7801\u53CD\u67E5\u540D\u79F0\u65F6\u7528\uFF09"),parentdirectorytypecode:O.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:O.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:O.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u7F16\u7801\u7CBE\u786E\u5339\u914D"),marktype:O.string().optional().describe("\u521B\u5EFA\u6807\u8BB0\u7CBE\u786E\u5339\u914D\uFF0C\u6574\u6570\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),limit:O.string().optional().describe(`\u8FD4\u56DE\u6761\u6570\u4E0A\u9650\uFF0C\u9ED8\u8BA4 ${30}\uFF0C\u786C\u4E0A\u9650 ${200}`),offset:O.string().optional().describe("\u8D77\u59CB\u504F\u79FB\uFF0C\u9ED8\u8BA4 0\uFF1B\u914D\u5408 limit \u7FFB\u9875"),directorycategory:O.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:O.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:O.coerce.number().describe("\u6309\u7B5B\u9009\u6761\u4EF6\u547D\u4E2D\u7684\u6761\u6570\uFF08\u622A\u65AD\u524D\uFF09"),returned:O.coerce.number().describe("\u672C\u6B21\u5B9E\u9645\u8FD4\u56DE\u6761\u6570"),offset:O.coerce.number().describe("\u672C\u6B21\u8FD4\u56DE\u7684\u8D77\u59CB\u504F\u79FB"),limit:O.coerce.number().describe("\u672C\u6B21\u751F\u6548\u7684\u8FD4\u56DE\u6761\u6570\u4E0A\u9650"),truncated:O.boolean().describe("true \u8868\u793A\u547D\u4E2D\u6570\u5927\u4E8E\u672C\u6B21\u8FD4\u56DE\uFF0C\u8FD8\u6709\u540E\u7EED"),hint:O.union([O.string(),O.null()]).describe("\u6536\u655B/\u7FFB\u9875\u63D0\u793A\uFF1Bnull \u8868\u793A\u65E0\u9700\u63D0\u793A"),items:O.array(O.object({directorytypecode:O.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:O.union([O.string(),O.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:O.string().optional().describe("\u76EE\u5F55\u672C\u540D\uFF0C\u4EC5\u5728\u4E0E directorytypename \u4E0D\u540C\u65F6\u8FD4\u56DE"),parentdirectorytypecode:O.string().optional().describe("\u7236\u76EE\u5F55\u7F16\u7801\uFF1B\u7F3A\u5931\u5373\u9876\u7EA7\u76EE\u5F55"),centername:O.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\uFF0C\u4EC5\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u8FD4\u56DE"),marktype:O.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:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u,directorycategory:a=be.ENTITY}=t;try{let d=await $e({directorycategory:String(a||be.ENTITY)}),y=Array.isArray(d?.resp_data)?d.resp_data:[];return F(_e(y,{keys:e,directorytypecode:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u}))}catch(d){return M(d)}}}];import{z as x}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,o,i=15778368e5){if(e>this.maxWorkerId||e<0)throw new Error(`workerId \u5FC5\u987B\u5728 0 ~ ${this.maxWorkerId} \u4E4B\u95F4`);if(o>this.maxDatacenterId||o<0)throw new Error(`datacenterId \u5FC5\u987B\u5728 0 ~ ${this.maxDatacenterId} \u4E4B\u95F4`);this.workerId=BigInt(e),this.datacenterId=BigInt(o),this.epoch=BigInt(i)}nextId(){let e=this.currentTimestamp();if(e<this.lastTimestamp){let i=this.lastTimestamp-e;if(i<=5n)for(;e<this.lastTimestamp;)e=this.currentTimestamp();else throw new Error(`\u65F6\u949F\u56DE\u62E8\u8FC7\u5927: ${i}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 o=this.currentTimestamp();for(;o<=e;)o=this.currentTimestamp();return o}currentTimestamp(){return BigInt(Date.now())}parse(e){let o=(e>>BigInt(this.timestampShift))+this.epoch,i=e>>BigInt(this.datacenterIdShift)&BigInt(this.maxDatacenterId),r=e>>BigInt(this.workerIdShift)&BigInt(this.maxWorkerId),s=e&BigInt(this.sequenceMask);return{timestamp:o,datacenterId:i,workerId:r,sequence:s,generateTime:new Date(Number(o))}}},Xn=1,er=1,tr=new Qe(Xn,er),Re=()=>tr.nextId();var nr="3",rr=new Set(["200000000000","100000000000","10000000000","300000000000","1000000000"]);function Me(t){return String(t??"")===nr}function $t(t){return t?rr.has(t):!1}function or(t){let e=String(t.datapattern??"");return e==="3"||e==="4"}function Te(t,e,o={}){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:"",...o}}function Ze(t,e){let o={propertycode:Re().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&&(o.seq=null),o}function ir(t){let e={...t};return e.committype==="saverecord"&&(e.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),{message:JSON.stringify(e),edittime:q(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:!1}}function we(t){return Me(t)?1:2}function sr(t){let e=Me(t.objecttypecode);return{objectcode:Re().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:we(t.objecttypecode),properties:[]}}function ar(t){let e=t.initialFields??[],o=e.some(r=>r.propertytypecode==="1"),i=[];o||i.push(Ze({propertyname:"\u4E3B\u952E",columnname:"id",propertytypecode:"1",idxtype:"2",ismaster:"0"},{seq:!1}));for(let r of e)i.push(Ze(r,{seq:!1}));return i}async function Ft(t,e){let o=ir(e),i={...t,...o},r=await Ct(i);return typeof r.resp_data=="string"?r.resp_data:JSON.stringify(r.resp_data??null)}async function lr(t){try{let o=(await ce({objectcode:t.objectcode}))?.resp_data;if(!o)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let i=[];return o.objectname!==t.objectname&&i.push("objectname \u4E0D\u4E00\u81F4"),String(o.objecttypecode??"")!==String(t.objecttypecode)&&i.push("objecttypecode \u4E0D\u4E00\u81F4"),String(o.directorytypecode??"")!==String(t.directorytypecode)&&i.push("directorytypecode \u4E0D\u4E00\u81F4"),{verified:i.length===0,problems:i}}catch(e){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(e)]}}}async function cr(t,e){try{let i=(await ce({objectcode:t}))?.resp_data;if(!i)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let r=Array.isArray(i.properties)?i.properties:[],s=[];for(let n of e){let l=r.find(u=>String(u.propertycode??"")===String(n.propertycode));if(!l){s.push(`\u65B0\u589E\u5C5E\u6027 ${n.propertycode} (${n.propertyname}) \u672A\u51FA\u73B0\u5728\u56DE\u8BFB\u7ED3\u679C`);continue}l.propertyname!==n.propertyname&&s.push(`\u5C5E\u6027 ${n.propertycode} \u7684 propertyname \u4E0D\u4E00\u81F4`),String(l.columnname??"")!==String(n.columnname)&&s.push(`\u5C5E\u6027 ${n.propertycode} \u7684 columnname \u4E0D\u4E00\u81F4`)}return{verified:s.length===0,problems:s}}catch(o){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(o)]}}}async function Tt(t,e,o={}){let i=o.dryRun!==!1,r=o.confirm===!0,s=o.verify!==!1,n=t.initialFields??[];for(let g of n){if(!g.propertyname||!g.propertytypecode||!g.columnname)return Te("INVALID_PARAMS","initialFields \u4E2D\u6BCF\u4E2A\u5B57\u6BB5\u5FC5\u987B\u5305\u542B propertyname / propertytypecode / columnname",{entityName:t.objectname});if($t(g.propertytypecode)&&!g.relationobjectcode)return Te("INVALID_PARAMS",`\u5173\u8054\u7C7B\u578B\u5B57\u6BB5(propertytypecode=${g.propertytypecode}) \u5FC5\u987B\u63D0\u4F9B relationobjectcode`,{entityName:t.objectname})}let l=Me(t.objecttypecode),u=sr(t),a=l?[]:ar(t),d={...u,properties:a},y=[];if(y.push(`\u5B9E\u4F53 ${t.objectname} (objecttypecode=${t.objecttypecode}, tablename=${t.tablename})`),l)y.push("\u6570\u636E\u5B57\u5178\uFF1A\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0Cproperties \u56FA\u5B9A\u4E3A\u7A7A");else{y.push(`properties: ${a.length} \u4E2A\uFF08\u542B\u9ED8\u8BA4\u4E3B\u952E\uFF09`);for(let g of a)y.push(` + ${g.propertyname} [${g.columnname}] type=${g.propertytypecode} idxtype=${g.idxtype}`)}let h=y.join(`\n`),_=we(t.objecttypecode),R=_!==1;if(!(r&&!i))return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u89C8\u6A21\u5F0F\uFF08\u672A\u843D\u5E93\uFF09\u3002publishstatus=${_}${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:_,needManualPublish:R,entityCode:d.objectcode,entityName:d.objectname??"",diff:h};try{let g=await Ft(d,e),b=null,P=[];if(s){let C=await lr(d);b=C.verified,P=C.problems}let v=`${g}${R?" | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03":""}${P.length?" | \u6821\u9A8C\u95EE\u9898\uFF1A"+P.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:b,errorCode:b===!1?"VERIFY_FAILED":"OK",message:v,publishStatus:_,needManualPublish:R,entityCode:d.objectcode,entityName:d.objectname??"",diff:h}}catch(g){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(g)}`,publishStatus:_,needManualPublish:R,entityCode:d.objectcode,entityName:d.objectname??"",diff:h}}}async function Mt(t,e,o,i={}){let r=i.dryRun!==!1,s=i.confirm===!0,n=i.verify!==!1,l;try{let b=await ce({objectcode:t});if(!b?.resp_data)return Te("ENTITY_NOT_FOUND",`\u5B9E\u4F53 ${t} \u4E0D\u5B58\u5728\u6216\u67E5\u8BE2\u4E3A\u7A7A`,{entityCode:t});l=b.resp_data}catch(b){return Te("FETCH_FAILED",`\u67E5\u8BE2\u5B9E\u4F53\u5931\u8D25\uFF1A${D(b)}`,{entityCode:t})}let u=Me(l.objecttypecode),a=e.map((b,P)=>({index:P,op:b.op,status:"OK",errorCode:"OK",message:null})),d=e.findIndex(b=>b.op==="modify_field"||b.op==="delete_field");if(d>=0)return a[d].status="FAILED",a[d].errorCode="FIELD_OP_UNSUPPORTED",a[d].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:we(String(l.objecttypecode??"")),needManualPublish:we(String(l.objecttypecode??""))!==1,entityCode:t,entityName:l.objectname??"",diff:Fe(e,a),ops:a};if(u){let b=e.findIndex(P=>P.op==="add_field");return b>=0&&(a[b].status="FAILED",a[b].errorCode="DICTIONARY_NO_FIELD_OPS",a[b].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:we(String(l.objecttypecode??"")),needManualPublish:!1,entityCode:t,entityName:l.objectname??"",diff:Fe(e,a),ops:a}}let y=structuredClone(l);y.properties=Array.isArray(y.properties)?[...y.properties]:[];let h=or(y),_=[],R=!1;for(let b=0;b<e.length;b++){let P=e[b];if(P.op!=="add_field")continue;let v=P;if(!v.propertyname||!v.propertytypecode||!v.columnname){a[b].status="FAILED",a[b].errorCode="INVALID_PARAMS",a[b].message="add_field \u7F3A\u5C11\u5FC5\u586B\u53C2\u6570 propertyname / propertytypecode / columnname",R=!0;continue}if($t(v.propertytypecode)&&!v.relationobjectcode){a[b].status="FAILED",a[b].errorCode="INVALID_PARAMS",a[b].message=`\u5173\u8054\u7C7B\u578B(propertytypecode=${v.propertytypecode}) \u5FC5\u586B relationobjectcode`,R=!0;continue}if(y.properties.some(L=>String(L.columnname??"")===v.columnname)){a[b].status="FAILED",a[b].errorCode="DUP_PROP_CODE",a[b].message=`\u5B57\u6BB5\u5217\u540D columnname=${v.columnname} \u5DF2\u5B58\u5728\u4E8E\u5B9E\u4F53`,R=!0;continue}let C=Ze({propertyname:v.propertyname,propertytypecode:v.propertytypecode,columnname:v.columnname,propertydescr:v.propertydescr,idxtype:v.idxtype,relationobjectcode:v.relationobjectcode,relationpropertycode:v.relationpropertycode,ismaster:(v.idxtype==="2","0")},{seq:h});y.properties.push(C),_.push(C),a[b].message=`\u5C06\u65B0\u589E\u5C5E\u6027 ${C.propertycode} (${C.propertyname} [${C.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:l.objectname??"",diff:Fe(e,a),ops:a};y.publishstatus=2;let w=Fe(e,a);if(!(s&&!r))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:l.objectname??"",diff:w,ops:a};try{let b=await Ft(y,o),P=null,v=[];if(n&&_.length>0){let L=await cr(t,_);P=L.verified,v=L.problems}let C=`${b} | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03${v.length?"\uFF1B\u6821\u9A8C\u95EE\u9898\uFF1A"+v.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:P,errorCode:P===!1?"VERIFY_FAILED":"OK",message:C,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:l.objectname??"",diff:w,ops:a}}catch(b){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(b)}`,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:l.objectname??"",diff:w,ops:a}}}function Fe(t,e){let i=t.map((s,n)=>`ops[${n}] ${s.op} (${e[n].status}): ${e[n].message??""}`).join(`\n`),r=4e3;return i.length>r?i.slice(0,r)+`\n...(\u5DF2\u622A\u65AD)`:i}var ur=x.object({propertyname:x.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:x.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:x.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:x.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:x.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:x.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:x.string().optional().describe("\u5173\u8054\u5C5E\u6027\u7F16\u7801\uFF0C\u5173\u8054\u7C7B\u578B\u65F6\u53EF\u9009")}),dr=x.discriminatedUnion("op",[x.object({op:x.literal("add_field"),propertyname:x.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:x.string().describe("\u5C5E\u6027\u7C7B\u578B\u7F16\u7801\uFF08\u89C1 get_model_logic \u7684 PROPERTY_TYPE_ENUM\uFF09"),columnname:x.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:x.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:x.string().optional().describe("\u7D22\u5F15\u65B9\u5F0F\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\u3002\u7F3A\u7701 1"),relationobjectcode:x.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:x.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"),x.object({op:x.literal("modify_field"),propertycode:x.string().describe("\u8981\u4FEE\u6539\u7684\u5C5E\u6027\u7F16\u7801"),patch:x.record(x.string(),x.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"),x.object({op:x.literal("delete_field"),propertycode:x.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")]),pr={ok:x.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:x.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:x.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:x.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:x.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:x.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:x.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:x.string().describe("\u5B9E\u4F53\u7F16\u7801"),entityName:x.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:x.string().describe("\u5168\u90E8 op \u7684\u6267\u884C\u6458\u8981\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD"),ops:x.array(x.object({index:x.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:x.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:x.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:x.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801"),message:x.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")},mr={ok:x.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:x.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u65F6\u4E3A false"),verified:x.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:x.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / INVALID_PARAMS / SAVE_FAILED / VERIFY_FAILED"),message:x.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:x.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:x.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:x.string().describe("\u65B0\u5EFA\u5B9E\u4F53\u7684\u7F16\u7801"),entityName:x.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:x.string().describe("\u5C06\u8981\u521B\u5EFA\u7684\u5B9E\u4F53\u6458\u8981\uFF08\u5B57\u6BB5\u5217\u8868\uFF09\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD")};function Lt(t,e){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:""}}var jt=[{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${H}\n${te}`,inputSchema:{objectname:x.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),objecttypecode:x.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:x.string().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u5FC5\u586B\uFF09\uFF1Bobjectmark \u81EA\u52A8\u590D\u5236\u6B64\u503C"),directorytypecode:x.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:x.string().optional().describe("\u7236\u5B9E\u4F53\u7F16\u7801\uFF0C\u6811\u578B/\u5173\u8054\u5B9E\u4F53\u4F7F\u7528"),propertydescr:x.string().optional().describe("\u5B9E\u4F53\u63CF\u8FF0"),initialFields:x.array(ur).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:J.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u7F3A\u7701 mcp \u7EC4\u88C5\u9ED8\u8BA4\uFF08committype=saverecord\uFF09"),confirm:x.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:x.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:x.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:mr,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectname:e,objecttypecode:o,tablename:i,directorytypecode:r,parentobjectcode:s,propertydescr:n,initialFields:l,confirm:u=!1,dryRun:a=!0,verify:d=!0}=t,y=t?.commitMessage?W(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let h=await Tt({objectname:e,objecttypecode:o,tablename:i,directorytypecode:r,parentobjectcode:s,propertydescr:n,initialFields:l},y,{confirm:u,dryRun:a,verify:d});return{isError:!h.ok,content:[{type:"text",text:JSON.stringify(h)}],structuredContent:h}}catch(h){let _=D(h);return{isError:!0,content:[{type:"text",text:_}],structuredContent:Lt("SAVE_FAILED",_)}}}},{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${H}\n${te}`,inputSchema:{objectcode:x.string().describe("\u76EE\u6807\u5B9E\u4F53\u7684\u7F16\u7801"),ops:x.array(dr).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:J.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:x.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:x.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:x.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:pr,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectcode:e,ops:o,confirm:i=!1,dryRun:r=!0,verify:s=!0}=t,n=t?.commitMessage?W(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let l=await Mt(e,o,n,{confirm:i,dryRun:r,verify:s});return{isError:!l.ok,content:[{type:"text",text:JSON.stringify(l)}],structuredContent:l}}catch(l){let u=D(l);return{isError:!0,content:[{type:"text",text:u}],structuredContent:Lt("SAVE_FAILED",u)}}}}];import{z as c}from"zod";function Ht(t){return $e({directorycategory:t.directorycategory??be.FORM})}function Ut(t){return E({url:"/bizserv/bizpage/pageList",method:"post",data:t,type:"tenant"})}function re(t){return E({url:"/bizserv/bizpage/getPage",method:"post",data:t,type:"tenant"})}function Xe(t){let{conf:e,message:o,ui:i,edittime:r=q(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:s=!1,clearuserconfig:n=!0}=t;return E({url:"/biserv/bizpage/saveNewPage",method:"post",data:{clearuserconfig:n,conf:e,edittime:r,message:o,overwrite:s,ui:i??e},type:"tenant"})}function tt(t){return t?Array.isArray(t)?t.filter(Boolean):[t]:[]}function xe(t,e,o){let i=[{scope:"handlers",list:t.presenter?.handlers??[]},{scope:"initial",list:tt(t.presenter?.initial)}],r=[];for(let s of i)if(!(o&&s.scope!==o))for(let n of s.list)n&&n.code===e&&r.push({handler:n,scope:s.scope});return r}var Kt=150;function Bt(t){t.committype==="saverecord"&&(t.msgbody=q(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 o of t.content){let i=Le(o,e);if(i)return i}return null}function ke(t){let e=[],o=i=>{i&&(e.push(i),Array.isArray(i.content)&&i.content.forEach(o))};return o(t.view?.body??null),Array.isArray(t.controls)&&t.controls.forEach(i=>{i&&e.push(i)}),e}function et(t,e){if(Array.isArray(t)){for(let o of t)if(o&&typeof o=="object"){if(o.code===e)return o;let i=et(o,e);if(i)return i}return null}if(t&&typeof t=="object")for(let o of Object.values(t)){let i=et(o,e);if(i)return i}return null}function Jt(t,e){if(!t?.content)return null;let o=t.content.findIndex(i=>i?.code===e);if(o>=0){let[i]=t.content.splice(o,1);return i??null}for(let i of t.content){let r=Jt(i,e);if(r)return r}return null}function Vt(t,e){let o=Jt(t.view?.body??null,e);if(o)return o;if(Array.isArray(t.controls)){let i=t.controls.findIndex(r=>r?.code===e);if(i>=0){let[r]=t.controls.splice(i,1);return r??null}}return null}function Yt(t){let e=new Set,o=i=>{if(i){for(let r of i.eventlist??[])r?.handler&&e.add(r.handler);Array.isArray(i.content)&&i.content.forEach(o)}};o(t.view?.body??null);for(let i of t.presenter?.handlers??[]){for(let r of i?.actions??[])r?.handler&&e.add(r.handler),r?.logiccode&&e.add(r.logiccode);for(let r of i?.eventlist??[])r?.handler&&e.add(r.handler)}for(let i of tt(t.presenter?.initial)){for(let r of i?.actions??[])r?.handler&&e.add(r.handler),r?.logiccode&&e.add(r.logiccode);for(let r of i?.eventlist??[])r?.handler&&e.add(r.handler)}for(let i of t.presenter?.interface??[])for(let r of i?.actions??[])r?.handler&&e.add(r.handler);return e}function gr(t){return{oldString:t.oldString,newString:t.newString,replaceAll:t.replaceAll,occurrence:t.occurrence,matchMode:t.matchMode,label:t.label}}function Wt(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(Wt)),e}async function Gt(t){let o=(await re({code:t})).resp_data;if(!o)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let i=(()=>{let n=(l,u)=>(l??[]).map(a=>({code:a?.code??null,name:a?.name??null,desc:a?.desc??null,key:a?.key??null,condition:a?.condition??null,actionCount:a?.actions?.length??0,actionTypes:(a?.actions??[]).map(d=>d?.type??"").filter(d=>!!d),scope:u}));return[...n(o.presenter?.handlers??[],"handlers"),...n(tt(o.presenter?.initial),"initial")]})(),r=(o.presenter?.interface??[]).map(n=>({code:n?.code??null,key:n?.key??null,desc:n?.desc??null,actionCount:n?.actions?.length??0})),s=(o.businessmodel??[]).map(n=>({modelcode:n?.modelcode??null,modellogiccode:n?.modellogiccode??null,modellogicname:n?.modellogicname??null,actiontype:n?.actiontype??null}));return{code:t,title:o.pageinfo?.title??null,type:o.pageinfo?.type??null,status:o.pageinfo?.status??null,clientcategorycode:o.pageinfo?.clientcategorycode??null,marktype:o.pageinfo?.marktype??null,versionnum:o.pageinfo?.versionnum??null,viewTree:o.view?.body?[Wt(o.view.body)]:[],handlers:i,interfaces:r,businessModels:s,message:o.message??null}}async function Qt(t,e){let i=(await re({code:t})).resp_data;if(!i)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let r,s,n,l=i.message??null;if(e.nodeCode&&(r=Le(i.view?.body??null,e.nodeCode)??i.controls?.find(a=>a?.code===e.nodeCode)??null,r&&e.itemCode)){let a=et(r,e.itemCode);a?r=a:(r=null,l=`nodeCode=${e.nodeCode} \u4E0B\u672A\u627E\u5230 code=${e.itemCode} \u7684\u5143\u7D20`)}if(e.handlerCode){let a=xe(i,e.handlerCode,e.handlerScope);a.length===1?s=a[0].handler:a.length>1&&(s=null,l=`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 handlerScope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`)}e.section&&(n=i[e.section]??null);let u=s?.actions?s.actions.map((a,d)=>({index:d,code:a?.code??null,type:a?.type??null,scriptLen:(a?.script??"")?.length??0,conditionLen:(a?.condition??"")?.length??0,expressionLen:(a.expression??"")?.length??0})):void 0;return{code:t,node:r??void 0,handler:s??void 0,section:n??void 0,actionIndex:u,message:l}}async function fr(t,e,o){let i=(n={})=>({index:o,op:e.op,status:"OK",errorCode:"OK",message:null,hunk:null,suggestions:null,...n}),r=(n,l,u={})=>({index:o,op:e.op,status:"FAILED",errorCode:n,message:l,hunk:null,suggestions:null,...u}),s=n=>{let l=n.createIfMissing??!1,u=null,a=n.base[n.arrayProp];if(Array.isArray(a))u=a;else if(n.mode==="append"||n.mode==="insert"){if(!l)return r("ARRAY_NOT_FOUND",`${n.label}.${n.arrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${n.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`);n.base[n.arrayProp]=[],u=n.base[n.arrayProp]}else return r("INVALID_PARAMS",`${n.label}.${n.arrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${a===null?"null":typeof a}\uFF09\uFF0C\u65E0\u6CD5\u5B9A\u4F4D\u5143\u7D20`);let d=u,y=n.base,h=n.arrayProp;if(n.elementArrayProp!=null){if(n.itemKey==null||n.itemKeyValue===void 0)return r("INVALID_PARAMS",`\u4E24\u7EA7\u6A21\u5F0F\u9700\u8981 itemKey/itemKeyValue \u5B9A\u4F4D\u5916\u5C42 ${n.arrayProp} \u4E2D\u7684\u5143\u7D20`);let g=n.itemKey,b=u.filter(C=>C&&typeof C=="object"&&C[g]===n.itemKeyValue);if(b.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 ${n.label}.${n.arrayProp} \u4E2D\u627E\u5230 ${g}=${String(n.itemKeyValue)} \u7684\u5143\u7D20`);if(b.length>1)return r("DUP_CODE",`\u5143\u7D20 ${g}=${String(n.itemKeyValue)} \u5728 ${n.label}.${n.arrayProp} \u4E2D\u51FA\u73B0 ${b.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let P=b[0],v=P[n.elementArrayProp];if(Array.isArray(v))d=v,y=P,h=n.elementArrayProp;else if(n.mode==="append"||n.mode==="insert"){if(!l)return r("ARRAY_NOT_FOUND",`${n.label}.${n.arrayProp}[${g}=${String(n.itemKeyValue)}].${n.elementArrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${n.mode}\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\u6570\u7EC4\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);P[n.elementArrayProp]=[],d=P[n.elementArrayProp],y=P,h=n.elementArrayProp}else return r("INVALID_PARAMS",`${n.label}.${n.arrayProp}[${g}=${String(n.itemKeyValue)}].${n.elementArrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${v===null?"null":typeof v}\uFF09`)}let _=n.elementArrayProp!=null?n.elementItemKey??"code":n.itemKey??"code",R=n.elementArrayProp!=null?n.elementItemKeyValue:n.itemKeyValue;if(n.mode==="remove"){if(R===void 0)return r("INVALID_PARAMS","remove \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E\uFF08itemKey/itemKeyValue \u6216 elementItemKey/elementItemKeyValue\uFF09");let g=d.filter(P=>P&&typeof P=="object"&&P[_]===R);if(g.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 ${n.label}.${h} \u4E2D\u627E\u5230 ${_}=${String(R)} \u7684\u5143\u7D20`);if(g.length>1)return r("DUP_CODE",`\u5143\u7D20 ${_}=${String(R)} \u5728 ${n.label}.${h} \u4E2D\u51FA\u73B0 ${g.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let b=d.indexOf(g[0]);return d.splice(b,1),d.length===0&&delete y[h],i({message:`\u5DF2\u4ECE ${n.label}.${h} \u79FB\u9664 ${_}=${String(R)}`})}if(n.mode==="merge"){if(!n.patch)return r("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981 patch");if(R===void 0)return r("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E");let g=d.filter(b=>b&&typeof b=="object"&&b[_]===R);return g.length===0?r("NODE_NOT_FOUND",`\u672A\u5728 ${n.label}.${h} \u4E2D\u627E\u5230 ${_}=${String(R)} \u7684\u5143\u7D20`):g.length>1?r("DUP_CODE",`\u5143\u7D20 ${_}=${String(R)} \u5728 ${n.label}.${h} \u4E2D\u51FA\u73B0 ${g.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`):(Object.assign(g[0],n.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(n.patch).length} \u4E2A\u5C5E\u6027\u5230 ${n.label}.${h}[${_}=${String(R)}]`}))}if(!n.item)return r("INVALID_PARAMS",`${n.mode} \u6A21\u5F0F\u9700\u8981 item\uFF08\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20\uFF09`);let w=n.mode==="insert"?n.position??d.length:d.length;return d.splice(w,0,n.item),i({message:`\u5DF2\u5728 ${n.label}.${h} \u7684 position=${w} ${n.mode==="insert"?"\u63D2\u5165":"\u8FFD\u52A0"}\u5143\u7D20`})};switch(e.op){case"set_pageinfo":return t.pageinfo={...t.pageinfo??{},...e.patch},i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5B57\u6BB5\u5230 pageinfo`});case"set_attrs":{let n=ke(t).filter(a=>a.code===e.code);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(n.length>1)return r("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let l=Object.entries(e.patch).filter(([,a])=>Array.isArray(a));if(l.length>0&&!e.overwriteArray)return r("ARRAY_OVERWRITE_BLOCKED",`patch \u542B\u6570\u7EC4\u5C5E\u6027 ${l.map(([a])=>`"${a}"`).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(n[0],e.patch);let u=l.length>0?`\uFF08\u6CE8\u610F\uFF1A\u5DF2\u6309 overwriteArray:true \u6574\u4F53\u8986\u76D6\u6570\u7EC4\u5C5E\u6027 ${l.map(([a])=>`"${a}"`).join("\u3001")}\uFF09`:"";return i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u8282\u70B9 ${e.code}${u}`})}case"patch_node_array_item":{let n=ke(t).find(l=>l.code===e.nodeCode);return n?s({base:n,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}`}):r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 nodeCode=${e.nodeCode} \u7684\u8282\u70B9`)}case"patch_action_array_item":{let n=xe(t,e.handlerCode,e.scope);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(n.length>1)return r("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 u=n[0].handler.actions??[],a;if(e.actionCode!=null){if(a=u.find(h=>h?.code===e.actionCode),!a)return r("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let h=e.actionIndex??0;if(h<0||h>=u.length)return r("NO_TARGET",`actionIndex=${h} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${u.length} \u4E2A action`);a=u[h]}if(!a)return r("NODE_NOT_FOUND",`handler ${e.handlerCode} \u672A\u5B9A\u4F4D\u5230 action`);let d=a,y;if(e.parentProp){let h=d[e.parentProp];if(h==null)if((e.mode==="append"||e.mode==="insert")&&e.createIfMissing)d[e.parentProp]={},y=d[e.parentProp];else return r("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 y=h}else y=d;return s({base:y,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"insert_node":{let n=Le(t.view?.body??null,e.parentCode);if(!n)return r("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 parentCode=${e.parentCode} \u7684\u7236\u8282\u70B9`);n.content||(n.content=[]);let l=e.position??n.content.length;return n.content.splice(l,0,e.node),i({message:`\u5DF2\u5728 ${e.parentCode} \u7684 position=${l} \u63D2\u5165\u8282\u70B9`})}case"remove_node":{let n=ke(t).filter(u=>u.code===e.code);return n.length===0?r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`):n.length>1?r("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):e.checkRefs!==!1&&Yt(t).has(e.code)?r("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`):Vt(t,e.code)?i({message:`\u5DF2\u79FB\u9664\u8282\u70B9 ${e.code}`}):r("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`)}case"move_node":{let n=ke(t).filter(d=>d.code===e.code);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(n.length>1)return r("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let l=Vt(t,e.code);if(!l)return r("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`);let u=Le(t.view?.body??null,e.newParentCode);if(!u)return r("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 newParentCode=${e.newParentCode} \u7684\u7236\u8282\u70B9`);u.content||(u.content=[]);let a=e.position??u.content.length;return u.content.splice(a,0,l),i({message:`\u5DF2\u5C06 ${e.code} \u79FB\u52A8\u5230 ${e.newParentCode} \u7684 position=${a}`})}case"set_section":return t[e.section]=e.value,i({message:`\u5DF2\u6574\u6BB5\u66FF\u6362 ${e.section}`});case"replace_script":{let n=xe(t,e.handlerCode,e.scope);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(n.length>1)return r("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 u=n[0].handler.actions??[],a;if(e.actionCode!=null){if(a=u.find(R=>R?.code===e.actionCode),!a)return r("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let R=e.actionIndex??0;if(R<0||R>=u.length)return r("NO_TARGET",`actionIndex=${R} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${u.length} \u4E2A action`);a=u[R]}let d=e.field??"script";if(e.replacement!=null)return a[d]=e.replacement,i({message:`\u5DF2\u6574\u6BB5\u8986\u76D6 ${e.handlerCode}.actions[${e.actionIndex??0}].${d}`});if(!e.ops||e.ops.length===0)return r("INVALID_PARAMS","replace_script \u9700\u63D0\u4F9B replacement \u6216 ops\uFF08oldString\u2192newString \u6570\u7EC4\uFF09");let y=a[d]??"",h=De([y],e.ops.map(gr),{contextLines:3}),_=h.results[0];return h.ok?(a[d]=h.scripts[0],i({message:`\u5DF2\u5C40\u90E8\u66FF\u6362 ${d}`,hunk:_?.hunk??null})):r("OPS_FAILED",_?.message??"\u811A\u672C\u66FF\u6362\u5931\u8D25",{hunk:_?.hunk??null,suggestions:_?.suggestions??null})}case"add_businessmodel":{let n=t.businessmodel??(t.businessmodel=[]),l=n.find(a=>a?.modellogiccode===e.modellogiccode);if(l&&!e.overwrite)return i({message:`businessmodel \u5DF2\u5B58\u5728 ${e.modellogiccode}\uFF0C\u8DF3\u8FC7\uFF08overwrite=false\uFF09`});let u;try{u=(await X({modellogiccode:e.modellogiccode})).resp_data}catch(a){return r("FETCH_FAILED",`\u83B7\u53D6\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5931\u8D25\uFF1A${D(a)}`)}return u?l&&e.overwrite?(Object.assign(l,u),i({message:`\u5DF2\u8986\u76D6 businessmodel \u4E2D\u7684 ${e.modellogiccode}`})):(n.push(u),i({message:`\u5DF2\u8FFD\u52A0\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5230 businessmodel`})):r("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${e.modellogiccode} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`)}case"remove_businessmodel":{let n=t.businessmodel??[],l=n.findIndex(u=>u?.modellogiccode===e.modellogiccode);return l<0?i({message:`businessmodel \u4E2D\u4E0D\u5B58\u5728 ${e.modellogiccode}\uFF0C\u65E0\u9700\u79FB\u9664`}):e.checkRefs!==!1&&Yt(t).has(e.modellogiccode)?r("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`):(n.splice(l,1),i({message:`\u5DF2\u4ECE businessmodel \u79FB\u9664 ${e.modellogiccode}`}))}}}function yr(t){let e=[];for(let r of t)r.hunk?e.push(`--- ops[${r.index}] ${r.op}\n${r.hunk}`):e.push(`ops[${r.index}] ${r.op} (${r.status}): ${r.message??""}`);let o=e.join(`\n`),i=o.split(`\n`);return i.length<=Kt?o:`${i.slice(0,Kt).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${i.length} \u884C\uFF09`}function zt(t,e){let o=JSON.stringify(e);return t.some(i=>JSON.stringify(i)===o)}function qt(t,e,o,i,r,s,n){let l=t[e];if(!Array.isArray(l))return{error:`${e} \u975E\u6570\u7EC4`};if(!o)return{finalArr:l,finalProp:e};if(i==null||r===void 0)return{error:"\u4E24\u7EA7\u6A21\u5F0F\u7F3A\u5916\u5C42\u5B9A\u4F4D\u952E"};let u=l.filter(d=>d&&typeof d=="object"&&d[i]===r);if(u.length!==1)return{error:`\u5916\u5C42\u5143\u7D20 ${i}=${String(r)} \u547D\u4E2D ${u.length} \u4E2A\uFF08\u5E94\u552F\u4E00\uFF09`};let a=u[0][o];return Array.isArray(a)?{finalArr:a,finalProp:`${e}[${i}=${String(r)}].${o}`}:{error:`${e}[${i}=${String(r)}].${o} \u975E\u6570\u7EC4`}}function br(t,e){let o=[],i=ke(t),r=new Set(i.map(s=>s.code).filter(s=>!!s));for(let s=0;s<e.length;s++){let n=e[s];switch(n.op){case"set_pageinfo":for(let[l,u]of Object.entries(n.patch))JSON.stringify(t.pageinfo?.[l])!==JSON.stringify(u)&&o.push(`ops[${s}] set_pageinfo.${l} \u672A\u751F\u6548`);break;case"set_attrs":{let l=i.find(u=>u.code===n.code);if(!l){o.push(`ops[${s}] set_attrs \u8282\u70B9 ${n.code} \u6D88\u5931`);break}for(let[u,a]of Object.entries(n.patch))JSON.stringify(l[u])!==JSON.stringify(a)&&o.push(`ops[${s}] set_attrs.${u} \u672A\u751F\u6548`);break}case"patch_node_array_item":{let l=i.find(w=>w.code===n.nodeCode);if(!l){o.push(`ops[${s}] patch_node_array_item \u8282\u70B9 ${n.nodeCode} \u6D88\u5931`);break}let u=l,a=n.mode??"merge",d=n.elementArrayProp!=null?n.elementItemKey??"code":n.itemKey??"code",y=n.elementArrayProp!=null?n.elementItemKeyValue:n.itemKeyValue;if(a==="remove"){let w=u[n.arrayProp],g=null;if(n.elementArrayProp!=null){if(Array.isArray(w)){let b=w.find(P=>P&&typeof P=="object"&&P[n.itemKey??"code"]===n.itemKeyValue);g=b?b[n.elementArrayProp]??null:null}}else g=Array.isArray(w)?w:null;if(g==null)break;g.some(b=>b&&typeof b=="object"&&b[d]===y)&&o.push(`ops[${s}] patch_node_array_item remove \u5143\u7D20 ${d}=${String(y)} \u4ECD\u5B58\u5728`);break}let h=qt(u,n.arrayProp,n.elementArrayProp,n.itemKey,n.itemKeyValue,n.elementItemKey,n.elementItemKeyValue);if("error"in h){o.push(`ops[${s}] patch_node_array_item ${h.error}`);break}let _=h.finalArr;if(a==="append"||a==="insert"){if(!n.item){o.push(`ops[${s}] patch_node_array_item ${a} \u7F3A item`);break}zt(_,n.item)||o.push(`ops[${s}] patch_node_array_item ${a} \u5143\u7D20\u672A\u51FA\u73B0`);break}let R=_.find(w=>w&&typeof w=="object"&&w[d]===y);if(!R){o.push(`ops[${s}] patch_node_array_item \u5143\u7D20 ${d}=${String(y)} \u672A\u627E\u5230`);break}for(let[w,g]of Object.entries(n.patch??{}))JSON.stringify(R[w])!==JSON.stringify(g)&&o.push(`ops[${s}] patch_node_array_item.${w} \u672A\u751F\u6548`);break}case"patch_action_array_item":{let l=xe(t,n.handlerCode,n.scope);if(l.length!==1){o.push(`ops[${s}] patch_action_array_item handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let a=l[0].handler.actions??[],d=n.actionCode!=null?a.find(P=>P?.code===n.actionCode):a[n.actionIndex??0];if(!d){o.push(`ops[${s}] patch_action_array_item action \u672A\u627E\u5230`);break}let y=d,h=n.parentProp?y[n.parentProp]??{}:y,_=n.elementArrayProp!=null?n.elementItemKey??"code":n.itemKey??"code",R=n.elementArrayProp!=null?n.elementItemKeyValue:n.itemKeyValue;if(n.mode==="remove"){let P=h[n.arrayProp],v=null;if(n.elementArrayProp!=null){if(Array.isArray(P)){let C=P.find(L=>L&&typeof L=="object"&&L[n.itemKey??"code"]===n.itemKeyValue);v=C?C[n.elementArrayProp]??null:null}}else v=Array.isArray(P)?P:null;if(v==null)break;v.some(C=>C&&typeof C=="object"&&C[_]===R)&&o.push(`ops[${s}] patch_action_array_item remove \u5143\u7D20 ${_}=${String(R)} \u4ECD\u5B58\u5728`);break}let w=qt(h,n.arrayProp,n.elementArrayProp,n.itemKey,n.itemKeyValue,n.elementItemKey,n.elementItemKeyValue);if("error"in w){o.push(`ops[${s}] patch_action_array_item ${w.error}`);break}let g=w.finalArr;if(n.mode==="append"||n.mode==="insert"){if(!n.item){o.push(`ops[${s}] patch_action_array_item ${n.mode} \u7F3A item`);break}zt(g,n.item)||o.push(`ops[${s}] patch_action_array_item ${n.mode} \u5143\u7D20\u672A\u51FA\u73B0`);break}let b=g.find(P=>P&&typeof P=="object"&&P[_]===R);if(!b){o.push(`ops[${s}] patch_action_array_item \u5143\u7D20 ${_}=${String(R)} \u672A\u627E\u5230`);break}for(let[P,v]of Object.entries(n.patch??{}))JSON.stringify(b[P])!==JSON.stringify(v)&&o.push(`ops[${s}] patch_action_array_item.${P} \u672A\u751F\u6548`);break}case"insert_node":r.has(n.node.code)||o.push(`ops[${s}] insert_node \u8282\u70B9\u672A\u51FA\u73B0`);break;case"remove_node":r.has(n.code)&&o.push(`ops[${s}] remove_node \u8282\u70B9\u4ECD\u5B58\u5728`);break;case"move_node":r.has(n.code)||o.push(`ops[${s}] move_node \u8282\u70B9\u6D88\u5931`);break;case"set_section":break;case"replace_script":{let l=xe(t,n.handlerCode,n.scope);if(l.length!==1){o.push(`ops[${s}] replace_script handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let a=l[0].handler.actions??[],d=n.actionCode!=null?a.find(_=>_?.code===n.actionCode):a[n.actionIndex??0];if(!d){o.push(`ops[${s}] replace_script action \u672A\u627E\u5230`);break}let y=n.field??"script",h=d[y]??"";if(n.replacement!=null)G(h)!==G(n.replacement)&&o.push(`ops[${s}] replace_script \u6574\u6BB5\u8986\u76D6\u672A\u751F\u6548`);else if(n.ops)for(let _ of n.ops){let R=_.matchMode??"normalized",w=G(h,R),g=G(_.newString,R),b=G(_.oldString,R);_.newString.length>0&&!w.includes(g)&&o.push(`ops[${s}] replace_script \u65B0\u5185\u5BB9\u672A\u51FA\u73B0`),!g.includes(b)&&w.includes(b)&&o.push(`ops[${s}] replace_script \u65E7\u5185\u5BB9\u4ECD\u5B58\u5728`)}break}case"add_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===n.modellogiccode)||o.push(`ops[${s}] add_businessmodel \u672A\u8FFD\u52A0`);break}case"remove_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===n.modellogiccode)&&o.push(`ops[${s}] remove_businessmodel \u672A\u79FB\u9664`);break}}}return{verified:o.length===0,problems:o}}async function Zt(t,e,o,i={}){let r=i.dryRun??!1,s=i.verify??!0,n=(g,b)=>({ok:!1,applied:!1,verified:null,errorCode:g,message:b,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return n("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let l;try{l=(await re({code:t})).resp_data}catch(g){return n("FETCH_FAILED",D(g))}if(!l)return n("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let u=structuredClone(l),a=[],d=!1;for(let g=0;g<e.length;g++)try{let b=await fr(u,e[g],g);a.push(b),b.status==="FAILED"&&(d=!0)}catch(b){a.push({index:g,op:e[g].op,status:"FAILED",errorCode:"OP_ERROR",message:D(b),hunk:null,suggestions:null}),d=!0}let y=yr(a);if(d){let g=a.filter(b=>b.status==="FAILED").map(b=>b.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${a.filter(b=>b.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${g}]\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:a}}if(r)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:a};Bt(o);let h=JSON.stringify(o),_;try{let g=await Xe({conf:u,message:h});_=typeof g?.resp_data=="string"?g.resp_data:JSON.stringify(g?.resp_data??null)}catch(g){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(g),diff:y,ops:a}}let R=null,w=_;if(s)try{let b=(await re({code:t})).resp_data;if(!b)R=!1,w=`${_} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let P=br(b,e);R=P.verified,P.verified||(w=`${_} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${P.problems.join("\uFF1B")}`)}}catch(g){R=!1,w=`${_} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(g)}`}return{ok:R===null?!0:R,applied:!0,verified:R,errorCode:R===!1?"VERIFY_FAILED":"OK",message:w,diff:y,ops:a}}async function Xt(t,e){Bt(e);let o=JSON.stringify(e);try{let i=await Xe({conf:t,message:o}),r=typeof i?.resp_data=="string"?i.resp_data:JSON.stringify(i?.resp_data??null);return{ok:!0,code:t.pageinfo?.code??void 0,message:r}}catch(i){return{ok:!1,code:t.pageinfo?.code??void 0,message:D(i)}}}var hr=c.object({createtime:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),createaccountname:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u7F16\u7801"),clientcategorycode:c.union([c.string(),c.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),confsource:c.coerce.number().nullable().optional().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),directorytypecode:c.union([c.string(),c.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:c.union([c.string(),c.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),marktype:c.coerce.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 code \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),pagetemplatecode:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u6A21\u677F\u7F16\u7801"),pagetypename:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\u540D\u79F0"),pagedescr:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u63CF\u8FF0"),ref:c.union([c.string(),c.null()]).optional().describe("\u5916\u90E8\u5F15\u7528\uFF0C\u4E00\u822C\u4F20\u7A7A\u5B57\u7B26\u4E32"),status:c.coerce.number().nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:c.union([c.string(),c.null()]).optional().describe("\u6807\u9898"),type:c.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:c.union([c.string(),c.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountcode:c.union([c.string(),c.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:c.union([c.string(),c.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),versionnum:c.union([c.string(),c.null()]).optional().describe("\u7248\u672C\u53F7")}).catchall(c.unknown()),nt={renderinfo:c.any().optional().describe("IDE \u6E32\u67D3\u6807\u8BB0"),pageinfo:c.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 1\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F"),businessmodel:c.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:c.any().optional().describe("\u52A8\u4F5C\u903B\u8F91\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),presenter:c.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:c.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:c.any().optional().describe("\u63A7\u4EF6\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),pageswitch:c.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:c.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")},en=[{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${Z}`,inputSchema:{keys:c.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:c.string().optional().describe("\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF08\u5DF2\u77E5\u7F16\u7801\u53CD\u67E5\u540D\u79F0\u65F6\u7528\uFF09"),parentdirectorytypecode:c.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:c.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:c.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u7F16\u7801\u7CBE\u786E\u5339\u914D"),marktype:c.string().optional().describe("\u521B\u5EFA\u6807\u8BB0\u7CBE\u786E\u5339\u914D\uFF0C\u6574\u6570\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),limit:c.string().optional().describe(`\u8FD4\u56DE\u6761\u6570\u4E0A\u9650\uFF0C\u9ED8\u8BA4 ${30}\uFF0C\u786C\u4E0A\u9650 ${200}`),offset:c.string().optional().describe("\u8D77\u59CB\u504F\u79FB\uFF0C\u9ED8\u8BA4 0\uFF1B\u914D\u5408 limit \u7FFB\u9875"),directorycategory:c.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:c.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:c.coerce.number().describe("\u6309\u7B5B\u9009\u6761\u4EF6\u547D\u4E2D\u7684\u6761\u6570\uFF08\u622A\u65AD\u524D\uFF09"),returned:c.coerce.number().describe("\u672C\u6B21\u5B9E\u9645\u8FD4\u56DE\u6761\u6570"),offset:c.coerce.number().describe("\u672C\u6B21\u8FD4\u56DE\u7684\u8D77\u59CB\u504F\u79FB"),limit:c.coerce.number().describe("\u672C\u6B21\u751F\u6548\u7684\u8FD4\u56DE\u6761\u6570\u4E0A\u9650"),truncated:c.boolean().describe("true \u8868\u793A\u547D\u4E2D\u6570\u5927\u4E8E\u672C\u6B21\u8FD4\u56DE\uFF0C\u8FD8\u6709\u540E\u7EED"),hint:c.union([c.string(),c.null()]).describe("\u6536\u655B/\u7FFB\u9875\u63D0\u793A\uFF1Bnull \u8868\u793A\u65E0\u9700\u63D0\u793A"),items:c.array(c.object({directorytypecode:c.string().describe("\u76EE\u5F55\u7F16\u7801\uFF0C\u5373\u8868\u5355 pageinfo.directorytypecode \u7684\u53D6\u503C"),directorytypename:c.union([c.string(),c.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:c.string().optional().describe("\u76EE\u5F55\u672C\u540D\uFF0C\u4EC5\u5728\u4E0E directorytypename \u4E0D\u540C\u65F6\u8FD4\u56DE"),parentdirectorytypecode:c.string().optional().describe("\u7236\u76EE\u5F55\u7F16\u7801\uFF1B\u7F3A\u5931\u5373\u9876\u7EA7\u76EE\u5F55"),centername:c.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\uFF0C\u4EC5\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u8FD4\u56DE"),marktype:c.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:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u,directorycategory:a="3"}=t;try{let d=await Ht({directorycategory:String(a||"3")}),y=Array.isArray(d?.resp_data)?d.resp_data:[];return F(_e(y,{keys:e,directorytypecode:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u}))}catch(d){return M(d)}}},{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${H}\n${Z}`,inputSchema:{status:c.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),keys:c.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355 code / title"),keywords:c.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355\u4E2D\u7684\u5173\u952E\u8BCD"),clientcategorycode:c.string().optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),page:c.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:c.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),type:c.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:c.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D"),updatetimestart:c.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:c.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:c.array(hr).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{status:e="",keys:o="",keywords:i="",clientcategorycode:r="",page:s=1,rows:n=20,type:l="",updateopname:u="",updatetimestart:a="",updatetimeend:d=""}=t;try{let y=await Ut({centercode:"",directorytypecode:"rootNode",starttime:"",status:e,keys:o,keywords:i,clientcategorycode:r,page:Number(s)||1,rows:Number(n)||20,type:l,updateopname:u,updatetimestart:a,updatetimeend:d});return F(y.resp_data)}catch(y){return M(y)}}},{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${H}\n${Z}`,inputSchema:{code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:c.looseObject(nt),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let o=await re({code:e});return F(o.resp_data)}catch(o){return M(o)}}},{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${Z}`,inputSchema:{code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:{code:c.string().describe("\u8868\u5355\u7F16\u7801"),title:c.union([c.string(),c.null()]).optional().describe("\u6807\u9898"),type:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\uFF08\u540C page_form_list \u7684 type\uFF09"),status:c.union([c.string(),c.null()]).optional().describe("\u72B6\u6001"),clientcategorycode:c.union([c.string(),c.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B"),marktype:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u6807\u8BB0"),versionnum:c.union([c.string(),c.null()]).optional().describe("\u7248\u672C\u53F7"),viewTree:c.array(c.lazy(()=>c.object({code:c.union([c.string(),c.null()]).optional(),type:c.union([c.string(),c.null()]).optional(),title:c.union([c.string(),c.null()]).optional(),children:c.array(c.lazy(()=>c.object({code:c.union([c.string(),c.null()]).optional(),type:c.union([c.string(),c.null()]).optional(),title:c.union([c.string(),c.null()]).optional(),children:c.array(c.unknown()).optional()}))).optional()}))).optional().describe("view \u6811\u9AA8\u67B6\uFF08\u9012\u5F52\uFF0C\u4EC5 code/type/title + children\uFF09"),handlers:c.array(c.object({code:c.union([c.string(),c.null()]).optional(),name:c.union([c.string(),c.null()]).optional(),desc:c.union([c.string(),c.null()]).optional(),key:c.union([c.string(),c.null()]).optional(),condition:c.union([c.string(),c.null()]).optional(),actionCount:c.coerce.number().optional(),actionTypes:c.array(c.string()).optional(),scope:c.union([c.string(),c.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:c.array(c.object({code:c.union([c.string(),c.null()]).optional(),key:c.union([c.string(),c.null()]).optional(),desc:c.union([c.string(),c.null()]).optional(),actionCount:c.coerce.number().optional()})).optional().describe("presenter \u5BF9\u5916\u63A5\u53E3\u6E05\u5355"),businessModels:c.array(c.object({modelcode:c.union([c.string(),c.null()]).optional(),modellogiccode:c.union([c.string(),c.null()]).optional(),modellogicname:c.union([c.string(),c.null()]).optional(),actiontype:c.union([c.string(),c.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:c.union([c.string(),c.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let o=await Gt(e);return F(o)}catch(o){return M(o)}}},{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${Z}`,inputSchema:{code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),nodeCode:c.string().optional().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B50\u6811"),itemCode:c.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:c.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:c.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:c.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:c.string().describe("\u8868\u5355\u7F16\u7801"),node:c.any().optional().describe("nodeCode \u547D\u4E2D\u7684\u8282\u70B9\u5B50\u6811"),handler:c.any().optional().describe("handlerCode \u547D\u4E2D\u7684\u5904\u7406\u5668\u5B8C\u6574\u5B9A\u4E49"),section:c.any().optional().describe("section \u547D\u4E2D\u7684\u6574\u6BB5\u5185\u5BB9"),actionIndex:c.array(c.object({index:c.coerce.number().describe("action \u4E0B\u6807"),code:c.union([c.string(),c.null()]).optional().describe("action \u7F16\u7801"),type:c.union([c.string(),c.null()]).optional().describe("action \u7C7B\u578B"),scriptLen:c.coerce.number().describe("script \u5B57\u7B26\u957F\u5EA6"),conditionLen:c.coerce.number().describe("condition \u5B57\u7B26\u957F\u5EA6"),expressionLen:c.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:c.union([c.string(),c.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e,nodeCode:o,itemCode:i,handlerCode:r,section:s}=t;try{let n=await Qt(e,{nodeCode:o,itemCode:i,handlerCode:r,section:s});return F(n)}catch(n){return M(n)}}}];import{z as m}from"zod";var _r=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"),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("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"),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")})]),tn=[{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\u300211 \u7C7B ops\uFF1Aset_pageinfo/set_attrs/patch_node_array_item/insert_node/remove_node/move_node/set_section/replace_script/add_businessmodel/remove_businessmodel/patch_action_array_item\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${Z}`,inputSchema:{code:m.string().describe("\u76EE\u6807\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),ops:m.array(_r).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:J.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 / 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:o,dryRun:i=!1,verify:r=!0}=t,s=t.ops,n=W(o);try{let l=await Zt(e,s,n,{dryRun:i,verify:r});return{isError:!l.ok,content:[{type:"text",text:JSON.stringify(l)}],structuredContent:l}}catch(l){let u=D(l);return{isError:!0,content:[{type:"text",text:u}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:u,diff:"",ops:[]}}}}},{name:"save_form",config:{title:"\u5168\u91CF\u4FDD\u5B58\u8868\u5355/\u9875\u9762",description:`\u6574\u9875\u91CD\u6784\uFF08\u91CD\u6392\u5E03\u5C40\u3001\u6A21\u677F\u8FC1\u79FB\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${Z}`,inputSchema:{form:m.looseObject(nt).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:J.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:o}=t,i=W(o);try{let r=await Xt(e,i);return{isError:!r.ok,content:[{type:"text",text:JSON.stringify(r)}],structuredContent:r}}catch(r){let s=D(r);return{isError:!0,content:[{type:"text",text:s}],structuredContent:{ok:!1,code:void 0,message:s}}}}}];import{z as I}from"zod";function nn(t,e){return E({url:"/api/masterserv/hpage/listH5Page",method:"post",data:t,type:"business",token:e})}function rn(t,e){return E({url:"/api/masterserv/hpage/listH5PageByOne",method:"post",data:t,type:"business",token:e})}function on(t){return E({url:"/pemission/rolepermission/account/getPreviewAccounts",method:"post",data:t,type:"tenant"})}async function sn(){let t=oe();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 o=1;o<=3;o++)try{let i=await on({pvcode:t.productVersionCode,rows:200}),s=(Array.isArray(i?.resp_data)?i.resp_data:[]).find(n=>n.positionname==="SFA\u7CFB\u7EDF\u7BA1\u7406\u5458");if(!s)throw new Error("\u672A\u5728\u9884\u89C8\u8D26\u53F7\u5217\u8868\u4E2D\u627E\u5230\u804C\u4F4D\u4E3A\u300CSFA\u7CFB\u7EDF\u7BA1\u7406\u5458\u300D\u7684\u8D26\u53F7");if(!s.token)throw new Error("\u627E\u5230\u804C\u4F4D\u4E3A\u300CSFA\u7CFB\u7EDF\u7BA1\u7406\u5458\u300D\u7684\u8D26\u53F7\uFF0C\u4F46\u5176 token \u4E3A\u7A7A\uFF0C\u65E0\u6CD5\u7528\u4E8E H5 \u8868\u5355\u67E5\u8BE2");return s.token}catch(i){e=i,o<3&&await new Promise(r=>setTimeout(r,800))}throw e}async function an(t){let e=await sn();return nn(t,e)}async function ln(t){let e=await sn();return rn(t,e)}var cn=I.object({confjson:I.union([I.string(),I.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:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF0C\u9884\u7559\u5B57\u6BB5"),pagecode:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801"),pagedescr:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u63CF\u8FF0"),pagetype:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u9875\u9762\u7C7B\u578B\uFF0C\u9884\u7559\u5B57\u6BB5"),platcreateop:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u4EBA\u59D3\u540D"),platcreatetime:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u65F6\u95F4"),platstatus:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u5E73\u53F0\u72B6\u6001"),platupdateop:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),platupdatetime:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),status:I.union([I.string(),I.number(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u72B6\u6001\uFF1B1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6807\u9898")}).catchall(I.unknown()),Rr=cn.omit({confjson:!0}),wr={data:I.array(Rr).describe("\u8FD9\u4E00\u9875\u7684 H5 \u8868\u5355\u6570\u636E"),pageCount:I.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:I.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:I.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:I.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},kr=cn.shape,un=[{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:I.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:I.string().optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),status:I.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),title:I.string().optional().describe("H5 \u8868\u5355\u7684\u6807\u9898\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),updateopname:I.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),page:I.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:I.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:wr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keywords:e="",pagecode:o="",status:i="",title:r="",updateopname:s="",page:n=1,rows:l=20}=t;try{let a=(await an({keywords:e,pagecode:o,status:i,title:r,updateopname:s,page:Number(n)||1,rows:Number(l)||20})).resp_data,d=Array.isArray(a?.data)?a.data.map(h=>{let _={...h};return delete _.confjson,_}):a?.data,y={...a,data:d};return F(y)}catch(u){return M(u)}}},{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:I.string().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:kr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{pagecode:e}=t;try{let o=await ln({pagecode:e});return{content:[{type:"text",text:JSON.stringify(o.resp_data)}],structuredContent:o.resp_data}}catch(o){return M(o)}}}];import{z as f}from"zod";function dn(t){return E({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function pn(t){return E({url:"/bizserv/bizmodel/get",method:"post",data:t,type:"tenant"})}var xr=f.object({classname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:f.union([f.string(),f.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:f.union([f.string(),f.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:f.union([f.string(),f.number()]).nullable().optional().describe("\u987A\u5E8F"),status:f.union([f.string(),f.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:f.union([f.string(),f.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(f.unknown()),Or={classname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:f.union([f.string(),f.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:f.union([f.string(),f.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:f.union([f.string(),f.number()]).nullable().optional().describe("\u987A\u5E8F"),status:f.union([f.string(),f.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:f.union([f.string(),f.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),confjson:f.string().nullable().optional().describe("flycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9")},mn=[{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${H}\n${fe}`,inputSchema:{classname:f.string().optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),name:f.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C modelname \u4E00\u81F4"),modelname:f.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C name \u4E00\u81F4"),flycodekey:f.string().optional().describe("\u51FD\u6570\u5185\u5BB9\u5173\u952E\u5B57"),page:f.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:f.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:f.array(xr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:f.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:f.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:f.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:f.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{classname:e="",name:o="",modelname:i="",flycodekey:r="",page:s=1,rows:n=20}=t;try{let l=await dn({dddlayer:3,directorytypecode:"",starttime:"",classname:e,name:o,modelname:i,flycodekey:r,page:Number(s)||1,rows:Number(n)||20});return F(l.resp_data)}catch(l){return M(l)}}},{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${H}\n${fe}`,inputSchema:{modelcode:f.string().describe("\u51FD\u6570\u7684\u7F16\u7801")},outputSchema:f.looseObject(Or),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{modelcode:e}=t;try{let o=await pn({modelcode:e});return F(o.resp_data)}catch(o){return M(o)}}}];import{z as A}from"zod";function gn(t){return E({url:"/bizserv/customfunction/list",method:"post",data:t,type:"tenant"})}var Pr=A.object({createtime:A.union([A.string(),A.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),creator:A.union([A.string(),A.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),dbfunctionname:A.union([A.string(),A.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D"),functioncode:A.union([A.string(),A.null()]).optional().describe("\u51FD\u6570\u552F\u4E00\u7F16\u7801"),functionname:A.union([A.string(),A.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),functionscript:A.union([A.string(),A.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u5185\u5BB9\uFF08PostgreSQL \u51FD\u6570\u4F53\uFF09"),marktype:A.union([A.string(),A.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:A.union([A.string(),A.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C functioncode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),publishstatus:A.union([A.string(),A.number()]).nullable().optional().describe("\u53D1\u5E03\u72B6\u6001\uFF0C1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03"),remark:A.union([A.string(),A.null()]).optional().describe("\u5907\u6CE8"),status:A.union([A.string(),A.number()]).nullable().optional().describe("\u72B6\u6001\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),updatetime:A.union([A.string(),A.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updator:A.union([A.string(),A.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA")}).catchall(A.unknown()),fn=[{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${H}\n${fe}`,inputSchema:{dbfunctionname:A.string().optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),name:A.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),pageindex:A.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),pagesize:A.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:A.array(Pr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:A.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:A.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:A.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:A.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{dbfunctionname:e="",name:o="",pageindex:i=1,pagesize:r=20}=t;try{let s=await gn({dbfunctionname:e,name:o,pageindex:Number(i)||1,pagesize:Number(r)||20});return F(s.resp_data)}catch(s){return M(s)}}}];import{z as Oe}from"zod";function yn(t){return E({url:"/api/biz/sqlrun",method:"post",data:t,type:"business"})}var Sr={data:Oe.array(Oe.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:Oe.coerce.number().nullable().optional().describe("\u67E5\u8BE2\u7ED3\u679C\u603B\u6570")},bn=[{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:Oe.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:Oe.looseObject(Sr),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{sql:e}=t;try{let o=await yn({sql:e});return F(o.resp_data)}catch(o){return M(o)}}}];import{z as hn}from"zod";var _n=[{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:hn.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:hn.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 o=Re().toString(),r={code:e?`${e}${o}`:o};return F(r)}catch(o){let r={error:o.message??String(o)};return{isError:!0,content:[{type:"text",text:JSON.stringify(r)}]}}}}];import{isJSONRPCNotification as Nr,isJSONRPCRequest as Rn,isJSONRPCResultResponse as Ir}from"@modelcontextprotocol/sdk/types.js";var wn=13*1024,Ar=10,kn=new Set(["description","examples","default","title"]),vr=new Set(["const","enum","examples","default"]),Cr=new Set(["properties","patternProperties","$defs","definitions","dependentSchemas"]),Dr=new Set(["allOf","anyOf","oneOf","prefixItems"]),Er=new Set(["items","additionalProperties","not","if","then","else","contains","propertyNames","unevaluatedProperties","unevaluatedItems"]),$r="\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 xn(t){return t?.trim().toLowerCase()==="compact"?"compact":"full"}var B=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),rt=t=>Buffer.byteLength(JSON.stringify(t)??"","utf8");function ot(t,e=0){if(Array.isArray(t)){let i=e;for(let r of t)i=Math.max(i,ot(r,e+1));return i}if(!B(t))return e;let o=e;for(let i of Object.values(t))o=Math.max(o,ot(i,e+1));return o}var Fr=["null","boolean","object","array","number","string"];function On(t,e){if(Array.isArray(t))return t.map(i=>e(i));if(!B(t))return t;let o={};for(let[i,r]of Object.entries(t)){if(vr.has(i)){o[i]=r;continue}if(Cr.has(i)&&B(r)){o[i]=Object.fromEntries(Object.entries(r).map(([s,n])=>[s,e(n)]));continue}if(Dr.has(i)&&Array.isArray(r)){o[i]=r.map(s=>e(s));continue}if(Er.has(i)){o[i]=Array.isArray(r)?r.map(s=>e(s)):e(r);continue}o[i]=r}return o}function Tr(t){let e=On(t,Pn),o={};for(let[i,r]of Object.entries(e))kn.has(i)&&i!=="description"||(o[i]=r);return o}function Pn(t){let e=On(t,Pn);if(!B(e))return e;let o={};for(let[i,r]of Object.entries(e))kn.has(i)||(o[i]=r);return o}function Mr(t,e){if(e==="#")return t;if(!e.startsWith("#/"))return;let o=t;for(let i of e.slice(2).split("/")){let r=i.replaceAll("~1","/").replaceAll("~0","~");if(!B(o)||!Object.hasOwn(o,r))return;o=o[r]}return o}function it(t,e,o=new Set){if(!B(t))return;if(typeof t.$ref=="string"){if(o.has(t.$ref))return;let s=Mr(e,t.$ref);return s===void 0?void 0:it(s,e,new Set([...o,t.$ref]))}if(typeof t.type=="string")return[t.type];if(Array.isArray(t.type)&&t.type.every(s=>typeof s=="string"))return t.type;let i=Array.isArray(t.anyOf)?t.anyOf:Array.isArray(t.oneOf)?t.oneOf:[];if(i.length===0)return;let r=i.map(s=>it(s,e,o));if(!r.some(s=>s===void 0))return[...new Set(r.flatMap(s=>s??[]))]}function Lr(t){let e=B(t.properties)?t.properties:{},o=typeof t.description=="string"&&t.description.length>0?`${t.description} `:"",i=Object.fromEntries(Object.entries(e).map(([r,s])=>{let n=it(s,t),l=n!==void 0&&n.length===1?n[0]:n,u={};return l!==void 0&&(u.type=l),Array.isArray(n)&&n.includes("array")&&(u.items={type:[...Fr],items:{}}),B(s)&&(typeof s.description=="string"&&(u.description=s.description),s.enum!==void 0&&(u.enum=s.enum),s.const!==void 0&&(u.const=s.const)),[r,u]}));return{type:"object",description:`${o}${$r}`,properties:i,...Array.isArray(t.required)?{required:[...t.required]}:{},...t.additionalProperties===!1?{additionalProperties:!1}:{}}}function jr(t,e){let o=Tr(t);return rt(o)<=e&&ot(o)<=Ar?{schema:o,presentation:"inline"}:{schema:Lr(t),presentation:"reduced"}}function Hr(t,e){if(!B(t.inputSchema))return t;let o=rt(t.inputSchema),{schema:i}=jr(t.inputSchema,e);return rt(i)>=o?t:{...t,inputSchema:i}}function Ur(t,e){if(!Ir(t))return t;let o=t.result;if(!B(o)||!Array.isArray(o.tools))return t;let i=o.tools.map(r=>B(r)?Hr(r,e):r);return{...t,result:{...o,tools:i}}}function Sn(t,e){let o=new Set,i={start:()=>t.start(),close:()=>t.close(),setProtocolVersion:r=>t.setProtocolVersion?.(r),send:async(r,s)=>{let n="id"in r&&(typeof r.id=="string"||typeof r.id=="number")?r.id:void 0,l=n!==void 0&&o.has(n);try{await t.send(l?Ur(r,e):r,s)}finally{!Rn(r)&&n!==void 0&&o.delete(n)}}};return t.onmessage=r=>{if(Rn(r)&&r.method==="tools/list"&&o.add(r.id),Nr(r)&&r.method==="notifications/cancelled"){let s=r.params?.requestId;(typeof s=="string"||typeof s=="number")&&o.delete(s)}i.onmessage?.(r)},t.onerror=r=>i.onerror?.(r),t.onclose=()=>{o.clear(),i.onclose?.()},i}await mt();var Pe=new Kr({name:"flycode-mcp",version:"1.0.0"}),In=(process.env.PROGRESSIVE_DISCLOSURE??"on").toLowerCase()!=="off",Nn=xn(process.env.FLYCODE_MCP_INPUT_SCHEMA_PROFILE),Yr=[...xt,...At,...Et,...jt,...en,...tn,...un,...mn,...fn,...bn,..._n],An=new Ie(In);An.registerAll(Pe,Yr);for(let t of yt(An))Pe.registerTool(t.name,t.config,t.handler);async function zr(){let t=new Vr,e=Nn==="compact"?Sn(t,wn):t;await Pe.connect(e),process.on("SIGINT",async()=>{await Pe.close(),process.exit(0)}),process.on("SIGTERM",async()=>{await Pe.close(),process.exit(0)}),console.error(`flycode-mcp listening on stdio (progressive disclosure: ${In?"on":"off"}, input schema profile: ${Nn})`)}zr().catch(t=>{console.error(t),process.exit(1)});
2
+ import{McpServer as Kr}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as Vr}from"@modelcontextprotocol/sdk/server/stdio.js";var je="http://mconfig.xuantongkeji.com:51074",vn="username",Cn="password",Dn="tenantCode",En="envName";function Se(t,e){let i=process.argv.slice(2).join("&"),s=new URLSearchParams(i).get(t);if(s!==null&&s!=="")return s;if(e!==void 0)return e;throw new Error(`Missing required arg: ${t}`)}var Q={username:Se(vn),password:Se(Cn),tenantCode:Se(Dn),envName:Se(En)};import $n from"axios";var st=null;function He(t){st=t}function at(){return st}var lt=null;function ct(t){lt=t}function oe(){return lt}var Ue=$n.create({baseURL:je||"",timeout:2e4,headers:{"Content-Type":"application/json"}});Ue.interceptors.request.use(t=>{let o=t.token??at();return o&&(t.headers=t.headers||{},t.headers.token=o),delete t.token,t});Ue.interceptors.response.use(t=>t.data,t=>Promise.reject(t));function E(t){let{type:e="center",...o}=t,i;switch(e){case"center":i=je||"";break;case"tenant":case"business":{let r=oe();if(!r)return Promise.reject(new Error(`type \u4E3A ${e} \u65F6\uFF0C\u5FC5\u987B\u5148\u8C03\u7528 setTenant() \u8BBE\u7F6E\u79DF\u6237\u4FE1\u606F`));i=e==="tenant"?r.conn.config:r.conn.business;break}}return Ue({...o,baseURL:i})}var Ne="1";function ut(t){return E({url:"/api/multiplat/auth/login",method:"post",data:t})}function dt(){return E({url:"/api/multiplat/auth/getTenantInfo",method:"post",data:{appid:Ne}})}function pt(t){return E({url:"/api/multiplat/auth/getIdeToken",method:"post",data:t})}async function mt(){let t=await ut({appid:Ne,username:Q.username,password:Q.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 o=(await dt()).resp_data.find(l=>l.tenantcode===Q.tenantCode),i=o?.envs.find(l=>l.envname===Q.envName);if(o&&i){let l;try{l=JSON.parse(i.conn)}catch{throw new Error(`\u79DF\u6237\u73AF\u5883\u8FDE\u63A5\u4FE1\u606F\u89E3\u6790\u5931\u8D25, \u79DF\u6237\u53F7: ${Q.tenantCode}, \u73AF\u5883\u540D: ${Q.envName}, env.conn \u4E0D\u662F\u5408\u6CD5\u7684 JSON: ${i.conn}`)}ct({metaModelCode:o.metamodelcode,metaModelType:o.metamodeltype,productCode:o.productcode,productName:o.productname,productSeriesCode:o.productseriescode,productVersionCode:o.productversioncode,productVersionName:o.productversionname,tenantCode:o.tenantcode,tenantName:o.tenantname,conn:l,envId:i.envid,envName:i.envname,tenantEnvName:i.tenantenvname})}let r=oe();if(!r)throw new Error(`\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u79DF\u6237\u4FE1\u606F, \u79DF\u6237\u53F7: ${Q.tenantCode}, \u73AF\u5883\u540D: ${Q.envName}`);console.error("flycode-mcp \u83B7\u53D6\u79DF\u6237\u4FE1\u606F\u5B8C\u6210");let n=(await pt({appid:Ne,envid:r.envId,metamodeltype:r.metaModelType,productcode:r.productCode,productversioncode:r.productVersionCode,tenantcode:r.tenantCode})).resp_data?.idetoken;if(!n)throw new Error(`\u83B7\u53D6 IDE Token \u5931\u8D25, \u79DF\u6237\u53F7: ${r.tenantCode}, \u73AF\u5883\u540D: ${r.envName}, \u8FD4\u56DE\u4F53\u4E2D\u672A\u5305\u542B\u6709\u6548\u7684 idetoken`);He(n),console.error("flycode-mcp \u83B7\u53D6 IDE Token \u5B8C\u6210")}var Ke=[{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}],ge={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 Fn(t){return t?Ke.find(e=>e.name===t)?.alwaysOn??!1:!1}var Ie=class{handles=new Map;toolNames=[];progressive;constructor(e){this.progressive=e}registerAll(e,o){for(let i of o){let r=e.registerTool(i.name,i.config,i.handler);this.handles.set(i.name,r),this.toolNames.push(i.name);let s=ge[i.name];this.progressive&&!Fn(s)&&r.disable()}}activate(e,o=!1){let i=this.toolNames.filter(r=>ge[r]===e);for(let r of i){let s=this.handles.get(r);s&&(o&&s.enabled?s.disable():!o&&!s.enabled&&s.enable())}return i}isProgressive(){return this.progressive}domainActive(e){let o=this.toolNames.filter(i=>ge[i]===e);return o.length===0?!1:o.every(i=>this.handles.get(i)?.enabled??!1)}status(){return Ke.map(e=>{let o=this.toolNames.filter(i=>ge[i]===e.name).map(i=>{let r=this.handles.get(i);return{name:i,description:r?.description??"",active:r?.enabled??!1}});return{name:e.name,title:e.title,description:e.description,alwaysOn:e.alwaysOn,active:this.domainActive(e.name),tools:o}})}focus(e){let o=Ke.find(r=>r.name===e);if(!o)return null;let i=this.toolNames.filter(r=>ge[r]===e).map(r=>{let s=this.handles.get(r);return{name:r,description:s?.description??"",active:s?.enabled??!1}});return{name:e,title:o.title,tools:i}}};import{z as $}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 M(t){return{isError:!0,content:[{type:"text",text:D(t)}]}}var gt=$.enum(["core","entity","form","logic","function","h5"]),ie=32*1024,Ve=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 ft(t){return t.length<=Ve?t:`${t.slice(0,Ve)}\u2026(\u7701\u7565 ${t.length-Ve} \u5B57\u7B26)`}function Tn(t){let e=(l,u)=>JSON.stringify({progressive:t.progressive,domains:l,focus:u}).length;if(e(t.domains,t.focus)<=ie)return{...t,truncated:!1};let o=(l,u)=>l.map(a=>({...a,description:u(a.description)})),i=t.domains.map(l=>({...l,tools:o(l.tools,ft)})),r=t.focus?{...t.focus,tools:o(t.focus.tools,ft)}:null;if(e(i,r)<=ie)return{progressive:t.progressive,domains:i,focus:r,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${ie} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u622A\u65AD\u5DE5\u5177\u63CF\u8FF0\u3002${Ye}`};let s=i.map(l=>({...l,tools:o(l.tools,()=>"")})),n=r?{...r,tools:o(r.tools,()=>"")}:null;return e(s,n)<=ie?{progressive:t.progressive,domains:s,focus:n,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u8D85\u8FC7 ${ie} \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:s.map(l=>({...l,tools:[]})),focus:n?{...n,tools:[]}:null,truncated:!0,note:`catalog \u8FD4\u56DE\u4F53\u5373\u4F7F\u964D\u7EA7\u4ECD\u8D85\u8FC7 ${ie} \u5B57\u7B26\u4E0A\u9650\uFF0C\u5DF2\u4E22\u5F03\u5DE5\u5177\u6E05\u5355\u3002${Ye}`}}function yt(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:gt.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:$.boolean().describe("\u662F\u5426\u5904\u4E8E\u6E10\u8FDB\u5F0F\u62AB\u9732\u6A21\u5F0F"),domains:$.array($.object({name:$.string(),title:$.string(),description:$.string(),alwaysOn:$.boolean(),active:$.boolean(),tools:$.array($.object({name:$.string(),description:$.string(),active:$.boolean()}))})).describe("\u5168\u90E8\u57DF\u7684\u72B6\u6001\u4E0E\u5DE5\u5177\u6E05\u5355"),focus:$.object({name:$.string(),title:$.string(),tools:$.array($.object({name:$.string(),description:$.string(),active:$.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:$.boolean().describe("\u8FD4\u56DE\u4F53\u662F\u5426\u56E0\u8D85\u8FC7\u4F53\u79EF\u786C\u4E0A\u9650\u800C\u88AB\u81EA\u52A8\u964D\u7EA7"),note:$.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 i=>{let r=i?.domain??void 0,s=r?t.focus(r):null;return F(Tn({progressive:t.isProgressive(),domains:t.status(),focus:s}))}},o={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:gt.describe("\u8981\u542F\u7528\u6216\u6536\u8D77\u7684\u57DF\uFF1Aentity / form / logic / function / h5"),deactivate:$.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:$.string(),deactivated:$.boolean(),tools:$.array($.string()).describe("\u53D7\u672C\u6B21\u5207\u6362\u5F71\u54CD\u7684\u5DE5\u5177\u540D\u5217\u8868"),progressive:$.boolean(),note:$.string().describe("\u7ED9\u6A21\u578B/\u4F7F\u7528\u8005\u7684\u63D0\u793A\u4FE1\u606F")},annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!1}},handler:async i=>{let r=i?.domain??"core",s=i?.deactivate===!0,n=t.activate(r,s),l=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:r,deactivated:s,tools:n,progressive:t.isProgressive(),note:l})}};return[e,o]}var H='\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',se="\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",Ae="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",te="\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",Z="\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",fe='\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 x}from"zod";function bt(t){return E({url:"/bizserv/bizmodel/pageModelLogicList",method:"post",data:t,type:"tenant"})}function ht(t){return E({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function X(t){return E({url:"/bizserv/bizmodel/getModelLogic",method:"post",data:t,type:"tenant"})}function ve(t){return E({url:"/bizserv/bizmodel/saveModelLogic",method:"post",data:{...t,overwrite:!1},type:"tenant"})}import{z as p}from"zod";var ze=p.object({marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u540D\u79F0\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u6240\u5C5E\u7684\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u5982\u679C\u662F\u81EA\u5B9A\u4E49\u53C2\u6570\u5219\u6B64\u7F16\u7801\u4E3A\u7A7A\u5B57\u7B26\u4E32"),propertycode:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u7F16\u7801\uFF0C\u53EA\u6709\u5F53\u6B64\u5B57\u6BB5\u6709\u6240\u5C5E\u5B9E\u4F53\u65F6\u624D\u6709\u503C\uFF0C\u4E34\u65F6\u521B\u5EFA\u7684\u81EA\u5B9A\u4E49\u5B9E\u4F53\u7684\u5B57\u6BB5\u5219\u4E3A\u7A7A\u5B57\u7B26\u4E32"),propertyname:p.string().optional().nullable().describe("\u6B64\u5B57\u6BB5\u7684\u4E2D\u6587\u540D\uFF0C\u9605\u8BFB\u53CB\u597D"),propertytypecode:p.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u6574\u6570\u5B57\u7B26\u4E32\uFF0C\u542B\u4E49\uFF1A1-\u4E3B\u952E(int8)\uFF1B2-\u540D\u79F0(200)\uFF1B3-\u6587\u672C(200)\uFF1B4-\u957F\u6587\u672C\uFF1B5-\u6574\u6570(int4)\uFF1B6-\u957F\u6574\u6570(int8)\uFF1B10-\u6570\u5B57(numeric)\uFF1B7-\u65E5\u671F\u65F6\u95F4(ts)\uFF1B30-\u65F6\u95F4\u8303\u56F4\uFF1B29-\u5E74\u6708\u65E5(date)\uFF1B18-\u72B6\u6001(int4)\uFF1B16-\u56FE\u7247\uFF1B26-\u9644\u4EF6\uFF1B17-\u5B9A\u4F4D\uFF1B19-\u9009\u9879\u96C6\uFF1B200000000000-\u5173\u8054\u5BF9\u8C61\uFF1B100000000000-\u4E1A\u52A1\u5BF9\u8C61\uFF1B10000000000-\u5B57\u5178\u5BF9\u8C61\uFF1B300000000000-\u590D\u6742\u5173\u8054\u5BF9\u8C61\uFF1B1000000000-\u672C\u5BF9\u8C61\uFF1B8-\u521B\u5EFA\u4EBA(int8)\uFF1B9-\u4FEE\u6539\u4EBA(int8)\uFF1B11-\u521B\u5EFA\u65F6\u95F4(ts)\uFF1B12-\u4FEE\u6539\u65F6\u95F4(ts)\uFF1B31-\u62FC\u97F3\uFF1B100-\u662F\u5426\u9ED8\u8BA4\uFF1B13-\u624B\u673A\u53F7\uFF1B15-\u56FA\u5B9A\u7535\u8BDD\uFF1B14-\u90AE\u7BB1\uFF1B27-\u90AE\u7F16\uFF1B20-\u6392\u5E8F(int4)")}).catchall(p.unknown()),Mn=p.array(ze),Rt=p.object({datatype:p.string().optional().nullable().describe("\u6574\u6570\u5B57\u7B26\u4E32\uFF1A0-\u5355\u5B9E\u4F53\uFF1B1-\u6570\u7EC4\u30020 \u8868\u793A IN.name \u6216 OUT.xxx \u662F\u4E2A\u5BF9\u8C61\uFF1B1 \u8868\u793A\u662F\u4E2A\u6570\u7EC4"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),name:p.string().optional().nullable().describe("\u6B64\u53C2\u6570\u5BF9\u8C61/\u6570\u7EC4\u7684\u540D\u5B57\uFF0C\u4EE3\u7801\u4E2D\u7528\u6B64\u540D\u5B57\u8BBF\u95EE"),objectcode:p.string().optional().nullable().describe("\u6B64\u53C2\u6570\u5173\u8054\u7684\u5B9E\u4F53\u7684\u7F16\u7801\uFF0C\u5982\u679C\u662F\u81EA\u5B9A\u4E49\u53C2\u6570\u5219\u6B64\u7F16\u7801\u4E3A\u7A7A\u5B57\u7B26\u4E32"),objectname:p.string().optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u4E2D\u6587\u540D\u79F0\uFF0C\u9605\u8BFB\u53CB\u597D"),properties:Mn.optional().nullable().describe("\u6B64\u53C2\u6570\u7684\u5C5E\u6027\u6570\u7EC4\uFF1A\u5355\u5B9E\u4F53\u65F6\u662F IN.name \u8FD9\u4E2A\u5BF9\u8C61\u6709\u7684\u5C5E\u6027\uFF1B\u6570\u7EC4\u65F6\u662F IN.name \u8FD9\u4E2A\u6570\u7EC4\u4E2D\u7684\u5143\u7D20\u5BF9\u8C61\u7684\u5C5E\u6027"),customcode:p.string().optional().nullable().describe("\u81EA\u5B9A\u4E49\u8F93\u51FA\u5BF9\u8C61\u7684\u7F16\u7801\uFF08\u4EC5\u81EA\u5B9A\u4E49\u8F93\u51FA\u53C2\u6570\u53EF\u80FD\u643A\u5E26\uFF0C\u5982\u5185\u90E8\u51FD\u6570 output\uFF09")}).catchall(p.unknown()),_t=p.array(Rt),Ln=p.array(p.object({dynamic:p.object({fieldblacklist:p.unknown().optional().nullable().describe("\u5B57\u6BB5\u9ED1\u540D\u5355"),fieldmap:p.unknown().optional().nullable().describe("\u5B57\u6BB5\u6620\u5C04")}).catchall(p.unknown()).optional().nullable().describe("\u52A8\u6001\u914D\u7F6E"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0"),modellogiccode:p.string().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),modellogicstepcode:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u7F16\u7801"),modellogicstepname:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u6B65\u9AA4\u540D\u79F0"),seq:p.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:p.string().optional().nullable().describe("\u72B6\u6001"),templateparams:p.object({flycode:p.string().optional().nullable().describe("flycode \u811A\u672C\u4EE3\u7801\u5B57\u7B26\u4E32"),sourcemap:p.string().optional().nullable().describe("\u6E90\u6620\u5C04"),tempcompiledflycode:p.string().optional().nullable().describe("\u7F16\u8BD1\u540E\u7684 flycode")}).catchall(p.unknown()).optional().nullable().describe("\u6A21\u677F\u53C2\u6570\uFF0C\u5185\u542B\u5177\u4F53\u7684 flycode \u4EE3\u7801\uFF08\u5BFC\u51FA\u7ED3\u6784\u4EC5\u542B flycode\uFF09"),templateref:p.string().optional().nullable().describe("\u6A21\u677F\u5F15\u7528")}).catchall(p.unknown())),qe=p.object({field:p.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:p.string().optional().nullable().describe("\u5BFC\u51FA\u540E\u7684\u5217\u6807\u9898"),width:p.string().optional().nullable().describe("\u5217\u5BBD"),type:p.string().optional().nullable().describe("\u5B57\u6BB5\u7C7B\u578B\uFF0C\u5982 string"),dynamictext:p.unknown().optional().nullable().describe("\u52A8\u6001\u6587\u672C\u914D\u7F6E")}).catchall(p.unknown()),jn=p.object({bindcols:p.array(qe).optional().nullable().describe("\u5BFC\u51FA\u7684\u5217\u5B9A\u4E49"),modelcode:p.string().describe("\u4E1A\u52A1\u6A21\u578B\u7F16\u7801"),logiccode:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u7F16\u7801"),logicname:p.string().optional().nullable().describe("\u4E1A\u52A1\u903B\u8F91\u540D\u79F0")}).catchall(p.unknown()),Be={actioncategory:p.string().optional().nullable().describe("\u884C\u4E3A\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA"),actiontype:p.string().optional().nullable().describe("\u64CD\u4F5C\u7C7B\u578B, \u6574\u6570, \u542B\u4E49\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3"),description:p.string().optional().nullable().describe("\u5BF9\u6B64\u4E1A\u52A1\u9886\u57DF\u7684\u63CF\u8FF0\u8BF4\u660E\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u7528 descr \u4EE3\u66FF\uFF09"),descr:p.string().optional().nullable().describe("\u63CF\u8FF0\u8BF4\u660E\u7684\u66FF\u7528\u5B57\u6BB5\uFF0C\u4EC5\u5FAE\u670D\u52A1\uFF08actioncategory=2\uFF09\u8FD4\u56DE\uFF0C\u7B49\u4EF7\u4E8E description"),execmode:p.string().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),executionmode:p.string().optional().nullable().describe("\u6267\u884C\u6A21\u5F0F\uFF0Cstandard-\u6807\u51C6\u6A21\u5F0F\uFF1Bstrict-\u4E25\u683C\u6A21\u5F0F"),functionname:p.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u51FD\u6570\u547D\u540D\uFF08A\u4E1A\u52A1\u903B\u8F91\u4E2D\u8C03\u7528B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u5199\u51FD\u6570\u540D\uFF09"),idempotenttype:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),input:_t.optional().nullable().describe("\u8BE5\u5B57\u6BB5\u5B9A\u4E49\u4E86\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u8F93\u5165\uFF1Aflycode \u4E2D\u7684\u5185\u7F6E\u5BF9\u8C61 IN \u4E2D\u53EF\u83B7\u53D6\u5230\u7684\u5185\u5BB9\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u65E0\u6B64\u5B57\u6BB5\uFF09"),logicscript:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u7A7A\u5B57\u7B26\u4E32"),marktype:p.string().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),message:p.string().optional().nullable().describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u6BCF\u6B21\u4FDD\u5B58\u65F6\u586B\u5199\u7684\uFF0C\u7C7B\u4F3C git \u7684\u63D0\u4EA4\u4FE1\u606F\uFF08\u5BFC\u51FA\u7C7B\u7ED3\u6784\u53EF\u80FD\u7F3A\uFF09"),modelcode:p.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),modellogiccode:p.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801"),modellogicname:p.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),operations:Ln.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:_t.optional().nullable().describe("\u8BE5\u5B57\u6BB5\u5B9A\u4E49\u4E86\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u8F93\u51FA\uFF1Aflycode \u4E2D\u5C06\u4F1A\u8D4B\u503C\u7ED9\u5185\u7F6E\u5BF9\u8C61 OUT \u7684\u5185\u5BB9\uFF08\u5FAE\u670D\u52A1\u7ED3\u6784\u65E0\u6B64\u5B57\u6BB5\uFF09"),rest:p.object({server:p.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u5730\u5740"),url:p.string().optional().nullable().describe("\u5FAE\u670D\u52A1\u8DEF\u5F84")}).catchall(p.unknown()).optional().nullable().describe("\u5FAE\u670D\u52A1\u7684 REST \u914D\u7F6E\uFF0C\u4EC5 actioncategory=2 \u5FAE\u670D\u52A1 \u65F6\u5B58\u5728"),bindjson:jn.optional().nullable().describe("\u5BFC\u51FA\u7ED1\u5B9A\u7684 Excel \u5217\u914D\u7F6E\uFF0C\u4EC5 actioncategory=5 \u5BFC\u51FA \u65F6\u5B58\u5728"),status:p.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),tenantdbcode:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u7F16\u7801"),tenantdbname:p.string().optional().nullable().describe("\u4FDD\u7559\u5B57\u6BB5\uFF0C\u79DF\u6237\u6570\u636E\u5E93\u64CD\u4F5C\u6743\u9650\uFF0C\u679A\u4E3E\u503C\u542B\u4E49\uFF1A\u53EA\u8BFB-\u6570\u636E\u5E93\u53EA\u80FD\u67E5\u8BE2\u4E0D\u80FD\u589E\u5220\u6539\uFF1B\u8BFB\u5199-\u6570\u636E\u5E93\u53EF\u589E\u5220\u6539\u67E5\uFF1B\u62A5\u8868-\u4FDD\u7559\u5B57\u6BB5"),tenantdbtype:p.string().optional().nullable().describe("tenantdbname \u5BF9\u5E94\u7684 key \u503C"),uilogicscript:p.string().optional().nullable().describe("\u79BB\u7EBF\u811A\u672C\uFF0C\u4EC5\u7528\u4E8E app \u7AEF\u79BB\u7EBF\u6570\u636E\u63D0\u4EA4"),usedatarule:p.string().optional().nullable().describe("1 \u4EE3\u8868\u4F7F\u7528\u6570\u636E\u6743\u9650")},wt=p.looseObject(Be),kt=p.discriminatedUnion("op",[p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),param:Rt.describe("\u8981\u8FFD\u52A0\u7684\u4E00\u6761\u8F93\u5165/\u8F93\u51FA\u53C2\u6570\uFF08\u5355\u4E2A LogicParameters \u5BF9\u8C61\uFF09"),position:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),p.object({op:p.literal("remove_param").describe("\u4ECE input / output \u6309 name \u5220\u9664\u6574\u6761\u53C2\u6570\uFF08\u5220\u9664\u4E00\u4E2A input / output\uFF09"),target:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:p.string().describe("\u8981\u5220\u9664\u7684\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09")}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),name:p.string().describe("\u76EE\u6807\u53C2\u6570\u7684 name\uFF08\u5728 target \u5185\u552F\u4E00\uFF09"),patch:p.record(p.string(),p.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u53C2\u6570\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "datatype": "1", "objectname": "\u5BA2\u6237" }')}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:p.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:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:p.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:p.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:p.string().optional().describe("\u6309\u5B57\u6BB5\u7F16\u7801 propertycode \u5B9A\u4F4D\uFF08\u4E0E propertyName \u4E8C\u9009\u4E00\uFF09")}),p.object({op:p.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:p.enum(["input","output"]).describe("\u76EE\u6807\u53C2\u6570\u6570\u7EC4\uFF1Ainput\uFF08IN\uFF09\u6216 output\uFF08OUT\uFF09"),paramName:p.string().describe("\u6240\u5C5E\u53C2\u6570\u7684 name"),propertyName:p.string().optional().describe("\u6309\u5B57\u6BB5\u8BBF\u95EE\u540D name \u5B9A\u4F4D\uFF08\u4E0E propertyCode \u4E8C\u9009\u4E00\uFF09"),propertyCode:p.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")}),p.object({op:p.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:p.record(p.string(),p.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" }')}),p.object({op:p.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:p.number().int().nonnegative().optional().describe("\u63D2\u5165\u4F4D\u7F6E\u4E0B\u6807\uFF0C\u9ED8\u8BA4\u672B\u5C3E")}),p.object({op:p.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:p.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:p.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09")}),p.object({op:p.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:p.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:p.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")}),p.object({op:p.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:p.string().optional().describe("\u6309\u5B57\u6BB5\u540D field \u5B9A\u4F4D\uFF08\u4E0E column \u4E8C\u9009\u4E00\uFF0C\u4F18\u5148\uFF09"),column:p.string().optional().describe("\u6309\u5217\u6807\u9898 column \u5B9A\u4F4D\uFF08\u4E0E field \u4E8C\u9009\u4E00\uFF09"),patch:p.record(p.string(),p.unknown()).describe('\u8981\u6D45\u5408\u5E76\u8FDB\u8BE5\u5217\u7684\u5C5E\u6027\u952E\u503C\uFF0C\u5982 { "column": "\u65B0\u6807\u9898", "width": "20" }')}),p.object({op:p.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:p.record(p.string(),p.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 xt=[{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${H}\n${se}`,inputSchema:{modelname:x.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:x.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:x.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:x.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:x.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:x.array(x.object({modeldescr:x.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u7684\u63CF\u8FF0\u8BF4\u660E"),createtime:x.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:x.union([x.string(),x.number(),x.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),dddlayer:x.coerce.number().optional().nullable().describe("\u76EE\u5F55\u5C42\u7EA7\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u4E00\u7EA7\u76EE\u5F55"),modelname:x.string().optional().nullable().describe("\u4E1A\u52A1\u6A21\u578B\u540D\uFF08\u6240\u5C5E\u76EE\u5F55\u540D\uFF09"),directorytypecode:x.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:x.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),classname:x.string().optional().nullable().describe("\u7C7B\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u5E26 classname\uFF0C\u5982 ai_base / cost\uFF09"),modelcode:x.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:x.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),tablename:x.string().optional().nullable().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u90E8\u5206\u4E1A\u52A1\u6A21\u578B\u4E3A\u7A7A\uFF09"),updatetime:x.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:x.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:x.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:x.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:x.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),updateaccountcode:x.union([x.string(),x.number(),x.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(x.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:x.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:x.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:x.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:x.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{modelname:e="",directorytypecode:o="rootNode",dddlayer:i="1",page:r=1,rows:s=999}=t;try{let n=await ht({dddlayer:Number(i)||1,modelname:e,directorytypecode:o,page:Number(r)||1,rows:Number(s)||999,centercode:""});return F(n.resp_data)}catch(n){return M(n)}}},{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${H}\n${se}`,inputSchema:{keys:x.string().optional().describe("\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898\u3001modellogiccode\u3001\u6216\u8005\u884C\u4E3A\u65B9\u6CD5\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),keywords:x.string().optional().describe("\u5B8C\u6574 JSON (\u5185\u542B\u4EE3\u7801) \u4E2D\u7684\u5173\u952E\u5B57\uFF0C\u6A21\u7CCA\u5339\u914D"),page:x.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:x.string().optional().describe("\u5206\u9875\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),updateopname:x.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),updatetimestart:x.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4 - \u5F00\u59CB\u65F6\u95F4\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss\uFF0C\u548C\u6700\u8FD1\u4FEE\u6539\u7ED3\u675F\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0"),updatetimeend:x.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u65F6\u95F4 - \u7ED3\u675F\u65F6\u95F4\uFF0C\u683C\u5F0F\uFF1Ayyyy-MM-dd hh:mm:ss\uFF0C\u548C\u6700\u8FD1\u4FEE\u6539\u5F00\u59CB\u65F6\u95F4\u6210\u5BF9\u51FA\u73B0"),actiontype:x.string().optional().describe("\u64CD\u4F5C\u7C7B\u578B, \u6574\u6570, \u542B\u4E49\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3"),actioncategory:x.string().optional().describe("\u884C\u4E3A\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA"),tenantdbname:x.string().optional().describe("\u811A\u672C\u64CD\u4F5C\u6570\u636E\u5E93\u7684\u7C7B\u578B\uFF0C\u5B57\u7B26\u4E32\u679A\u4E3E\uFF0C\u679A\u4E3E\u503C\uFF1A\u53EA\u8BFB\u3001\u8BFB\u5199\u3001\u62A5\u8868"),jobstatus:x.string().optional().describe("\u5B9A\u65F6\u8C03\u5EA6\u4EFB\u52A1\u72B6\u6001\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B0-\u505C\u7528\uFF1B2-\u65E0\u8C03\u5EA6")},outputSchema:{data:x.array(x.object({actiontype:x.coerce.number().optional().nullable().describe("\u64CD\u4F5C\u7C7B\u578B, \u6574\u6570, \u542B\u4E49\uFF1A1-\u5217\u8868\u67E5\u8BE2\uFF1B2-\u5355\u4E2A\u67E5\u8BE2\uFF1B3-\u6570\u636E\u63D0\u4EA4\uFF1B4-\u6279\u91CF\u63D0\u4EA4\uFF1B5-\u5BFC\u5165\uFF1B6-\u5BFC\u51FA\uFF1B7-\u79BB\u7EBF\u6570\u636E\u83B7\u53D6\uFF1B8-\u6D41\u7A0B\uFF1B9-\u4E1A\u52A1\u8C03\u5EA6\uFF1B10-ipaas\u63A5\u53E3"),createtime:x.string().optional().nullable().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:x.coerce.number().optional().nullable().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801"),modelname:x.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u540D"),modellogiccode:x.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF0C\u548C metamodelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modellogicname:x.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u6807\u9898"),metamodelcode:x.string().optional().nullable().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modellogiccode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),execmode:x.coerce.number().optional().nullable().describe("\u6267\u884C\u65B9\u5F0F\uFF0C1-\u540C\u6B65\uFF1B2-\u5F02\u6B65"),functionname:x.string().optional().nullable().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u7684\u51FD\u6570\u547D\u540D\uFF08A\u4E1A\u52A1\u903B\u8F91\u4E2D\u8C03\u7528B\u4E1A\u52A1\u903B\u8F91\u65F6\u8981\u5199\u51FD\u6570\u540D\uFF09"),actioncategory:x.coerce.number().optional().nullable().describe("\u884C\u4E3A\u7C7B\u578B\uFF0C\u6574\u6570\uFF0C\u542B\u4E49\uFF1A1-flycode\u63A5\u53E3\uFF1B2-\u5FAE\u670D\u52A1\uFF1B3-\u5185\u90E8\u51FD\u6570\uFF1B4-\u5BFC\u5165\uFF1B5-\u5BFC\u51FA\uFF1B6-flycode\u5BFC\u5165\uFF1B7-flycode\u5BFC\u51FA"),modelcode:x.string().describe("\u6B64\u4E1A\u52A1\u903B\u8F91\u6240\u5C5E\u7684\u4E1A\u52A1\u6A21\u578B\u7684\u552F\u4E00\u7F16\u7801"),marktype:x.coerce.number().optional().nullable().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),updatetime:x.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountname:x.string().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),createaccountname:x.string().optional().nullable().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),seq:x.coerce.number().optional().nullable().describe("\u987A\u5E8F"),status:x.coerce.number().optional().nullable().describe("\u72B6\u6001\uFF0C1-\u542F\u7528"),confsource:x.coerce.number().optional().nullable().describe("\u914D\u7F6E\u6765\u6E90\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),updateaccountcode:x.coerce.number().optional().nullable().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u8D26\u53F7\u7684\u552F\u4E00\u7F16\u7801")}).catchall(x.unknown())).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:x.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:x.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:x.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:x.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keys:e="",keywords:o="",page:i=1,rows:r=20,updateopname:s="",updatetimestart:n="",updatetimeend:l="",actiontype:u="",actioncategory:a="",tenantdbname:d="",jobstatus:y=null}=t;try{let h=await bt({actioncategory:a,actiontype:u,centercode:"",directorytypecode:"rootNode",jobstatus:y,keys:e,keywords:o,modelcode:"rootNode",page:Number(i)||1,rows:Number(r)||20,tenantdbname:d,updateopname:s,updatetimeend:l,updatetimestart:n});return F(h.resp_data)}catch(h){return M(h)}}},{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${H}\n${se}\n${Ae}`,inputSchema:{modellogiccode:x.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 o=await X({modellogiccode:e});return F(o.resp_data)}catch(o){return M(o)}}}];import{z as N}from"zod";import{z as Ce}from"zod";var J=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 W(t){return{committype:t.committype,committypetext:t.committypetext,msgbody:t.msgbody??""}}function q(t,e="YYYY-MM-DD HH:mm:ss"){if(isNaN(t.getTime()))throw new Error("Invalid date provided");let o={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")},i=Object.keys(o).sort((s,n)=>n.length-s.length),r=e;for(let s of i)r=r.replace(new RegExp(s,"g"),o[s]);return r}function Je(t,e){let o=[],i=[];if(e==="exact"){for(let r=0;r<t.length;r++)o.push(t[r]),i.push(r);return{text:o.join(""),map:i}}for(let r=0;r<t.length;r++){let s=t[r];if(s==="\r"){o.push(`\n`),i.push(r),t[r+1]===`\n`&&r++;continue}if(s===" "||s===" "){let n=r;for(;n<t.length&&(t[n]===" "||t[n]===" ");)n++;if(n>=t.length||t[n]===`\n`||t[n]==="\r"){r=n-1;continue}o.push(s),i.push(r);continue}o.push(s),i.push(r)}return{text:o.join(""),map:i}}function G(t,e="normalized"){return Je(t,e).text}function We(t){return t.replace(/\r\n?/g,`\n`)}function Ge(t,e){let o=1,i=Math.min(e,t.length);for(let r=0;r<i;r++)t[r]===`\n`&&o++;return o}function Hn(t,e,o="normalized"){if(e.length===0)return[];let i=Je(t,o),r=Je(e,o);if(r.text.length===0)return[];let s=[],n=0;for(;;){let l=i.text.indexOf(r.text,n);if(l===-1)break;let u=i.map[l],a=i.map[l+r.text.length-1]+1;s.push({startOffset:u,endOffset:a,startLine:Ge(t,u),endLine:Ge(t,Math.max(a-1,0))}),n=l+r.text.length}return s}function Ot(t){let e=new Map;if(t.length<2)return t.length===1&&e.set(t,1),e;for(let o=0;o<t.length-1;o++){let i=t.slice(o,o+2);e.set(i,(e.get(i)??0)+1)}return e}function Un(t,e){if(t.size===0&&e.size===0)return 1;if(t.size===0||e.size===0)return 0;let o=0,[i,r]=t.size<=e.size?[t,e]:[e,t];for(let[n,l]of i){let u=r.get(n);u&&(o+=Math.min(l,u))}let s=0;for(let n of t.values())s+=n;for(let n of e.values())s+=n;return s===0?0:2*o/s}function Kn(t,e,o=3){let i=We(t).split(`\n`),r=We(e).split(`\n`);if(i.length===0||r.length===0)return[];let s=r.map(d=>d.trim()).join(`\n`),n=Ot(s),l=i.map(d=>d.trim()),u=new Map,a=new Set([r.length-1,r.length,r.length+1]);for(let d of a)if(!(d<1))for(let y=0;y+d<=i.length;y++){let h=l.slice(y,y+d).join(`\n`),_=Un(Ot(h),n);if(_<=.3)continue;let R=u.get(y);(!R||_>R.score)&&u.set(y,{score:_,preview:i.slice(y,y+d).join(`\n`).slice(0,120)})}return Array.from(u.entries()).map(([d,y])=>({startLine:d+1,score:Math.round(y.score*100)/100,preview:y.preview})).sort((d,y)=>y.score-d.score).slice(0,o)}function Vn(t){let e=(t.match(/\r\n/g)??[]).length,o=(t.match(/\n/g)??[]).length-e;return e>o?`\r\n`:`\n`}function Pt(t,e){let o=Vn(e);return t.replace(/\r\n?|\n/g,o)}var ae=40;function Yn(t,e,o,i=3){let r=We(t).split(`\n`),s=[],n=e.slice().sort((l,u)=>l.startOffset-u.startOffset);for(let l of n){let u=Math.max(1,l.startLine-i),a=Math.min(r.length,l.endLine+i),d=t.slice(l.startOffset,l.endOffset).split(`\n`).map(g=>g.replace(/\r$/,"")),y=o.split(`\n`),h=d.length,_=y.length,w=[["@@",`-${l.startLine},${h}`,`+${l.startLine},${_}`,"@@"].join(" ")];for(let g=u;g<l.startLine;g++)w.push(` ${r[g-1]}`);for(let g of d.slice(0,ae))w.push(`-${g}`);h>ae&&w.push(`... \u7701\u7565 ${h-ae} \u884C`);for(let g of y.slice(0,ae))w.push(`+${g}`);_>ae&&w.push(`... \u7701\u7565 ${_-ae} \u884C`);for(let g=l.endLine+1;g<=a;g++)w.push(` ${r[g-1]}`);s.push(w.join(`\n`))}return s.join(`\n`)}function De(t,e,o={}){let i=o.contextLines??3,r=o.topN??3,s=t.slice(),n=[],l=!1;for(let u=0;u<e.length;u++){let a=e[u],d=a.operationIndex??0,y=()=>({index:u,label:a.label??null,status:"FAILED",errorCode:"OK",message:null,operationIndex:d,matchCount:0,replacedCount:0,range:null,suggestions:null,dependentOnFailedOp:l,hunk:null}),h=(C,L,K={})=>{n.push({...y(),status:"FAILED",errorCode:C,message:L,...K}),l=!0};if(!Number.isInteger(d)||d<0||d>=s.length){h("NO_TARGET",`operationIndex=${d} \u4E0D\u5B58\u5728\uFF0C\u5F53\u524D\u5171\u6709 ${s.length} \u4E2A operation\uFF08\u53EF\u7528\u4E0B\u6807 0~${Math.max(s.length-1,0)}\uFF09`);continue}if(a.rewrite!==!0&&(typeof a.oldString!="string"||a.oldString.length===0)){h("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(a.replaceAll===!0&&a.occurrence!=null){h("INVALID_PARAMS","replaceAll \u4E0E occurrence \u4E92\u65A5\uFF0C\u53EA\u80FD\u4E8C\u9009\u4E00");continue}if(a.rewrite===!0){if(typeof a.newString!="string"){h("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 C=s[d],L=Pt(a.newString,C),K=Ge(C,C.length);s[d]=L,n.push({...y(),status:"OK",errorCode:"OK",matchCount:1,replacedCount:1,range:{startOffset:0,endOffset:C.length,startLine:1,endLine:K},hunk:`\u6574\u4EFD\u66FF\u6362\uFF1A${C.length} \u2192 ${L.length} \u5B57\u7B26\uFF08rewrite \u6A21\u5F0F\uFF0C\u672A\u56DE\u663E\u65E7\u5168\u6587\uFF09`});continue}let _=a.matchMode??"normalized",R=s[d],w=Hn(R,a.oldString,_);if(w.length===0){h("NOT_FOUND",`oldString \u5728 operation[${d}] \u7684\u811A\u672C\u4E2D\u672A\u5339\u914D\u5230\u4EFB\u4F55\u5185\u5BB9\uFF08matchMode=${_}\uFF09`,{suggestions:Kn(R,a.oldString,r)});continue}let g;if(a.replaceAll===!0)g=w;else if(a.occurrence!=null){if(!Number.isInteger(a.occurrence)||a.occurrence<1||a.occurrence>w.length){h("OCCURRENCE_OUT_OF_RANGE",`occurrence=${a.occurrence} \u8D8A\u754C\uFF0C\u5B9E\u9645\u5339\u914D\u6570\u4E3A ${w.length}`,{matchCount:w.length});continue}g=[w[a.occurrence-1]]}else if(w.length>1){let C=w.map(L=>`\u7B2C ${L.startLine}~${L.endLine} \u884C`).join("\u3001");h("NOT_UNIQUE",`oldString \u5339\u914D\u5230 ${w.length} \u5904\uFF08${C}\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:w.length});continue}else g=w;let b=Pt(a.newString,R),S=R;for(let C=g.length-1;C>=0;C--)S=S.slice(0,g[C].startOffset)+b+S.slice(g[C].endOffset);let v=Yn(R,g,b,i);s[d]=S,n.push({...y(),status:"OK",errorCode:"OK",matchCount:w.length,replacedCount:g.length,range:g[0],hunk:v})}return{scripts:s,results:n,ok:n.length>0&&n.every(u=>u.status==="OK")}}async function St(t,e){e.committype==="saverecord"&&(e.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{return(await ve(t)).resp_data}catch(o){return D(o)}}function le(t,e){return(e==="input"?t.input:t.output)??[]}function ye(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 ne(t){let e=U(t.field)?t.field:void 0,o=U(t.column)?t.column:void 0;return{fieldKey:e,colKey:o}}function ee(t,e,o){return e!==void 0&&t?.field===e||o!==void 0&&e===void 0&&t?.column===o}function U(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}async function zn(t,e,o){let i=(s={})=>({index:o,op:e.op,status:"OK",errorCode:"OK",message:null,...s}),r=(s,n,l={})=>({index:o,op:e.op,status:"FAILED",errorCode:s,message:n,...l});switch(e.op){case"add_param":{let s=le(t,e.target);if(U(e.param.name)&&s.some(l=>l?.name===e.param.name))return r("DUP_NAME",`target=${e.target} \u4E2D\u5DF2\u5B58\u5728 name=${e.param.name} \u7684\u53C2\u6570\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let n=e.position??s.length;return s.splice(n,0,e.param),e.target==="input"?t.input=s:t.output=s,i({message:`\u5DF2\u5728 ${e.target} \u7684 position=${n} \u8FFD\u52A0\u53C2\u6570 ${e.param.name??"(\u672A\u547D\u540D)"}`})}case"remove_param":{let s=le(t,e.target),n=s.filter(u=>u?.name===e.name);if(n.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`);if(n.length>1)return r("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let l=s.findIndex(u=>u?.name===e.name);return s.splice(l,1),e.target==="input"?t.input=s:t.output=s,i({message:`\u5DF2\u4ECE ${e.target} \u79FB\u9664\u53C2\u6570 ${e.name}`})}case"set_param_attrs":{let n=le(t,e.target).filter(l=>l?.name===e.name);return n.length===0?r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.name} \u7684\u53C2\u6570`):n.length>1?r("DUP_NAME",`name=${e.name} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(n[0],e.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230 ${e.target} \u53C2\u6570 ${e.name}`}))}case"add_property":{let n=le(t,e.target).filter(_=>_?.name===e.paramName);if(n.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(n.length>1)return r("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let l=n[0],u=l.properties??(l.properties=[]),a=U(e.property.name)?e.property.name:void 0,d=U(e.property.propertycode)?e.property.propertycode:void 0,y=u.find(_=>a!==void 0&&_?.name===a||d!==void 0&&_?.propertycode===d);if(y){let _=a!==void 0&&y?.name===a?`name=${a}`:`propertycode=${d}`;return r("DUP_NAME",`\u53C2\u6570 ${e.paramName} \u4E2D\u5DF2\u5B58\u5728 ${_} \u7684\u5C5E\u6027\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`)}let h=e.position??u.length;return u.splice(h,0,e.property),i({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u7684 position=${h} \u8FFD\u52A0\u5C5E\u6027 ${e.property.name??e.property.propertycode??"(\u672A\u547D\u540D)"}`})}case"remove_property":{let s=U(e.propertyName)?e.propertyName:void 0,n=U(e.propertyCode)?e.propertyCode:void 0;if(s===void 0&&n===void 0)return r("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 u=le(t,e.target).filter(R=>R?.name===e.paramName);if(u.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(u.length>1)return r("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${u.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let d=u[0].properties??[],y=R=>s!==void 0&&R?.name===s||n!==void 0&&R?.propertycode===n,h=d.filter(y);if(h.length===0)return r("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(h.length>1)return r("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${h.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let _=d.findIndex(y);return d.splice(_,1),i({message:`\u5DF2\u4ECE ${e.target}.${e.paramName} \u79FB\u9664\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"replace_property":{let s=U(e.propertyName)?e.propertyName:void 0,n=U(e.propertyCode)?e.propertyCode:void 0;if(s===void 0&&n===void 0)return r("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 u=le(t,e.target).filter(R=>R?.name===e.paramName);if(u.length===0)return r("PARAM_NOT_FOUND",`target=${e.target} \u4E2D\u672A\u627E\u5230 name=${e.paramName} \u7684\u53C2\u6570`);if(u.length>1)return r("DUP_NAME",`name=${e.paramName} \u5728 ${e.target} \u4E2D\u51FA\u73B0 ${u.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let d=u[0].properties??[],y=R=>s!==void 0&&R?.name===s||n!==void 0&&R?.propertycode===n,h=d.filter(y);if(h.length===0)return r("PROP_NOT_FOUND",`\u53C2\u6570 ${e.paramName} \u4E2D\u672A\u627E\u5230\u5339\u914D\u5C5E\u6027`);if(h.length>1)return r("DUP_NAME",`\u5C5E\u6027\u5728\u53C2\u6570 ${e.paramName} \u4E2D\u5339\u914D\u5230 ${h.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let _=d.findIndex(y);return d[_]=e.property,i({message:`\u5DF2\u5728 ${e.target}.${e.paramName} \u66FF\u6362\u5C5E\u6027 ${e.propertyName??e.propertyCode}`})}case"set_meta":{let s=["input","output","operations"].filter(n=>n in e.patch);return s.length>0?r("INVALID_PARAMS",`set_meta \u4E0D\u80FD\u4FEE\u6539 ${s.join("/")}\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7684 param/property \u7C7B op`):(Object.assign(t,e.patch),i({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 s=ye(t);if(s===null)return r("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:n,colKey:l}=ne(e.column);if(n!==void 0&&s.some(a=>a?.field===n))return r("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 field=${n} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);if(l!==void 0&&n===void 0&&s.some(a=>a?.column===l))return r("DUP_NAME",`bindcols \u4E2D\u5DF2\u5B58\u5728 column=${l} \u7684\u5217\uFF0C\u65E0\u6CD5\u91CD\u590D\u6DFB\u52A0`);let u=e.position??s.length;return s.splice(u,0,e.column),i({message:`\u5DF2\u5728 bindcols \u7684 position=${u} \u8FFD\u52A0\u5BFC\u51FA\u5217 ${n??l??"(\u672A\u547D\u540D)"}`})}case"remove_export_column":{let{fieldKey:s,colKey:n}=ne(e);if(s===void 0&&n===void 0)return r("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 l=ye(t);if(l===null)return r("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 u=l.filter(d=>ee(d,s,n));if(u.length===0)return r("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(u.length>1)return r("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${u.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00\uFF08field/column \u7EC4\u5408\u4E0D\u8DB3\u4EE5\u552F\u4E00\u5B9A\u4F4D\uFF09`);let a=l.findIndex(d=>ee(d,s,n));return l.splice(a,1),i({message:`\u5DF2\u4ECE bindcols \u79FB\u9664\u5BFC\u51FA\u5217 ${s??n}`})}case"replace_export_column":{let{fieldKey:s,colKey:n}=ne(e);if(s===void 0&&n===void 0)return r("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 l=ye(t);if(l===null)return r("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 u=l.filter(d=>ee(d,s,n));if(u.length===0)return r("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217");if(u.length>1)return r("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${u.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`);let a=l.findIndex(d=>ee(d,s,n));return l[a]=e.newColumn,i({message:`\u5DF2\u5728 bindcols \u66FF\u6362\u5BFC\u51FA\u5217 ${s??n}`})}case"set_export_column_attrs":{let{fieldKey:s,colKey:n}=ne(e);if(s===void 0&&n===void 0)return r("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 l=ye(t);if(l===null)return r("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 u=l.filter(a=>ee(a,s,n));return u.length===0?r("PROP_NOT_FOUND","bindcols \u4E2D\u672A\u627E\u5230\u5339\u914D\u7684\u5BFC\u51FA\u5217"):u.length>1?r("DUP_NAME",`\u5BFC\u51FA\u5217\u5339\u914D\u5230 ${u.length} \u4E2A\uFF0C\u4E0D\u552F\u4E00`):(Object.assign(u[0],e.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u5BFC\u51FA\u5217 ${s??n}`}))}case"set_bind_meta":{if(ye(t)===null)return r("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 r("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 n=t.bindjson;return n?(Object.assign(n,e.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A bindjson \u9876\u5C42\u5B57\u6BB5`})):r("INVALID_PARAMS","bindjson \u7F3A\u5931\uFF0C\u65E0\u6CD5\u6267\u884C set_bind_meta")}default:return r("OP_ERROR",`\u672A\u77E5 op \u7C7B\u578B\uFF1A${e.op}`)}}function qn(t){let e=t.map(i=>`ops[${i.index}] ${i.op} (${i.status}): ${i.message??""}`).join(`\n`),o=e.split(`\n`);return o.length<=Ee?e:`${o.slice(0,Ee).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${o.length} \u884C\uFF09`}function Bn(t,e){let o=[],i=r=>(r==="input"?t.input:t.output)??[];for(let r=0;r<e.length;r++){let s=e[r];switch(s.op){case"set_meta":for(let[n,l]of Object.entries(s.patch))JSON.stringify(t[n])!==JSON.stringify(l)&&o.push(`ops[${r}] set_meta.${n} \u672A\u751F\u6548`);break;case"add_param":{i(s.target).some(l=>l?.name===s.param.name)||o.push(`ops[${r}] add_param \u53C2\u6570\u672A\u8FFD\u52A0`);break}case"remove_param":{i(s.target).some(l=>l?.name===s.name)&&o.push(`ops[${r}] remove_param \u53C2\u6570\u4ECD\u5B58\u5728`);break}case"set_param_attrs":{let l=i(s.target).find(u=>u?.name===s.name);if(!l){o.push(`ops[${r}] set_param_attrs \u53C2\u6570\u6D88\u5931`);break}for(let[u,a]of Object.entries(s.patch))JSON.stringify(l[u])!==JSON.stringify(a)&&o.push(`ops[${r}] set_param_attrs.${u} \u672A\u751F\u6548`);break}case"add_property":{let l=i(s.target).find(h=>h?.name===s.paramName);if(!l){o.push(`ops[${r}] add_property \u53C2\u6570\u6D88\u5931`);break}let u=l.properties??[],a=U(s.property.name)?s.property.name:void 0,d=U(s.property.propertycode)?s.property.propertycode:void 0;u.some(h=>a!==void 0&&h?.name===a||d!==void 0&&h?.propertycode===d)||o.push(`ops[${r}] add_property \u5C5E\u6027\u672A\u8FFD\u52A0`);break}case"remove_property":{let l=i(s.target).find(h=>h?.name===s.paramName);if(!l){o.push(`ops[${r}] remove_property \u53C2\u6570\u6D88\u5931`);break}let u=l.properties??[],a=U(s.propertyName)?s.propertyName:void 0,d=U(s.propertyCode)?s.propertyCode:void 0,y=h=>a!==void 0&&h?.name===a||d!==void 0&&h?.propertycode===d;u.some(y)&&o.push(`ops[${r}] remove_property \u5C5E\u6027\u4ECD\u5B58\u5728`);break}case"replace_property":{let l=i(s.target).find(_=>_?.name===s.paramName);if(!l){o.push(`ops[${r}] replace_property \u53C2\u6570\u6D88\u5931`);break}let u=l.properties??[],a=U(s.propertyName)?s.propertyName:void 0,d=U(s.propertyCode)?s.propertyCode:void 0,y=_=>a!==void 0&&_?.name===a||d!==void 0&&_?.propertycode===d,h=u.find(y);if(!h){o.push(`ops[${r}] replace_property \u5C5E\u6027\u6D88\u5931`);break}for(let[_,R]of Object.entries(s.property))JSON.stringify(h[_])!==JSON.stringify(R)&&o.push(`ops[${r}] replace_property.${_} \u672A\u751F\u6548`);break}case"add_export_column":{let n=t.bindjson?.bindcols??[],l=U(s.column.field)?s.column.field:void 0,u=U(s.column.column)?s.column.column:void 0;n.some(d=>ee(d,l,u))||o.push(`ops[${r}] add_export_column \u5217\u672A\u8FFD\u52A0`);break}case"remove_export_column":{let n=t.bindjson?.bindcols??[],{fieldKey:l,colKey:u}=ne(s);n.some(a=>ee(a,l,u))&&o.push(`ops[${r}] remove_export_column \u5217\u4ECD\u5B58\u5728`);break}case"replace_export_column":{let n=t.bindjson?.bindcols??[],{fieldKey:l,colKey:u}=ne(s),a=n.find(d=>ee(d,l,u));if(!a){o.push(`ops[${r}] replace_export_column \u5217\u6D88\u5931`);break}for(let[d,y]of Object.entries(s.newColumn))JSON.stringify(a[d])!==JSON.stringify(y)&&o.push(`ops[${r}] replace_export_column.${d} \u672A\u751F\u6548`);break}case"set_export_column_attrs":{let n=t.bindjson?.bindcols??[],{fieldKey:l,colKey:u}=ne(s),a=n.find(d=>ee(d,l,u));if(!a){o.push(`ops[${r}] set_export_column_attrs \u5217\u6D88\u5931`);break}for(let[d,y]of Object.entries(s.patch))JSON.stringify(a[d])!==JSON.stringify(y)&&o.push(`ops[${r}] set_export_column_attrs.${d} \u672A\u751F\u6548`);break}case"set_bind_meta":{let n=t.bindjson;if(!n){o.push(`ops[${r}] set_bind_meta bindjson \u672A\u751F\u6548`);break}for(let[l,u]of Object.entries(s.patch))JSON.stringify(n[l])!==JSON.stringify(u)&&o.push(`ops[${r}] set_bind_meta.${l} \u672A\u751F\u6548`);break}}}return{verified:o.length===0,problems:o}}async function Nt(t,e,o,i={}){let r=i.dryRun??!1,s=i.verify??!0,n=(w,g)=>({ok:!1,applied:!1,verified:null,errorCode:w,message:g,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return n("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let l;try{l=(await X({modellogiccode:t})).resp_data}catch(w){return n("FETCH_FAILED",D(w))}if(!l)return n("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);let u=structuredClone(l),a=[],d=!1;for(let w=0;w<e.length;w++)try{let g=await zn(u,e[w],w);a.push(g),g.status==="FAILED"&&(d=!0)}catch(g){a.push({index:w,op:e[w].op,status:"FAILED",errorCode:"OP_ERROR",message:D(g)}),d=!0}let y=qn(a);if(d){let w=a.filter(g=>g.status==="FAILED").map(g=>g.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${a.filter(g=>g.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${w}]\uFF09\u3002\u672C\u6279\u6B21\u672A\u4EA7\u751F\u4EFB\u4F55\u5199\u5165\uFF0C\u8BF7\u6839\u636E ops[].message \u4FEE\u6B63\u540E\u91CD\u8BD5`,diff:y,ops:a}}if(r)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:a};o.committype==="saverecord"&&(o.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),u.message=JSON.stringify(o);let h;try{let w=await ve(u);h=typeof w?.resp_data=="string"?w.resp_data:JSON.stringify(w?.resp_data??null)}catch(w){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(w),diff:y,ops:a}}let _=null,R=h;if(s)try{let g=(await X({modellogiccode:t})).resp_data;if(!g)_=!1,R=`${h} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let b=Bn(g,e);_=b.verified,b.verified||(R=`${h} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${b.problems.join("\uFF1B")}`)}}catch(w){_=!1,R=`${h} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(w)}`}return{ok:_===null?!0:_,applied:!0,verified:_,errorCode:_===!1?"VERIFY_FAILED":"OK",message:R,diff:y,ops:a}}var Ee=150;function Jn(t){let e=t.filter(r=>r.hunk).map(r=>`--- ops[${r.index}]${r.label?` (${r.label})`:""} @ operation[${r.operationIndex}]\n${r.hunk}`);if(e.length===0)return"";let o=e.join(`\n`),i=o.split(`\n`);return i.length<=Ee?o:`${i.slice(0,Ee).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${i.length} \u884C\uFF09`}async function Wn(t,e){e.committype==="saverecord"&&(e.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),t.message=JSON.stringify(e);try{let o=await ve(t);return{ok:!0,text:typeof o?.resp_data=="string"?o.resp_data:JSON.stringify(o?.resp_data??null)}}catch(o){return{ok:!1,text:D(o)}}}async function It(t,e,o,i={}){let r=i.contextLines??3,s=i.dryRun??!1,n=i.verify??!0,l=(b,S)=>({ok:!1,applied:!1,verified:null,errorCode:b,message:S,lengthBefore:0,lengthAfter:0,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return l("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let u;try{u=(await X({modellogiccode:t})).resp_data}catch(b){return l("FETCH_FAILED",D(b))}if(!u)return l("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${t} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`);if(!u.operations||u.operations.length===0)return l("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 a=u.operations.map(b=>b.templateparams?.flycode??""),d=a.reduce((b,S)=>b+S.length,0),y=De(a,e,{contextLines:r}),h=Jn(y.results),_=y.scripts.reduce((b,S)=>b+S.length,0);if(!y.ok){let b=y.results.filter(v=>v.status==="FAILED"),S=b.map(v=>v.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${b.length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${S}]\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:d,lengthAfter:_,diff:h,ops:y.results}}if(s)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:d,lengthAfter:_,diff:h,ops:y.results};for(let b=0;b<y.scripts.length;b++)if(y.scripts[b]!==a[b]){let S=u.operations[b].templateparams;u.operations[b].templateparams={...S??{},flycode:y.scripts[b]}}let R=await Wn(u,o);if(!R.ok)return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:R.text,lengthBefore:d,lengthAfter:_,diff:h,ops:y.results};let w=null,g=R.text;if(n)try{let v=((await X({modellogiccode:t})).resp_data?.operations??[]).map(L=>L.templateparams?.flycode??""),C=[];y.results.forEach((L,K)=>{let j=e[K],z=v[L.operationIndex]??"",V=j.matchMode??"normalized",Y=G(z,V),pe=G(j.newString,V),me=G(j.oldString,V);j.newString.length>0&&!Y.includes(pe)&&C.push(`ops[${K}] \u7684\u65B0\u5185\u5BB9\u672A\u51FA\u73B0\u5728\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`),!pe.includes(me)&&Y.includes(me)&&C.push(`ops[${K}] \u7684 oldString \u4ECD\u7136\u5B58\u5728\u4E8E\u4FDD\u5B58\u540E\u7684\u811A\u672C\u4E2D`)}),w=C.length===0,C.length>0&&(g=`${R.text} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${C.join("\uFF1B")}`)}catch(b){w=!1,g=`${R.text} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(b)}`}return{ok:w===null?!0:w,applied:!0,verified:w,errorCode:w===!1?"VERIFY_FAILED":"OK",message:g,lengthBefore:d,lengthAfter:_,diff:h,ops:y.results}}var At=[{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${H}`,inputSchema:{logic:wt.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:J.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:N.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:o}=t,i=W(o);try{let r=await St(e,i);return{content:[{type:"text",text:r}],structuredContent:{result:r}}}catch(r){let s=D(r);return{isError:!0,content:[{type:"text",text:s}],structuredContent:{result:s}}}}},{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${H}\n${se}\n${Ae}`,inputSchema:{modellogiccode:N.string().describe("\u76EE\u6807\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:N.array(kt).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:J.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:N.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:N.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:N.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:N.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:N.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:N.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:N.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),diff:N.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:N.array(N.object({index:N.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:N.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:N.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:N.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801\uFF1AOK / PARAM_NOT_FOUND / PROP_NOT_FOUND / DUP_NAME / INVALID_PARAMS / OP_ERROR"),message:N.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:o,dryRun:i=!1,verify:r=!0}=t,s=t.ops,n=W(o);try{let l=await Nt(e,s,n,{dryRun:i,verify:r});return{isError:!l.ok,content:[{type:"text",text:JSON.stringify(l)}],structuredContent:l}}catch(l){let u=D(l);return{isError:!0,content:[{type:"text",text:u}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:u,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:N.string().describe("\u8981\u4FEE\u6539\u7684\u4E1A\u52A1\u903B\u8F91\u7684\u7F16\u7801\uFF08\u5373 get_model_logic \u8FD4\u56DE\u7684 modellogiccode\uFF09"),ops:N.array(N.object({oldString:N.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:N.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:N.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:N.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:N.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:N.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:N.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:N.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:J.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:N.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:N.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:N.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:N.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:N.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u4EFB\u4E00 op \u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:N.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:N.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / EMPTY_OPS / FETCH_FAILED / NO_OPERATIONS / OPS_FAILED / SAVE_FAILED / VERIFY_FAILED"),message:N.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u5931\u8D25\u65F6\u7ED9\u51FA\u53EF\u76F4\u63A5\u6267\u884C\u7684\u5904\u7406\u5EFA\u8BAE"),lengthBefore:N.coerce.number().describe("\u66FF\u6362\u524D\u811A\u672C\u603B\u5B57\u7B26\u6570"),lengthAfter:N.coerce.number().describe("\u66FF\u6362\u540E\u811A\u672C\u603B\u5B57\u7B26\u6570"),diff:N.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:N.array(N.object({index:N.coerce.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),label:N.string().nullable().describe("\u8C03\u7528\u65B9\u4F20\u5165\u7684\u6807\u8BC6"),status:N.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:N.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:N.string().nullable().describe("\u5931\u8D25\u539F\u56E0\u8BF4\u660E\uFF0C\u6210\u529F\u65F6\u4E3A null"),operationIndex:N.coerce.number().describe("\u5B9E\u9645\u4F5C\u7528\u7684 operation \u4E0B\u6807"),matchCount:N.coerce.number().describe("oldString \u7684\u5339\u914D\u603B\u6570"),replacedCount:N.coerce.number().describe("\u5B9E\u9645\u66FF\u6362\u7684\u5904\u6570"),range:N.object({startOffset:N.coerce.number().describe("\u8D77\u59CB\u5B57\u7B26\u504F\u79FB"),endOffset:N.coerce.number().describe("\u7ED3\u675F\u5B57\u7B26\u504F\u79FB\uFF08\u4E0D\u542B\uFF09"),startLine:N.coerce.number().describe("\u8D77\u59CB\u884C\u53F7\uFF0C1-based"),endLine:N.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:N.array(N.object({startLine:N.coerce.number().describe("\u5019\u9009\u7247\u6BB5\u8D77\u59CB\u884C\u53F7"),score:N.coerce.number().describe("\u76F8\u4F3C\u5EA6\uFF0C0~1"),preview:N.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:N.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:N.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:o,commitMessage:i,dryRun:r=!1,contextLines:s=3,verify:n=!0}=t,l=W(i);try{let u=await It(e,o,l,{dryRun:r,contextLines:s,verify:n});return{isError:!u.ok,content:[{type:"text",text:JSON.stringify({ok:u.ok,applied:u.applied,verified:u.verified,errorCode:u.errorCode,message:u.message,ops:u.ops.map(a=>({index:a.index,status:a.status,errorCode:a.errorCode,message:a.message,operationIndex:a.operationIndex,matchCount:a.matchCount,replacedCount:a.replacedCount,range:a.range,suggestions:a.suggestions,dependentOnFailedOp:a.dependentOnFailedOp})),diff:u.diff})}],structuredContent:u}}catch(u){let a=D(u);return{isError:!0,content:[{type:"text",text:a}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:a,lengthBefore:0,lengthAfter:0,diff:"",ops:[]}}}}}];import{z as k}from"zod";function vt(t){return E({url:"/bizserv/biz/pageList",method:"post",data:t,type:"tenant"})}function ce(t){return E({url:"/bizserv/biz/getBizObject",method:"post",data:t,type:"tenant"})}function Ct(t){return E({url:"/bizserv/biz/saveObject",method:"post",data:t,type:"tenant"})}var be={ENTITY:"1",FORM:"3"};function $e(t){return E({url:"/bizserv/biz/getDirectorys",method:"post",data:t,type:"tenant"})}function T(t){return t==null?"":String(t)}function he(t,e){return T(t).toLowerCase().includes(e)}function _e(t,e={}){let o=Array.isArray(t)?t:[],i=T(e.keys).trim(),r=T(e.directorytypecode).trim(),s=T(e.parentdirectorytypecode).trim(),n=T(e.centercode).trim(),l=T(e.centername).trim(),u=T(e.marktype).trim(),a=i.toLowerCase(),d=j=>T(j.parentdirectorytypecode).trim()==="",y=s.toLowerCase()==="root",h=o.filter(j=>{if(r&&T(j.directorytypecode).trim()!==r)return!1;if(y){if(!d(j))return!1}else if(s&&T(j.parentdirectorytypecode).trim()!==s)return!1;return!(n&&T(j.centercode).trim()!==n||l&&!he(j.centername,l.toLowerCase())||u&&T(j.marktype).trim()!==u||a&&!(he(j.directorytypename,a)||he(j.directoryname,a)||he(j.centername,a)||he(j.directorytypecode,a)))}),_=!!(a||r||s||n||l),R=h,w=null;if(_||(R=h.filter(d),w=`\u63A5\u53E3\u4E0D\u652F\u6301\u5206\u9875\u4E14\u5168\u91CF ${o.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`),a){let j=z=>{let V=T(z.directorytypename).toLowerCase(),Y=T(z.directoryname).toLowerCase();return V===a||Y===a?0:V.startsWith(a)||Y.startsWith(a)?1:2};R=[...R].sort((z,V)=>{let Y=j(z)-j(V);if(Y!==0)return Y;let pe=T(z.directorytypename).length,me=T(V.directorytypename).length;return pe!==me?pe-me:T(z.directorytypecode).localeCompare(T(V.directorytypecode))})}else R=[...R].sort((j,z)=>{let V=T(j.directorytypecode),Y=T(z.directorytypecode);return V.length!==Y.length?V.length-Y.length:V.localeCompare(Y)});let g=Number(e.limit),b=Number.isFinite(g)&&g>0?Math.min(Math.floor(g),200):30,S=Number(e.offset),v=Number.isFinite(S)&&S>0?Math.floor(S):0,C=R.slice(v,v+b),L=v+C.length<R.length,K=[];return w&&K.push(w),Number.isFinite(g)&&g>200&&K.push(`limit ${g} \u8D85\u8FC7\u786C\u4E0A\u9650 200\uFF0C\u5DF2\u6309 200 \u5904\u7406\u3002`),L&&K.push(`\u547D\u4E2D ${R.length} \u6761\uFF0C\u672C\u6B21\u8FD4\u56DE\u7B2C ${v+1}-${v+C.length} \u6761\uFF1B\u8BF7\u7F29\u5C0F keys \u8303\u56F4\u6216\u8C03\u5927 offset \u7EE7\u7EED\u7FFB\u9875\u3002`),R.length===0&&K.push(`\u672A\u547D\u4E2D\u4EFB\u4F55\u76EE\u5F55\uFF08\u63A5\u53E3\u5168\u91CF ${o.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:o.length,total:R.length,returned:C.length,offset:v,limit:b,truncated:L,hint:K.length>0?K.join(" "):null,items:C.map(Gn)}}function Gn(t){let e=t.directorytypename??null,o=T(t.directoryname),i=T(t.parentdirectorytypecode).trim(),r=T(t.centername).trim(),s={directorytypecode:T(t.directorytypecode),directorytypename:e};o&&o!==T(e)&&(s.directoryname=o),i&&(s.parentdirectorytypecode=i),r&&(s.centername=r);let n=Number(t.marktype);return Number.isFinite(n)&&t.marktype!==null&&t.marktype!==void 0&&(s.marktype=n),s}import{z as P}from"zod";var Qn=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())),Zn={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:Qn.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")},Dt=P.looseObject(Zn);var Et=[{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${H}\n${te}`,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:o=1,rows:i=20,updatetimestart:r="",updatetimeend:s="",datapattern:n="",objecttypecode:l=""}=t;try{let u=await vt({centercode:"",directorytypecode:"rootNode",starttime:"",objectname:e,page:Number(o)||1,rows:Number(i)||20,updatetimestart:r,updatetimeend:s,datapattern:n,objecttypecode:l});return F(u.resp_data)}catch(u){return M(u)}}},{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${H}\n${te}`,inputSchema:{objectcode:k.string().describe("\u8981\u67E5\u8BE6\u60C5\u7684\u5B9E\u4F53\u7684\u7F16\u7801")},outputSchema:Dt,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{objectcode:e}=t;try{let o=await ce({objectcode:e});return F(o.resp_data)}catch(o){return M(o)}}},{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${te}`,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:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u,directorycategory:a=be.ENTITY}=t;try{let d=await $e({directorycategory:String(a||be.ENTITY)}),y=Array.isArray(d?.resp_data)?d.resp_data:[];return F(_e(y,{keys:e,directorytypecode:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u}))}catch(d){return M(d)}}}];import{z as O}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,o,i=15778368e5){if(e>this.maxWorkerId||e<0)throw new Error(`workerId \u5FC5\u987B\u5728 0 ~ ${this.maxWorkerId} \u4E4B\u95F4`);if(o>this.maxDatacenterId||o<0)throw new Error(`datacenterId \u5FC5\u987B\u5728 0 ~ ${this.maxDatacenterId} \u4E4B\u95F4`);this.workerId=BigInt(e),this.datacenterId=BigInt(o),this.epoch=BigInt(i)}nextId(){let e=this.currentTimestamp();if(e<this.lastTimestamp){let i=this.lastTimestamp-e;if(i<=5n)for(;e<this.lastTimestamp;)e=this.currentTimestamp();else throw new Error(`\u65F6\u949F\u56DE\u62E8\u8FC7\u5927: ${i}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 o=this.currentTimestamp();for(;o<=e;)o=this.currentTimestamp();return o}currentTimestamp(){return BigInt(Date.now())}parse(e){let o=(e>>BigInt(this.timestampShift))+this.epoch,i=e>>BigInt(this.datacenterIdShift)&BigInt(this.maxDatacenterId),r=e>>BigInt(this.workerIdShift)&BigInt(this.maxWorkerId),s=e&BigInt(this.sequenceMask);return{timestamp:o,datacenterId:i,workerId:r,sequence:s,generateTime:new Date(Number(o))}}},Xn=1,er=1,tr=new Qe(Xn,er),Re=()=>tr.nextId();var nr="3",rr=new Set(["200000000000","100000000000","10000000000","300000000000","1000000000"]);function Me(t){return String(t??"")===nr}function $t(t){return t?rr.has(t):!1}function or(t){let e=String(t.datapattern??"");return e==="3"||e==="4"}function Te(t,e,o={}){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:"",...o}}function Ze(t,e){let o={propertycode:Re().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&&(o.seq=null),o}function ir(t){let e={...t};return e.committype==="saverecord"&&(e.msgbody=q(new Date,"YYYY-MM-DD HH:mm")),{message:JSON.stringify(e),edittime:q(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:!1}}function we(t){return Me(t)?1:2}function sr(t){let e=Me(t.objecttypecode);return{objectcode:Re().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:we(t.objecttypecode),properties:[]}}function ar(t){let e=t.initialFields??[],o=e.some(r=>r.propertytypecode==="1"),i=[];o||i.push(Ze({propertyname:"\u4E3B\u952E",columnname:"id",propertytypecode:"1",idxtype:"2",ismaster:"0"},{seq:!1}));for(let r of e)i.push(Ze(r,{seq:!1}));return i}async function Ft(t,e){let o=ir(e),i={...t,...o},r=await Ct(i);return typeof r.resp_data=="string"?r.resp_data:JSON.stringify(r.resp_data??null)}async function lr(t){try{let o=(await ce({objectcode:t.objectcode}))?.resp_data;if(!o)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let i=[];return o.objectname!==t.objectname&&i.push("objectname \u4E0D\u4E00\u81F4"),String(o.objecttypecode??"")!==String(t.objecttypecode)&&i.push("objecttypecode \u4E0D\u4E00\u81F4"),String(o.directorytypecode??"")!==String(t.directorytypecode)&&i.push("directorytypecode \u4E0D\u4E00\u81F4"),{verified:i.length===0,problems:i}}catch(e){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(e)]}}}async function cr(t,e){try{let i=(await ce({objectcode:t}))?.resp_data;if(!i)return{verified:!1,problems:["\u56DE\u8BFB\u67E5\u8BE2\u4E3A\u7A7A"]};let r=Array.isArray(i.properties)?i.properties:[],s=[];for(let n of e){let l=r.find(u=>String(u.propertycode??"")===String(n.propertycode));if(!l){s.push(`\u65B0\u589E\u5C5E\u6027 ${n.propertycode} (${n.propertyname}) \u672A\u51FA\u73B0\u5728\u56DE\u8BFB\u7ED3\u679C`);continue}l.propertyname!==n.propertyname&&s.push(`\u5C5E\u6027 ${n.propertycode} \u7684 propertyname \u4E0D\u4E00\u81F4`),String(l.columnname??"")!==String(n.columnname)&&s.push(`\u5C5E\u6027 ${n.propertycode} \u7684 columnname \u4E0D\u4E00\u81F4`)}return{verified:s.length===0,problems:s}}catch(o){return{verified:!1,problems:["\u56DE\u8BFB\u5931\u8D25\uFF1A"+D(o)]}}}async function Tt(t,e,o={}){let i=o.dryRun!==!1,r=o.confirm===!0,s=o.verify!==!1,n=t.initialFields??[];for(let g of n){if(!g.propertyname||!g.propertytypecode||!g.columnname)return Te("INVALID_PARAMS","initialFields \u4E2D\u6BCF\u4E2A\u5B57\u6BB5\u5FC5\u987B\u5305\u542B propertyname / propertytypecode / columnname",{entityName:t.objectname});if($t(g.propertytypecode)&&!g.relationobjectcode)return Te("INVALID_PARAMS",`\u5173\u8054\u7C7B\u578B\u5B57\u6BB5(propertytypecode=${g.propertytypecode}) \u5FC5\u987B\u63D0\u4F9B relationobjectcode`,{entityName:t.objectname})}let l=Me(t.objecttypecode),u=sr(t),a=l?[]:ar(t),d={...u,properties:a},y=[];if(y.push(`\u5B9E\u4F53 ${t.objectname} (objecttypecode=${t.objecttypecode}, tablename=${t.tablename})`),l)y.push("\u6570\u636E\u5B57\u5178\uFF1A\u5B57\u6BB5\u7531\u5E73\u53F0\u9884\u7F6E\uFF0Cproperties \u56FA\u5B9A\u4E3A\u7A7A");else{y.push(`properties: ${a.length} \u4E2A\uFF08\u542B\u9ED8\u8BA4\u4E3B\u952E\uFF09`);for(let g of a)y.push(` + ${g.propertyname} [${g.columnname}] type=${g.propertytypecode} idxtype=${g.idxtype}`)}let h=y.join(`\n`),_=we(t.objecttypecode),R=_!==1;if(!(r&&!i))return{ok:!0,applied:!1,verified:null,errorCode:"DRY_RUN",message:`\u9884\u89C8\u6A21\u5F0F\uFF08\u672A\u843D\u5E93\uFF09\u3002publishstatus=${_}${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:_,needManualPublish:R,entityCode:d.objectcode,entityName:d.objectname??"",diff:h};try{let g=await Ft(d,e),b=null,S=[];if(s){let C=await lr(d);b=C.verified,S=C.problems}let v=`${g}${R?" | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03":""}${S.length?" | \u6821\u9A8C\u95EE\u9898\uFF1A"+S.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:b,errorCode:b===!1?"VERIFY_FAILED":"OK",message:v,publishStatus:_,needManualPublish:R,entityCode:d.objectcode,entityName:d.objectname??"",diff:h}}catch(g){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(g)}`,publishStatus:_,needManualPublish:R,entityCode:d.objectcode,entityName:d.objectname??"",diff:h}}}async function Mt(t,e,o,i={}){let r=i.dryRun!==!1,s=i.confirm===!0,n=i.verify!==!1,l;try{let b=await ce({objectcode:t});if(!b?.resp_data)return Te("ENTITY_NOT_FOUND",`\u5B9E\u4F53 ${t} \u4E0D\u5B58\u5728\u6216\u67E5\u8BE2\u4E3A\u7A7A`,{entityCode:t});l=b.resp_data}catch(b){return Te("FETCH_FAILED",`\u67E5\u8BE2\u5B9E\u4F53\u5931\u8D25\uFF1A${D(b)}`,{entityCode:t})}let u=Me(l.objecttypecode),a=e.map((b,S)=>({index:S,op:b.op,status:"OK",errorCode:"OK",message:null})),d=e.findIndex(b=>b.op==="modify_field"||b.op==="delete_field");if(d>=0)return a[d].status="FAILED",a[d].errorCode="FIELD_OP_UNSUPPORTED",a[d].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:we(String(l.objecttypecode??"")),needManualPublish:we(String(l.objecttypecode??""))!==1,entityCode:t,entityName:l.objectname??"",diff:Fe(e,a),ops:a};if(u){let b=e.findIndex(S=>S.op==="add_field");return b>=0&&(a[b].status="FAILED",a[b].errorCode="DICTIONARY_NO_FIELD_OPS",a[b].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:we(String(l.objecttypecode??"")),needManualPublish:!1,entityCode:t,entityName:l.objectname??"",diff:Fe(e,a),ops:a}}let y=structuredClone(l);y.properties=Array.isArray(y.properties)?[...y.properties]:[];let h=or(y),_=[],R=!1;for(let b=0;b<e.length;b++){let S=e[b];if(S.op!=="add_field")continue;let v=S;if(!v.propertyname||!v.propertytypecode||!v.columnname){a[b].status="FAILED",a[b].errorCode="INVALID_PARAMS",a[b].message="add_field \u7F3A\u5C11\u5FC5\u586B\u53C2\u6570 propertyname / propertytypecode / columnname",R=!0;continue}if($t(v.propertytypecode)&&!v.relationobjectcode){a[b].status="FAILED",a[b].errorCode="INVALID_PARAMS",a[b].message=`\u5173\u8054\u7C7B\u578B(propertytypecode=${v.propertytypecode}) \u5FC5\u586B relationobjectcode`,R=!0;continue}if(y.properties.some(L=>String(L.columnname??"")===v.columnname)){a[b].status="FAILED",a[b].errorCode="DUP_PROP_CODE",a[b].message=`\u5B57\u6BB5\u5217\u540D columnname=${v.columnname} \u5DF2\u5B58\u5728\u4E8E\u5B9E\u4F53`,R=!0;continue}let C=Ze({propertyname:v.propertyname,propertytypecode:v.propertytypecode,columnname:v.columnname,propertydescr:v.propertydescr,idxtype:v.idxtype,relationobjectcode:v.relationobjectcode,relationpropertycode:v.relationpropertycode,ismaster:(v.idxtype==="2","0")},{seq:h});y.properties.push(C),_.push(C),a[b].message=`\u5C06\u65B0\u589E\u5C5E\u6027 ${C.propertycode} (${C.propertyname} [${C.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:l.objectname??"",diff:Fe(e,a),ops:a};y.publishstatus=2;let w=Fe(e,a);if(!(s&&!r))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:l.objectname??"",diff:w,ops:a};try{let b=await Ft(y,o),S=null,v=[];if(n&&_.length>0){let L=await cr(t,_);S=L.verified,v=L.problems}let C=`${b} | \u5DF2\u4FDD\u5B58\u5143\u6570\u636E\uFF08publishstatus=2\uFF09\uFF0C\u8BF7\u524D\u5F80\u5E73\u53F0\u624B\u52A8\u53D1\u5E03${v.length?"\uFF1B\u6821\u9A8C\u95EE\u9898\uFF1A"+v.join("\uFF1B"):""}`;return{ok:!0,applied:!0,verified:S,errorCode:S===!1?"VERIFY_FAILED":"OK",message:C,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:l.objectname??"",diff:w,ops:a}}catch(b){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:`\u4FDD\u5B58\u5931\u8D25\uFF1A${D(b)}`,publishStatus:2,needManualPublish:!0,entityCode:t,entityName:l.objectname??"",diff:w,ops:a}}}function Fe(t,e){let i=t.map((s,n)=>`ops[${n}] ${s.op} (${e[n].status}): ${e[n].message??""}`).join(`\n`),r=4e3;return i.length>r?i.slice(0,r)+`\n...(\u5DF2\u622A\u65AD)`:i}var ur=O.object({propertyname:O.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:O.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:O.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:O.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:O.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:O.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:O.string().optional().describe("\u5173\u8054\u5C5E\u6027\u7F16\u7801\uFF0C\u5173\u8054\u7C7B\u578B\u65F6\u53EF\u9009")}),dr=O.discriminatedUnion("op",[O.object({op:O.literal("add_field"),propertyname:O.string().describe("\u5C5E\u6027\u4E2D\u6587\u540D"),propertytypecode:O.string().describe("\u5C5E\u6027\u7C7B\u578B\u7F16\u7801\uFF08\u89C1 get_model_logic \u7684 PROPERTY_TYPE_ENUM\uFF09"),columnname:O.string().describe("\u6570\u636E\u5E93\u5B57\u6BB5\u540D\uFF08\u5217\u540D\uFF09"),propertydescr:O.string().optional().describe("\u5C5E\u6027\u63CF\u8FF0"),idxtype:O.string().optional().describe("\u7D22\u5F15\u65B9\u5F0F\uFF1A1-\u65E0\uFF1B2-\u4E3B\u952E\u7D22\u5F15\u3002\u7F3A\u7701 1"),relationobjectcode:O.string().optional().describe("\u5173\u8054\u7C7B\u578B(propertytypecode \u4E3A\u5173\u8054\u7F16\u7801)\u65F6\u5FC5\u586B\u7684\u5173\u8054\u5B9E\u4F53\u7F16\u7801"),relationpropertycode:O.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"),O.object({op:O.literal("modify_field"),propertycode:O.string().describe("\u8981\u4FEE\u6539\u7684\u5C5E\u6027\u7F16\u7801"),patch:O.record(O.string(),O.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"),O.object({op:O.literal("delete_field"),propertycode:O.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")]),pr={ok:O.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:O.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u6216\u9884\u6F14\u5931\u8D25\u65F6\u4E3A false"),verified:O.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:O.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:O.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:O.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:O.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:O.string().describe("\u5B9E\u4F53\u7F16\u7801"),entityName:O.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:O.string().describe("\u5168\u90E8 op \u7684\u6267\u884C\u6458\u8981\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD"),ops:O.array(O.object({index:O.number().describe("\u5728 ops \u6570\u7EC4\u4E2D\u7684\u4E0B\u6807"),op:O.string().describe("\u64CD\u4F5C\u7C7B\u578B\uFF08op \u5B57\u6BB5\u503C\uFF09"),status:O.string().describe("\u8BE5 op \u7684\u6267\u884C\u72B6\u6001\uFF1AOK / FAILED"),errorCode:O.string().describe("\u8BE5 op \u7684\u9519\u8BEF\u7801"),message:O.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")},mr={ok:O.boolean().describe("\u6574\u4F53\u662F\u5426\u6210\u529F\uFF08dryRun \u6210\u529F\u4E5F\u4E3A true\uFF0C\u4F46 applied=false\uFF09"),applied:O.boolean().describe("\u662F\u5426\u5DF2\u843D\u5E93\uFF1BdryRun \u65F6\u4E3A false"),verified:O.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:O.string().describe("\u9519\u8BEF\u7801\uFF1AOK / DRY_RUN / INVALID_PARAMS / SAVE_FAILED / VERIFY_FAILED"),message:O.string().describe("\u7ED3\u679C\u8BF4\u660E\uFF1B\u542B publishstatus \u4E0E\u300C\u8BF7\u624B\u52A8\u53D1\u5E03\u300D\u63D0\u793A"),publishStatus:O.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:O.boolean().describe("\u662F\u5426\u9700\u7528\u6237\u5230\u5E73\u53F0\u624B\u52A8\u53D1\u5E03\uFF08\u975E\u5B57\u5178\u5B9E\u4F53\u4E3A true\uFF09"),entityCode:O.string().describe("\u65B0\u5EFA\u5B9E\u4F53\u7684\u7F16\u7801"),entityName:O.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),diff:O.string().describe("\u5C06\u8981\u521B\u5EFA\u7684\u5B9E\u4F53\u6458\u8981\uFF08\u5B57\u6BB5\u5217\u8868\uFF09\uFF0C\u8D85\u957F\u4F1A\u622A\u65AD")};function Lt(t,e){return{ok:!1,applied:!1,verified:null,errorCode:t,message:e,publishStatus:2,needManualPublish:!0,entityCode:"",entityName:"",diff:""}}var jt=[{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${H}\n${te}`,inputSchema:{objectname:O.string().describe("\u5B9E\u4F53\u4E2D\u6587\u540D"),objecttypecode:O.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:O.string().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u5FC5\u586B\uFF09\uFF1Bobjectmark \u81EA\u52A8\u590D\u5236\u6B64\u503C"),directorytypecode:O.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:O.string().optional().describe("\u7236\u5B9E\u4F53\u7F16\u7801\uFF0C\u6811\u578B/\u5173\u8054\u5B9E\u4F53\u4F7F\u7528"),propertydescr:O.string().optional().describe("\u5B9E\u4F53\u63CF\u8FF0"),initialFields:O.array(ur).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:J.describe("\u63D0\u4EA4\u4FE1\u606F\uFF0C\u7F3A\u7701 mcp \u7EC4\u88C5\u9ED8\u8BA4\uFF08committype=saverecord\uFF09"),confirm:O.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:O.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:O.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:mr,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectname:e,objecttypecode:o,tablename:i,directorytypecode:r,parentobjectcode:s,propertydescr:n,initialFields:l,confirm:u=!1,dryRun:a=!0,verify:d=!0}=t,y=t?.commitMessage?W(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let h=await Tt({objectname:e,objecttypecode:o,tablename:i,directorytypecode:r,parentobjectcode:s,propertydescr:n,initialFields:l},y,{confirm:u,dryRun:a,verify:d});return{isError:!h.ok,content:[{type:"text",text:JSON.stringify(h)}],structuredContent:h}}catch(h){let _=D(h);return{isError:!0,content:[{type:"text",text:_}],structuredContent:Lt("SAVE_FAILED",_)}}}},{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${H}\n${te}`,inputSchema:{objectcode:O.string().describe("\u76EE\u6807\u5B9E\u4F53\u7684\u7F16\u7801"),ops:O.array(dr).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:J.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:O.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:O.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:O.boolean().optional().describe("\u4FDD\u5B58\u540E\u662F\u5426\u56DE\u8BFB\u6821\u9A8C\uFF0C\u9ED8\u8BA4 true")},outputSchema:pr,annotations:{readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1}},handler:async t=>{let{objectcode:e,ops:o,confirm:i=!1,dryRun:r=!0,verify:s=!0}=t,n=t?.commitMessage?W(t.commitMessage):{committype:"saverecord",committypetext:"\u4FDD\u5B58\u8BB0\u5F55",msgbody:""};try{let l=await Mt(e,o,n,{confirm:i,dryRun:r,verify:s});return{isError:!l.ok,content:[{type:"text",text:JSON.stringify(l)}],structuredContent:l}}catch(l){let u=D(l);return{isError:!0,content:[{type:"text",text:u}],structuredContent:Lt("SAVE_FAILED",u)}}}}];import{z as c}from"zod";function Ht(t){return $e({directorycategory:t.directorycategory??be.FORM})}function Ut(t){return E({url:"/bizserv/bizpage/pageList",method:"post",data:t,type:"tenant"})}function re(t){return E({url:"/bizserv/bizpage/getPage",method:"post",data:t,type:"tenant"})}function Xe(t){let{conf:e,message:o,ui:i,edittime:r=q(new Date,"YYYY-MM-DD HH:mm:ss"),overwrite:s=!1,clearuserconfig:n=!0}=t;return E({url:"/biserv/bizpage/saveNewPage",method:"post",data:{clearuserconfig:n,conf:e,edittime:r,message:o,overwrite:s,ui:i??e},type:"tenant"})}function tt(t){return t?Array.isArray(t)?t.filter(Boolean):[t]:[]}function xe(t,e,o){let i=[{scope:"handlers",list:t.presenter?.handlers??[]},{scope:"initial",list:tt(t.presenter?.initial)}],r=[];for(let s of i)if(!(o&&s.scope!==o))for(let n of s.list)n&&n.code===e&&r.push({handler:n,scope:s.scope});return r}var Kt=150;function Bt(t){t.committype==="saverecord"&&(t.msgbody=q(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 o of t.content){let i=Le(o,e);if(i)return i}return null}function ke(t){let e=[],o=i=>{i&&(e.push(i),Array.isArray(i.content)&&i.content.forEach(o))};return o(t.view?.body??null),Array.isArray(t.controls)&&t.controls.forEach(i=>{i&&e.push(i)}),e}function et(t,e){if(Array.isArray(t)){for(let o of t)if(o&&typeof o=="object"){if(o.code===e)return o;let i=et(o,e);if(i)return i}return null}if(t&&typeof t=="object")for(let o of Object.values(t)){let i=et(o,e);if(i)return i}return null}function Jt(t,e){if(!t?.content)return null;let o=t.content.findIndex(i=>i?.code===e);if(o>=0){let[i]=t.content.splice(o,1);return i??null}for(let i of t.content){let r=Jt(i,e);if(r)return r}return null}function Vt(t,e){let o=Jt(t.view?.body??null,e);if(o)return o;if(Array.isArray(t.controls)){let i=t.controls.findIndex(r=>r?.code===e);if(i>=0){let[r]=t.controls.splice(i,1);return r??null}}return null}function Yt(t){let e=new Set,o=i=>{if(i){for(let r of i.eventlist??[])r?.handler&&e.add(r.handler);Array.isArray(i.content)&&i.content.forEach(o)}};o(t.view?.body??null);for(let i of t.presenter?.handlers??[]){for(let r of i?.actions??[])r?.handler&&e.add(r.handler),r?.logiccode&&e.add(r.logiccode);for(let r of i?.eventlist??[])r?.handler&&e.add(r.handler)}for(let i of tt(t.presenter?.initial)){for(let r of i?.actions??[])r?.handler&&e.add(r.handler),r?.logiccode&&e.add(r.logiccode);for(let r of i?.eventlist??[])r?.handler&&e.add(r.handler)}for(let i of t.presenter?.interface??[])for(let r of i?.actions??[])r?.handler&&e.add(r.handler);return e}function gr(t){return{oldString:t.oldString,newString:t.newString,replaceAll:t.replaceAll,occurrence:t.occurrence,matchMode:t.matchMode,label:t.label}}function Wt(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(Wt)),e}async function Gt(t){let o=(await re({code:t})).resp_data;if(!o)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let i=(()=>{let n=(l,u)=>(l??[]).map(a=>({code:a?.code??null,name:a?.name??null,desc:a?.desc??null,key:a?.key??null,condition:a?.condition??null,actionCount:a?.actions?.length??0,actionTypes:(a?.actions??[]).map(d=>d?.type??"").filter(d=>!!d),scope:u}));return[...n(o.presenter?.handlers??[],"handlers"),...n(tt(o.presenter?.initial),"initial")]})(),r=(o.presenter?.interface??[]).map(n=>({code:n?.code??null,key:n?.key??null,desc:n?.desc??null,actionCount:n?.actions?.length??0})),s=(o.businessmodel??[]).map(n=>({modelcode:n?.modelcode??null,modellogiccode:n?.modellogiccode??null,modellogicname:n?.modellogicname??null,actiontype:n?.actiontype??null}));return{code:t,title:o.pageinfo?.title??null,type:o.pageinfo?.type??null,status:o.pageinfo?.status??null,clientcategorycode:o.pageinfo?.clientcategorycode??null,marktype:o.pageinfo?.marktype??null,versionnum:o.pageinfo?.versionnum??null,viewTree:o.view?.body?[Wt(o.view.body)]:[],handlers:i,interfaces:r,businessModels:s,message:o.message??null}}async function Qt(t,e){let i=(await re({code:t})).resp_data;if(!i)throw new Error(`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let r,s,n,l=i.message??null;if(e.nodeCode&&(r=Le(i.view?.body??null,e.nodeCode)??i.controls?.find(a=>a?.code===e.nodeCode)??null,r&&e.itemCode)){let a=et(r,e.itemCode);a?r=a:(r=null,l=`nodeCode=${e.nodeCode} \u4E0B\u672A\u627E\u5230 code=${e.itemCode} \u7684\u5143\u7D20`)}if(e.handlerCode){let a=xe(i,e.handlerCode,e.handlerScope);a.length===1?s=a[0].handler:a.length>1&&(s=null,l=`handlerCode=${e.handlerCode} \u5728 handlers \u4E0E initial \u4E2D\u540C\u65F6\u51FA\u73B0\uFF0C\u8BF7\u7528 handlerScope \u6307\u5B9A\u552F\u4E00\u5BB9\u5668`)}e.section&&(n=i[e.section]??null);let u=s?.actions?s.actions.map((a,d)=>({index:d,code:a?.code??null,type:a?.type??null,scriptLen:(a?.script??"")?.length??0,conditionLen:(a?.condition??"")?.length??0,expressionLen:(a.expression??"")?.length??0})):void 0;return{code:t,node:r??void 0,handler:s??void 0,section:n??void 0,actionIndex:u,message:l}}async function fr(t,e,o){let i=(n={})=>({index:o,op:e.op,status:"OK",errorCode:"OK",message:null,hunk:null,suggestions:null,...n}),r=(n,l,u={})=>({index:o,op:e.op,status:"FAILED",errorCode:n,message:l,hunk:null,suggestions:null,...u}),s=n=>{let l=n.createIfMissing??!1,u=null,a=n.base[n.arrayProp];if(Array.isArray(a))u=a;else if(n.mode==="append"||n.mode==="insert"){if(!l)return r("ARRAY_NOT_FOUND",`${n.label}.${n.arrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${n.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`);n.base[n.arrayProp]=[],u=n.base[n.arrayProp]}else return r("INVALID_PARAMS",`${n.label}.${n.arrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${a===null?"null":typeof a}\uFF09\uFF0C\u65E0\u6CD5\u5B9A\u4F4D\u5143\u7D20`);let d=u,y=n.base,h=n.arrayProp;if(n.elementArrayProp!=null){if(n.itemKey==null||n.itemKeyValue===void 0)return r("INVALID_PARAMS",`\u4E24\u7EA7\u6A21\u5F0F\u9700\u8981 itemKey/itemKeyValue \u5B9A\u4F4D\u5916\u5C42 ${n.arrayProp} \u4E2D\u7684\u5143\u7D20`);let g=n.itemKey,b=u.filter(C=>C&&typeof C=="object"&&C[g]===n.itemKeyValue);if(b.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 ${n.label}.${n.arrayProp} \u4E2D\u627E\u5230 ${g}=${String(n.itemKeyValue)} \u7684\u5143\u7D20`);if(b.length>1)return r("DUP_CODE",`\u5143\u7D20 ${g}=${String(n.itemKeyValue)} \u5728 ${n.label}.${n.arrayProp} \u4E2D\u51FA\u73B0 ${b.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let S=b[0],v=S[n.elementArrayProp];if(Array.isArray(v))d=v,y=S,h=n.elementArrayProp;else if(n.mode==="append"||n.mode==="insert"){if(!l)return r("ARRAY_NOT_FOUND",`${n.label}.${n.arrayProp}[${g}=${String(n.itemKeyValue)}].${n.elementArrayProp} \u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5 ${n.mode}\uFF08\u9ED8\u8BA4\u7981\u6B62\u81EA\u52A8\u521B\u5EFA\u6570\u7EC4\uFF1B\u786E\u9700\u65B0\u5EFA\u8BF7\u4F20 createIfMissing:true\uFF09`);S[n.elementArrayProp]=[],d=S[n.elementArrayProp],y=S,h=n.elementArrayProp}else return r("INVALID_PARAMS",`${n.label}.${n.arrayProp}[${g}=${String(n.itemKeyValue)}].${n.elementArrayProp} \u975E\u6570\u7EC4\uFF08\u5B9E\u9645\u4E3A ${v===null?"null":typeof v}\uFF09`)}let _=n.elementArrayProp!=null?n.elementItemKey??"code":n.itemKey??"code",R=n.elementArrayProp!=null?n.elementItemKeyValue:n.itemKeyValue;if(n.mode==="remove"){if(R===void 0)return r("INVALID_PARAMS","remove \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E\uFF08itemKey/itemKeyValue \u6216 elementItemKey/elementItemKeyValue\uFF09");let g=d.filter(S=>S&&typeof S=="object"&&S[_]===R);if(g.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 ${n.label}.${h} \u4E2D\u627E\u5230 ${_}=${String(R)} \u7684\u5143\u7D20`);if(g.length>1)return r("DUP_CODE",`\u5143\u7D20 ${_}=${String(R)} \u5728 ${n.label}.${h} \u4E2D\u51FA\u73B0 ${g.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let b=d.indexOf(g[0]);return d.splice(b,1),d.length===0&&delete y[h],i({message:`\u5DF2\u4ECE ${n.label}.${h} \u79FB\u9664 ${_}=${String(R)}`})}if(n.mode==="merge"){if(!n.patch)return r("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981 patch");if(R===void 0)return r("INVALID_PARAMS","merge \u6A21\u5F0F\u9700\u8981\u5B9A\u4F4D\u952E");let g=d.filter(b=>b&&typeof b=="object"&&b[_]===R);return g.length===0?r("NODE_NOT_FOUND",`\u672A\u5728 ${n.label}.${h} \u4E2D\u627E\u5230 ${_}=${String(R)} \u7684\u5143\u7D20`):g.length>1?r("DUP_CODE",`\u5143\u7D20 ${_}=${String(R)} \u5728 ${n.label}.${h} \u4E2D\u51FA\u73B0 ${g.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`):(Object.assign(g[0],n.patch),i({message:`\u5DF2\u5408\u5E76 ${Object.keys(n.patch).length} \u4E2A\u5C5E\u6027\u5230 ${n.label}.${h}[${_}=${String(R)}]`}))}if(!n.item)return r("INVALID_PARAMS",`${n.mode} \u6A21\u5F0F\u9700\u8981 item\uFF08\u8981\u52A0\u5165\u7684\u65B0\u5143\u7D20\uFF09`);let w=n.mode==="insert"?n.position??d.length:d.length;return d.splice(w,0,n.item),i({message:`\u5DF2\u5728 ${n.label}.${h} \u7684 position=${w} ${n.mode==="insert"?"\u63D2\u5165":"\u8FFD\u52A0"}\u5143\u7D20`})};switch(e.op){case"set_pageinfo":return t.pageinfo={...t.pageinfo??{},...e.patch},i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5B57\u6BB5\u5230 pageinfo`});case"set_attrs":{let n=ke(t).filter(a=>a.code===e.code);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(n.length>1)return r("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00\uFF0C\u65E0\u6CD5\u5B9A\u4F4D`);let l=Object.entries(e.patch).filter(([,a])=>Array.isArray(a));if(l.length>0&&!e.overwriteArray)return r("ARRAY_OVERWRITE_BLOCKED",`patch \u542B\u6570\u7EC4\u5C5E\u6027 ${l.map(([a])=>`"${a}"`).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(n[0],e.patch);let u=l.length>0?`\uFF08\u6CE8\u610F\uFF1A\u5DF2\u6309 overwriteArray:true \u6574\u4F53\u8986\u76D6\u6570\u7EC4\u5C5E\u6027 ${l.map(([a])=>`"${a}"`).join("\u3001")}\uFF09`:"";return i({message:`\u5DF2\u5408\u5E76 ${Object.keys(e.patch).length} \u4E2A\u5C5E\u6027\u5230\u8282\u70B9 ${e.code}${u}`})}case"patch_node_array_item":{let n=ke(t).find(l=>l.code===e.nodeCode);return n?s({base:n,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}`}):r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 nodeCode=${e.nodeCode} \u7684\u8282\u70B9`)}case"patch_action_array_item":{let n=xe(t,e.handlerCode,e.scope);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(n.length>1)return r("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 u=n[0].handler.actions??[],a;if(e.actionCode!=null){if(a=u.find(h=>h?.code===e.actionCode),!a)return r("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let h=e.actionIndex??0;if(h<0||h>=u.length)return r("NO_TARGET",`actionIndex=${h} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${u.length} \u4E2A action`);a=u[h]}if(!a)return r("NODE_NOT_FOUND",`handler ${e.handlerCode} \u672A\u5B9A\u4F4D\u5230 action`);let d=a,y;if(e.parentProp){let h=d[e.parentProp];if(h==null)if((e.mode==="append"||e.mode==="insert")&&e.createIfMissing)d[e.parentProp]={},y=d[e.parentProp];else return r("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 y=h}else y=d;return s({base:y,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"insert_node":{let n=Le(t.view?.body??null,e.parentCode);if(!n)return r("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 parentCode=${e.parentCode} \u7684\u7236\u8282\u70B9`);n.content||(n.content=[]);let l=e.position??n.content.length;return n.content.splice(l,0,e.node),i({message:`\u5DF2\u5728 ${e.parentCode} \u7684 position=${l} \u63D2\u5165\u8282\u70B9`})}case"remove_node":{let n=ke(t).filter(u=>u.code===e.code);return n.length===0?r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`):n.length>1?r("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`):e.checkRefs!==!1&&Yt(t).has(e.code)?r("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`):Vt(t,e.code)?i({message:`\u5DF2\u79FB\u9664\u8282\u70B9 ${e.code}`}):r("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`)}case"move_node":{let n=ke(t).filter(d=>d.code===e.code);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728\u8868\u5355\u4E2D\u627E\u5230 code=${e.code} \u7684\u8282\u70B9`);if(n.length>1)return r("DUP_CODE",`code=${e.code} \u5728\u8868\u5355\u4E2D\u51FA\u73B0 ${n.length} \u6B21\uFF0C\u4E0D\u552F\u4E00`);let l=Vt(t,e.code);if(!l)return r("NODE_NOT_FOUND",`\u8282\u70B9 ${e.code} \u6458\u9664\u5931\u8D25`);let u=Le(t.view?.body??null,e.newParentCode);if(!u)return r("NODE_NOT_FOUND",`\u672A\u5728 view \u6811\u4E2D\u627E\u5230 newParentCode=${e.newParentCode} \u7684\u7236\u8282\u70B9`);u.content||(u.content=[]);let a=e.position??u.content.length;return u.content.splice(a,0,l),i({message:`\u5DF2\u5C06 ${e.code} \u79FB\u52A8\u5230 ${e.newParentCode} \u7684 position=${a}`})}case"set_section":return t[e.section]=e.value,i({message:`\u5DF2\u6574\u6BB5\u66FF\u6362 ${e.section}`});case"replace_script":{let n=xe(t,e.handlerCode,e.scope);if(n.length===0)return r("NODE_NOT_FOUND",`\u672A\u5728 presenter\uFF08handlers \u4E0E initial\uFF09\u4E2D\u627E\u5230 handlerCode=${e.handlerCode}`);if(n.length>1)return r("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 u=n[0].handler.actions??[],a;if(e.actionCode!=null){if(a=u.find(R=>R?.code===e.actionCode),!a)return r("NODE_NOT_FOUND",`handler ${e.handlerCode} \u4E2D\u672A\u627E\u5230 actionCode=${e.actionCode}`)}else{let R=e.actionIndex??0;if(R<0||R>=u.length)return r("NO_TARGET",`actionIndex=${R} \u8D8A\u754C\uFF0Chandler ${e.handlerCode} \u5171\u6709 ${u.length} \u4E2A action`);a=u[R]}let d=e.field??"script";if(e.replacement!=null)return a[d]=e.replacement,i({message:`\u5DF2\u6574\u6BB5\u8986\u76D6 ${e.handlerCode}.actions[${e.actionIndex??0}].${d}`});if(!e.ops||e.ops.length===0)return r("INVALID_PARAMS","replace_script \u9700\u63D0\u4F9B replacement \u6216 ops\uFF08oldString\u2192newString \u6570\u7EC4\uFF09");let y=a[d]??"",h=De([y],e.ops.map(gr),{contextLines:3}),_=h.results[0];return h.ok?(a[d]=h.scripts[0],i({message:`\u5DF2\u5C40\u90E8\u66FF\u6362 ${d}`,hunk:_?.hunk??null})):r("OPS_FAILED",_?.message??"\u811A\u672C\u66FF\u6362\u5931\u8D25",{hunk:_?.hunk??null,suggestions:_?.suggestions??null})}case"add_businessmodel":{let n=t.businessmodel??(t.businessmodel=[]),l=n.find(a=>a?.modellogiccode===e.modellogiccode);if(l&&!e.overwrite)return i({message:`businessmodel \u5DF2\u5B58\u5728 ${e.modellogiccode}\uFF0C\u8DF3\u8FC7\uFF08overwrite=false\uFF09`});let u;try{u=(await X({modellogiccode:e.modellogiccode})).resp_data}catch(a){return r("FETCH_FAILED",`\u83B7\u53D6\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5931\u8D25\uFF1A${D(a)}`)}return u?l&&e.overwrite?(Object.assign(l,u),i({message:`\u5DF2\u8986\u76D6 businessmodel \u4E2D\u7684 ${e.modellogiccode}`})):(n.push(u),i({message:`\u5DF2\u8FFD\u52A0\u4E1A\u52A1\u903B\u8F91 ${e.modellogiccode} \u5230 businessmodel`})):r("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 modellogiccode=${e.modellogiccode} \u5BF9\u5E94\u7684\u4E1A\u52A1\u903B\u8F91`)}case"remove_businessmodel":{let n=t.businessmodel??[],l=n.findIndex(u=>u?.modellogiccode===e.modellogiccode);return l<0?i({message:`businessmodel \u4E2D\u4E0D\u5B58\u5728 ${e.modellogiccode}\uFF0C\u65E0\u9700\u79FB\u9664`}):e.checkRefs!==!1&&Yt(t).has(e.modellogiccode)?r("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`):(n.splice(l,1),i({message:`\u5DF2\u4ECE businessmodel \u79FB\u9664 ${e.modellogiccode}`}))}}}function yr(t){let e=[];for(let r of t)r.hunk?e.push(`--- ops[${r.index}] ${r.op}\n${r.hunk}`):e.push(`ops[${r.index}] ${r.op} (${r.status}): ${r.message??""}`);let o=e.join(`\n`),i=o.split(`\n`);return i.length<=Kt?o:`${i.slice(0,Kt).join(`\n`)}\n... diff \u8FC7\u957F\u5DF2\u622A\u65AD\uFF08\u5171 ${i.length} \u884C\uFF09`}function zt(t,e){let o=JSON.stringify(e);return t.some(i=>JSON.stringify(i)===o)}function qt(t,e,o,i,r,s,n){let l=t[e];if(!Array.isArray(l))return{error:`${e} \u975E\u6570\u7EC4`};if(!o)return{finalArr:l,finalProp:e};if(i==null||r===void 0)return{error:"\u4E24\u7EA7\u6A21\u5F0F\u7F3A\u5916\u5C42\u5B9A\u4F4D\u952E"};let u=l.filter(d=>d&&typeof d=="object"&&d[i]===r);if(u.length!==1)return{error:`\u5916\u5C42\u5143\u7D20 ${i}=${String(r)} \u547D\u4E2D ${u.length} \u4E2A\uFF08\u5E94\u552F\u4E00\uFF09`};let a=u[0][o];return Array.isArray(a)?{finalArr:a,finalProp:`${e}[${i}=${String(r)}].${o}`}:{error:`${e}[${i}=${String(r)}].${o} \u975E\u6570\u7EC4`}}function br(t,e){let o=[],i=ke(t),r=new Set(i.map(s=>s.code).filter(s=>!!s));for(let s=0;s<e.length;s++){let n=e[s];switch(n.op){case"set_pageinfo":for(let[l,u]of Object.entries(n.patch))JSON.stringify(t.pageinfo?.[l])!==JSON.stringify(u)&&o.push(`ops[${s}] set_pageinfo.${l} \u672A\u751F\u6548`);break;case"set_attrs":{let l=i.find(u=>u.code===n.code);if(!l){o.push(`ops[${s}] set_attrs \u8282\u70B9 ${n.code} \u6D88\u5931`);break}for(let[u,a]of Object.entries(n.patch))JSON.stringify(l[u])!==JSON.stringify(a)&&o.push(`ops[${s}] set_attrs.${u} \u672A\u751F\u6548`);break}case"patch_node_array_item":{let l=i.find(w=>w.code===n.nodeCode);if(!l){o.push(`ops[${s}] patch_node_array_item \u8282\u70B9 ${n.nodeCode} \u6D88\u5931`);break}let u=l,a=n.mode??"merge",d=n.elementArrayProp!=null?n.elementItemKey??"code":n.itemKey??"code",y=n.elementArrayProp!=null?n.elementItemKeyValue:n.itemKeyValue;if(a==="remove"){let w=u[n.arrayProp],g=null;if(n.elementArrayProp!=null){if(Array.isArray(w)){let b=w.find(S=>S&&typeof S=="object"&&S[n.itemKey??"code"]===n.itemKeyValue);g=b?b[n.elementArrayProp]??null:null}}else g=Array.isArray(w)?w:null;if(g==null)break;g.some(b=>b&&typeof b=="object"&&b[d]===y)&&o.push(`ops[${s}] patch_node_array_item remove \u5143\u7D20 ${d}=${String(y)} \u4ECD\u5B58\u5728`);break}let h=qt(u,n.arrayProp,n.elementArrayProp,n.itemKey,n.itemKeyValue,n.elementItemKey,n.elementItemKeyValue);if("error"in h){o.push(`ops[${s}] patch_node_array_item ${h.error}`);break}let _=h.finalArr;if(a==="append"||a==="insert"){if(!n.item){o.push(`ops[${s}] patch_node_array_item ${a} \u7F3A item`);break}zt(_,n.item)||o.push(`ops[${s}] patch_node_array_item ${a} \u5143\u7D20\u672A\u51FA\u73B0`);break}let R=_.find(w=>w&&typeof w=="object"&&w[d]===y);if(!R){o.push(`ops[${s}] patch_node_array_item \u5143\u7D20 ${d}=${String(y)} \u672A\u627E\u5230`);break}for(let[w,g]of Object.entries(n.patch??{}))JSON.stringify(R[w])!==JSON.stringify(g)&&o.push(`ops[${s}] patch_node_array_item.${w} \u672A\u751F\u6548`);break}case"patch_action_array_item":{let l=xe(t,n.handlerCode,n.scope);if(l.length!==1){o.push(`ops[${s}] patch_action_array_item handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let a=l[0].handler.actions??[],d=n.actionCode!=null?a.find(S=>S?.code===n.actionCode):a[n.actionIndex??0];if(!d){o.push(`ops[${s}] patch_action_array_item action \u672A\u627E\u5230`);break}let y=d,h=n.parentProp?y[n.parentProp]??{}:y,_=n.elementArrayProp!=null?n.elementItemKey??"code":n.itemKey??"code",R=n.elementArrayProp!=null?n.elementItemKeyValue:n.itemKeyValue;if(n.mode==="remove"){let S=h[n.arrayProp],v=null;if(n.elementArrayProp!=null){if(Array.isArray(S)){let C=S.find(L=>L&&typeof L=="object"&&L[n.itemKey??"code"]===n.itemKeyValue);v=C?C[n.elementArrayProp]??null:null}}else v=Array.isArray(S)?S:null;if(v==null)break;v.some(C=>C&&typeof C=="object"&&C[_]===R)&&o.push(`ops[${s}] patch_action_array_item remove \u5143\u7D20 ${_}=${String(R)} \u4ECD\u5B58\u5728`);break}let w=qt(h,n.arrayProp,n.elementArrayProp,n.itemKey,n.itemKeyValue,n.elementItemKey,n.elementItemKeyValue);if("error"in w){o.push(`ops[${s}] patch_action_array_item ${w.error}`);break}let g=w.finalArr;if(n.mode==="append"||n.mode==="insert"){if(!n.item){o.push(`ops[${s}] patch_action_array_item ${n.mode} \u7F3A item`);break}zt(g,n.item)||o.push(`ops[${s}] patch_action_array_item ${n.mode} \u5143\u7D20\u672A\u51FA\u73B0`);break}let b=g.find(S=>S&&typeof S=="object"&&S[_]===R);if(!b){o.push(`ops[${s}] patch_action_array_item \u5143\u7D20 ${_}=${String(R)} \u672A\u627E\u5230`);break}for(let[S,v]of Object.entries(n.patch??{}))JSON.stringify(b[S])!==JSON.stringify(v)&&o.push(`ops[${s}] patch_action_array_item.${S} \u672A\u751F\u6548`);break}case"insert_node":r.has(n.node.code)||o.push(`ops[${s}] insert_node \u8282\u70B9\u672A\u51FA\u73B0`);break;case"remove_node":r.has(n.code)&&o.push(`ops[${s}] remove_node \u8282\u70B9\u4ECD\u5B58\u5728`);break;case"move_node":r.has(n.code)||o.push(`ops[${s}] move_node \u8282\u70B9\u6D88\u5931`);break;case"set_section":break;case"replace_script":{let l=xe(t,n.handlerCode,n.scope);if(l.length!==1){o.push(`ops[${s}] replace_script handler \u672A\u627E\u5230\u6216\u5B58\u5728\u540C\u540D\u6B67\u4E49`);break}let a=l[0].handler.actions??[],d=n.actionCode!=null?a.find(_=>_?.code===n.actionCode):a[n.actionIndex??0];if(!d){o.push(`ops[${s}] replace_script action \u672A\u627E\u5230`);break}let y=n.field??"script",h=d[y]??"";if(n.replacement!=null)G(h)!==G(n.replacement)&&o.push(`ops[${s}] replace_script \u6574\u6BB5\u8986\u76D6\u672A\u751F\u6548`);else if(n.ops)for(let _ of n.ops){let R=_.matchMode??"normalized",w=G(h,R),g=G(_.newString,R),b=G(_.oldString,R);_.newString.length>0&&!w.includes(g)&&o.push(`ops[${s}] replace_script \u65B0\u5185\u5BB9\u672A\u51FA\u73B0`),!g.includes(b)&&w.includes(b)&&o.push(`ops[${s}] replace_script \u65E7\u5185\u5BB9\u4ECD\u5B58\u5728`)}break}case"add_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===n.modellogiccode)||o.push(`ops[${s}] add_businessmodel \u672A\u8FFD\u52A0`);break}case"remove_businessmodel":{(t.businessmodel??[]).some(u=>u?.modellogiccode===n.modellogiccode)&&o.push(`ops[${s}] remove_businessmodel \u672A\u79FB\u9664`);break}}}return{verified:o.length===0,problems:o}}async function Zt(t,e,o,i={}){let r=i.dryRun??!1,s=i.verify??!0,n=(g,b)=>({ok:!1,applied:!1,verified:null,errorCode:g,message:b,diff:"",ops:[]});if(!Array.isArray(e)||e.length===0)return n("EMPTY_OPS","ops \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5143\u7D20");let l;try{l=(await re({code:t})).resp_data}catch(g){return n("FETCH_FAILED",D(g))}if(!l)return n("FETCH_FAILED",`\u672A\u67E5\u8BE2\u5230 code=${t} \u5BF9\u5E94\u7684\u8868\u5355`);let u=structuredClone(l),a=[],d=!1;for(let g=0;g<e.length;g++)try{let b=await fr(u,e[g],g);a.push(b),b.status==="FAILED"&&(d=!0)}catch(b){a.push({index:g,op:e[g].op,status:"FAILED",errorCode:"OP_ERROR",message:D(b),hunk:null,suggestions:null}),d=!0}let y=yr(a);if(d){let g=a.filter(b=>b.status==="FAILED").map(b=>b.index).join("\u3001");return{ok:!1,applied:!1,verified:null,errorCode:"OPS_FAILED",message:`\u9884\u6F14\u5931\u8D25\uFF1A${a.filter(b=>b.status==="FAILED").length} \u4E2A op \u672A\u901A\u8FC7\uFF08ops[${g}]\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:a}}if(r)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:a};Bt(o);let h=JSON.stringify(o),_;try{let g=await Xe({conf:u,message:h});_=typeof g?.resp_data=="string"?g.resp_data:JSON.stringify(g?.resp_data??null)}catch(g){return{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:D(g),diff:y,ops:a}}let R=null,w=_;if(s)try{let b=(await re({code:t})).resp_data;if(!b)R=!1,w=`${_} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A\u91CD\u65B0\u67E5\u8BE2\u4E3A\u7A7A`;else{let S=br(b,e);R=S.verified,S.verified||(w=`${_} | \u56DE\u8BFB\u6821\u9A8C\u672A\u901A\u8FC7\uFF1A${S.problems.join("\uFF1B")}`)}}catch(g){R=!1,w=`${_} | \u56DE\u8BFB\u6821\u9A8C\u5931\u8D25\uFF1A${D(g)}`}return{ok:R===null?!0:R,applied:!0,verified:R,errorCode:R===!1?"VERIFY_FAILED":"OK",message:w,diff:y,ops:a}}async function Xt(t,e){Bt(e);let o=JSON.stringify(e);try{let i=await Xe({conf:t,message:o}),r=typeof i?.resp_data=="string"?i.resp_data:JSON.stringify(i?.resp_data??null);return{ok:!0,code:t.pageinfo?.code??void 0,message:r}}catch(i){return{ok:!1,code:t.pageinfo?.code??void 0,message:D(i)}}}var hr=c.object({createtime:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),createaccountcode:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),createaccountname:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u7F16\u7801"),clientcategorycode:c.union([c.string(),c.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),confsource:c.coerce.number().nullable().optional().describe("\u914D\u7F6E\u6765\u6E90\uFF0C\u542B\u4E49\uFF1A1-IDE\u914D\u7F6E\uFF1B2-\u7528\u6237\u7EA7\u914D\u7F6E"),directorytypecode:c.union([c.string(),c.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),directorytypename:c.union([c.string(),c.null()]).optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u540D\u79F0"),marktype:c.coerce.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 code \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),pagetemplatecode:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u6A21\u677F\u7F16\u7801"),pagetypename:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\u540D\u79F0"),pagedescr:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u63CF\u8FF0"),ref:c.union([c.string(),c.null()]).optional().describe("\u5916\u90E8\u5F15\u7528\uFF0C\u4E00\u822C\u4F20\u7A7A\u5B57\u7B26\u4E32"),status:c.coerce.number().nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:c.union([c.string(),c.null()]).optional().describe("\u6807\u9898"),type:c.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:c.union([c.string(),c.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updateaccountcode:c.union([c.string(),c.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7\u7F16\u7801"),updateaccountname:c.union([c.string(),c.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u59D3\u540D"),versionnum:c.union([c.string(),c.null()]).optional().describe("\u7248\u672C\u53F7")}).catchall(c.unknown()),nt={renderinfo:c.any().optional().describe("IDE \u6E32\u67D3\u6807\u8BB0"),pageinfo:c.any().optional().describe("\u6838\u5FC3\u5BF9\u8C61 1\uFF1A\u9875\u9762\u57FA\u7840\u4FE1\u606F"),businessmodel:c.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:c.any().optional().describe("\u52A8\u4F5C\u903B\u8F91\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),presenter:c.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:c.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:c.any().optional().describe("\u63A7\u4EF6\uFF0C\u4EC5\u90E8\u5206\u9875\u9762\u5B58\u5728\uFF0C\u975E\u6838\u5FC3\u5BF9\u8C61"),pageswitch:c.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:c.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")},en=[{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${Z}`,inputSchema:{keys:c.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:c.string().optional().describe("\u76EE\u5F55\u7F16\u7801\u7CBE\u786E\u5339\u914D\uFF08\u5DF2\u77E5\u7F16\u7801\u53CD\u67E5\u540D\u79F0\u65F6\u7528\uFF09"),parentdirectorytypecode:c.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:c.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:c.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u7F16\u7801\u7CBE\u786E\u5339\u914D"),marktype:c.string().optional().describe("\u521B\u5EFA\u6807\u8BB0\u7CBE\u786E\u5339\u914D\uFF0C\u6574\u6570\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),limit:c.string().optional().describe(`\u8FD4\u56DE\u6761\u6570\u4E0A\u9650\uFF0C\u9ED8\u8BA4 ${30}\uFF0C\u786C\u4E0A\u9650 ${200}`),offset:c.string().optional().describe("\u8D77\u59CB\u504F\u79FB\uFF0C\u9ED8\u8BA4 0\uFF1B\u914D\u5408 limit \u7FFB\u9875"),directorycategory:c.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:c.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:c.coerce.number().describe("\u6309\u7B5B\u9009\u6761\u4EF6\u547D\u4E2D\u7684\u6761\u6570\uFF08\u622A\u65AD\u524D\uFF09"),returned:c.coerce.number().describe("\u672C\u6B21\u5B9E\u9645\u8FD4\u56DE\u6761\u6570"),offset:c.coerce.number().describe("\u672C\u6B21\u8FD4\u56DE\u7684\u8D77\u59CB\u504F\u79FB"),limit:c.coerce.number().describe("\u672C\u6B21\u751F\u6548\u7684\u8FD4\u56DE\u6761\u6570\u4E0A\u9650"),truncated:c.boolean().describe("true \u8868\u793A\u547D\u4E2D\u6570\u5927\u4E8E\u672C\u6B21\u8FD4\u56DE\uFF0C\u8FD8\u6709\u540E\u7EED"),hint:c.union([c.string(),c.null()]).describe("\u6536\u655B/\u7FFB\u9875\u63D0\u793A\uFF1Bnull \u8868\u793A\u65E0\u9700\u63D0\u793A"),items:c.array(c.object({directorytypecode:c.string().describe("\u76EE\u5F55\u7F16\u7801\uFF0C\u5373\u8868\u5355 pageinfo.directorytypecode \u7684\u53D6\u503C"),directorytypename:c.union([c.string(),c.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:c.string().optional().describe("\u76EE\u5F55\u672C\u540D\uFF0C\u4EC5\u5728\u4E0E directorytypename \u4E0D\u540C\u65F6\u8FD4\u56DE"),parentdirectorytypecode:c.string().optional().describe("\u7236\u76EE\u5F55\u7F16\u7801\uFF1B\u7F3A\u5931\u5373\u9876\u7EA7\u76EE\u5F55"),centername:c.string().optional().describe("\u6240\u5C5E\u4E1A\u52A1\u4E2D\u5FC3\u540D\u79F0\uFF0C\u4EC5\u4E1A\u52A1\u4E2D\u5FC3\u4E0B\u7684\u76EE\u5F55\u8FD4\u56DE"),marktype:c.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:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u,directorycategory:a="3"}=t;try{let d=await Ht({directorycategory:String(a||"3")}),y=Array.isArray(d?.resp_data)?d.resp_data:[];return F(_e(y,{keys:e,directorytypecode:o,parentdirectorytypecode:i,centername:r,centercode:s,marktype:n,limit:l,offset:u}))}catch(d){return M(d)}}},{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${H}\n${Z}`,inputSchema:{status:c.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),keys:c.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355 code / title"),keywords:c.string().optional().describe("\u6A21\u7CCA\u5339\u914D\u8868\u5355\u4E2D\u7684\u5173\u952E\u8BCD"),clientcategorycode:c.string().optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B\u7F16\u7801\uFF0C1-web\u7AEF\uFF1B2-app\u7AEF\uFF1B6-\u5C0F\u7A0B\u5E8F\u7AEF"),page:c.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:c.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570"),type:c.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:c.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D"),updatetimestart:c.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:c.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:c.array(hr).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{status:e="",keys:o="",keywords:i="",clientcategorycode:r="",page:s=1,rows:n=20,type:l="",updateopname:u="",updatetimestart:a="",updatetimeend:d=""}=t;try{let y=await Ut({centercode:"",directorytypecode:"rootNode",starttime:"",status:e,keys:o,keywords:i,clientcategorycode:r,page:Number(s)||1,rows:Number(n)||20,type:l,updateopname:u,updatetimestart:a,updatetimeend:d});return F(y.resp_data)}catch(y){return M(y)}}},{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${H}\n${Z}`,inputSchema:{code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:c.looseObject(nt),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let o=await re({code:e});return F(o.resp_data)}catch(o){return M(o)}}},{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${Z}`,inputSchema:{code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:{code:c.string().describe("\u8868\u5355\u7F16\u7801"),title:c.union([c.string(),c.null()]).optional().describe("\u6807\u9898"),type:c.union([c.string(),c.null()]).optional().describe("\u9875\u9762\u7C7B\u578B\uFF08\u540C page_form_list \u7684 type\uFF09"),status:c.union([c.string(),c.null()]).optional().describe("\u72B6\u6001"),clientcategorycode:c.union([c.string(),c.null()]).optional().describe("\u7528\u6237\u7AEF\u5206\u7C7B"),marktype:c.union([c.string(),c.null()]).optional().describe("\u521B\u5EFA\u6807\u8BB0"),versionnum:c.union([c.string(),c.null()]).optional().describe("\u7248\u672C\u53F7"),viewTree:c.array(c.lazy(()=>c.object({code:c.union([c.string(),c.null()]).optional(),type:c.union([c.string(),c.null()]).optional(),title:c.union([c.string(),c.null()]).optional(),children:c.array(c.lazy(()=>c.object({code:c.union([c.string(),c.null()]).optional(),type:c.union([c.string(),c.null()]).optional(),title:c.union([c.string(),c.null()]).optional(),children:c.array(c.unknown()).optional()}))).optional()}))).optional().describe("view \u6811\u9AA8\u67B6\uFF08\u9012\u5F52\uFF0C\u4EC5 code/type/title + children\uFF09"),handlers:c.array(c.object({code:c.union([c.string(),c.null()]).optional(),name:c.union([c.string(),c.null()]).optional(),desc:c.union([c.string(),c.null()]).optional(),key:c.union([c.string(),c.null()]).optional(),condition:c.union([c.string(),c.null()]).optional(),actionCount:c.coerce.number().optional(),actionTypes:c.array(c.string()).optional(),scope:c.union([c.string(),c.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:c.array(c.object({code:c.union([c.string(),c.null()]).optional(),key:c.union([c.string(),c.null()]).optional(),desc:c.union([c.string(),c.null()]).optional(),actionCount:c.coerce.number().optional()})).optional().describe("presenter \u5BF9\u5916\u63A5\u53E3\u6E05\u5355"),businessModels:c.array(c.object({modelcode:c.union([c.string(),c.null()]).optional(),modellogiccode:c.union([c.string(),c.null()]).optional(),modellogicname:c.union([c.string(),c.null()]).optional(),actiontype:c.union([c.string(),c.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:c.union([c.string(),c.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e}=t;try{let o=await Gt(e);return F(o)}catch(o){return M(o)}}},{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${Z}`,inputSchema:{code:c.string().describe("\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),nodeCode:c.string().optional().describe("\u76EE\u6807\u63A7\u4EF6/\u8282\u70B9\u7F16\u7801\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u5B50\u6811"),itemCode:c.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:c.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:c.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:c.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:c.string().describe("\u8868\u5355\u7F16\u7801"),node:c.any().optional().describe("nodeCode \u547D\u4E2D\u7684\u8282\u70B9\u5B50\u6811"),handler:c.any().optional().describe("handlerCode \u547D\u4E2D\u7684\u5904\u7406\u5668\u5B8C\u6574\u5B9A\u4E49"),section:c.any().optional().describe("section \u547D\u4E2D\u7684\u6574\u6BB5\u5185\u5BB9"),actionIndex:c.array(c.object({index:c.coerce.number().describe("action \u4E0B\u6807"),code:c.union([c.string(),c.null()]).optional().describe("action \u7F16\u7801"),type:c.union([c.string(),c.null()]).optional().describe("action \u7C7B\u578B"),scriptLen:c.coerce.number().describe("script \u5B57\u7B26\u957F\u5EA6"),conditionLen:c.coerce.number().describe("condition \u5B57\u7B26\u957F\u5EA6"),expressionLen:c.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:c.union([c.string(),c.null()]).optional().describe("\u63D0\u4EA4\u4FE1\u606F")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{code:e,nodeCode:o,itemCode:i,handlerCode:r,section:s}=t;try{let n=await Qt(e,{nodeCode:o,itemCode:i,handlerCode:r,section:s});return F(n)}catch(n){return M(n)}}}];import{z as m}from"zod";var _r=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"),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("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"),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")})]),tn=[{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\u300211 \u7C7B ops\uFF1Aset_pageinfo/set_attrs/patch_node_array_item/insert_node/remove_node/move_node/set_section/replace_script/add_businessmodel/remove_businessmodel/patch_action_array_item\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${Z}`,inputSchema:{code:m.string().describe("\u76EE\u6807\u8868\u5355/\u9875\u9762\u7684\u552F\u4E00\u7F16\u7801"),ops:m.array(_r).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:J.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 / 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:o,dryRun:i=!1,verify:r=!0}=t,s=t.ops,n=W(o);try{let l=await Zt(e,s,n,{dryRun:i,verify:r});return{isError:!l.ok,content:[{type:"text",text:JSON.stringify(l)}],structuredContent:l}}catch(l){let u=D(l);return{isError:!0,content:[{type:"text",text:u}],structuredContent:{ok:!1,applied:!1,verified:null,errorCode:"SAVE_FAILED",message:u,diff:"",ops:[]}}}}},{name:"save_form",config:{title:"\u5168\u91CF\u4FDD\u5B58\u8868\u5355/\u9875\u9762",description:`\u6574\u9875\u91CD\u6784\uFF08\u91CD\u6392\u5E03\u5C40\u3001\u6A21\u677F\u8FC1\u79FB\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${Z}`,inputSchema:{form:m.looseObject(nt).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:J.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:o}=t,i=W(o);try{let r=await Xt(e,i);return{isError:!r.ok,content:[{type:"text",text:JSON.stringify(r)}],structuredContent:r}}catch(r){let s=D(r);return{isError:!0,content:[{type:"text",text:s}],structuredContent:{ok:!1,code:void 0,message:s}}}}}];import{z as I}from"zod";function nn(t,e){return E({url:"/api/masterserv/hpage/listH5Page",method:"post",data:t,type:"business",token:e})}function rn(t,e){return E({url:"/api/masterserv/hpage/listH5PageByOne",method:"post",data:t,type:"business",token:e})}function on(t){return E({url:"/pemission/rolepermission/account/getPreviewAccounts",method:"post",data:t,type:"tenant"})}async function sn(){let t=oe();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 o=1;o<=3;o++)try{let i=await on({pvcode:t.productVersionCode,rows:200}),s=(Array.isArray(i?.resp_data)?i.resp_data:[]).find(n=>n.positionname==="SFA\u7CFB\u7EDF\u7BA1\u7406\u5458");if(!s)throw new Error("\u672A\u5728\u9884\u89C8\u8D26\u53F7\u5217\u8868\u4E2D\u627E\u5230\u804C\u4F4D\u4E3A\u300CSFA\u7CFB\u7EDF\u7BA1\u7406\u5458\u300D\u7684\u8D26\u53F7");if(!s.token)throw new Error("\u627E\u5230\u804C\u4F4D\u4E3A\u300CSFA\u7CFB\u7EDF\u7BA1\u7406\u5458\u300D\u7684\u8D26\u53F7\uFF0C\u4F46\u5176 token \u4E3A\u7A7A\uFF0C\u65E0\u6CD5\u7528\u4E8E H5 \u8868\u5355\u67E5\u8BE2");return s.token}catch(i){e=i,o<3&&await new Promise(r=>setTimeout(r,800))}throw e}async function an(t){let e=await sn();return nn(t,e)}async function ln(t){let e=await sn();return rn(t,e)}var cn=I.object({confjson:I.union([I.string(),I.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:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6240\u5C5E\u76EE\u5F55\u7F16\u7801\uFF0C\u9884\u7559\u5B57\u6BB5"),pagecode:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801"),pagedescr:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u63CF\u8FF0"),pagetype:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u9875\u9762\u7C7B\u578B\uFF0C\u9884\u7559\u5B57\u6BB5"),platcreateop:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u4EBA\u59D3\u540D"),platcreatetime:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u521B\u5EFA\u65F6\u95F4"),platstatus:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u5E73\u53F0\u72B6\u6001"),platupdateop:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),platupdatetime:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),status:I.union([I.string(),I.number(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u72B6\u6001\uFF1B1-\u542F\u7528\uFF1B2-\u505C\u7528"),title:I.union([I.string(),I.null()]).optional().describe("H5 \u8868\u5355\u7684\u6807\u9898")}).catchall(I.unknown()),Rr=cn.omit({confjson:!0}),wr={data:I.array(Rr).describe("\u8FD9\u4E00\u9875\u7684 H5 \u8868\u5355\u6570\u636E"),pageCount:I.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:I.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:I.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:I.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},kr=cn.shape,un=[{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:I.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:I.string().optional().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),status:I.string().optional().describe('\u72B6\u6001\uFF0C\u6574\u6570\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528\u3002\u793A\u4F8B\u4F20 "1"'),title:I.string().optional().describe("H5 \u8868\u5355\u7684\u6807\u9898\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),updateopname:I.string().optional().describe("\u6700\u8FD1\u4FEE\u6539\u4EBA\u59D3\u540D\uFF0C\u6A21\u7CCA\u67E5\u8BE2"),page:I.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:I.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:wr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{keywords:e="",pagecode:o="",status:i="",title:r="",updateopname:s="",page:n=1,rows:l=20}=t;try{let a=(await an({keywords:e,pagecode:o,status:i,title:r,updateopname:s,page:Number(n)||1,rows:Number(l)||20})).resp_data,d=Array.isArray(a?.data)?a.data.map(h=>{let _={...h};return delete _.confjson,_}):a?.data,y={...a,data:d};return F(y)}catch(u){return M(u)}}},{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:I.string().describe("H5 \u8868\u5355\u7684\u552F\u4E00\u7F16\u7801")},outputSchema:kr,annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{pagecode:e}=t;try{let o=await ln({pagecode:e});return{content:[{type:"text",text:JSON.stringify(o.resp_data)}],structuredContent:o.resp_data}}catch(o){return M(o)}}}];import{z as f}from"zod";function dn(t){return E({url:"/bizserv/bizmodel/pageList",method:"post",data:t,type:"tenant"})}function pn(t){return E({url:"/bizserv/bizmodel/get",method:"post",data:t,type:"tenant"})}var xr=f.object({classname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:f.union([f.string(),f.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:f.union([f.string(),f.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:f.union([f.string(),f.number()]).nullable().optional().describe("\u987A\u5E8F"),status:f.union([f.string(),f.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:f.union([f.string(),f.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4")}).catchall(f.unknown()),Or={classname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),createaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u4EBA\u7684\u8D26\u53F7 code"),createaccountname:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),createtime:f.union([f.string(),f.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),dddlayer:f.union([f.string(),f.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:f.union([f.string(),f.number()]).nullable().optional().describe("\u6240\u5C5E\u76EE\u5F55\u5206\u7C7B\u7684\u7F16\u7801"),marktype:f.union([f.string(),f.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C modelcode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),modelcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u51FD\u6570\u7684\u7F16\u7801"),modeldescr:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u63CF\u8FF0"),modelname:f.union([f.string(),f.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),seq:f.union([f.string(),f.number()]).nullable().optional().describe("\u987A\u5E8F"),status:f.union([f.string(),f.number()]).nullable().optional().describe("\u72B6\u6001\uFF0C\u542B\u4E49\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),tablename:f.union([f.string(),f.null()]).optional().describe("\u6570\u636E\u5E93\u8868\u540D\uFF08\u51FD\u6570\u4E00\u822C\u65E0\u5BF9\u5E94\u8868\uFF0C\u901A\u5E38\u4E3A\u7A7A\uFF09"),updateaccountcode:f.union([f.string(),f.number()]).nullable().optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u7684\u8D26\u53F7 code"),updateaccountname:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA\u59D3\u540D"),updatetime:f.union([f.string(),f.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),confjson:f.string().nullable().optional().describe("flycode \u51FD\u6570\u4EE3\u7801\u5185\u5BB9")},mn=[{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${H}\n${fe}`,inputSchema:{classname:f.string().optional().describe("\u51FD\u6570\u82F1\u6587\u540D"),name:f.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C modelname \u4E00\u81F4"),modelname:f.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u901A\u5E38\u548C name \u4E00\u81F4"),flycodekey:f.string().optional().describe("\u51FD\u6570\u5185\u5BB9\u5173\u952E\u5B57"),page:f.string().optional().describe("\u5206\u9875\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),rows:f.string().optional().describe("\u5206\u9875\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:f.array(xr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:f.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:f.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:f.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:f.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{classname:e="",name:o="",modelname:i="",flycodekey:r="",page:s=1,rows:n=20}=t;try{let l=await dn({dddlayer:3,directorytypecode:"",starttime:"",classname:e,name:o,modelname:i,flycodekey:r,page:Number(s)||1,rows:Number(n)||20});return F(l.resp_data)}catch(l){return M(l)}}},{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${H}\n${fe}`,inputSchema:{modelcode:f.string().describe("\u51FD\u6570\u7684\u7F16\u7801")},outputSchema:f.looseObject(Or),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{modelcode:e}=t;try{let o=await pn({modelcode:e});return F(o.resp_data)}catch(o){return M(o)}}}];import{z as A}from"zod";function gn(t){return E({url:"/bizserv/customfunction/list",method:"post",data:t,type:"tenant"})}var Pr=A.object({createtime:A.union([A.string(),A.null()]).optional().describe("\u521B\u5EFA\u65F6\u95F4"),creator:A.union([A.string(),A.null()]).optional().describe("\u521B\u5EFA\u4EBA\u59D3\u540D"),dbfunctionname:A.union([A.string(),A.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D"),functioncode:A.union([A.string(),A.null()]).optional().describe("\u51FD\u6570\u552F\u4E00\u7F16\u7801"),functionname:A.union([A.string(),A.null()]).optional().describe("\u51FD\u6570\u4E2D\u6587\u540D"),functionscript:A.union([A.string(),A.null()]).optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u5185\u5BB9\uFF08PostgreSQL \u51FD\u6570\u4F53\uFF09"),marktype:A.union([A.string(),A.number()]).nullable().optional().describe("\u521B\u5EFA\u6807\u8BB0\uFF1A0-\u5E73\u53F0\uFF1B1-\u4EA7\u54C1\uFF1B2-\u79DF\u6237"),metamodelcode:A.union([A.string(),A.null()]).optional().describe("\u9886\u57DF\u6A21\u578B\u7F16\u7801\uFF0C\u548C functioncode \u5171\u540C\u6784\u6210\u590D\u5408\u4E3B\u952E"),publishstatus:A.union([A.string(),A.number()]).nullable().optional().describe("\u53D1\u5E03\u72B6\u6001\uFF0C1-\u672A\u53D1\u5E03\uFF1B2-\u5DF2\u53D1\u5E03"),remark:A.union([A.string(),A.null()]).optional().describe("\u5907\u6CE8"),status:A.union([A.string(),A.number()]).nullable().optional().describe("\u72B6\u6001\uFF1A1-\u542F\u7528\uFF1B2-\u505C\u7528"),updatetime:A.union([A.string(),A.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4"),updator:A.union([A.string(),A.null()]).optional().describe("\u6700\u8FD1\u66F4\u65B0\u4EBA")}).catchall(A.unknown()),fn=[{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${H}\n${fe}`,inputSchema:{dbfunctionname:A.string().optional().describe("\u6570\u636E\u5E93\u51FD\u6570\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),name:A.string().optional().describe("\u51FD\u6570\u4E2D\u6587\u540D\uFF0C\u6A21\u7CCA\u5339\u914D"),pageindex:A.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u5F53\u524D\u9875\uFF0C\u4ECE 1 \u5F00\u59CB"),pagesize:A.string().optional().describe("\u5206\u9875\u67E5\u8BE2\u53C2\u6570\uFF0C\u6BCF\u9875\u8BB0\u5F55\u6570")},outputSchema:{data:A.array(Pr).describe("\u8FD9\u4E00\u9875\u7684\u4E1A\u52A1\u6570\u636E"),pageCount:A.coerce.number().describe("\u603B\u9875\u6570"),pageIndex:A.coerce.number().describe("\u7B2C\u51E0\u9875"),pageSize:A.coerce.number().describe("\u6BCF\u9875\u8BB0\u5F55\u6570"),resultCount:A.coerce.number().describe("\u603B\u8BB0\u5F55\u6570")},annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{dbfunctionname:e="",name:o="",pageindex:i=1,pagesize:r=20}=t;try{let s=await gn({dbfunctionname:e,name:o,pageindex:Number(i)||1,pagesize:Number(r)||20});return F(s.resp_data)}catch(s){return M(s)}}}];import{z as Oe}from"zod";function yn(t){return E({url:"/api/biz/sqlrun",method:"post",data:t,type:"business"})}var Sr={data:Oe.array(Oe.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:Oe.coerce.number().nullable().optional().describe("\u67E5\u8BE2\u7ED3\u679C\u603B\u6570")},bn=[{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:Oe.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:Oe.looseObject(Sr),annotations:{readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0}},handler:async t=>{let{sql:e}=t;try{let o=await yn({sql:e});return F(o.resp_data)}catch(o){return M(o)}}}];import{z as hn}from"zod";var _n=[{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:hn.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:hn.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 o=Re().toString(),r={code:e?`${e}${o}`:o};return F(r)}catch(o){let r={error:o.message??String(o)};return{isError:!0,content:[{type:"text",text:JSON.stringify(r)}]}}}}];import{isJSONRPCNotification as Nr,isJSONRPCRequest as Rn,isJSONRPCResultResponse as Ir}from"@modelcontextprotocol/sdk/types.js";var wn=13*1024,Ar=10,kn=new Set(["description","examples","default","title"]),vr=new Set(["const","enum","examples","default"]),Cr=new Set(["properties","patternProperties","$defs","definitions","dependentSchemas"]),Dr=new Set(["allOf","anyOf","oneOf","prefixItems"]),Er=new Set(["items","additionalProperties","not","if","then","else","contains","propertyNames","unevaluatedProperties","unevaluatedItems"]),$r="\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 xn(t){return t?.trim().toLowerCase()==="compact"?"compact":"full"}var B=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),rt=t=>Buffer.byteLength(JSON.stringify(t)??"","utf8");function ot(t,e=0){if(Array.isArray(t)){let i=e;for(let r of t)i=Math.max(i,ot(r,e+1));return i}if(!B(t))return e;let o=e;for(let i of Object.values(t))o=Math.max(o,ot(i,e+1));return o}var Fr=["null","boolean","object","array","number","string"];function On(t,e){if(Array.isArray(t))return t.map(i=>e(i));if(!B(t))return t;let o={};for(let[i,r]of Object.entries(t)){if(vr.has(i)){o[i]=r;continue}if(Cr.has(i)&&B(r)){o[i]=Object.fromEntries(Object.entries(r).map(([s,n])=>[s,e(n)]));continue}if(Dr.has(i)&&Array.isArray(r)){o[i]=r.map(s=>e(s));continue}if(Er.has(i)){o[i]=Array.isArray(r)?r.map(s=>e(s)):e(r);continue}o[i]=r}return o}function Tr(t){let e=On(t,Pn),o={};for(let[i,r]of Object.entries(e))kn.has(i)&&i!=="description"||(o[i]=r);return o}function Pn(t){let e=On(t,Pn);if(!B(e))return e;let o={};for(let[i,r]of Object.entries(e))kn.has(i)||(o[i]=r);return o}function Mr(t,e){if(e==="#")return t;if(!e.startsWith("#/"))return;let o=t;for(let i of e.slice(2).split("/")){let r=i.replaceAll("~1","/").replaceAll("~0","~");if(!B(o)||!Object.hasOwn(o,r))return;o=o[r]}return o}function it(t,e,o=new Set){if(!B(t))return;if(typeof t.$ref=="string"){if(o.has(t.$ref))return;let s=Mr(e,t.$ref);return s===void 0?void 0:it(s,e,new Set([...o,t.$ref]))}if(typeof t.type=="string")return[t.type];if(Array.isArray(t.type)&&t.type.every(s=>typeof s=="string"))return t.type;let i=Array.isArray(t.anyOf)?t.anyOf:Array.isArray(t.oneOf)?t.oneOf:[];if(i.length===0)return;let r=i.map(s=>it(s,e,o));if(!r.some(s=>s===void 0))return[...new Set(r.flatMap(s=>s??[]))]}function Lr(t){let e=B(t.properties)?t.properties:{},o=typeof t.description=="string"&&t.description.length>0?`${t.description} `:"",i=Object.fromEntries(Object.entries(e).map(([r,s])=>{let n=it(s,t),l=n!==void 0&&n.length===1?n[0]:n,u={};return l!==void 0&&(u.type=l),Array.isArray(n)&&n.includes("array")&&(u.items={type:[...Fr],items:{}}),B(s)&&(typeof s.description=="string"&&(u.description=s.description),s.enum!==void 0&&(u.enum=s.enum),s.const!==void 0&&(u.const=s.const)),[r,u]}));return{type:"object",description:`${o}${$r}`,properties:i,...Array.isArray(t.required)?{required:[...t.required]}:{},...t.additionalProperties===!1?{additionalProperties:!1}:{}}}function jr(t,e){let o=Tr(t);return rt(o)<=e&&ot(o)<=Ar?{schema:o,presentation:"inline"}:{schema:Lr(t),presentation:"reduced"}}function Hr(t,e){if(!B(t.inputSchema))return t;let o=rt(t.inputSchema),{schema:i}=jr(t.inputSchema,e);return rt(i)>=o?t:{...t,inputSchema:i}}function Ur(t,e){if(!Ir(t))return t;let o=t.result;if(!B(o)||!Array.isArray(o.tools))return t;let i=o.tools.map(r=>B(r)?Hr(r,e):r);return{...t,result:{...o,tools:i}}}function Sn(t,e){let o=new Set,i={start:()=>t.start(),close:()=>t.close(),setProtocolVersion:r=>t.setProtocolVersion?.(r),send:async(r,s)=>{let n="id"in r&&(typeof r.id=="string"||typeof r.id=="number")?r.id:void 0,l=n!==void 0&&o.has(n);try{await t.send(l?Ur(r,e):r,s)}finally{!Rn(r)&&n!==void 0&&o.delete(n)}}};return t.onmessage=r=>{if(Rn(r)&&r.method==="tools/list"&&o.add(r.id),Nr(r)&&r.method==="notifications/cancelled"){let s=r.params?.requestId;(typeof s=="string"||typeof s=="number")&&o.delete(s)}i.onmessage?.(r)},t.onerror=r=>i.onerror?.(r),t.onclose=()=>{o.clear(),i.onclose?.()},i}await mt();var Pe=new Kr({name:"flycode-mcp",version:"1.0.0"}),In=(process.env.PROGRESSIVE_DISCLOSURE??"on").toLowerCase()!=="off",Nn=xn(process.env.FLYCODE_MCP_INPUT_SCHEMA_PROFILE),Yr=[...xt,...At,...Et,...jt,...en,...tn,...un,...mn,...fn,...bn,..._n],An=new Ie(In);An.registerAll(Pe,Yr);for(let t of yt(An))Pe.registerTool(t.name,t.config,t.handler);async function zr(){let t=new Vr,e=Nn==="compact"?Sn(t,wn):t;await Pe.connect(e),process.on("SIGINT",async()=>{await Pe.close(),process.exit(0)}),process.on("SIGTERM",async()=>{await Pe.close(),process.exit(0)}),console.error(`flycode-mcp listening on stdio (progressive disclosure: ${In?"on":"off"}, input schema profile: ${Nn})`)}zr().catch(t=>{console.error(t),process.exit(1)});