import{r as e}from"./norm-CeclA1Tu.js";import{n as t}from"./llmSettings-A1Pww_S_.js";import{s as n}from"./proxyOps-Bu_E5G0s.js";import{a as r,t as i}from"./llm-BJZzBJtf.js";var a=()=>(e(`https://api2.bysjob.com`)||`https://api2.bysjob.com`).replace(/\/+$/g,``),o=t=>{let n=new Set([`本科`,`专科`,`985`,`211`,`双一流`,`QS_Top_50`,`QS_Top_100`,`QS_Top_200`,`QS_Top_300`]),r=Array.isArray(t)?t:[];return Array.from(new Set(r.map(t=>e(t)).filter(e=>n.has(e))))},s=t=>{let n=String(t||``);if(!n)return[];let r=/([\u4e00-\u9fa5A-Za-z·&'’\-\s]{2,60}(?:大学|学院|University|College|Institute))/g,i=new Set,a=null;for(;(a=r.exec(n))!==null;){let t=e(a[1]).replace(/\s+/g,` `);if(t&&t.length<=60&&i.add(t),i.size>=6)break}return Array.from(i).slice(0,6)},c=e=>`${e} 学校 曾用名 改名 合并 更名 办学层次 本科 专科 985 211 双一流 QS 排名`,l=t=>(Array.isArray(t?.results)?t.results:Array.isArray(t?.rows)?t.rows:[]).map(t=>({title:e(t?.title||t?.name),snippet:e(t?.snippet||t?.summary||t?.content),source:e(t?.source||t?.domain),url:e(t?.url||t?.link)})).filter(e=>e.title||e.snippet).slice(0,6),u=e=>e.map((e,t)=>`#${t+1} ${e.title}\n${e.snippet}${e.source?`\n来源: ${e.source}`:``}${e.url?`\n链接: ${e.url}`:``}`).join(`

`),d=async a=>{let s=await t(),d=u(l(await n({query:c(a),maxResults:6,timeoutMs:45e3}).catch(()=>null)));if(!d)return null;let f=[`学校名称：${a}`,`基于以下秘塔搜索结果，识别该学校对应标签。`,`只输出 JSON 数组，元素仅可来自：本科、专科、985、211、双一流、QS_Top_50、QS_Top_100、QS_Top_200、QS_Top_300。`,d].join(`

`),p=[`学校名称：${a}`,`基于以下秘塔搜索结果，输出一句不超过60字的学校标准化摘要（可含曾用名/现用名/层次/排名）。`,d].join(`

`),[m,h]=await Promise.all([i({proxyUrl:s.proxyUrl,gatewayApiKey:s.gatewayApiKey,clientId:s.clientId||`public`,tier:s.tier,provider:`minimax`,model:`MiniMax-M2.7`,payload:{messages:[{role:`user`,content:f}],temperature:.1}}).catch(()=>``),i({proxyUrl:s.proxyUrl,gatewayApiKey:s.gatewayApiKey,clientId:s.clientId||`public`,tier:s.tier,provider:`minimax`,model:`MiniMax-M2.7`,payload:{messages:[{role:`user`,content:p}],temperature:.2}}).catch(()=>``)]),g=[];try{g=o(JSON.parse(r(String(m||`[]`))))}catch{}let _=e(h).replace(/\s+/g,` `).slice(0,220);return{tags:g,summary:_}},f=async(e,t)=>{try{let n=`${a()}/api/dict/universities?q=${encodeURIComponent(e)}&limit=${Math.max(1,Math.min(50,t))}`,r=await fetch(n,{method:`GET`,headers:{Accept:`application/json`}});if(!r.ok)return[];let i=await r.json().catch(()=>null);return Array.isArray(i?.items)?i.items:Array.isArray(i)?i:[]}catch{return[]}},p={async buildUniversityContextFromText(e){let t=s(e);if(!t.length)return``;let n=[];for(let e of t.slice(0,3)){let t=await this.getSchoolSummaryContext(e).catch(()=>``);t&&n.push(t)}return n.join(`
`)},async searchUniversities(t,n=5){let r=e(t);if(!r)return[];let i=await f(r,Math.max(1,Math.min(20,Number(n)||5)));return Array.isArray(i)?i:[]},async mapSchoolToTags(t){let n=e(t);if(!n)return[];let r=await this.searchUniversities(n,1);return r&&r.length>0?r[0].tags||[]:o((await d(n).catch(()=>null))?.tags||[])},async getSchoolSummaryContext(t){let n=e(t);if(!n)return``;let r=await this.searchUniversities(n,1);if(!r||r.length===0){let t=e((await d(n).catch(()=>null))?.summary);return t?`[系统背景事实] 候选人提及的院校 "${n}" 经查证：${t}`:`[系统未在字典中找到 ${n} 的确切信息，请依赖自身知识或联网搜索判断]`}let i=r[0],a=[];i.name_cn&&a.push(i.name_cn),i.name_en&&i.name_en!==i.name_cn&&a.push(i.name_en);let o=i.tags?.length>0?`（事实标签：${i.tags.join(`, `)}）`:``,s=i.qs_rank_tier?`，QS全球排名前 ${i.qs_rank_tier} 梯队`:``;return`[系统背景事实] 候选人提及的院校 "${n}" 对应实体为：${a.join(` / `)}${o}${s}。`}};export{p as t};