var te=Object.defineProperty,ee=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var Z=Object.getOwnPropertySymbols;var $t=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable;var St=(e,t,n)=>t in e?te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_=(e,t)=>{for(var n in t||(t={}))$t.call(t,n)&&St(e,n,t[n]);if(Z)for(var n of Z(t))Tt.call(t,n)&&St(e,n,t[n]);return e},P=(e,t)=>ee(e,ne(t));var Ct=(e,t)=>{var n={};for(var i in e)$t.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&Z)for(var i of Z(e))t.indexOf(i)<0&&Tt.call(e,i)&&(n[i]=e[i]);return n};var L=(e,t,n)=>new Promise((i,r)=>{var u=l=>{try{w(n.next(l))}catch(h){r(h)}},f=l=>{try{w(n.throw(l))}catch(h){r(h)}},w=l=>l.done?i(l.value):Promise.resolve(l.value).then(u,f);w((n=n.apply(e,t)).next())});import{g as lt,q as ie,h as se,w as ae,o as v,c as b,z as Nt,F,y as B,n as q,a as p,t as R,j as k,C as oe,u as re,B as xt,f as Pt,s as ue,H as le,e as ce,D as de,G as me,d as M,A as fe}from"./index-1785858872961.js";import{r as Ft,n as zt}from"./index-d6700f13-1785858872961.js";import{g as ge}from"./balanceApi-a2c0a6b6-1785858872961.js";import{a as ye,c as pe,b as ve,l as we}from"./yakApi-4b33f49b-1785858872961.js";import{h as be,a as he,r as Bt,b as ke,t as Ht,y as Re,c as Ae,s as _e,d as Se,e as $e}from"./data-33173954-1785858872961.js";import{p as Te,i as Ce,a as Ne,b as xe,k as Pe,c as Ee,d as Me,h as De,j as Le,l as Fe,e as ze}from"./data-7f9dd12a-1785858872961.js";import{B as mt,b as it,c as Be,n as Et}from"./data-56996d99-1785858872961.js";import{f as He,h as Oe,i as qe,j as Ve,k as je,l as Ie,p as Ge,r as Ue,a as Ye}from"./data-6a941f14-1785858872961.js";import{i as Ke,k as We,s as Qe,l as Je,m as Xe,n as Ze,o as tn,p as en,q as nn,r as sn,t as an,u as on,w as rn,x as un,a as ln,y as cn,z as dn,A as mn,B as fn,C as gn}from"./data-c85702ea-1785858872961.js";import"./index-e9f36657-1785858872961.js";import"./livestockData-36ec0ae2-1785858872961.js";import"./townshipBoundaries-8867fad4-1785858872961.js";import"./familyPastureData-f64283c3-1785858872961.js";const yn="/openApi";function pn(e){return/^https?:\/\//.test(e)?e:`${yn}${e.startsWith("/")?e:`/${e}`}`}function vn(e){if((e==null?void 0:e.success)===!1||(e==null?void 0:e.code)!==void 0&&![0,200,"0","200"].includes(e.code)){const n=new Error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"图表接口请求失败");throw n.code=e==null?void 0:e.code,n}return zt(e)}function wn(i){return L(this,arguments,function*(e,t=window.location.hash||window.location.pathname,n="智慧管理"){const r=yield Ft(pn("/ai/stat/charts"),{params:{question:e,pagePath:t,pageName:n},timeout:12e3}).then(vn);return(Array.isArray(r==null?void 0:r.charts)?r.charts:[]).map(bn).filter(f=>f.rows.length)})}function bn(e,t){const n=Array.isArray(e==null?void 0:e.rows)?e.rows:[];return{id:(e==null?void 0:e.id)||`smart-chart-${t}`,type:hn(e==null?void 0:e.type),title:(e==null?void 0:e.title)||`统计图表${t+1}`,subtitle:kn(e==null?void 0:e.subtitle),unit:(e==null?void 0:e.unit)||"",source:(e==null?void 0:e.source)||{},rows:n.map((i,r)=>({key:(i==null?void 0:i.key)||`${(i==null?void 0:i.name)||"row"}-${r}`,name:String((i==null?void 0:i.name)||`指标${r+1}`),value:Rn(i==null?void 0:i.value),rawValue:i==null?void 0:i.value,unit:(i==null?void 0:i.unit)||(e==null?void 0:e.unit)||"",extra:(i==null?void 0:i.extra)||""})).filter(i=>i.name&&Number.isFinite(i.value))}}function hn(e){return["pie","donut"].includes(e)?"pie":["line","trend"].includes(e)?"line":"bar"}function kn(e){const t=String(e||"").trim();return!t||/^(数据)?来源[::]/.test(t)||t.includes("固定展示")?"":t}function Rn(e){if(e==null||e==="")return NaN;const t=Number(String(e).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(t)?t:NaN}const Mt="智慧管理",An=80,_n=[{key:"livestock_balance",label:"草畜平衡",patterns:[/草畜|平衡|承载|载畜|超载|放牧压力|轮牧|休牧/],build:Pn},{key:"yak",label:"牦牛管理",patterns:[/牦牛|耗牛|犛牛|存栏|畜群|牛群|牛犊|母牛|公牛|出栏|交易|预测/],build:Cn},{key:"pasture",label:"牧户管理",patterns:[/牧户|牧场|联户|在线|年龄|性别|户均|草场/],build:En},{key:"ecology",label:"生态保护",patterns:[/生态|公益林|湿地|草地|林地|保护|修复|红线|公园|自然保护地|工程/],build:Mn},{key:"industry",label:"牦牛全产业链",patterns:[/产业链|全产业链|产业|主体|加工|屠宰|饲草|储草|家庭生态牧场|品牌|服务能力/],build:Dn}];function Sn(n){return L(this,arguments,function*(e,t={}){var N;const i=qt(e),r=t.pagePath||window.location.hash||window.location.pathname,u=[],f=wn(i,r,Mt).catch(E=>(u.push(ft(E,"辅助图表暂不可用")),[])),w=Tn(i),l=yield Promise.all(w.map(E=>E.build(i,u))),h=Bn(l.flat()),y=yield f,$=w.length===1&&((N=w[0])==null?void 0:N.key)==="overview",z=h.length?h:$?Ot():[],j=In(i,z),H={question:i,pageName:Mt,pagePath:r,scope:j,intents:w.map(E=>({key:E.key,label:E.label})),datasets:z,charts:y,notes:Hn(z,y,u),warnings:u};return P(_({},H),{insights:Vn(H)})})}function $n(e={}){const t=Array.isArray(e.datasets)?e.datasets:[],n=Array.isArray(e.insights)?e.insights:[],i=e.scope||"红原县",r=t.slice(0,4).map(l=>l.title).filter(Boolean),u=n.slice(0,5).map(l=>`- ${l.label}:${l.value}${l.note?`(${l.note})`:""}`),f=qn(t),w=(e.notes||[]).slice(0,3).map(l=>`- ${l}`);return["**总体情况**",`已按${i}相关业务数据整理本次问题的业务信息。`,"","**已整理数据**",...r.length?r.map(l=>`- ${l}`):["- 平台综合业务数据"],"",u.length?"**关键数据**":"",...u,"",f.length?"**核算依据**":"",...f,"",w.length?"**数据说明**":"",...w].filter(Boolean).join(` `)}function Tn(e){const t=_n.filter(n=>n.patterns.some(i=>i.test(e)));return t.length?t:[{key:"overview",label:"综合总览",build:()=>Ot()}]}function Ot(){return[c("home.topStats","首页核心指标",be,"平台业务汇总数据"),c("home.heroStats","资源与草畜概览",he,"平台业务汇总数据"),c("home.resourceComposition","资源构成",Bt,"平台业务汇总数据"),c("home.businessMatrix","业务矩阵",ke,"平台业务汇总数据"),c("home.townSynergy","乡镇林草湿与牦牛协同",Ht,"平台业务汇总数据"),c("home.yakTown","首页牦牛乡镇排行",Re,"平台业务汇总数据"),c("home.trade","首页交易结构",Ae,"平台业务汇总数据"),c("home.support","首页支撑产业",_e,"平台业务汇总数据"),c("home.dataFlow","数据流汇总",Se,"平台业务汇总数据"),c("home.centerOrbit","首页中心节点",$e,"平台业务汇总数据")]}function Cn(n){return L(this,arguments,function*(e,t=[]){const[i,r,u,f]=yield Promise.allSettled([ye(),pe(),ve(),we()]);et(i,t,"牦牛乡镇存栏数据暂未取得"),et(r,t,"牦牛畜群结构数据暂未取得"),et(u,t,"牦牛预测数据暂未取得"),et(f,t,"牦牛交易数据暂未取得");const w=Nn(tt(i)),l=Dt(tt(r)),h=xn(tt(u)),y=Dt(tt(f));return[c("yak.town","乡镇牦牛存栏分布",w,"牦牛管理接口数据"),c("yak.structureRows","畜群结构数量",l,"牦牛管理接口数据"),c("yak.forecastRows","牦牛月度预测",h,"牦牛管理接口数据"),c("yak.tradeImpact","交易影响",y,"牦牛交易接口数据")]})}function tt(e){return e.status==="fulfilled"&&Array.isArray(e.value)?e.value:[]}function et(e,t,n){e.status==="rejected"&&t.push(ft(e.reason,n))}function Nn(e=[]){return e.map((t,n)=>{var u,f,w,l;const i=String(t.name||t.areaName||t.area_name||t.townName||t.zoneName||"").trim(),r=W((l=(w=(f=(u=t.count)!=null?u:t.value)!=null?f:t.number)!=null?w:t.yakCount)!=null?l:t.yak_count);return{key:t.key||t.id||t.areaCode||t.area_code||`${i||"yak-town"}-${n}`,name:i,count:r,value:r,unit:t.unit||"头"}}).filter(t=>t.name&&Number.isFinite(t.count)).sort((t,n)=>n.count-t.count)}function Dt(e=[]){return e.map((t,n)=>{var u,f,w,l,h;const i=String(t.name||t.label||t.type||t.key||"").trim(),r=W((h=(l=(w=(f=(u=t.count)!=null?u:t.value)!=null?f:t.number)!=null?w:t.yakCount)!=null?l:t.headCount)!=null?h:t.amount);return{key:t.key||t.id||`${i||"yak-metric"}-${n}`,name:i,count:r,value:r,unit:t.unit||"头",extra:t.extra||""}}).filter(t=>t.name&&Number.isFinite(t.count)).sort((t,n)=>n.count-t.count)}function xn(e=[]){return e.map((t,n)=>{var u,f,w,l;const i=String(t.name||t.label||t.month||t.date||t.time||"").trim(),r=W((l=(w=(f=(u=t.stock)!=null?u:t.count)!=null?f:t.value)!=null?w:t.number)!=null?l:t.yakCount);return{key:t.key||t.id||`${i||"yak-forecast"}-${n}`,name:i,label:i,stock:r,count:r,value:r,unit:t.unit||"头",extra:t.extra||""}}).filter(t=>t.name&&Number.isFinite(t.stock))}function Pn(n){return L(this,arguments,function*(e,t=[]){let i=it;try{const h=yield ge();i=Fn(h,it)}catch(h){t.push(ft(h,"草畜平衡实时结果暂未取得,已使用同版本兜底数据"))}const r=i.filter(h=>h.type==="county"),u=i.filter(h=>h.type==="town"),f=i.filter(h=>h.type==="village"),w=Ln(e,i),l=(w==null?void 0:w.name)||"红原县";return[c("balance.target",`${l}草畜平衡`,[nt(w)],"统一草畜平衡结果库"),c("balance.county","全县草畜平衡",r.map(nt),"统一草畜平衡结果库"),c("balance.town","乡镇草畜平衡",u.map(nt),"统一草畜平衡结果库"),c("balance.village","村级草畜平衡",f.map(nt),"统一草畜平衡结果库"),c("balance.params","草畜平衡核算口径",[On()],"统一草畜平衡结果库")]})}function En(){return[c("pasture.core","牧户核心指标",Te,"平台业务汇总数据"),c("pasture.topStats","牧户顶部指标",Ce,"平台业务汇总数据"),c("pasture.town","牧户乡镇分布",Ne,"平台业务汇总数据"),c("pasture.online","牧户在线率",xe,"平台业务汇总数据"),c("pasture.structure","牧户年龄性别结构",Pe,"平台业务汇总数据"),c("pasture.age","牧户年龄结构",Ee,"平台业务汇总数据"),c("pasture.gender","牧户性别结构",Me,"平台业务汇总数据"),c("pasture.list","牧户示例列表",De,"平台业务汇总数据"),c("pasture.grassland","牧户草场资源",Le,"平台业务汇总数据"),c("pasture.season","牧户季节草场",Fe,"平台业务汇总数据"),c("pasture.map","牧户地图统计",ze,"平台业务汇总数据")]}function Mn(){return[c("ecology.parkTopStats","生态保护核心指标",He,"平台业务汇总数据"),c("ecology.parkCore","国家公园核心指标",Oe,"平台业务汇总数据"),c("ecology.parkTownRows","国家公园乡镇数据",qe,"平台业务汇总数据"),c("ecology.restorationTopStats","生态修复项目汇总",Ve,"平台业务汇总数据"),c("ecology.engineeringTopStats","生态工程分析指标",je,"平台业务汇总数据"),c("ecology.engineeringProjectFeatures","工程分析项目点",Ie,"平台业务汇总数据"),c("ecology.parkPanels","生态保护图表数据",ct(Ge),"平台业务汇总数据"),c("ecology.restorationPanels","生态修复图表数据",ct(Ue),"平台业务汇总数据"),c("ecology.engineeringAnalysisPanels","工程分析图表数据",ct(Ye),"平台业务汇总数据"),c("home.resourceComposition","林草湿资源构成",Bt,"平台业务汇总数据"),c("home.townSynergy","乡镇林草湿与牦牛协同",Ht,"平台业务汇总数据")]}function Dn(){return[c("industry.topStats","产业链核心指标",Ke,"平台业务汇总数据"),c("industry.overview","产业链总览",We,"平台业务汇总数据"),c("industry.stageComposition","产业阶段构成",Qe,"平台业务汇总数据"),c("industry.stageRows","产业阶段说明",Je,"平台业务汇总数据"),c("industry.breedingLevel","养殖水平",Xe,"平台业务汇总数据"),c("industry.forageSecurity","饲草保障能力",Ze,"平台业务汇总数据"),c("industry.value","产业价值指标",tn,"平台业务汇总数据"),c("industry.processingAbility","加工能力指标",en,"平台业务汇总数据"),c("industry.serviceCapability","服务能力指标",nn,"平台业务汇总数据"),c("industry.creditOverview","信用评定核心指标",sn,"红原信用村、信用户评定结果"),c("industry.creditAuthorization","信用户授信状态",an,"红原信用村、信用户评定结果"),c("industry.creditHouseholdRatings","信用户星级分布",on,"红原信用村、信用户评定结果"),c("industry.creditVillageGrades","信用村等级分布",rn,"红原信用村、信用户评定结果"),c("industry.creditTownshipGrades","乡镇信用村等级排行",un,"红原信用村、信用户评定结果"),c("industry.creditInstitutions","信用评定机构排行",ln,"红原信用村、信用户评定结果"),c("industry.financial","金融服务",cn,"平台业务汇总数据"),c("industry.supportPoints","饲草储备点位",dn,"平台业务汇总数据"),c("industry.processingPoints","加工屠宰点位",mn,"平台业务汇总数据"),c("industry.points","产业链点位",fn,"平台业务汇总数据"),c("industry.list","产业链主体列表",gn,"平台业务汇总数据")]}function Ln(e,t=it){return t.find(n=>n.type==="village"&&Lt(e,n.name))||t.find(n=>n.type==="town"&&Lt(e,n.name))||t.find(n=>n.type==="county")||Be}function Fn(e=[],t=it){const n=new Map((Array.isArray(e)?e:[]).map(r=>[String(r.areaCode||r.area_code||r.areacode||""),r])),i=t.map(r=>{const u=String(r.areaCode||""),f=n.get(u);return f?(n.delete(u),Et(f,r)):_({},r)});return n.forEach((r,u)=>{const f=u.length===6?"county":u.length===9?"town":u.length===12?"village":"area";f!=="area"&&i.push(Et(r,_({key:`${f}-${u}`,type:f,areaCode:u,name:r.name||r.areaName||r.area_name||r.areaname},mt)))}),i}function c(e,t,n,i){return{id:e,title:t,suggestedView:Gn(t,n),source:{label:i||"平台展示数据"},rows:zn(n)}}function zn(e){return(Array.isArray(e)?e:[]).slice(0,An).map(t=>dt(t)).filter(t=>t&&typeof t=="object")}function dt(e,t=0){return t>4||e===void 0||typeof e=="function"?null:e===null||["string","number","boolean"].includes(typeof e)?e:Array.isArray(e)?e.slice(0,30).map(n=>dt(n,t+1)):typeof e=="object"?Object.entries(e).reduce((n,[i,r])=>(["icon","color","tone","image","cover","component"].includes(i)||(n[i]=dt(r,t+1)),n),{}):String(e)}function Bn(e=[]){const t=new Set;return e.filter(n=>{var i;return!((i=n==null?void 0:n.rows)!=null&&i.length)||t.has(n.id)?!1:(t.add(n.id),!0)})}function Hn(e,t,n){return[...n].filter(Boolean)}function On(){return P(_({},mt),{hierarchy:"村级结果汇总至乡镇,乡镇结果汇总至县级",disclosure:"展示核算阶段、过程数据、差额、比例和等级,不展示计算公式"})}function nt(e={}){const j=e||{},{capacityPerMu:t,capacity_per_mu:n,capacitypermu:i,muPerCapacity:r,mu_per_capacity:u,mupercapacity:f,actualMuPerYak:w,actual_mu_per_yak:l,actualmuperyak:h,bearingCoefficient:y,pressureFactor:$}=j;return Ct(j,["capacityPerMu","capacity_per_mu","capacitypermu","muPerCapacity","mu_per_capacity","mupercapacity","actualMuPerYak","actual_mu_per_yak","actualmuperyak","bearingCoefficient","pressureFactor"])}function qn(e=[]){var l,h;const t=(h=(l=e.find(y=>y.id==="balance.target"))==null?void 0:l.rows)==null?void 0:h[0],n=W(t==null?void 0:t.bearingCapacity),i=W(t==null?void 0:t.livestockCapacity);if(!Number.isFinite(n)||!Number.isFinite(i)||n<=0)return[];const r=i-n,u=r/n*100,f=i/n*100,w=t.level||"以统一结果库为准";return[`- 理论载畜量 ${V(n)} 头,实际载畜量 ${V(i)} 头,超载数量 ${V(r)} 头。`,`- 核定超载率 ${V(u)}%,承载利用率 ${V(f)}%,平衡等级为“${w}”。`,`- 数据版本 ${t.scenarioVersion||mt.scenarioVersion},县、乡镇和村级数据采用同一结果口径。`]}function Vn(e){const t=[];return(e.datasets||[]).some(n=>{const i=jn(n);return i&&t.push(i),t.length>=5}),(e.charts||[]).some(n=>{var l,h;const i=(n.rows||[]).filter(y=>Number.isFinite(Number(y.value)));if(!i.length)return!1;const r=i.slice().sort((y,$)=>Number($.value||0)-Number(y.value||0)),u=n.unit==="%"||/率|占比|比例/.test(n.title||""),f=u?(l=r[0])==null?void 0:l.value:i.reduce((y,$)=>y+Number($.value||0),0),w=u&&((h=r[0])!=null&&h.name)?`${n.title||"关联图表"}:${r[0].name}`:n.title||"关联图表";return t.push({label:w,value:`${V(f)}${n.unit||""}`,note:i.length>1?u?"数值较高项":`覆盖 ${i.length} 项`:""}),t.length>=5}),t.slice(0,5)}function jn(e){var f,w,l,h;const t=(e.rows||[]).find(Boolean);if(!t)return null;const n=t.name||t.areaName||t.zh||t.label||e.title,i=t.overloadRate!==void 0||t.overloadrate!==void 0,r=i?(f=t.overloadRate)!=null?f:t.overloadrate:(h=(l=(w=t.value)!=null?w:t.yakNumber)!=null?l:t.livestockCapacity)!=null?h:t.areaRange;if(r==null||r==="")return null;const u=t.unit||(i?"%":t.yakNumber!==void 0||t.livestockCapacity!==void 0?"头":"");return{label:i?`${n}超载率`:n,value:`${V(r)}${u}`,note:i&&t.level||e.title}}function ct(e={}){return Object.entries(e||{}).flatMap(([t,n])=>(Array.isArray(n)?n:[]).flatMap(i=>(Array.isArray(i==null?void 0:i.rows)?i.rows:Array.isArray(i==null?void 0:i.data)?i.data:[]).map(u=>_({groupKey:t,panelKey:i.key,panelTitle:i.title},u))))}function In(e,t){var i,r;const n=(r=(i=t.find(u=>u.id==="balance.target"))==null?void 0:i.rows)==null?void 0:r[0];return n!=null&&n.name?n.name:n!=null&&n.areaName?n.areaName:"红原县"}function Gn(e,t){return!Array.isArray(t)||t.length<=1?"metrics":/结构|构成|占比|比例/.test(e)?"pie":/趋势|预测/.test(e)?"line":"bar-table"}function Lt(e,t){const n=qt(e),i=String(t||"").replace(/(县|镇|村|乡|牧场|牧户|联户)$/g,"");return!!(t&&(n.includes(t)||i&&n.includes(i)))}function qt(e){return String(e||"").replace(/耗牛/g,"牦牛").replace(/犛牛/g,"牦牛").trim()}function ft(e,t){const n=String((e==null?void 0:e.message)||"");return(e==null?void 0:e.code)===401||(e==null?void 0:e.code)==="401"||/未登录|授权|Unauthorized|HTTP 401/i.test(n)?"当前登录状态已失效,部分接口数据未取得":/timeout|timed out|超时/i.test(n)?`${t},接口响应超时`:t}function W(e){if(e==null||e==="")return NaN;const t=Number(String(e).replace(/,/g,"").replace(/%/g,""));return Number.isFinite(t)?t:NaN}function V(e){const t=Number(String(e).replace(/,/g,""));return Number.isFinite(t)?t.toLocaleString("zh-CN",{maximumFractionDigits:2}):e||"--"}const Un="/openApi",Yn=12e4,Kn=8e3,Wn=12,Qn=500;function Jn(e){return/^https?:\/\//.test(e)?e:`${Un}${e.startsWith("/")?e:`/${e}`}`}function Xn(e){if((e==null?void 0:e.success)===!1||(e==null?void 0:e.code)!==void 0&&![0,200,"0","200"].includes(e.code)){const n=new Error((e==null?void 0:e.message)||(e==null?void 0:e.msg)||"HTML界面生成失败");throw n.code=e==null?void 0:e.code,n}return zt(e)}function Zn(){return L(this,arguments,function*({question:e,answer:t="",charts:n=[],datasets:i=[],context:r=null,pagePath:u=window.location.hash||window.location.pathname,pageName:f="智慧管理"}={}){const w=ti({question:e,answer:t,charts:n,datasets:i,context:r}),l=yield Ft(Jn("/ai/artifact/html"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:e,pagePath:u,pageName:f,dataJson:w}),timeout:11e4}).then(Xn),h=String((l==null?void 0:l.provider)||""),y=String((l==null?void 0:l.model)||"");if(h.toLowerCase()!=="deepseek"||!y.toLowerCase().startsWith("deepseek-"))throw new Error("HTML界面不是由DeepSeek模型生成,已拒绝展示");const $=si((l==null?void 0:l.html)||(l==null?void 0:l.content)||l);if(!$)throw new Error("代码模型没有返回完整HTML");if(ai($))throw new Error("专题页面仍为原始数据表,已拒绝展示,请重新生成");return P(_({},l),{html:$})})}function ti({question:e,answer:t,charts:n,datasets:i,context:r}){const u={question:String(e||"").trim(),generatedAt:new Date().toISOString(),presentation:{format:"business-report",requirements:["输出应为业务报告页面,而不是原始数据表或字段清单。","不要直接展示 key、rawValue、areaCode、areaRange 等技术字段名。","页面需包含结论、关键指标、图表化对比、重点对象和工作建议。"]},answer:String(t||"").slice(0,Kn),context:ei(r),datasets:[...ni(n),...ii(i)]},f=JSON.stringify(u);if(f.length>Yn){const w=new Error("汇总数据超过120000字符,请先缩小查询范围");throw w.code="ARTIFACT_DATA_TOO_LARGE",w}return f}function ei(e){if(!e||typeof e!="object")return null;const{question:t,pageName:n,pagePath:i,scope:r,intents:u,notes:f,warnings:w,insights:l}=e;return st({question:t,pageName:n,pagePath:i,scope:r,intents:u,notes:f,warnings:w,insights:l})}function ni(e=[]){return(Array.isArray(e)?e:[]).slice(0,6).map((t,n)=>({id:(t==null?void 0:t.id)||`chart-${n+1}`,title:(t==null?void 0:t.title)||`统计数据${n+1}`,suggestedView:(t==null?void 0:t.type)||"bar",unit:(t==null?void 0:t.unit)||"",subtitle:(t==null?void 0:t.subtitle)||"",source:(t==null?void 0:t.source)||{},rows:Vt(t==null?void 0:t.rows)}))}function ii(e=[]){return(Array.isArray(e)?e:[]).slice(0,Wn).map((t,n)=>({id:(t==null?void 0:t.id)||`dataset-${n+1}`,title:(t==null?void 0:t.title)||(t==null?void 0:t.name)||`汇总数据${n+1}`,suggestedView:(t==null?void 0:t.suggestedView)||(t==null?void 0:t.type)||"auto",unit:(t==null?void 0:t.unit)||"",source:(t==null?void 0:t.source)||{},rows:Vt((t==null?void 0:t.rows)||(t==null?void 0:t.data)||t)}))}function Vt(e){return(Array.isArray(e)?e:[]).slice(0,Qn).map(t=>st(t))}function st(e,t=0){return t>4||e===void 0||typeof e=="function"?null:e===null||["string","number","boolean"].includes(typeof e)?e:Array.isArray(e)?e.slice(0,50).map(n=>st(n,t+1)):typeof e=="object"?Object.entries(e).reduce((n,[i,r])=>(n[i]=st(r,t+1),n),{}):String(e)}function si(e){let t=String(e||"").trim();t.startsWith("```")&&(t=t.replace(/^```(?:html)?\s*/i,"").replace(/\s*```$/i,"").trim());const n=t.match(/");return n&&i>=n.index&&(t=t.slice(n.index,i+7)),/]+>/g," ").replace(/\s+/g," ").toLowerCase(),i=(t.match(/