@customize-agent/server 4.59.3 → 4.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +34 -18
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +6 -0
- package/.next/server/chunks/1243.js +1 -1
- package/.next/server/chunks/{7931.js → 7848.js} +45 -46
- package/.next/server/chunks/8204.js +1 -1
- package/.next/server/chunks/9666.js +13 -14
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/assets/generated/preview.js +1 -1
- package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
- package/.next/server/pages/api/assets/generated.js +1 -1
- package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
- package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
- package/.next/server/pages/api/documents/canvas/[id].js +1 -1
- package/.next/server/pages/api/documents/canvas/[id].js.nft.json +1 -1
- package/.next/server/pages/api/documents/export.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate/preview.js +1 -1
- package/.next/server/pages/api/documents/generate/preview.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate.js +1 -1
- package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/events.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/events.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/figure/[name].js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/figure/[name].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/instruction.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/instruction.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/nodes.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/nodes.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/pause.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/pause.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/preview.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/preview.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/report.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/report.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/resume-generate.js +1 -1
- package/.next/server/pages/api/documents/generated/[id]/resume-generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id].js +1 -1
- package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated.js +1 -1
- package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
- package/.next/server/pages/api/health.js +1 -1
- package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
- package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
- package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/export.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/open.js +1 -1
- package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/preview-pdf-page.js +1 -1
- package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/reindex.js +1 -1
- package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/source-preview.js +1 -0
- package/.next/server/pages/api/kb/files/source-preview.js.nft.json +1 -0
- package/.next/server/pages/api/kb/files.js.nft.json +1 -1
- package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
- package/.next/server/pages/api/kb/material-groups.js.nft.json +1 -1
- package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
- package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
- package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload/complete.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
- package/.next/server/pages/api/system/reset.js +1 -1
- package/.next/server/pages/api/system/reset.js.nft.json +1 -1
- package/.next/server/pages/canvas/[id].html +1 -1
- package/.next/server/pages/canvas.html +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/guide.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge/source-preview.html +1 -0
- package/.next/server/pages/knowledge/source-preview.js.nft.json +1 -0
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/overview.html +1 -1
- package/.next/server/pages/prompt.html +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/skills.html +1 -1
- package/.next/server/pages/system/logs.html +1 -1
- package/.next/server/pages-manifest.json +33 -31
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/77d815e00c04639e13f00085615df788b0e214c81a14c8f0ba89cbbe491ff7c3/_buildManifest.js +1 -0
- package/.next/static/chunks/511-75b881093a3e908b.js +1 -0
- package/.next/static/chunks/665-9607db8f8b43e52e.js +1 -0
- package/.next/static/chunks/709-a7c652953ccd3b4b.js +1 -0
- package/.next/static/chunks/823-ff35afb174f7998b.js +1 -0
- package/.next/static/chunks/835-d29f4cc7a3679606.js +1 -0
- package/.next/static/chunks/873-16d052cdd3768758.js +1 -0
- package/.next/static/chunks/992-8032f477230baaaf.js +1 -0
- package/.next/static/chunks/pages/{_app-591ac7a50d506b05.js → _app-c11b5e8072f49bcc.js} +1 -1
- package/.next/static/chunks/pages/canvas/{[id]-3c2b950c135f6699.js → [id]-37bee3f7b816ed18.js} +1 -1
- package/.next/static/chunks/pages/canvas-97971ae159337676.js +1 -0
- package/.next/static/chunks/pages/knowledge/file-detail-f89e6044f752277c.js +1 -0
- package/.next/static/chunks/pages/knowledge/source-preview-4a303fadb123430a.js +1 -0
- package/.next/static/chunks/pages/{models-baf1d15d79cb366b.js → models-3e486e49cca91e5a.js} +1 -1
- package/.next/static/chunks/pages/{skills-648c64f8cb37ef5d.js → skills-77ba363270239bbf.js} +1 -1
- package/.next/static/css/1a59bfb0aa677e69.css +1 -0
- package/package.json +2 -2
- package/.next/static/7819131dbd58574b80d0784549af250fc9b202d0e2317de83fe25857af834b79/_buildManifest.js +0 -1
- package/.next/static/chunks/506-93f730bc149d0dce.js +0 -1
- package/.next/static/chunks/709-14ed28f1f6d4b25e.js +0 -1
- package/.next/static/chunks/713-b1ce7a4a4ef015f4.js +0 -1
- package/.next/static/chunks/850-0f48354694fc6b3e.js +0 -1
- package/.next/static/chunks/90-3a5ea00990b4e72b.js +0 -1
- package/.next/static/chunks/pages/canvas-9086d8d3a7d32776.js +0 -1
- package/.next/static/chunks/pages/knowledge/file-detail-bd4b6e4264e812ff.js +0 -1
- package/.next/static/css/f35b901a72bb3ade.css +0 -1
- /package/.next/static/{7819131dbd58574b80d0784549af250fc9b202d0e2317de83fe25857af834b79 → 77d815e00c04639e13f00085615df788b0e214c81a14c8f0ba89cbbe491ff7c3}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[95],{2232:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>k});var s=n(65321),r=n(97109),a=n(1873),l=n.n(a),c=n(86109),i=n(85493),o=n(33442),d=n(94992),h=n(75174),u=n(57271),m=n(42700),x=n(84253),p=n(11702),j=n(85114),g=n(68787),f=n(76506),y=n(58569),v=n(7576),w=n(6578);let A={whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:600,overflow:"auto"};function b(e){var t,n,r;let{block:a,parts:l}=e;if("undefined"==typeof DOMParser)return(0,s.jsx)("pre",{style:A,children:a.text});let c=null!=(r=null==(t=/<[^!?][^>]*?\s([^>]*)>/u.exec(null!=(n=l[a.part])?n:""))?void 0:t[1])?r:'xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"',o=new DOMParser().parseFromString("<root ".concat(c,">").concat(a.xml,"</root>"),"application/xml"),d=o.documentElement.firstElementChild;if(!d||o.querySelector("parsererror"))return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.A,{type:"warning",message:"表格XML显示未完成,保留原文及结构供核查"}),(0,s.jsx)("pre",{style:A,children:a.text})]});let h=[...d.children].filter(e=>"tr"===e.localName).map(e=>{let t=0;return[...e.children].filter(e=>"tc"===e.localName).map(e=>{var n,s,r;let a=Number(null!=(s=null==(n=e.getElementsByTagName("w:gridSpan")[0])?void 0:n.getAttribute("w:val"))?s:1),l=e.getElementsByTagName("w:vMerge")[0],c={column:t,span:a,merge:l?null!=(r=l.getAttribute("w:val"))?r:"continue":void 0,text:[...e.getElementsByTagName("w:t")].map(e=>{var t;return null!=(t=e.textContent)?t:""}).join("")};return t+=a,c})});return(0,s.jsx)("table",{className:"w-full border-collapse my-3",children:(0,s.jsx)("tbody",{children:h.map((e,t)=>(0,s.jsx)("tr",{children:e.filter(e=>"continue"!==e.merge).map(e=>{var n,r;let a=1;if("restart"===e.merge)for(;(null==(r=h[t+a])||null==(n=r.find(t=>t.column===e.column))?void 0:n.merge)==="continue";)a++;return(0,s.jsx)("td",{className:"border p-2 whitespace-pre-wrap",colSpan:e.span,rowSpan:a,children:e.text},e.column)})},t))})})}function C(e){let{sheet:t}=e,[n,a]=(0,r.useState)(1),[l,c]=(0,r.useState)(1),i=t.cells.reduce((e,t)=>Math.max(e,t.row),t.merges.reduce((e,t)=>Math.max(e,t.endRow),1)),u=t.cells.reduce((e,t)=>Math.max(e,t.col),t.merges.reduce((e,t)=>Math.max(e,t.endCol),1)),m=(0,r.useMemo)(()=>new Map(t.cells.map(e=>["".concat(e.row,":").concat(e.col),e])),[t]),x=(n-1)*50+1,p=Math.min(i,x+49),j=Math.min(u,l+19);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.A,{wrap:!0,children:[(0,s.jsx)("span",{children:"原工作表物理坐标;公式使用已保存缓存值"}),(0,s.jsx)("span",{children:"起始列"}),(0,s.jsx)(d.A,{min:1,max:u,value:l,onChange:e=>c(null!=e?e:1)})]}),(0,s.jsx)("div",{className:"overflow-auto my-3",children:(0,s.jsxs)("table",{className:"border-collapse min-w-full",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"border p-2",children:"行"}),Array.from({length:j-l+1},(e,t)=>(0,s.jsxs)("th",{className:"border p-2",children:["C",l+t]},t))]})}),(0,s.jsx)("tbody",{children:Array.from({length:p-x+1},(e,n)=>{let r=x+n;return(0,s.jsxs)("tr",{children:[(0,s.jsxs)("th",{className:"border p-2",children:["R",r]}),Array.from({length:j-l+1},(e,n)=>{var a,c,i;let o=l+n,d=m.get("".concat(r,":").concat(o)),h=t.merges.find(e=>r>=e.startRow&&r<=e.endRow&&o>=e.startCol&&o<=e.endCol);if(h&&(r!==Math.max(x,h.startRow)||o!==Math.max(l,h.startCol)))return null;let u=h?m.get("".concat(h.startRow,":").concat(h.startCol)):d;return(0,s.jsxs)("td",{className:"border p-2 min-w-24 whitespace-pre-wrap",rowSpan:h?Math.min(p,h.endRow)-Math.max(x,h.startRow)+1:1,colSpan:h?Math.min(j,h.endCol)-Math.max(l,h.startCol)+1:1,title:"".concat(null!=(a=null==u?void 0:u.address)?a:"R".concat(r,"C").concat(o),"\n原值: ").concat(String(null!=(c=null==u?void 0:u.value)?c:"")).concat((null==u?void 0:u.formula)?"\n公式: =".concat(u.formula):""),children:[null!=(i=null==u?void 0:u.display)?i:"",(null==u?void 0:u.formula)&&(0,s.jsxs)("div",{className:"text-xs text-gray-500",children:["=",u.formula]})]},o)})]},r)})})]})}),(0,s.jsx)(h.A,{current:n,pageSize:50,total:i,showSizeChanger:!1,onChange:a})]})}function S(e){let{frameIds:t,endpoint:n}=e,[a,c]=(0,r.useState)(0),[o,d]=(0,r.useState)(""),[h,p]=(0,r.useState)(),[j,g]=(0,r.useState)(""),[f,y]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=!0;d(""),g(""),p(void 0);let s=t[a];if(s)return y(!0),(0,w.x6)("".concat(n,"&frame=").concat(encodeURIComponent(s),"&format=json")).then(t=>{e&&(d(t.image),p(t.receipt))}).catch(t=>{e&&g(String(t))}).finally(()=>{e&&y(!1)}),()=>{e=!1}},[a,t,n]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{className:"min-w-64 mb-4",value:a,onChange:c,options:t.map((e,t)=>({value:t,label:e}))}),(0,s.jsxs)(m.A,{spinning:f,children:[j&&(0,s.jsx)(i.A,{type:"warning",message:"图框显示未完成",description:"".concat(j,";请区分已入库结构和绘制能力,已有库内文字仍可读取。")}),o?(0,s.jsx)(l(),{unoptimized:!0,width:2400,height:1800,src:o,alt:"已解析CAD图框",style:{width:"100%",height:"auto"}}):!f&&!j&&(0,s.jsx)(x.A,{description:"尚未识别到可显示图框"}),(0,s.jsx)("p",{children:"显示实际库内实体与块实例;绘制限制不等同数据丢失。"}),void 0!==h&&(0,s.jsxs)("details",{children:[(0,s.jsx)("summary",{children:"本次绘制回执与限制"}),(0,s.jsx)("pre",{style:A,children:JSON.stringify(h,null,2)})]})]})]})}function N(e){let{structure:t,endpoint:n}=e,[a,c]=(0,r.useState)(0);if(t.spreadsheet){let e=t.spreadsheet.sheets;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{className:"min-w-64 mb-4",value:a,options:e.map((e,t)=>({value:t,label:e.name})),onChange:c}),e[a]&&(0,s.jsx)(C,{sheet:e[a]},a)]})}if(t.docx)return(0,s.jsxs)(s.Fragment,{children:[t.docx.blocks.map(e=>(0,s.jsxs)("div",{id:e.id,className:"mb-3",children:[(0,s.jsxs)(p.A,{children:[e.part," \xb7 ",e.index+1]}),"table"===e.kind?(0,s.jsx)(b,{block:e,parts:t.docx.parts}):(0,s.jsx)("p",{className:e.headingLevel?"font-semibold text-lg whitespace-pre-wrap":"whitespace-pre-wrap",children:e.text}),(0,s.jsxs)("details",{children:[(0,s.jsx)("summary",{children:"来源XML"}),(0,s.jsx)("pre",{style:A,children:e.xml})]})]},e.id)),t.docx.images.map(e=>(0,s.jsxs)("div",{children:[(0,s.jsx)(p.A,{children:e.name}),/^image\/(?:png|jpeg|gif|webp|svg\+xml|bmp)$/u.test(e.mediaType)?(0,s.jsx)(l(),{unoptimized:!0,width:1200,height:900,src:"".concat(n,"&image=").concat(encodeURIComponent(e.name)),alt:e.name,style:{maxWidth:"100%",height:"auto"}}):(0,s.jsx)(i.A,{type:"info",message:"已保留".concat(e.mediaType,"图片数据,浏览器未声明支持显示")})]},e.name))]});if(t.pdf){var o,d,m,j;let e=t.pdf.pages,n=e[a],r=null!=(d=null!=(o=null==n?void 0:n.width)?o:null==n?void 0:n.glyphs.reduce((e,t)=>Math.max(e,t.x+t.width+20),600))?d:600,l=null!=(j=null!=(m=null==n?void 0:n.height)?m:null==n?void 0:n.glyphs.reduce((e,t)=>Math.max(e,t.y+t.height+20),800))?j:800;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(h.A,{current:a+1,pageSize:1,total:e.length,showSizeChanger:!1,onChange:e=>c(e-1)}),(0,s.jsx)("p",{children:"显示库内已保存文字与位置;可选原版本对照不影响本页及后续生成。"}),n&&(0,s.jsxs)("div",{className:"border my-3",children:[(0,s.jsx)("svg",{viewBox:"0 0 ".concat(r," ").concat(l),width:"100%",role:"img","aria-label":"解析第".concat(n.page,"页"),children:n.glyphs.map(e=>(0,s.jsx)("text",{x:e.x,y:l-e.y,fontSize:Math.max(6,e.height),children:e.str},e.id))}),n.ocrText&&(0,s.jsx)("pre",{style:A,children:n.ocrText}),!n.glyphs.length&&!n.ocrText&&(0,s.jsx)(x.A,{description:"该页没有可展示文字,不能据此断言原页为空"})]})]})}return t.cad?(0,s.jsx)(S,{frameIds:t.cad.frameIds,endpoint:n}):(0,s.jsx)(x.A,{description:"此解析结果尚无结构显示适配,完整解析文字仍可查看"})}function k(){var e;let t=(0,c.useRouter)(),n="string"==typeof t.query.relativePath?t.query.relativePath:"",a="string"==typeof t.query.projectRoot?t.query.projectRoot:"",[l,d]=(0,r.useState)(),[u,b]=(0,r.useState)(""),[C,S]=(0,r.useState)(!1),[k,M]=(0,r.useState)(""),R=(0,r.useRef)(0),I=new URLSearchParams({relativePath:n,...a?{projectRoot:a}:{}}),E="/api/kb/files/source-preview?".concat(I),_="".concat(E).concat((null==l?void 0:l.status)==="recorded"?"&snapshotId=".concat(l.identity.snapshotId):""),z=(0,r.useCallback)(async e=>{let t=++R.current;S(!0),b("");try{let n=await (0,w.x6)(e);t===R.current&&d(n)}catch(e){t===R.current&&b(e instanceof Error?e.message:String(e))}finally{t===R.current&&S(!1)}},[]);return(0,r.useEffect)(()=>{d(void 0),n&&z(E)},[n,E,z]),(0,s.jsxs)("div",{className:"p-6 space-y-4",children:[(0,s.jsxs)(o.A,{wrap:!0,children:[(0,s.jsx)(j.Ay,{onClick:()=>{t.push("/knowledge/file-detail?".concat(I))},children:"返回切片详情"}),(0,s.jsx)("h1",{className:"text-xl font-semibold",children:"解析核查预览"}),(0,s.jsx)("span",{children:n}),(0,s.jsx)(j.Ay,{onClick:()=>{z(E)},children:"刷新"})]}),u&&(0,s.jsx)(i.A,{type:"error",message:u}),(0,s.jsx)(m.A,{spinning:C,children:(null==l?void 0:l.status)==="not-recorded"?(0,s.jsxs)(g.A,{children:[(0,s.jsx)(i.A,{type:"warning",message:"独立解析底稿尚未记录",description:l.reason}),(0,s.jsx)(j.Ay,{className:"mt-4",onClick:()=>{(async()=>{try{await (0,w.HC)(n,a||void 0),b("重新解析任务已提交,请在处理完成后刷新本页。")}catch(e){b(String(e))}})()},children:"重新解析此文件"}),(0,s.jsx)("p",{className:"mt-4",children:"当前实际库内切片(不是独立底稿):"}),l.chunks.map(e=>(0,s.jsxs)("div",{className:"my-3",children:[(0,s.jsxs)(p.A,{children:["切片",e.chunkIndex]}),(0,s.jsx)("pre",{style:A,children:e.content})]},e.id)),(0,s.jsx)(h.A,{current:Math.floor(l.offset/30)+1,pageSize:30,total:l.totalChunks,showSizeChanger:!1,onChange:e=>{z("".concat(E,"&offset=").concat((e-1)*30))}})]}):(null==l?void 0:l.status)==="recorded"?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(g.A,{children:[(0,s.jsxs)(f.A,{column:1,children:[(0,s.jsx)(f.A.Item,{label:"原文件SHA256",children:l.identity.sourceHash}),(0,s.jsx)(f.A.Item,{label:"解析版本",children:l.identity.parserVersion}),(0,s.jsx)(f.A.Item,{label:"解析身份",children:l.identity.snapshotId})]}),(0,s.jsx)(i.A,{type:"verified"===l.conservation.status&&l.conservation.chunkCountMatches&&!l.conservation.staleChunkIdentities.length?"success":"error",message:"文本覆盖:".concat(l.conservation.coveredNonWhitespaceChars,"/").concat(l.conservation.sourceNonWhitespaceChars,";实际切片:").concat(l.totalChunks),description:"这项检查只证明独立解析文字与切片的内容覆盖,不证明原文件解析、版式、工程理解或专业采用全部正确。"}),l.identity.limitations.map(e=>(0,s.jsx)("p",{className:"mt-2",children:e},e)),(0,s.jsxs)(o.A,{className:"mt-3",children:[(0,s.jsx)(j.Ay,{href:"".concat(_,"&original=1"),target:"_blank",children:"查看/下载入库原版本"}),(0,s.jsx)(j.Ay,{onClick:()=>{(0,w.tn)(n,"source-version",a||void 0).catch(e=>b("可选原版本对照不可用:".concat(String(e),";库内数据仍可读取")))},children:"本机打开入库原版本"})]})]}),(0,s.jsx)(y.A,{items:[{key:"structure",label:"解析结构",children:(0,s.jsx)(g.A,{children:(0,s.jsx)(N,{structure:l.structure,endpoint:_},l.identity.snapshotId)})},{key:"text",label:"独立解析全文",children:(0,s.jsx)(g.A,{children:(0,s.jsx)("pre",{style:A,children:l.text})})},{key:"chunks",label:"实际切片重组",children:(0,s.jsxs)(g.A,{children:[(0,s.jsxs)("p",{children:["当前展示切片",l.offset+1,"至",l.offset+l.chunks.length,",共",l.totalChunks,"块;分页不代表其余内容不存在。"]}),l.chunks.map(e=>(0,s.jsxs)("div",{className:"my-4 border-b pb-3",children:[(0,s.jsxs)(p.A,{children:["切片",e.chunkIndex]}),(0,s.jsx)(p.A,{children:e.sectionTitle}),(0,s.jsx)("pre",{style:A,children:e.content}),(0,s.jsxs)("details",{children:[(0,s.jsx)("summary",{children:"库内解析底稿区间"}),(0,s.jsx)("pre",{style:A,children:JSON.stringify(e.sourceSpans,null,2)})]})]},e.id)),(0,s.jsx)(h.A,{current:Math.floor(l.offset/30)+1,pageSize:30,total:l.totalChunks,showSizeChanger:!1,onChange:e=>{z("".concat(_,"&offset=").concat((e-1)*30))}})]})},{key:"issues",label:"覆盖与来源问题",children:(0,s.jsx)(g.A,{children:(0,s.jsx)("pre",{style:A,children:JSON.stringify(l.conservation,null,2)})})},{key:"retrieval",label:"本地定位回放",children:(0,s.jsxs)(g.A,{children:[(0,s.jsx)(v.A.Search,{value:k,onChange:e=>M(e.target.value),onSearch:e=>{z("".concat(_,"&q=").concat(encodeURIComponent(e)))},enterButton:"定位",loading:C}),(0,s.jsx)("p",{className:"my-3",children:"只在此文件内执行本地关键词检索,不调用模型;零命中不证明资料不存在,也不等于向量或规划验收通过。"}),null==(e=l.retrieval)?void 0:e.results.map(e=>(0,s.jsxs)("div",{className:"my-3",children:[(0,s.jsxs)(p.A,{children:["切片",e.chunkIndex]}),(0,s.jsx)("pre",{style:A,children:e.content})]},e.id)),l.retrieval&&!l.retrieval.results.length&&(0,s.jsx)(x.A,{description:"本次关键词未命中,请核对原文、对象名称及其他检索方式"})]})}]})]}):!C&&(0,s.jsx)(x.A,{description:"选择文件后查看解析结果"})})]})}},59528:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/knowledge/source-preview",function(){return n(2232)}])}},e=>{e.O(0,[310,700,914,174,569,787,665,992,873,636,593,792],()=>e(e.s=59528)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46],{22708:(e,a,l)=>{"use strict";l.r(a),l.d(a,{default:()=>F});var s=l(65321),r=l(97109),o=l(85587),t=l(93360),n=l(17807),i=l(88762),d=l(85114),c=l(84253),m=l(88278),x=l(33442),p=l(32965),v=l(11702),h=l(57271),u=l(7576),b=l(94992),g=l(34052),j=l(63455),y=l(56985),f=l(44534),A=l(54746),N=l(29071),w=l(59188),C=l(4216),S=l(13114),k=l(99650),T=l(58209),E=l(76981),K=l(61825),P=l(6578),I=l(85310),B=l(82238);let H=[{labelKey:"models.openAICompatible",value:"openai"},{labelKey:"models.anthropic",value:"anthropic"},{labelKey:"models.google",value:"google"},{labelKey:"models.ollama",value:"ollama"},{labelKey:"models.openRouter",value:"openrouter"}],U=[{key:"imageGeneration",labelKey:"models.imageGeneration"},{key:"imageUnderstanding",labelKey:"models.imageUnderstanding"},{key:"fileUnderstanding",labelKey:"models.fileUnderstanding"},{key:"audio",labelKey:"models.audioCapability"},{key:"video",labelKey:"models.videoCapability"}],_="••••••••",z=e=>e.includes("•");function F(){let e=(0,o.Vr)(),{message:a}=n.A.useApp(),[l,F]=(0,r.useState)(!0),[D,R]=(0,r.useState)([]),[Z,G]=(0,r.useState)(null),[L,O]=(0,r.useState)(!1),[X,q]=(0,r.useState)(null),[M,V]=(0,r.useState)(!1),[W,J]=(0,r.useState)(!1),[Q,Y]=(0,r.useState)(null),[$,ee]=(0,r.useState)(null),[ea,el]=(0,r.useState)({}),[es,er]=(0,r.useState)(!1),[eo,et]=(0,r.useState)(!1),[en,ei]=(0,r.useState)(""),[ed,ec]=(0,r.useState)(""),[em,ex]=(0,r.useState)(""),[ep,ev]=(0,r.useState)(""),[eh,eu]=(0,r.useState)(""),[eb,eg]=(0,r.useState)("openai"),[ej,ey]=(0,r.useState)(!1),[ef,eA]=(0,r.useState)({}),[eN,ew]=(0,r.useState)(!1),[eC,eS]=(0,r.useState)(!1),[ek,eT]=(0,r.useState)([]),eE=async()=>{F(!0);try{let e=[],a=(a,l,s)=>l.catch(()=>(e.push(a),s)),[l,s,r]=await Promise.all([a("模型供应商",(0,P.Z3)(),null),a("生成模型",(0,P.zr)(),null),a("嵌入配置",(0,P.II)(),null)]);eT(e),l&&R(l),s&&G(s),r&&q(r)}catch(l){a.error(e("common.error"))}finally{F(!1)}};(0,r.useEffect)(()=>{eE()},[]);let eK=ek.includes("模型供应商"),eP=ek.includes("生成模型"),eI=async e=>{var a,l,s,r;et(!0),ei(e.name),ec(e.name),ex(null!=(s=null==Z||null==(a=Z.list.find(a=>a.provider===e.name))?void 0:a.name)?s:e.name),ev(""),eu(e.baseUrl||""),ey(!0===e.directEndpoint),eg(e.protocol||e.detectedProtocol||"openai"),eA(e.capabilities||{}),ew(!!(null==(l=e.capabilities)?void 0:l.webSearch));try{let a=await (0,P.Bh)(e.name);ev(a.apiKey?_:""),eu(a.baseUrl||""),eA(a.capabilities||{}),ey(!0===a.directEndpoint),ew(!!(null==(r=a.capabilities)?void 0:r.webSearch))}catch(e){}er(!0)},eB=async()=>{if(ed.trim()){eS(!0);try{let l=eo&&z(ep)?void 0:ep||void 0,s={...ef,webSearch:eN};await (0,P._m)(ed.trim(),{modelName:em.trim()||ed.trim(),oldName:eo?en:void 0,apiKey:l,baseUrl:eh||void 0,protocol:eb,directEndpoint:ej,capabilities:s}),er(!1),await eE(),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}finally{eS(!1)}}},eH=async l=>{try{await (0,P.h1)(l),await eE(),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}},eU=async l=>{ee(l);try{let s=await (0,P.bZ)(l);el(e=>({...e,[l]:s.success}));let r=s.success?e("models.connected"):"".concat(e("models.connectionFailed")).concat(s.message?":".concat(s.message):"").concat(s.requestId?" (".concat(s.requestId,")"):"");a[s.success?"success":"error"](r)}catch(s){el(e=>({...e,[l]:!1})),a.error(s instanceof Error?s.message:e("models.connectionFailed"))}finally{ee(null)}},e_=async l=>{if(L)return!1;O(!0);try{let e=await (0,P.aP)(l);return G(e.models),!0}catch(l){return a.error(l instanceof Error?l.message:e("common.error")),!1}finally{O(!1)}},ez=async e=>{if(!Z)return;let a=Z.list.find(a=>a.provider===e),l=null!=a?a:{provider:e,name:e};await e_({active:{provider:l.provider,name:l.name},list:a?Z.list:[...Z.list,l]})},eF=async()=>{if(X){V(!0);try{let l=await (0,P.dd)(X);q(l),Y(null),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}finally{V(!1)}}},eD=async()=>{J(!0);try{let l=await (0,P.u6)();Y(l.success),a[l.success?"success":"error"](l.message||(l.success?e("models.connected"):e("models.connectionFailed")))}catch(e){Y(!1)}finally{J(!1)}};return l?(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(i.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,s.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,s.jsx)(i.A,{active:!0,paragraph:{rows:6}})}),(0,s.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,s.jsx)(i.A,{active:!0,paragraph:{rows:4}})}),(0,s.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,s.jsx)(i.A,{active:!0,paragraph:{rows:3}})})]}):(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(B.X,{failures:ek}),(0,s.jsx)(t.z,{title:e("models.title"),description:e("models.description"),extra:(0,s.jsx)(d.Ay,{type:"primary",icon:(0,s.jsx)(A.A,{}),onClick:()=>{et(!1),ei(""),ec(""),ex(""),ev(""),eu(""),eg("openai"),ey(!1),eA({}),ew(!1),er(!0)},children:e("models.addProvider")})}),(0,s.jsx)(I.Zk,{title:e("models.modelList"),count:eK?void 0:D.length,description:e("models.modelListDesc"),children:eK?(0,s.jsx)("div",{className:"py-10 rounded-xl border border-dashed border-[var(--borderColorStrong)] bg-[var(--colorBgHover)] text-center",children:(0,s.jsx)("span",{className:"text-sm text-[var(--colorTextTertiary)]",children:"—"})}):0===D.length?(0,s.jsx)("div",{className:"py-10 rounded-xl border border-dashed border-[var(--borderColorStrong)] bg-[var(--colorBgHover)]",children:(0,s.jsx)(c.A,{image:c.A.PRESENTED_IMAGE_SIMPLE,description:(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)] text-sm",children:e("models.noProviders")})})}):(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:D.map(a=>{var l,r,o;let t=null==Z?void 0:Z.list.find(e=>e.provider===a.name),n=null!=(o=null==t?void 0:t.name)?o:a.name,i=(null==Z||null==(l=Z.active)?void 0:l.provider)===a.name&&Z.active.name===n;return(0,s.jsxs)("div",{role:"group","aria-label":a.name,className:"group p-5 ".concat(I.wD," flex flex-col"),children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)(m.Ay,{name:"generation-model-service",checked:i,disabled:eP||!Z||L,onChange:()=>{ez(a.name)},children:(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)]",children:a.name})}),n!==a.name&&(0,s.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)] mt-1 break-all",children:n}),(0,s.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] flex items-center gap-1 uppercase tracking-wider font-semibold",children:[(0,s.jsx)(N.A,{})," ",a.protocol||a.detectedProtocol||"openai"]})]}),(0,s.jsxs)(x.A,{size:0,className:"-mr-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",children:[(0,s.jsx)(d.Ay,{type:"text",size:"small",loading:$===a.name,title:e("models.testConnection"),"aria-label":e("models.testConnection"),onClick:e=>{e.stopPropagation(),eU(a.name)},icon:!0===ea[a.name]?(0,s.jsx)(w.A,{className:"text-[var(--colorOk)]"}):!1===ea[a.name]?(0,s.jsx)(C.A,{className:"text-[var(--colorDanger)]"}):(0,s.jsx)(S.A,{className:"text-[var(--colorTextSecondary)]"})}),(0,s.jsx)(d.Ay,{type:"text",size:"small",title:e("common.edit"),icon:(0,s.jsx)(k.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:e=>{e.stopPropagation(),eI(a)}}),(0,s.jsx)(p.A,{title:e("models.deleteProviderConfirm"),onConfirm:e=>{null==e||e.stopPropagation(),eH(a.name)},onCancel:e=>null==e?void 0:e.stopPropagation(),children:(0,s.jsx)(d.Ay,{type:"text",size:"small",danger:!0,title:e("common.delete"),icon:(0,s.jsx)(T.A,{}),onClick:e=>e.stopPropagation()})})]})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)(E.A,{})," ",e("models.apiKey")]}),(0,s.jsx)("span",{className:"font-mono text-[var(--colorTextTertiary)]",children:a.hasApiKey?_:e("models.none")})]}),a.baseUrl&&(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)(K.A,{})," URL"]}),(0,s.jsx)("span",{className:"truncate max-w-[120px] font-mono text-[var(--colorTextTertiary)]",title:a.baseUrl,children:a.baseUrl.replace(/^https?:\/\//,"")})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-2",children:[U.filter(e=>{var l;return null==(l=a.capabilities)?void 0:l[e.key]}).map(a=>(0,s.jsx)(v.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] bg-[var(--colorBrand)]/5 text-[var(--colorBrand)] leading-[18px]",children:e(a.labelKey)},a.key)),(null==(r=a.capabilities)?void 0:r.webSearch)&&(0,s.jsx)(v.A,{color:"green",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e("models.webEnhancement")})]})]})]},a.name)})})}),(0,s.jsx)(I.Zk,{title:e("models.embeddingConfig"),description:e("models.embeddingConfigDesc"),extra:(0,s.jsxs)(x.A,{size:6,children:[X?(0,s.jsx)(v.A,{color:"blue",bordered:!1,className:"m-0",children:"transformers-local"===X.provider?e("models.localEmbedding"):e("models.openAICompatible")}):(0,s.jsx)(v.A,{bordered:!1,className:"m-0",children:"—"}),!0===Q&&(0,s.jsx)(v.A,{color:"success",bordered:!1,className:"m-0",icon:(0,s.jsx)(w.A,{}),children:e("models.connected")}),!1===Q&&(0,s.jsx)(v.A,{color:"error",bordered:!1,className:"m-0",icon:(0,s.jsx)(C.A,{}),children:e("models.connectionFailed")})]}),children:X?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.embeddingProvider")}),(0,s.jsx)(h.A,{value:X.provider,className:"w-full h-10",variant:"borderless",style:{background:"var(--colorBgHover)",borderRadius:"8px"},options:[{label:e("models.localRecommended"),value:"transformers-local"},{label:e("models.externalAdvanced"),value:"openai-compatible"}],onChange:e=>q(a=>a?{...a,provider:e,model:"transformers-local"===e?a.model||"BAAI/bge-small-zh-v1.5":a.model,dimensions:"transformers-local"===e?512:a.dimensions||1024}:a)})]}),"openai-compatible"===X.provider&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.baseUrl")}),(0,s.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:X.baseUrl,onChange:e=>q(a=>a?{...a,baseUrl:e.target.value}:a),placeholder:"http://localhost:11434/v1"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.model")}),(0,s.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:X.model,onChange:e=>q(a=>a?{...a,model:e.target.value}:a),placeholder:"bge-m3"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.apiKey")}),(0,s.jsx)(u.A.Password,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:X.apiKey,onFocus:()=>{X.apiKey&&z(X.apiKey)&&q(e=>e?{...e,apiKey:""}:e)},onChange:e=>q(a=>a?{...a,apiKey:e.target.value}:a),placeholder:e("models.optional")})]})]}),"transformers-local"===X.provider&&(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.model")}),(0,s.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",disabled:!0,value:X.model,placeholder:"BAAI/bge-small-zh-v1.5"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.dimensions")}),(0,s.jsx)(b.A,{className:"w-full h-10 px-2 bg-[var(--colorBgHover)] border-transparent flex items-center",min:1,value:X.dimensions,onChange:e=>q(a=>a?{...a,dimensions:Number(e||("transformers-local"===a.provider?512:1024))}:a)})]})]}),(0,s.jsxs)("div",{className:"mt-6 flex flex-wrap gap-3",children:[(0,s.jsx)(d.Ay,{type:"primary",className:"h-10 px-6 font-medium shadow-none",loading:M,onClick:()=>{eF()},children:e("models.saveEmbedding")}),(0,s.jsx)(d.Ay,{className:"h-10 px-6 font-medium shadow-none bg-[var(--colorBgHover)] border-transparent hover:border-[var(--borderColorStrong)]",loading:W,onClick:()=>{eD()},children:e("models.testEmbedding")})]})]}):(0,s.jsx)("div",{className:"text-sm text-[var(--colorTextTertiary)]",children:"—"})}),(0,s.jsx)(g.A,{title:eo?e("models.editProvider"):e("models.addProvider"),open:es,onClose:()=>er(!1),size:"large",styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,s.jsx)(x.A,{children:(0,s.jsx)(d.Ay,{type:"primary",loading:eC,onClick:()=>{eB()},children:e("common.save")})}),children:(0,s.jsxs)(j.A,{layout:"vertical",children:[(0,s.jsx)(j.A.Item,{label:e("models.providerName"),children:(0,s.jsx)(u.A,{value:ed,onChange:e=>ec(e.target.value),placeholder:e("models.providerNamePlaceholder")})}),(0,s.jsx)(j.A.Item,{label:e("models.modelIdentifier"),help:e("models.modelIdentifierHint"),children:(0,s.jsx)(u.A,{value:em,onChange:e=>ex(e.target.value),placeholder:ed||e("models.modelIdentifierPlaceholder")})}),(0,s.jsx)(j.A.Item,{label:e("models.apiKey"),help:eo?e("models.apiKeyEditHint"):void 0,children:(0,s.jsx)(u.A.Password,{value:ep,onFocus:()=>{eo&&z(ep)&&ev("")},onChange:e=>ev(e.target.value),placeholder:eo?e("models.apiKeyEditPlaceholder"):"sk-..."})}),(0,s.jsx)(j.A.Item,{label:e("models.baseUrl"),children:(0,s.jsx)(u.A,{value:eh,onChange:e=>eu(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,s.jsx)(j.A.Item,{label:e("models.protocol"),children:(0,s.jsx)(h.A,{value:eb,onChange:eg,options:H.map(a=>({label:e(a.labelKey),value:a.value}))})}),(0,s.jsx)(j.A.Item,{label:e("models.directEndpoint"),children:(0,s.jsx)(y.A,{checked:ej,onChange:e=>ey(e.target.checked),children:e("models.directEndpointDesc")})}),(0,s.jsxs)(j.A.Item,{label:e("models.webEnhancement"),children:[(0,s.jsx)(f.A,{checked:eN,onChange:ew}),(0,s.jsx)("span",{className:"ml-3 text-xs text-[var(--colorTextSecondary)]",children:e("models.webEnhancementDesc")})]}),(0,s.jsx)(j.A.Item,{label:e("models.capabilities"),children:(0,s.jsx)(y.A.Group,{value:U.filter(e=>ef[e.key]).map(e=>e.key),options:U.map(a=>({label:e(a.labelKey),value:a.key})),onChange:e=>eA(Object.fromEntries(U.map(a=>[a.key,e.includes(a.key)])))})})]})})]})}},77305:(e,a,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return l(22708)}])},85310:(e,a,l)=>{"use strict";l.d(a,{Zk:()=>o,dh:()=>t,wD:()=>r});var s=l(65321);l(97109);let r="rounded-xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] hover:shadow-[var(--shadowSurfaceHover)] transition-shadow";function o(e){let{title:a,count:l,description:r,extra:o,className:t,children:n}=e;return(0,s.jsxs)("section",{className:"rounded-2xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] p-6 animateFadeIn ".concat(null!=t?t:""),children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start justify-between gap-3 mb-5",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide flex items-center gap-2 m-0",children:[a,void 0!==l&&(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)] font-normal text-sm",children:l})]}),r&&(0,s.jsx)("p",{className:"text-xs text-[var(--colorTextTertiary)] mt-1.5 mb-0 leading-relaxed max-w-3xl",children:r})]}),o]}),n]})}function t(e){let{children:a}=e;return(0,s.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:a})}},93360:(e,a,l)=>{"use strict";l.d(a,{z:()=>i});var s=l(65321);l(97109);var r=l(48399),o=l(33442);let{Title:t,Text:n}=r.A;function i(e){let{title:a,description:l,extra:r,bottomContent:i}=e;return(0,s.jsxs)("div",{className:"mb-6 animateFadeIn",children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(t,{level:4,style:{margin:0,fontWeight:700,letterSpacing:"-0.01em"},children:a}),l&&(0,s.jsx)(n,{type:"secondary",className:"mt-1 block text-sm",children:l})]}),r&&(0,s.jsx)(o.A,{className:"w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0",size:"middle",wrap:!1,children:r})]}),i&&(0,s.jsx)("div",{className:"mt-4",children:i})]})}}},e=>{e.O(0,[310,189,278,864,709,636,593,792],()=>e(e.s=77305)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[46],{22708:(e,a,l)=>{"use strict";l.r(a),l.d(a,{default:()=>F});var s=l(65321),r=l(97109),o=l(85587),t=l(93360),n=l(17807),i=l(88762),d=l(85114),c=l(84253),m=l(88278),x=l(33442),p=l(32965),v=l(11702),h=l(57271),u=l(7576),b=l(94992),g=l(34052),j=l(63455),y=l(56985),f=l(44534),A=l(54746),N=l(29071),w=l(59188),C=l(4216),S=l(13114),k=l(99650),T=l(58209),E=l(76981),K=l(61825),P=l(6578),I=l(85310),B=l(82238);let H=[{labelKey:"models.openAICompatible",value:"openai"},{labelKey:"models.anthropic",value:"anthropic"},{labelKey:"models.google",value:"google"},{labelKey:"models.ollama",value:"ollama"},{labelKey:"models.openRouter",value:"openrouter"}],U=[{key:"imageGeneration",labelKey:"models.imageGeneration"},{key:"imageUnderstanding",labelKey:"models.imageUnderstanding"},{key:"fileUnderstanding",labelKey:"models.fileUnderstanding"},{key:"audio",labelKey:"models.audioCapability"},{key:"video",labelKey:"models.videoCapability"}],_="••••••••",z=e=>e.includes("•");function F(){let e=(0,o.Vr)(),{message:a}=n.A.useApp(),[l,F]=(0,r.useState)(!0),[D,R]=(0,r.useState)([]),[Z,G]=(0,r.useState)(null),[L,O]=(0,r.useState)(!1),[X,q]=(0,r.useState)(null),[M,V]=(0,r.useState)(!1),[W,J]=(0,r.useState)(!1),[Q,Y]=(0,r.useState)(null),[$,ee]=(0,r.useState)(null),[ea,el]=(0,r.useState)({}),[es,er]=(0,r.useState)(!1),[eo,et]=(0,r.useState)(!1),[en,ei]=(0,r.useState)(""),[ed,ec]=(0,r.useState)(""),[em,ex]=(0,r.useState)(""),[ep,ev]=(0,r.useState)(""),[eh,eu]=(0,r.useState)(""),[eb,eg]=(0,r.useState)("openai"),[ej,ey]=(0,r.useState)(!1),[ef,eA]=(0,r.useState)({}),[eN,ew]=(0,r.useState)(!1),[eC,eS]=(0,r.useState)(!1),[ek,eT]=(0,r.useState)([]),eE=async()=>{F(!0);try{let e=[],a=(a,l,s)=>l.catch(()=>(e.push(a),s)),[l,s,r]=await Promise.all([a("模型供应商",(0,P.Z3)(),null),a("生成模型",(0,P.zr)(),null),a("嵌入配置",(0,P.II)(),null)]);eT(e),l&&R(l),s&&G(s),r&&q(r)}catch(l){a.error(e("common.error"))}finally{F(!1)}};(0,r.useEffect)(()=>{eE()},[]);let eK=ek.includes("模型供应商"),eP=ek.includes("生成模型"),eI=async e=>{var a,l,s,r;et(!0),ei(e.name),ec(e.name),ex(null!=(s=null==Z||null==(a=Z.list.find(a=>a.provider===e.name))?void 0:a.name)?s:e.name),ev(""),eu(e.baseUrl||""),ey(!0===e.directEndpoint),eg(e.protocol||e.detectedProtocol||"openai"),eA(e.capabilities||{}),ew(!!(null==(l=e.capabilities)?void 0:l.webSearch));try{let a=await (0,P.Bh)(e.name);ev(a.apiKey?_:""),eu(a.baseUrl||""),eA(a.capabilities||{}),ey(!0===a.directEndpoint),ew(!!(null==(r=a.capabilities)?void 0:r.webSearch))}catch(e){}er(!0)},eB=async()=>{if(ed.trim()){eS(!0);try{let l=eo&&z(ep)?void 0:ep||void 0,s={...ef,webSearch:eN};await (0,P._m)(ed.trim(),{modelName:em.trim()||ed.trim(),oldName:eo?en:void 0,apiKey:l,baseUrl:eh||void 0,protocol:eb,directEndpoint:ej,capabilities:s}),er(!1),await eE(),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}finally{eS(!1)}}},eH=async l=>{try{await (0,P.h1)(l),await eE(),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}},eU=async l=>{ee(l);try{let s=await (0,P.bZ)(l);el(e=>({...e,[l]:s.success}));let r=s.success?e("models.connected"):"".concat(e("models.connectionFailed")).concat(s.message?":".concat(s.message):"").concat(s.requestId?" (".concat(s.requestId,")"):"");a[s.success?"success":"error"](r)}catch(s){el(e=>({...e,[l]:!1})),a.error(s instanceof Error?s.message:e("models.connectionFailed"))}finally{ee(null)}},e_=async l=>{if(L)return!1;O(!0);try{let e=await (0,P.aP)(l);return G(e.models),!0}catch(l){return a.error(l instanceof Error?l.message:e("common.error")),!1}finally{O(!1)}},ez=async e=>{if(!Z)return;let a=Z.list.find(a=>a.provider===e),l=null!=a?a:{provider:e,name:e};await e_({active:{provider:l.provider,name:l.name},list:a?Z.list:[...Z.list,l]})},eF=async()=>{if(X){V(!0);try{let l=await (0,P.dd)(X);q(l),Y(null),a.success(e("common.success"))}catch(l){a.error(e("common.error"))}finally{V(!1)}}},eD=async()=>{J(!0);try{let l=await (0,P.u6)();Y(l.success),a[l.success?"success":"error"](l.message||(l.success?e("models.connected"):e("models.connectionFailed")))}catch(e){Y(!1)}finally{J(!1)}};return l?(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(i.A,{active:!0,title:!0,paragraph:{rows:1}}),(0,s.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,s.jsx)(i.A,{active:!0,paragraph:{rows:6}})}),(0,s.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,s.jsx)(i.A,{active:!0,paragraph:{rows:4}})}),(0,s.jsx)("div",{className:"p-4 bg-[var(--colorBgHover)] rounded-xl border border-[var(--borderColor)]",children:(0,s.jsx)(i.A,{active:!0,paragraph:{rows:3}})})]}):(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(B.X,{failures:ek}),(0,s.jsx)(t.z,{title:e("models.title"),description:e("models.description"),extra:(0,s.jsx)(d.Ay,{type:"primary",icon:(0,s.jsx)(A.A,{}),onClick:()=>{et(!1),ei(""),ec(""),ex(""),ev(""),eu(""),eg("openai"),ey(!1),eA({}),ew(!1),er(!0)},children:e("models.addProvider")})}),(0,s.jsx)(I.Zk,{title:e("models.modelList"),count:eK?void 0:D.length,description:e("models.modelListDesc"),children:eK?(0,s.jsx)("div",{className:"py-10 rounded-xl border border-dashed border-[var(--borderColorStrong)] bg-[var(--colorBgHover)] text-center",children:(0,s.jsx)("span",{className:"text-sm text-[var(--colorTextTertiary)]",children:"—"})}):0===D.length?(0,s.jsx)("div",{className:"py-10 rounded-xl border border-dashed border-[var(--borderColorStrong)] bg-[var(--colorBgHover)]",children:(0,s.jsx)(c.A,{image:c.A.PRESENTED_IMAGE_SIMPLE,description:(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)] text-sm",children:e("models.noProviders")})})}):(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-5",children:D.map(a=>{var l,r,o;let t=null==Z?void 0:Z.list.find(e=>e.provider===a.name),n=null!=(o=null==t?void 0:t.name)?o:a.name,i=(null==Z||null==(l=Z.active)?void 0:l.provider)===a.name&&Z.active.name===n;return(0,s.jsxs)("div",{role:"group","aria-label":a.name,className:"group p-5 ".concat(I.wD," flex flex-col"),children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3 mb-4 min-w-0",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)(m.Ay,{name:"generation-model-service",checked:i,disabled:eP||!Z||L,onChange:()=>{ez(a.name)},children:(0,s.jsx)("span",{className:"font-bold text-base text-[var(--colorText)]",children:a.name})}),n!==a.name&&(0,s.jsx)("div",{className:"text-xs text-[var(--colorTextSecondary)] mt-1 break-all",children:n}),(0,s.jsxs)("div",{className:"text-xs text-[var(--colorTextTertiary)] flex items-center gap-1 uppercase tracking-wider font-semibold",children:[(0,s.jsx)(N.A,{})," ",a.protocol||a.detectedProtocol||"openai"]})]}),(0,s.jsxs)(x.A,{size:0,className:"-mr-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",children:[(0,s.jsx)(d.Ay,{type:"text",size:"small",loading:$===a.name,title:e("models.testConnection"),"aria-label":e("models.testConnection"),onClick:e=>{e.stopPropagation(),eU(a.name)},icon:!0===ea[a.name]?(0,s.jsx)(w.A,{className:"text-[var(--colorOk)]"}):!1===ea[a.name]?(0,s.jsx)(C.A,{className:"text-[var(--colorDanger)]"}):(0,s.jsx)(S.A,{className:"text-[var(--colorTextSecondary)]"})}),(0,s.jsx)(d.Ay,{type:"text",size:"small",title:e("common.edit"),icon:(0,s.jsx)(k.A,{className:"text-[var(--colorTextSecondary)]"}),onClick:e=>{e.stopPropagation(),eI(a)}}),(0,s.jsx)(p.A,{title:e("models.deleteProviderConfirm"),onConfirm:e=>{null==e||e.stopPropagation(),eH(a.name)},onCancel:e=>null==e?void 0:e.stopPropagation(),children:(0,s.jsx)(d.Ay,{type:"text",size:"small",danger:!0,title:e("common.delete"),icon:(0,s.jsx)(T.A,{}),onClick:e=>e.stopPropagation()})})]})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-3 mt-auto pt-4 border-t border-[var(--borderColor)]",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)(E.A,{})," ",e("models.apiKey")]}),(0,s.jsx)("span",{className:"font-mono text-[var(--colorTextTertiary)]",children:a.hasApiKey?_:e("models.none")})]}),a.baseUrl&&(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--colorTextSecondary)]",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[(0,s.jsx)(K.A,{})," URL"]}),(0,s.jsx)("span",{className:"truncate max-w-[120px] font-mono text-[var(--colorTextTertiary)]",title:a.baseUrl,children:a.baseUrl.replace(/^https?:\/\//,"")})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-1 mt-2",children:[U.filter(e=>{var l;return null==(l=a.capabilities)?void 0:l[e.key]}).map(a=>(0,s.jsx)(v.A,{color:"blue",bordered:!1,className:"m-0 text-[10px] bg-[var(--colorBrand)]/5 text-[var(--colorBrand)] leading-[18px]",children:e(a.labelKey)},a.key)),(null==(r=a.capabilities)?void 0:r.webSearch)&&(0,s.jsx)(v.A,{color:"green",bordered:!1,className:"m-0 text-[10px] leading-[18px]",children:e("models.webEnhancement")})]})]})]},a.name)})})}),(0,s.jsx)(I.Zk,{title:e("models.embeddingConfig"),description:e("models.embeddingConfigDesc"),extra:(0,s.jsxs)(x.A,{size:6,children:[X?(0,s.jsx)(v.A,{color:"blue",bordered:!1,className:"m-0",children:"transformers-local"===X.provider?e("models.localEmbedding"):e("models.openAICompatible")}):(0,s.jsx)(v.A,{bordered:!1,className:"m-0",children:"—"}),!0===Q&&(0,s.jsx)(v.A,{color:"success",bordered:!1,className:"m-0",icon:(0,s.jsx)(w.A,{}),children:e("models.connected")}),!1===Q&&(0,s.jsx)(v.A,{color:"error",bordered:!1,className:"m-0",icon:(0,s.jsx)(C.A,{}),children:e("models.connectionFailed")})]}),children:X?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.embeddingProvider")}),(0,s.jsx)(h.A,{value:X.provider,className:"w-full h-10",variant:"borderless",style:{background:"var(--colorBgHover)",borderRadius:"8px"},options:[{label:e("models.localRecommended"),value:"transformers-local"},{label:e("models.externalAdvanced"),value:"openai-compatible"}],onChange:e=>q(a=>a?{...a,provider:e,model:"transformers-local"===e?a.model||"BAAI/bge-small-zh-v1.5":a.model,dimensions:"transformers-local"===e?512:a.dimensions||1024}:a)})]}),"openai-compatible"===X.provider&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.baseUrl")}),(0,s.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:X.baseUrl,onChange:e=>q(a=>a?{...a,baseUrl:e.target.value}:a),placeholder:"http://localhost:11434/v1"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.model")}),(0,s.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:X.model,onChange:e=>q(a=>a?{...a,model:e.target.value}:a),placeholder:"bge-m3"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.apiKey")}),(0,s.jsx)(u.A.Password,{className:"h-10 px-4 bg-[var(--colorBgHover)]",value:X.apiKey,onFocus:()=>{X.apiKey&&z(X.apiKey)&&q(e=>e?{...e,apiKey:""}:e)},onChange:e=>q(a=>a?{...a,apiKey:e.target.value}:a),placeholder:e("models.optional")})]})]}),"transformers-local"===X.provider&&(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.model")}),(0,s.jsx)(u.A,{className:"h-10 px-4 bg-[var(--colorBgHover)]",disabled:!0,value:X.model,placeholder:"BAAI/bge-small-zh-v1.5"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(I.dh,{children:e("models.dimensions")}),(0,s.jsx)(b.A,{className:"w-full h-10 px-2 bg-[var(--colorBgHover)] border-transparent flex items-center",min:1,value:X.dimensions,onChange:e=>q(a=>a?{...a,dimensions:Number(e||("transformers-local"===a.provider?512:1024))}:a)})]})]}),(0,s.jsxs)("div",{className:"mt-6 flex flex-wrap gap-3",children:[(0,s.jsx)(d.Ay,{type:"primary",className:"h-10 px-6 font-medium shadow-none",loading:M,onClick:()=>{eF()},children:e("models.saveEmbedding")}),(0,s.jsx)(d.Ay,{className:"h-10 px-6 font-medium shadow-none bg-[var(--colorBgHover)] border-transparent hover:border-[var(--borderColorStrong)]",loading:W,onClick:()=>{eD()},children:e("models.testEmbedding")})]})]}):(0,s.jsx)("div",{className:"text-sm text-[var(--colorTextTertiary)]",children:"—"})}),(0,s.jsx)(g.A,{title:eo?e("models.editProvider"):e("models.addProvider"),open:es,onClose:()=>er(!1),size:"large",styles:{body:{padding:"24px 32px"},header:{padding:"16px 32px",borderBottom:"1px solid var(--colorBorderSecondary)"}},extra:(0,s.jsx)(x.A,{children:(0,s.jsx)(d.Ay,{type:"primary",loading:eC,onClick:()=>{eB()},children:e("common.save")})}),children:(0,s.jsxs)(j.A,{layout:"vertical",children:[(0,s.jsx)(j.A.Item,{label:e("models.providerName"),children:(0,s.jsx)(u.A,{value:ed,onChange:e=>ec(e.target.value),placeholder:e("models.providerNamePlaceholder")})}),(0,s.jsx)(j.A.Item,{label:e("models.modelIdentifier"),help:e("models.modelIdentifierHint"),children:(0,s.jsx)(u.A,{value:em,onChange:e=>ex(e.target.value),placeholder:ed||e("models.modelIdentifierPlaceholder")})}),(0,s.jsx)(j.A.Item,{label:e("models.apiKey"),help:eo?e("models.apiKeyEditHint"):void 0,children:(0,s.jsx)(u.A.Password,{value:ep,onFocus:()=>{eo&&z(ep)&&ev("")},onChange:e=>ev(e.target.value),placeholder:eo?e("models.apiKeyEditPlaceholder"):"sk-..."})}),(0,s.jsx)(j.A.Item,{label:e("models.baseUrl"),children:(0,s.jsx)(u.A,{value:eh,onChange:e=>eu(e.target.value),placeholder:"https://api.openai.com/v1"})}),(0,s.jsx)(j.A.Item,{label:e("models.protocol"),children:(0,s.jsx)(h.A,{value:eb,onChange:eg,options:H.map(a=>({label:e(a.labelKey),value:a.value}))})}),(0,s.jsx)(j.A.Item,{label:e("models.directEndpoint"),children:(0,s.jsx)(y.A,{checked:ej,onChange:e=>ey(e.target.checked),children:e("models.directEndpointDesc")})}),(0,s.jsxs)(j.A.Item,{label:e("models.webEnhancement"),children:[(0,s.jsx)(f.A,{checked:eN,onChange:ew}),(0,s.jsx)("span",{className:"ml-3 text-xs text-[var(--colorTextSecondary)]",children:e("models.webEnhancementDesc")})]}),(0,s.jsx)(j.A.Item,{label:e("models.capabilities"),children:(0,s.jsx)(y.A.Group,{value:U.filter(e=>ef[e.key]).map(e=>e.key),options:U.map(a=>({label:e(a.labelKey),value:a.key})),onChange:e=>eA(Object.fromEntries(U.map(a=>[a.key,e.includes(a.key)])))})})]})})]})}},77305:(e,a,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/models",function(){return l(22708)}])},85310:(e,a,l)=>{"use strict";l.d(a,{Zk:()=>o,dh:()=>t,wD:()=>r});var s=l(65321);l(97109);let r="rounded-xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] hover:shadow-[var(--shadowSurfaceHover)] transition-shadow";function o(e){let{title:a,count:l,description:r,extra:o,className:t,children:n}=e;return(0,s.jsxs)("section",{className:"rounded-2xl bg-[var(--colorBgContainer)] shadow-[var(--shadowSurface)] p-6 animateFadeIn ".concat(null!=t?t:""),children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start justify-between gap-3 mb-5",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("h2",{className:"text-base font-semibold text-[var(--colorText)] tracking-wide flex items-center gap-2 m-0",children:[a,void 0!==l&&(0,s.jsx)("span",{className:"text-[var(--colorTextTertiary)] font-normal text-sm",children:l})]}),r&&(0,s.jsx)("p",{className:"text-xs text-[var(--colorTextTertiary)] mt-1.5 mb-0 leading-relaxed max-w-3xl",children:r})]}),o]}),n]})}function t(e){let{children:a}=e;return(0,s.jsx)("div",{className:"text-xs font-semibold uppercase tracking-wider mb-2 text-[var(--colorTextTertiary)]",children:a})}},93360:(e,a,l)=>{"use strict";l.d(a,{z:()=>i});var s=l(65321);l(97109);var r=l(48399),o=l(33442);let{Title:t,Text:n}=r.A;function i(e){let{title:a,description:l,extra:r,bottomContent:i}=e;return(0,s.jsxs)("div",{className:"mb-6 animateFadeIn",children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end justify-between gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(t,{level:4,style:{margin:0,fontWeight:700,letterSpacing:"-0.01em"},children:a}),l&&(0,s.jsx)(n,{type:"secondary",className:"mt-1 block text-sm",children:l})]}),r&&(0,s.jsx)(o.A,{className:"w-full sm:w-auto overflow-x-auto pb-1 sm:pb-0",size:"middle",wrap:!1,children:r})]}),i&&(0,s.jsx)("div",{className:"mt-4",children:i})]})}}},e=>{e.O(0,[310,189,278,864,992,823,636,593,792],()=>e(e.s=77305)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[950],{25981:(e,l,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/skills",function(){return s(81828)}])},58690:(e,l,s)=>{"use strict";function t(e){var l,s,t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{defaultPageSize:null!=(l=r.pageSize)?l:10,pageSizeOptions:null!=(s=r.pageSizeOptions)?s:[10,20,50,100],showSizeChanger:!0,showTotal:l=>{var s,t;return e(null!=(s=r.totalLabelKey)?s:"common.totalRows",null!=(t=r.totalLabelFallback)?t:"共 {count} 条").replace("{count}",String(l))},hideOnSinglePage:null!=(t=r.hideOnSinglePage)&&t,showQuickJumper:!1}}s.d(l,{B:()=>t})},81828:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>L});var t=s(65321),r=s(97109),a=s(48399),n=s(68787),i=s(11702),c=s(17807),d=s(63455),o=s(33442),m=s(85114),u=s(85493),h=s(42700),x=s(84253),p=s(26964),j=s(44534),y=s(32965),b=s(34052),A=s(7576),g=s(57271),v=s(7851),k=s(54746),f=s(8263),w=s(99650),N=s(58209),C=s(86193),I=s(85587),S=s(58690);let{Paragraph:q,Text:T}=a.A,F={"Content-Type":"application/json"};async function z(e,l){try{let t,r=await fetch(e,l),a=await r.text();try{t=a?JSON.parse(a):void 0}catch(e){t=void 0}if(!r.ok){var s;let e=null!=t?t:{};return{ok:!1,status:r.status,message:null!=(s=e.error)?s:"HTTP ".concat(r.status),issues:Array.isArray(e.errors)?e.errors:[]}}return{ok:!0,data:t}}catch(e){return{ok:!1,status:0,message:e instanceof Error?e.message:"网络请求失败",issues:[]}}}function R(e){return[...new Set((null!=e?e:[]).map(e=>e.trim()).filter(e=>e.length>0))]}function P(e){return"string"==typeof e?e:e.phrase}function D(e){return{id:e.id,enabled:e.enabled,match:{chapterDomain:e.match.chapterDomain,projectTypes:[...e.match.projectTypes],sectionKeywords:[...e.match.sectionKeywords],...e.match.sectionRegex?{sectionRegex:e.match.sectionRegex}:{}},requires:e.requires.map(e=>({...e})),structure:e.structure.map(e=>{var l;return{title:e.title,required:[...null!=(l=e.required)?l:[]]}}),forbidden:e.forbidden.map(P),knowledge:e.knowledge.map(e=>({kind:e.kind,...e.ids?{ids:[...e.ids]}:{},...e.note?{note:e.note}:{}})),acceptance:e.acceptance.map(e=>({kind:"llmChecklist",checklistItems:[...e.items]})),...void 0!==e.outputTitle?{outputTitle:e.outputTitle}:{},...e.chapterChecklist?{chapterChecklist:{...e.chapterChecklist,...e.chapterChecklist.sections?{sections:[...e.chapterChecklist.sections]}:{}}}:{}}}function O(e){var l;return(null!=(l=e.ids)?l:[]).length>0}function E(e){var l;return(null!=(l=e.checklistItems)?l:[]).length>0}function _(e){let{label:l,children:s}=e;return(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-1 sm:gap-3 py-2 border-b border-[var(--colorBorderSecondary)] last:border-0",children:[(0,t.jsx)("div",{className:"sm:w-44 shrink-0 text-xs font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] sm:pt-0.5",children:l}),(0,t.jsx)("div",{className:"min-w-0 flex-1 text-sm",children:s})]})}function K(e){let{title:l,children:s}=e;return(0,t.jsx)(n.A,{size:"small",title:l,className:"rounded-2xl mb-4",styles:{body:{padding:"4px 12px"}},children:s})}function W(e){let{items:l,empty:s="未声明"}=e;return 0===l.length?(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:s}):(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:l.map((e,l)=>(0,t.jsx)("span",{children:e},l))})}function M(e){var l,s,r,a,n;let{skill:c,options:d,labelMap:o}=e,m=e=>{var l;return null!=(l=o.get(e))?l:e},u=e=>{var l,s;return null!=(s=null==d||null==(l=d.processCards.find(l=>l.value===e))?void 0:l.label)?s:e},h=c.chapterChecklist,x=h?[{label:"章内检索词",values:null!=(l=h.queries)?l:[]},{label:"必含事实",values:null!=(s=h.requiredFacts)?s:[]},{label:"要求成表的小节",values:null!=(r=h.tableSections)?r:[]},{label:"表格形态要求",values:null!=(a=h.tableRequirements)?a:[]},{label:"钉住的证据文件",values:null!=(n=h.pinnedEvidenceFilePaths)?n:[]}].filter(e=>e.values.length>0):[];return(0,t.jsxs)("div",{children:[(0,t.jsxs)(K,{title:"基本信息",children:[(0,t.jsxs)(_,{label:"技能 ID",children:[(0,t.jsx)(T,{code:!0,className:"text-xs",children:c.id}),(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:"用于区分和管理技能"})]}),(0,t.jsxs)(_,{label:"来源",children:[c.builtIn?(0,t.jsx)(i.A,{color:"gold",children:"内置"}):(0,t.jsx)(i.A,{children:"用户"}),(0,t.jsxs)(T,{type:"secondary",className:"text-xs ml-2",children:["技能格式 v",c.version]})]}),(0,t.jsx)(_,{label:"启用",children:(0,t.jsx)(i.A,{color:c.enabled?"green":"default",className:"border-0",children:c.enabled?"已启用":"已停用"})})]}),(0,t.jsxs)(K,{title:"匹配条件",children:[(0,t.jsx)(_,{label:"章域",children:(0,t.jsx)(i.A,{color:"blue",children:m(c.match.chapterDomain)})}),(0,t.jsx)(_,{label:"适用工程类型",children:(0,t.jsx)(W,{empty:"全类型(不限定工程类型)",items:c.match.projectTypes.map(e=>(0,t.jsx)(i.A,{children:m(e)},e))})}),(0,t.jsx)(_,{label:"小节标题关键词",children:(0,t.jsx)(W,{empty:"未限定小节标题关键词",items:c.match.sectionKeywords.map(e=>(0,t.jsx)(i.A,{className:"border-0 bg-[var(--colorFillSecondary)]",children:e},e))})}),(0,t.jsx)(_,{label:"小节标题正则",children:c.match.sectionRegex?(0,t.jsx)(T,{code:!0,className:"text-xs",children:c.match.sectionRegex}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明"})})]}),(0,t.jsx)(K,{title:"所需项目资料",children:(0,t.jsx)(W,{empty:"未声明必需事实",items:c.requires.map(e=>(0,t.jsxs)(i.A,{color:e.required?"red":"default",className:"mb-1",children:[e.key," \xb7 ",m(e.source),e.required?" \xb7 必需":" \xb7 可选"]},e.key))})}),(0,t.jsx)(K,{title:"相关专业主题 \xb7 ".concat(c.structure.length," 项"),children:0===c.structure.length?(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明专业主题"}):(0,t.jsx)("ol",{className:"m-0 pl-5 text-sm leading-7",children:c.structure.map((e,l)=>{var s;return(0,t.jsxs)("li",{children:[e.title,(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:(null==(s=e.required)?void 0:s.join(";"))||"按具体对象组织内容"})]},"".concat(e.title,"-").concat(l))})})}),(0,t.jsxs)(K,{title:"文档业务提示",children:[(0,t.jsx)(_,{label:"文档名称",children:c.outputTitle?(0,t.jsx)(T,{strong:!0,children:c.outputTitle}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明(不对文档名称表态)"})}),(0,t.jsx)(_,{label:"章职责",children:(null==h?void 0:h.purpose)?(0,t.jsx)("span",{children:h.purpose}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明"})}),x.map(e=>(0,t.jsx)(_,{label:e.label,children:(0,t.jsx)(W,{items:e.values.map(e=>(0,t.jsx)(i.A,{className:"border-0 bg-[var(--colorFillSecondary)]",children:e},e))})},e.label))]}),(0,t.jsx)(K,{title:"禁写项",children:(0,t.jsx)(W,{empty:"没有禁写项",items:c.forbidden.map(e=>(0,t.jsx)(i.A,{color:"red",className:"border-0",children:P(e)},P(e)))})}),(0,t.jsx)(K,{title:"工艺知识引用",children:(0,t.jsx)(W,{empty:"未声明知识引用",items:c.knowledge.map((e,l)=>{var s,r,a;let n=e.ids.map(u).join("、");return(0,t.jsxs)(i.A,{className:"mb-1",children:[(s=e.kind,null!=(a=null==d||null==(r=d.knowledgeKinds.find(e=>e.value===s))?void 0:r.label)?a:s),n?" \xb7 ".concat(n):"",e.note?"(".concat(e.note,")"):""]},"".concat(e.kind,"-").concat(l))})})}),(0,t.jsxs)(K,{title:"专业写作核对提示",children:[(0,t.jsx)(T,{type:"secondary",children:"按本任务对象和工况选用,不是数量要求或验收通过证明。"}),(0,t.jsx)("ul",{children:c.acceptance.flatMap(e=>e.items).map(e=>(0,t.jsx)("li",{children:e},e))})]}),(0,t.jsx)(K,{title:"表达示例",children:(0,t.jsx)(_,{label:"是否带示例",children:c.examples?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.A,{color:"green",className:"border-0",children:"带正例/反例"}),(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:"供理解专业表达,不能作为本项目事实;本编辑器保留原示例。"})]}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"无"})})}),d&&(0,t.jsx)(K,{title:"资料与采用边界",children:d.isolationRules.map(e=>(0,t.jsxs)("div",{className:"py-1.5",children:[(0,t.jsx)(i.A,{children:e.label}),(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:e.note})]},e.id))})]})}function L(){var e,l,s;let{message:a}=c.A.useApp(),P=(0,I.Vr)(),[_]=d.A.useForm(),[K,W]=(0,r.useState)([]),[L,J]=(0,r.useState)(),[B,U]=(0,r.useState)([]),[V,X]=(0,r.useState)(!0),[H,Q]=(0,r.useState)(!1),[G,Y]=(0,r.useState)(!1),[Z,$]=(0,r.useState)(),[ee,el]=(0,r.useState)(!1),[es,et]=(0,r.useState)([]),er=(0,r.useCallback)(async()=>{let e=await z("/api/skills");if(e.ok){var l;W(e.data.skills),J(e.data.options),U(null!=(l=e.data.invalid)?l:[])}else a.error("加载技能库失败:".concat(e.message));X(!1)},[a]);(0,r.useEffect)(()=>{er()},[er]);let ea=(0,r.useMemo)(()=>{var e,l,s;return new Map([...null!=(e=null==L?void 0:L.chapterDomains)?e:[],...null!=(l=null==L?void 0:L.projectTypes)?l:[],...null!=(s=null==L?void 0:L.factSources)?s:[]].map(e=>[e.value,e.label]))},[L]),en=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.chapterDomains.map(e=>({value:e.value,label:e.label,title:e.note})))?e:[]},[L]),ei=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.projectTypes.map(e=>({value:e.value,label:e.label})))?e:[]},[L]),ec=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.factSources.map(e=>({value:e.value,label:e.label})))?e:[]},[L]),ed=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.processCards.map(e=>({value:e.value,label:e.label})))?e:[]},[L]),eo=e=>{$(e),et([]),_.resetFields(),_.setFieldsValue(D(e)),Y(!0),Q(!0)},em=e=>{var l;W(e.skills),(null==(l=e.warnings)?void 0:l.length)&&a.warning("已保存,但有 ".concat(e.warnings.length," 条提示:").concat(e.warnings.map(e=>e.message).join(";")))},eu=async()=>{let e;if(!L)return;try{e=await _.validateFields()}catch(e){return}let l=function(e,l,s){var t,r,a,n,i,c,d,o,m,u;let h={chapterDomain:null==(t=e.match)?void 0:t.chapterDomain,projectTypes:[...null!=(c=null==(r=e.match)?void 0:r.projectTypes)?c:[]],sectionKeywords:R(null==(a=e.match)?void 0:a.sectionKeywords),...(null==(i=e.match)||null==(n=i.sectionRegex)?void 0:n.trim())?{sectionRegex:e.match.sectionRegex.trim()}:{}},x=(null!=(d=e.requires)?d:[]).filter(e=>{var l;return(null!=(l=e.key)?l:"").trim().length>0}).map(e=>{var l;return{key:(null!=(l=e.key)?l:"").trim(),source:e.source,required:!0===e.required}}),p=(null!=(o=e.structure)?o:[]).filter(e=>{var l;return(null!=(l=e.title)?l:"").trim().length>0}).map(e=>{var l;return{title:(null!=(l=e.title)?l:"").trim(),required:R(e.required)}}),j=(null!=(m=e.knowledge)?m:[]).filter(O).map(e=>{var l;return{kind:"processCard",ids:R(e.ids),...(null==(l=e.note)?void 0:l.trim())?{note:e.note.trim()}:{}}}),y=(null!=(u=e.acceptance)?u:[]).filter(E).map(e=>({kind:"llmChecklist",items:R(e.checklistItems),nonDeterministic:!0}));return{id:e.id.trim(),version:l,source:"user",enabled:!1!==e.enabled,match:h,requires:x,structure:p,forbidden:R(e.forbidden),knowledge:j,acceptance:y,...function(e){var l,s,t,r;let a=null!=(r=null==(l=e.outputTitle)?void 0:l.trim())?r:"",n=e.chapterChecklist,i={sections:R(null==n?void 0:n.sections),queries:R(null==n?void 0:n.queries),requiredFacts:R(null==n?void 0:n.requiredFacts),tableSections:R(null==n?void 0:n.tableSections),tableRequirements:R(null==n?void 0:n.tableRequirements),pinnedEvidenceFilePaths:R(null==n?void 0:n.pinnedEvidenceFilePaths)},c=!!(null==n||null==(s=n.purpose)?void 0:s.trim())||Object.values(i).some(e=>e.length>0);return{...a?{outputTitle:a}:{},...c?{chapterChecklist:{...(null==n||null==(t=n.purpose)?void 0:t.trim())?{purpose:n.purpose.trim()}:{},...Object.fromEntries(Object.entries(i).filter(e=>{let[,l]=e;return l.length>0}))}}:{}}}(e),...s?{examples:s}:{}}}(e,L.contractVersion,null==Z?void 0:Z.examples);el(!0),et([]);try{let e=await z("/api/skills/validate",{method:"POST",headers:F,body:JSON.stringify(l)});if(!e.ok){a.error("校验请求失败:".concat(e.message)),et(e.issues);return}if(!e.data.ok){et(e.data.errors),a.error("校验未通过:".concat(e.data.errors.length," 处问题,请核对技能字段和工艺卡引用。"));return}let s=Z?await z("/api/skills/".concat(encodeURIComponent(Z.id)),{method:"PUT",headers:F,body:JSON.stringify(l)}):await z("/api/skills",{method:"POST",headers:F,body:JSON.stringify(l)});if(!s.ok){et(s.issues),a.error("保存失败:".concat(s.message));return}em(s.data),Q(!1),a.success(P("common.success"))}finally{el(!1)}},eh=async(e,l)=>{let s=await z("/api/skills/".concat(encodeURIComponent(e.id)),{method:"PUT",headers:F,body:JSON.stringify({...e,enabled:l})});if(!s.ok)return void a.error("切换启用状态失败:".concat(s.message));em(s.data)},ex=async e=>{let l=await z("/api/skills/".concat(encodeURIComponent(e.id)),{method:"DELETE"});if(!l.ok)return void a.error("删除失败:".concat(l.message));W(l.data.skills),a.success(P("common.success"))},ep="内置技能只读,随应用版本更新。可新建用户技能进行配置。";return(0,t.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,t.jsxs)(n.A,{title:(0,t.jsxs)(o.A,{children:[(0,t.jsx)(v.A,{}),P("nav.skills")]}),className:"rounded-2xl mb-6",extra:(0,t.jsx)(m.Ay,{type:"primary",icon:(0,t.jsx)(k.A,{}),onClick:()=>{L&&($(void 0),et([]),_.resetFields(),_.setFieldsValue({id:"skill-".concat(Date.now()),enabled:!0,match:{projectTypes:[],sectionKeywords:[]},requires:[{source:"boq",required:!1}],structure:[{}],forbidden:[],knowledge:[],acceptance:[{kind:"llmChecklist",checklistItems:[]}]}),Y(!1),Q(!0))},disabled:!L,className:"rounded-xl",children:"新建技能"}),children:[(0,t.jsx)(q,{type:"secondary",className:"!mb-4",children:"技能提供专业主题、资料需求、工艺知识和写作核对提示,按章域、工程类型与具体对象选用。 本次任务的实际章节职责由主控规划确定。保存时会校验技能字段与工艺卡引用。"}),B.length>0&&(0,t.jsx)(u.A,{type:"warning",className:"mb-4",showIcon:!0,message:"技能库有 ".concat(B.length," 个无法读取的文件(不影响其余技能)"),description:(0,t.jsx)("div",{className:"text-xs",children:B.map(e=>(0,t.jsxs)("div",{children:[e.file,":",e.reason]},e.file))})}),V?(0,t.jsx)("div",{className:"py-10 text-center",children:(0,t.jsx)(h.A,{})}):0===K.length?(0,t.jsx)(x.A,{description:"技能库为空"}):(0,t.jsx)(p.A,{dataSource:K,rowKey:"id",pagination:(0,S.B)(P),onRow:e=>({onClick:()=>eo(e),style:{cursor:"pointer"}}),columns:[{title:"技能",dataIndex:"displayName",render:e=>(0,t.jsx)(T,{strong:!0,children:e})},{title:"章域",width:140,render:(e,l)=>{var s;return(0,t.jsx)(i.A,{color:"blue",children:null!=(s=ea.get(l.match.chapterDomain))?s:l.match.chapterDomain})}},{title:"工程类型",width:180,render:(e,l)=>0===l.match.projectTypes.length?(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"全类型"}):(0,t.jsx)(o.A,{size:4,wrap:!0,children:l.match.projectTypes.map(e=>{var l;return(0,t.jsx)(i.A,{children:null!=(l=ea.get(e))?l:e},e)})})},{title:"主题 / 专业提示",width:180,render:(e,l)=>(0,t.jsxs)(o.A,{size:4,children:[(0,t.jsxs)(i.A,{children:[l.structure.length," 个主题"]}),(0,t.jsxs)(i.A,{color:"green",children:[l.acceptance.length," 组提示"]})]})},{title:"来源",width:100,render:(e,l)=>l.builtIn?(0,t.jsx)(i.A,{color:"gold",title:ep,children:"内置"}):(0,t.jsx)(i.A,{children:"用户"})},{title:"启用",width:90,render:(e,l)=>(0,t.jsx)(j.A,{size:"small",checked:l.enabled,disabled:l.builtIn,title:l.builtIn?ep:void 0,onChange:e=>{eh(l,e)}})},{title:"操作",width:150,render:(e,l)=>(0,t.jsxs)(o.A,{size:0,onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(m.Ay,{size:"small",type:"text",icon:(0,t.jsx)(f.A,{}),title:"预览",onClick:()=>eo(l)}),(0,t.jsx)(m.Ay,{size:"small",type:"text",icon:(0,t.jsx)(w.A,{}),disabled:l.builtIn,title:l.builtIn?ep:P("common.edit"),onClick:()=>(e=>{let l=e.promptBindings;Array.isArray(l)&&l.length>0&&a.warning("「".concat(e.id,"」里还留着 ").concat(l.length," 条已退休的提示词绑定(promptBindings):该字段已随角色配置页删除,本次保存会把它从技能里移除。")),$(e),et([]),_.resetFields(),_.setFieldsValue(D(e)),Y(!1),Q(!0)})(l)}),(0,t.jsx)(y.A,{title:"确认删除该技能?",onConfirm:()=>{ex(l)},disabled:l.builtIn,children:(0,t.jsx)(m.Ay,{size:"small",type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),disabled:l.builtIn,title:l.builtIn?ep:P("common.delete")})})]})}]})]}),(0,t.jsxs)(b.A,{title:G?"技能预览 \xb7 ".concat(null!=(l=null==Z?void 0:Z.displayName)?l:""):Z?"编辑技能 \xb7 ".concat(Z.displayName):"新建技能",open:H,onClose:()=>Q(!1),styles:{},extra:G?(0,t.jsx)(o.A,{children:(0,t.jsx)(m.Ay,{type:"primary",icon:(0,t.jsx)(w.A,{}),disabled:!Z||Z.builtIn,title:(null==Z?void 0:Z.builtIn)?ep:void 0,onClick:()=>Y(!1),children:P("common.edit")})}):(0,t.jsx)(o.A,{children:(0,t.jsx)(m.Ay,{type:"primary",loading:ee,onClick:()=>{eu()},children:P("common.save")})}),children:[(null==Z?void 0:Z.builtIn)&&(0,t.jsx)(u.A,{type:"info",showIcon:!0,className:"mb-4",message:"内置技能",description:ep}),G?Z&&(0,t.jsx)(M,{skill:Z,options:L,labelMap:ea}):(0,t.jsxs)(t.Fragment,{children:[(null==Z?void 0:Z.examples)&&(0,t.jsx)(u.A,{type:"info",showIcon:!0,className:"mb-4",message:"该技能带表达示例",description:"示例供理解专业表达,不能作为本项目事实;本编辑器不修改示例,保存时原样保留。"}),es.length>0&&(0,t.jsx)(u.A,{type:"error",showIcon:!0,className:"mb-4",message:"校验未通过:".concat(es.length," 处"),description:(0,t.jsx)("div",{className:"text-xs",children:es.map((e,l)=>{var s;return(0,t.jsxs)("div",{children:[(0,t.jsx)(T,{code:!0,children:e.path||"(root)"})," ",e.message]},"".concat(null!=(s=e.path)?s:"root","-").concat(l))})})}),(0,t.jsxs)(d.A,{form:_,layout:"vertical",children:[(0,t.jsx)(d.A.Item,{name:"id",label:"技能 ID",rules:[{required:!0,message:"技能 ID 必填"}],extra:"技能的唯一标识:使用小写字母、数字和连字符,以字母开头。",children:(0,t.jsx)(A.A,{disabled:!!Z,placeholder:"例如 c02-major-content-building"})}),(0,t.jsx)(d.A.Item,{name:"enabled",label:"启用",valuePropName:"checked",children:(0,t.jsx)(j.A,{})}),(0,t.jsxs)(n.A,{size:"small",title:"匹配条件",className:"rounded-2xl mb-4",children:[(0,t.jsx)(d.A.Item,{name:["match","chapterDomain"],label:"章域",rules:[{required:!0,message:"章域必选"}],extra:"选择技能相关的专业内容范围。",children:(0,t.jsx)(g.A,{options:en,placeholder:"选择本章所属的内容域"})}),(0,t.jsx)(d.A.Item,{name:["match","projectTypes"],label:"适用工程类型",extra:"留空表示不限定工程类型,使用时仍需核对具体对象与工况。",children:(0,t.jsx)(g.A,{mode:"multiple",allowClear:!0,options:ei,placeholder:"全类型"})}),(0,t.jsx)(d.A.Item,{name:["match","sectionKeywords"],label:"小节标题关键词",extra:"用于匹配相关小节标题,可输入多个关键词。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","," "],placeholder:"输入后回车,例如:主要施工 / 分部分项"})}),(0,t.jsx)(d.A.Item,{name:["match","sectionRegex"],label:"小节标题匹配表达式(可选)",extra:"填写正则表达式文本;复杂或不安全的表达式会被校验拒绝。",children:(0,t.jsx)(A.A,{placeholder:"例如 交通导改|导行|管线保护"})})]}),(0,t.jsx)(n.A,{size:"small",title:"所需项目资料",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.List,{name:"requires",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",className:"w-full",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"key"],rules:[{required:!0,message:"事实键必填"}],children:(0,t.jsx)(A.A,{placeholder:"事实键,如 boq.divisions",style:{width:260}})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"source"],rules:[{required:!0,message:"来源必选"}],children:(0,t.jsx)(g.A,{options:ec,placeholder:"事实来源",style:{width:160}})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"required"],valuePropName:"checked",children:(0,t.jsx)(j.A,{checkedChildren:"必需",unCheckedChildren:"可选"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({source:"boq",required:!1}),children:[P("common.add"),"事实需求"]})]})}})}),(0,t.jsx)(n.A,{size:"small",title:"相关专业主题",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.List,{name:"structure",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",className:"w-full",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"title"],rules:[{required:!0,message:"专业主题标题必填"}],children:(0,t.jsx)(A.A,{placeholder:"专业主题标题",style:{width:420}})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"required"],extra:"描述该主题的专业内容;按实际对象选用,不写固定字数或参数数量。",children:(0,t.jsx)(g.A,{mode:"tags",style:{minWidth:320},placeholder:"工序、适用条件、控制要点或验收要求"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({required:[]}),children:[P("common.add"),"专业主题"]})]})}})}),(0,t.jsxs)(n.A,{size:"small",title:"文档业务提示",className:"rounded-2xl mb-4",children:[(0,t.jsx)(d.A.Item,{name:"outputTitle",extra:"提供文档名称建议,实际名称由本次生成配置确定。",children:(0,t.jsx)(A.A,{placeholder:"留空 = 本技能不对文档名称表态",style:{maxWidth:420}})}),(0,t.jsxs)("div",{className:"mt-2 mb-1",children:[(0,t.jsx)(T,{strong:!0,children:"章级清单"}),(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:"提供章级候选内容与资料检索提示,实际职责由本次规划确定;专业主题在上方单独填写。"})]}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","purpose"],label:"章级内容提示",extra:"说明本章关注的专业内容。",children:(0,t.jsx)(A.A,{placeholder:"例如:说明本工程的安全管理目标与危大工程清单",style:{maxWidth:640}})}),(0,t.jsxs)(o.A,{wrap:!0,align:"start",children:[(0,t.jsx)(d.A.Item,{name:["chapterChecklist","queries"],label:"资料检索词",extra:"帮助定位相关资料。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","requiredFacts"],label:"待核事实提示",extra:"提示应查证的项目事实。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})})]}),(0,t.jsxs)(o.A,{wrap:!0,align:"start",children:[(0,t.jsx)(d.A.Item,{name:["chapterChecklist","tableSections"],label:"成表内容建议",extra:"提示适合用表格表达的内容。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","tableRequirements"],label:"表格表达提示",extra:"提示表格列项与表达方式。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})})]}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","pinnedEvidenceFilePaths"],label:"相关证据文件",extra:"填写需要关注的文件名;实际读取范围和来源资格仍由本次任务核对。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{maxWidth:640},placeholder:"回车添加文件名"})}),(null!=(s=null==L||null==(e=L.absentCarriers)?void 0:e.length)?s:0)>0&&(0,t.jsx)(u.A,{type:"info",showIcon:!0,className:"mt-3",message:"排版设置",description:(0,t.jsx)("div",{className:"text-xs",children:null==L?void 0:L.absentCarriers.map(e=>(0,t.jsxs)("div",{children:[e.label,":","formatting"===e.id?"排版要求由招标资料与导出设置管理,技能编辑器提供专业内容。":e.note]},e.id))})})]}),(0,t.jsx)(n.A,{size:"small",title:"禁写项",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.Item,{name:"forbidden",extra:"填写需避免的不适用内容或表达;没有禁写项时留空。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],placeholder:"输入后回车,例如:管道闭水试验"})})}),(0,t.jsx)(n.A,{size:"small",title:"可加载工艺知识",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.List,{name:"knowledge",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"ids"],rules:[{required:!0,type:"array",min:1,message:"请选择实际工艺卡"}],children:(0,t.jsx)(g.A,{mode:"multiple",showSearch:!0,optionFilterProp:"label",options:ed,style:{minWidth:360},placeholder:"按工艺卡名称搜索"})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"note"],children:(0,t.jsx)(A.A,{placeholder:"适用条件说明(可选)"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({kind:"processCard",ids:[]}),children:[P("common.add"),"工艺知识"]})]})}})}),(0,t.jsxs)(n.A,{size:"small",title:"专业写作核对提示",className:"rounded-2xl mb-4",children:[(0,t.jsx)(q,{type:"secondary",children:"写清适用对象、方法和检验注意。提示供作者按具体任务选用,不构成评分、字数或参数数量要求。"}),(0,t.jsx)(d.A.List,{name:"acceptance",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"checklistItems"],rules:[{required:!0,type:"array",min:1,message:"请输入专业注意事项"}],children:(0,t.jsx)(g.A,{mode:"tags",style:{minWidth:460},placeholder:"例如:保留实际检验对象、触发条件和转序要求"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({kind:"llmChecklist",checklistItems:[]}),children:[P("common.add"),"专业提示"]})]})}})]}),L&&(0,t.jsx)(n.A,{size:"small",title:(0,t.jsxs)(o.A,{children:[(0,t.jsx)(C.A,{}),"资料与采用边界"]}),className:"rounded-2xl",children:L.isolationRules.map(e=>(0,t.jsxs)("div",{className:"mb-1",children:[(0,t.jsx)(i.A,{children:e.label}),(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:e.note})]},e.id))})]})]})]})]})}}},e=>{e.O(0,[310,700,914,174,189,278,964,569,787,864,127,636,593,792],()=>e(e.s=25981)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[950],{25981:(e,l,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/skills",function(){return s(81828)}])},58690:(e,l,s)=>{"use strict";function t(e){var l,s,t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{defaultPageSize:null!=(l=r.pageSize)?l:10,pageSizeOptions:null!=(s=r.pageSizeOptions)?s:[10,20,50,100],showSizeChanger:!0,showTotal:l=>{var s,t;return e(null!=(s=r.totalLabelKey)?s:"common.totalRows",null!=(t=r.totalLabelFallback)?t:"共 {count} 条").replace("{count}",String(l))},hideOnSinglePage:null!=(t=r.hideOnSinglePage)&&t,showQuickJumper:!1}}s.d(l,{B:()=>t})},81828:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>L});var t=s(65321),r=s(97109),a=s(48399),n=s(68787),i=s(11702),c=s(17807),d=s(63455),o=s(33442),m=s(85114),u=s(85493),h=s(42700),x=s(84253),p=s(26964),j=s(44534),y=s(32965),b=s(34052),A=s(7576),g=s(57271),v=s(7851),k=s(54746),f=s(8263),w=s(99650),N=s(58209),C=s(86193),I=s(85587),S=s(58690);let{Paragraph:q,Text:T}=a.A,F={"Content-Type":"application/json"};async function z(e,l){try{let t,r=await fetch(e,l),a=await r.text();try{t=a?JSON.parse(a):void 0}catch(e){t=void 0}if(!r.ok){var s;let e=null!=t?t:{};return{ok:!1,status:r.status,message:null!=(s=e.error)?s:"HTTP ".concat(r.status),issues:Array.isArray(e.errors)?e.errors:[]}}return{ok:!0,data:t}}catch(e){return{ok:!1,status:0,message:e instanceof Error?e.message:"网络请求失败",issues:[]}}}function R(e){return[...new Set((null!=e?e:[]).map(e=>e.trim()).filter(e=>e.length>0))]}function P(e){return"string"==typeof e?e:e.phrase}function D(e){return{id:e.id,enabled:e.enabled,match:{chapterDomain:e.match.chapterDomain,projectTypes:[...e.match.projectTypes],sectionKeywords:[...e.match.sectionKeywords],...e.match.sectionRegex?{sectionRegex:e.match.sectionRegex}:{}},requires:e.requires.map(e=>({...e})),structure:e.structure.map(e=>{var l;return{title:e.title,required:[...null!=(l=e.required)?l:[]]}}),forbidden:e.forbidden.map(P),knowledge:e.knowledge.map(e=>({kind:e.kind,...e.ids?{ids:[...e.ids]}:{},...e.note?{note:e.note}:{}})),acceptance:e.acceptance.map(e=>({kind:"llmChecklist",checklistItems:[...e.items]})),...void 0!==e.outputTitle?{outputTitle:e.outputTitle}:{},...e.chapterChecklist?{chapterChecklist:{...e.chapterChecklist,...e.chapterChecklist.sections?{sections:[...e.chapterChecklist.sections]}:{}}}:{}}}function O(e){var l;return(null!=(l=e.ids)?l:[]).length>0}function E(e){var l;return(null!=(l=e.checklistItems)?l:[]).length>0}function _(e){let{label:l,children:s}=e;return(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-1 sm:gap-3 py-2 border-b border-[var(--colorBorderSecondary)] last:border-0",children:[(0,t.jsx)("div",{className:"sm:w-44 shrink-0 text-xs font-semibold uppercase tracking-wider text-[var(--colorTextTertiary)] sm:pt-0.5",children:l}),(0,t.jsx)("div",{className:"min-w-0 flex-1 text-sm",children:s})]})}function K(e){let{title:l,children:s}=e;return(0,t.jsx)(n.A,{size:"small",title:l,className:"rounded-2xl mb-4",styles:{body:{padding:"4px 12px"}},children:s})}function W(e){let{items:l,empty:s="未声明"}=e;return 0===l.length?(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:s}):(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:l.map((e,l)=>(0,t.jsx)("span",{children:e},l))})}function M(e){var l,s,r,a,n;let{skill:c,options:d,labelMap:o}=e,m=e=>{var l;return null!=(l=o.get(e))?l:e},u=e=>{var l,s;return null!=(s=null==d||null==(l=d.processCards.find(l=>l.value===e))?void 0:l.label)?s:e},h=c.chapterChecklist,x=h?[{label:"章内检索词",values:null!=(l=h.queries)?l:[]},{label:"必含事实",values:null!=(s=h.requiredFacts)?s:[]},{label:"要求成表的小节",values:null!=(r=h.tableSections)?r:[]},{label:"表格形态要求",values:null!=(a=h.tableRequirements)?a:[]},{label:"钉住的证据文件",values:null!=(n=h.pinnedEvidenceFilePaths)?n:[]}].filter(e=>e.values.length>0):[];return(0,t.jsxs)("div",{children:[(0,t.jsxs)(K,{title:"基本信息",children:[(0,t.jsxs)(_,{label:"技能 ID",children:[(0,t.jsx)(T,{code:!0,className:"text-xs",children:c.id}),(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:"用于区分和管理技能"})]}),(0,t.jsxs)(_,{label:"来源",children:[c.builtIn?(0,t.jsx)(i.A,{color:"gold",children:"内置"}):(0,t.jsx)(i.A,{children:"用户"}),(0,t.jsxs)(T,{type:"secondary",className:"text-xs ml-2",children:["技能格式 v",c.version]})]}),(0,t.jsx)(_,{label:"启用",children:(0,t.jsx)(i.A,{color:c.enabled?"green":"default",className:"border-0",children:c.enabled?"已启用":"已停用"})})]}),(0,t.jsxs)(K,{title:"匹配条件",children:[(0,t.jsx)(_,{label:"章域",children:(0,t.jsx)(i.A,{color:"blue",children:m(c.match.chapterDomain)})}),(0,t.jsx)(_,{label:"适用工程类型",children:(0,t.jsx)(W,{empty:"全类型(不限定工程类型)",items:c.match.projectTypes.map(e=>(0,t.jsx)(i.A,{children:m(e)},e))})}),(0,t.jsx)(_,{label:"小节标题关键词",children:(0,t.jsx)(W,{empty:"未限定小节标题关键词",items:c.match.sectionKeywords.map(e=>(0,t.jsx)(i.A,{className:"border-0 bg-[var(--colorFillSecondary)]",children:e},e))})}),(0,t.jsx)(_,{label:"小节标题正则",children:c.match.sectionRegex?(0,t.jsx)(T,{code:!0,className:"text-xs",children:c.match.sectionRegex}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明"})})]}),(0,t.jsx)(K,{title:"所需项目资料",children:(0,t.jsx)(W,{empty:"未声明必需事实",items:c.requires.map(e=>(0,t.jsxs)(i.A,{color:e.required?"red":"default",className:"mb-1",children:[e.key," \xb7 ",m(e.source),e.required?" \xb7 必需":" \xb7 可选"]},e.key))})}),(0,t.jsx)(K,{title:"相关专业主题 \xb7 ".concat(c.structure.length," 项"),children:0===c.structure.length?(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明专业主题"}):(0,t.jsx)("ol",{className:"m-0 pl-5 text-sm leading-7",children:c.structure.map((e,l)=>{var s;return(0,t.jsxs)("li",{children:[e.title,(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:(null==(s=e.required)?void 0:s.join(";"))||"按具体对象组织内容"})]},"".concat(e.title,"-").concat(l))})})}),(0,t.jsxs)(K,{title:"文档业务提示",children:[(0,t.jsx)(_,{label:"文档名称",children:c.outputTitle?(0,t.jsx)(T,{strong:!0,children:c.outputTitle}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明(不对文档名称表态)"})}),(0,t.jsx)(_,{label:"章职责",children:(null==h?void 0:h.purpose)?(0,t.jsx)("span",{children:h.purpose}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"未声明"})}),x.map(e=>(0,t.jsx)(_,{label:e.label,children:(0,t.jsx)(W,{items:e.values.map(e=>(0,t.jsx)(i.A,{className:"border-0 bg-[var(--colorFillSecondary)]",children:e},e))})},e.label))]}),(0,t.jsx)(K,{title:"禁写项",children:(0,t.jsx)(W,{empty:"没有禁写项",items:c.forbidden.map(e=>(0,t.jsx)(i.A,{color:"red",className:"border-0",children:P(e)},P(e)))})}),(0,t.jsx)(K,{title:"工艺知识引用",children:(0,t.jsx)(W,{empty:"未声明知识引用",items:c.knowledge.map((e,l)=>{var s,r,a;let n=e.ids.map(u).join("、");return(0,t.jsxs)(i.A,{className:"mb-1",children:[(s=e.kind,null!=(a=null==d||null==(r=d.knowledgeKinds.find(e=>e.value===s))?void 0:r.label)?a:s),n?" \xb7 ".concat(n):"",e.note?"(".concat(e.note,")"):""]},"".concat(e.kind,"-").concat(l))})})}),(0,t.jsxs)(K,{title:"专业写作核对提示",children:[(0,t.jsx)(T,{type:"secondary",children:"按本任务对象和工况选用,不是数量要求或验收通过证明。"}),(0,t.jsx)("ul",{children:c.acceptance.flatMap(e=>e.items).map(e=>(0,t.jsx)("li",{children:e},e))})]}),(0,t.jsx)(K,{title:"表达示例",children:(0,t.jsx)(_,{label:"是否带示例",children:c.examples?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.A,{color:"green",className:"border-0",children:"带正例/反例"}),(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:"供理解专业表达,不能作为本项目事实;本编辑器保留原示例。"})]}):(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"无"})})}),d&&(0,t.jsx)(K,{title:"资料与采用边界",children:d.isolationRules.map(e=>(0,t.jsxs)("div",{className:"py-1.5",children:[(0,t.jsx)(i.A,{children:e.label}),(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:e.note})]},e.id))})]})}function L(){var e,l,s;let{message:a}=c.A.useApp(),P=(0,I.Vr)(),[_]=d.A.useForm(),[K,W]=(0,r.useState)([]),[L,J]=(0,r.useState)(),[B,U]=(0,r.useState)([]),[V,X]=(0,r.useState)(!0),[H,Q]=(0,r.useState)(!1),[G,Y]=(0,r.useState)(!1),[Z,$]=(0,r.useState)(),[ee,el]=(0,r.useState)(!1),[es,et]=(0,r.useState)([]),er=(0,r.useCallback)(async()=>{let e=await z("/api/skills");if(e.ok){var l;W(e.data.skills),J(e.data.options),U(null!=(l=e.data.invalid)?l:[])}else a.error("加载技能库失败:".concat(e.message));X(!1)},[a]);(0,r.useEffect)(()=>{er()},[er]);let ea=(0,r.useMemo)(()=>{var e,l,s;return new Map([...null!=(e=null==L?void 0:L.chapterDomains)?e:[],...null!=(l=null==L?void 0:L.projectTypes)?l:[],...null!=(s=null==L?void 0:L.factSources)?s:[]].map(e=>[e.value,e.label]))},[L]),en=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.chapterDomains.map(e=>({value:e.value,label:e.label,title:e.note})))?e:[]},[L]),ei=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.projectTypes.map(e=>({value:e.value,label:e.label})))?e:[]},[L]),ec=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.factSources.map(e=>({value:e.value,label:e.label})))?e:[]},[L]),ed=(0,r.useMemo)(()=>{var e;return null!=(e=null==L?void 0:L.processCards.map(e=>({value:e.value,label:e.label})))?e:[]},[L]),eo=e=>{$(e),et([]),_.resetFields(),_.setFieldsValue(D(e)),Y(!0),Q(!0)},em=e=>{var l;W(e.skills),(null==(l=e.warnings)?void 0:l.length)&&a.warning("已保存,但有 ".concat(e.warnings.length," 条提示:").concat(e.warnings.map(e=>e.message).join(";")))},eu=async()=>{let e;if(!L)return;try{e=await _.validateFields()}catch(e){return}let l=function(e,l,s){var t,r,a,n,i,c,d,o,m,u;let h={chapterDomain:null==(t=e.match)?void 0:t.chapterDomain,projectTypes:[...null!=(c=null==(r=e.match)?void 0:r.projectTypes)?c:[]],sectionKeywords:R(null==(a=e.match)?void 0:a.sectionKeywords),...(null==(i=e.match)||null==(n=i.sectionRegex)?void 0:n.trim())?{sectionRegex:e.match.sectionRegex.trim()}:{}},x=(null!=(d=e.requires)?d:[]).filter(e=>{var l;return(null!=(l=e.key)?l:"").trim().length>0}).map(e=>{var l;return{key:(null!=(l=e.key)?l:"").trim(),source:e.source,required:!0===e.required}}),p=(null!=(o=e.structure)?o:[]).filter(e=>{var l;return(null!=(l=e.title)?l:"").trim().length>0}).map(e=>{var l;return{title:(null!=(l=e.title)?l:"").trim(),required:R(e.required)}}),j=(null!=(m=e.knowledge)?m:[]).filter(O).map(e=>{var l;return{kind:"processCard",ids:R(e.ids),...(null==(l=e.note)?void 0:l.trim())?{note:e.note.trim()}:{}}}),y=(null!=(u=e.acceptance)?u:[]).filter(E).map(e=>({kind:"llmChecklist",items:R(e.checklistItems),nonDeterministic:!0}));return{id:e.id.trim(),version:l,source:"user",enabled:!1!==e.enabled,match:h,requires:x,structure:p,forbidden:R(e.forbidden),knowledge:j,acceptance:y,...function(e){var l,s,t,r;let a=null!=(r=null==(l=e.outputTitle)?void 0:l.trim())?r:"",n=e.chapterChecklist,i={sections:R(null==n?void 0:n.sections),queries:R(null==n?void 0:n.queries),requiredFacts:R(null==n?void 0:n.requiredFacts),tableSections:R(null==n?void 0:n.tableSections),tableRequirements:R(null==n?void 0:n.tableRequirements),pinnedEvidenceFilePaths:R(null==n?void 0:n.pinnedEvidenceFilePaths)},c=!!(null==n||null==(s=n.purpose)?void 0:s.trim())||Object.values(i).some(e=>e.length>0);return{...a?{outputTitle:a}:{},...c?{chapterChecklist:{...(null==n||null==(t=n.purpose)?void 0:t.trim())?{purpose:n.purpose.trim()}:{},...Object.fromEntries(Object.entries(i).filter(e=>{let[,l]=e;return l.length>0}))}}:{}}}(e),...s?{examples:s}:{}}}(e,L.contractVersion,null==Z?void 0:Z.examples);el(!0),et([]);try{let e=await z("/api/skills/validate",{method:"POST",headers:F,body:JSON.stringify(l)});if(!e.ok){a.error("校验请求失败:".concat(e.message)),et(e.issues);return}if(!e.data.ok){et(e.data.errors),a.error("校验未通过:".concat(e.data.errors.length," 处问题,请核对技能字段和工艺卡引用。"));return}let s=Z?await z("/api/skills/".concat(encodeURIComponent(Z.id)),{method:"PUT",headers:F,body:JSON.stringify(l)}):await z("/api/skills",{method:"POST",headers:F,body:JSON.stringify(l)});if(!s.ok){et(s.issues),a.error("保存失败:".concat(s.message));return}em(s.data),Q(!1),a.success(P("common.success"))}finally{el(!1)}},eh=async(e,l)=>{let s=await z("/api/skills/".concat(encodeURIComponent(e.id)),{method:"PUT",headers:F,body:JSON.stringify({...e,enabled:l})});if(!s.ok)return void a.error("切换启用状态失败:".concat(s.message));em(s.data)},ex=async e=>{let l=await z("/api/skills/".concat(encodeURIComponent(e.id)),{method:"DELETE"});if(!l.ok)return void a.error("删除失败:".concat(l.message));W(l.data.skills),a.success(P("common.success"))},ep="内置技能只读,随应用版本更新。可新建用户技能进行配置。";return(0,t.jsxs)("div",{className:"space-y-6 animateFadeIn",children:[(0,t.jsxs)(n.A,{title:(0,t.jsxs)(o.A,{children:[(0,t.jsx)(v.A,{}),P("nav.skills")]}),className:"rounded-2xl mb-6",extra:(0,t.jsx)(m.Ay,{type:"primary",icon:(0,t.jsx)(k.A,{}),onClick:()=>{L&&($(void 0),et([]),_.resetFields(),_.setFieldsValue({id:"skill-".concat(Date.now()),enabled:!0,match:{projectTypes:[],sectionKeywords:[]},requires:[{source:"boq",required:!1}],structure:[{}],forbidden:[],knowledge:[],acceptance:[{kind:"llmChecklist",checklistItems:[]}]}),Y(!1),Q(!0))},disabled:!L,className:"rounded-xl",children:"新建技能"}),children:[(0,t.jsx)(q,{type:"secondary",className:"!mb-4",children:"技能提供专业主题、资料需求、工艺知识和写作核对提示,按章域、工程类型与具体对象选用。 本次任务的实际章节职责由主控规划确定。保存时会校验技能字段与工艺卡引用。"}),B.length>0&&(0,t.jsx)(u.A,{type:"warning",className:"mb-4",showIcon:!0,message:"技能库有 ".concat(B.length," 个无法读取的文件(不影响其余技能)"),description:(0,t.jsx)("div",{className:"text-xs",children:B.map(e=>(0,t.jsxs)("div",{children:[e.file,":",e.reason]},e.file))})}),V?(0,t.jsx)("div",{className:"py-10 text-center",children:(0,t.jsx)(h.A,{})}):0===K.length?(0,t.jsx)(x.A,{description:"技能库为空"}):(0,t.jsx)(p.A,{dataSource:K,rowKey:"id",pagination:(0,S.B)(P),onRow:e=>({onClick:()=>eo(e),style:{cursor:"pointer"}}),columns:[{title:"技能",dataIndex:"displayName",render:e=>(0,t.jsx)(T,{strong:!0,children:e})},{title:"章域",width:140,render:(e,l)=>{var s;return(0,t.jsx)(i.A,{color:"blue",children:null!=(s=ea.get(l.match.chapterDomain))?s:l.match.chapterDomain})}},{title:"工程类型",width:180,render:(e,l)=>0===l.match.projectTypes.length?(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:"全类型"}):(0,t.jsx)(o.A,{size:4,wrap:!0,children:l.match.projectTypes.map(e=>{var l;return(0,t.jsx)(i.A,{children:null!=(l=ea.get(e))?l:e},e)})})},{title:"主题 / 专业提示",width:180,render:(e,l)=>(0,t.jsxs)(o.A,{size:4,children:[(0,t.jsxs)(i.A,{children:[l.structure.length," 个主题"]}),(0,t.jsxs)(i.A,{color:"green",children:[l.acceptance.length," 组提示"]})]})},{title:"来源",width:100,render:(e,l)=>l.builtIn?(0,t.jsx)(i.A,{color:"gold",title:ep,children:"内置"}):(0,t.jsx)(i.A,{children:"用户"})},{title:"启用",width:90,render:(e,l)=>(0,t.jsx)(j.A,{size:"small",checked:l.enabled,disabled:l.builtIn,title:l.builtIn?ep:void 0,onChange:e=>{eh(l,e)}})},{title:"操作",width:150,render:(e,l)=>(0,t.jsxs)(o.A,{size:0,onClick:e=>e.stopPropagation(),children:[(0,t.jsx)(m.Ay,{size:"small",type:"text",icon:(0,t.jsx)(f.A,{}),title:"预览",onClick:()=>eo(l)}),(0,t.jsx)(m.Ay,{size:"small",type:"text",icon:(0,t.jsx)(w.A,{}),disabled:l.builtIn,title:l.builtIn?ep:P("common.edit"),onClick:()=>(e=>{let l=e.promptBindings;Array.isArray(l)&&l.length>0&&a.warning("「".concat(e.id,"」里还留着 ").concat(l.length," 条已退休的提示词绑定(promptBindings):该字段已随角色配置页删除,本次保存会把它从技能里移除。")),$(e),et([]),_.resetFields(),_.setFieldsValue(D(e)),Y(!1),Q(!0)})(l)}),(0,t.jsx)(y.A,{title:"确认删除该技能?",onConfirm:()=>{ex(l)},disabled:l.builtIn,children:(0,t.jsx)(m.Ay,{size:"small",type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),disabled:l.builtIn,title:l.builtIn?ep:P("common.delete")})})]})}]})]}),(0,t.jsxs)(b.A,{title:G?"技能预览 \xb7 ".concat(null!=(l=null==Z?void 0:Z.displayName)?l:""):Z?"编辑技能 \xb7 ".concat(Z.displayName):"新建技能",open:H,onClose:()=>Q(!1),styles:{},extra:G?(0,t.jsx)(o.A,{children:(0,t.jsx)(m.Ay,{type:"primary",icon:(0,t.jsx)(w.A,{}),disabled:!Z||Z.builtIn,title:(null==Z?void 0:Z.builtIn)?ep:void 0,onClick:()=>Y(!1),children:P("common.edit")})}):(0,t.jsx)(o.A,{children:(0,t.jsx)(m.Ay,{type:"primary",loading:ee,onClick:()=>{eu()},children:P("common.save")})}),children:[(null==Z?void 0:Z.builtIn)&&(0,t.jsx)(u.A,{type:"info",showIcon:!0,className:"mb-4",message:"内置技能",description:ep}),G?Z&&(0,t.jsx)(M,{skill:Z,options:L,labelMap:ea}):(0,t.jsxs)(t.Fragment,{children:[(null==Z?void 0:Z.examples)&&(0,t.jsx)(u.A,{type:"info",showIcon:!0,className:"mb-4",message:"该技能带表达示例",description:"示例供理解专业表达,不能作为本项目事实;本编辑器不修改示例,保存时原样保留。"}),es.length>0&&(0,t.jsx)(u.A,{type:"error",showIcon:!0,className:"mb-4",message:"校验未通过:".concat(es.length," 处"),description:(0,t.jsx)("div",{className:"text-xs",children:es.map((e,l)=>{var s;return(0,t.jsxs)("div",{children:[(0,t.jsx)(T,{code:!0,children:e.path||"(root)"})," ",e.message]},"".concat(null!=(s=e.path)?s:"root","-").concat(l))})})}),(0,t.jsxs)(d.A,{form:_,layout:"vertical",children:[(0,t.jsx)(d.A.Item,{name:"id",label:"技能 ID",rules:[{required:!0,message:"技能 ID 必填"}],extra:"技能的唯一标识:使用小写字母、数字和连字符,以字母开头。",children:(0,t.jsx)(A.A,{disabled:!!Z,placeholder:"例如 c02-major-content-building"})}),(0,t.jsx)(d.A.Item,{name:"enabled",label:"启用",valuePropName:"checked",children:(0,t.jsx)(j.A,{})}),(0,t.jsxs)(n.A,{size:"small",title:"匹配条件",className:"rounded-2xl mb-4",children:[(0,t.jsx)(d.A.Item,{name:["match","chapterDomain"],label:"章域",rules:[{required:!0,message:"章域必选"}],extra:"选择技能相关的专业内容范围。",children:(0,t.jsx)(g.A,{options:en,placeholder:"选择本章所属的内容域"})}),(0,t.jsx)(d.A.Item,{name:["match","projectTypes"],label:"适用工程类型",extra:"留空表示不限定工程类型,使用时仍需核对具体对象与工况。",children:(0,t.jsx)(g.A,{mode:"multiple",allowClear:!0,options:ei,placeholder:"全类型"})}),(0,t.jsx)(d.A.Item,{name:["match","sectionKeywords"],label:"小节标题关键词",extra:"用于匹配相关小节标题,可输入多个关键词。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","," "],placeholder:"输入后回车,例如:主要施工 / 分部分项"})}),(0,t.jsx)(d.A.Item,{name:["match","sectionRegex"],label:"小节标题匹配表达式(可选)",extra:"填写正则表达式文本;复杂或不安全的表达式会被校验拒绝。",children:(0,t.jsx)(A.A,{placeholder:"例如 交通导改|导行|管线保护"})})]}),(0,t.jsx)(n.A,{size:"small",title:"所需项目资料",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.List,{name:"requires",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",className:"w-full",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"key"],rules:[{required:!0,message:"事实键必填"}],children:(0,t.jsx)(A.A,{placeholder:"事实键,如 boq.divisions",style:{width:260}})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"source"],rules:[{required:!0,message:"来源必选"}],children:(0,t.jsx)(g.A,{options:ec,placeholder:"事实来源",style:{width:160}})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"required"],valuePropName:"checked",children:(0,t.jsx)(j.A,{checkedChildren:"必需",unCheckedChildren:"可选"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({source:"boq",required:!1}),children:[P("common.add"),"事实需求"]})]})}})}),(0,t.jsx)(n.A,{size:"small",title:"相关专业主题",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.List,{name:"structure",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",className:"w-full",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"title"],rules:[{required:!0,message:"专业主题标题必填"}],children:(0,t.jsx)(A.A,{placeholder:"专业主题标题",style:{width:420}})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"required"],extra:"描述该主题的专业内容;按实际对象选用,不写固定字数或参数数量。",children:(0,t.jsx)(g.A,{mode:"tags",style:{minWidth:320},placeholder:"工序、适用条件、控制要点或验收要求"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({required:[]}),children:[P("common.add"),"专业主题"]})]})}})}),(0,t.jsxs)(n.A,{size:"small",title:"文档业务提示",className:"rounded-2xl mb-4",children:[(0,t.jsx)(d.A.Item,{name:"outputTitle",extra:"提供文档名称建议,实际名称由本次生成配置确定。",children:(0,t.jsx)(A.A,{placeholder:"留空 = 本技能不对文档名称表态",style:{maxWidth:420}})}),(0,t.jsxs)("div",{className:"mt-2 mb-1",children:[(0,t.jsx)(T,{strong:!0,children:"章级清单"}),(0,t.jsx)(T,{type:"secondary",className:"text-xs ml-2",children:"提供章级候选内容与资料检索提示,实际职责由本次规划确定;专业主题在上方单独填写。"})]}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","purpose"],label:"章级内容提示",extra:"说明本章关注的专业内容。",children:(0,t.jsx)(A.A,{placeholder:"例如:说明本工程的安全管理目标与危大工程清单",style:{maxWidth:640}})}),(0,t.jsxs)(o.A,{wrap:!0,align:"start",children:[(0,t.jsx)(d.A.Item,{name:["chapterChecklist","queries"],label:"资料检索词",extra:"帮助定位相关资料。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","requiredFacts"],label:"待核事实提示",extra:"提示应查证的项目事实。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})})]}),(0,t.jsxs)(o.A,{wrap:!0,align:"start",children:[(0,t.jsx)(d.A.Item,{name:["chapterChecklist","tableSections"],label:"成表内容建议",extra:"提示适合用表格表达的内容。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","tableRequirements"],label:"表格表达提示",extra:"提示表格列项与表达方式。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{minWidth:260},placeholder:"回车添加"})})]}),(0,t.jsx)(d.A.Item,{name:["chapterChecklist","pinnedEvidenceFilePaths"],label:"相关证据文件",extra:"填写需要关注的文件名;实际读取范围和来源资格仍由本次任务核对。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],style:{maxWidth:640},placeholder:"回车添加文件名"})}),(null!=(s=null==L||null==(e=L.absentCarriers)?void 0:e.length)?s:0)>0&&(0,t.jsx)(u.A,{type:"info",showIcon:!0,className:"mt-3",message:"排版设置",description:(0,t.jsx)("div",{className:"text-xs",children:null==L?void 0:L.absentCarriers.map(e=>(0,t.jsxs)("div",{children:[e.label,":","formatting"===e.id?"排版要求由招标资料与导出设置管理,技能编辑器提供专业内容。":e.note]},e.id))})})]}),(0,t.jsx)(n.A,{size:"small",title:"禁写项",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.Item,{name:"forbidden",extra:"填写需避免的不适用内容或表达;没有禁写项时留空。",children:(0,t.jsx)(g.A,{mode:"tags",tokenSeparators:[",",","],placeholder:"输入后回车,例如:管道闭水试验"})})}),(0,t.jsx)(n.A,{size:"small",title:"可加载工艺知识",className:"rounded-2xl mb-4",children:(0,t.jsx)(d.A.List,{name:"knowledge",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"ids"],rules:[{required:!0,type:"array",min:1,message:"请选择实际工艺卡"}],children:(0,t.jsx)(g.A,{mode:"multiple",showSearch:!0,optionFilterProp:"label",options:ed,style:{minWidth:360},placeholder:"按工艺卡名称搜索"})}),(0,t.jsx)(d.A.Item,{...a,name:[s,"note"],children:(0,t.jsx)(A.A,{placeholder:"适用条件说明(可选)"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({kind:"processCard",ids:[]}),children:[P("common.add"),"工艺知识"]})]})}})}),(0,t.jsxs)(n.A,{size:"small",title:"专业写作核对提示",className:"rounded-2xl mb-4",children:[(0,t.jsx)(q,{type:"secondary",children:"写清适用对象、方法和检验注意。提示供作者按具体任务选用,不构成评分、字数或参数数量要求。"}),(0,t.jsx)(d.A.List,{name:"acceptance",children:(e,l)=>{let{add:s,remove:r}=l;return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[e.map(e=>{let{key:l,name:s,...a}=e;return(0,t.jsxs)(o.A,{align:"baseline",wrap:!0,children:[(0,t.jsx)(d.A.Item,{...a,name:[s,"checklistItems"],rules:[{required:!0,type:"array",min:1,message:"请输入专业注意事项"}],children:(0,t.jsx)(g.A,{mode:"tags",style:{minWidth:460},placeholder:"例如:保留实际检验对象、触发条件和转序要求"})}),(0,t.jsx)(m.Ay,{type:"text",danger:!0,icon:(0,t.jsx)(N.A,{}),onClick:()=>r(s)})]},l)}),(0,t.jsxs)(m.Ay,{type:"dashed",icon:(0,t.jsx)(k.A,{}),onClick:()=>s({kind:"llmChecklist",checklistItems:[]}),children:[P("common.add"),"专业提示"]})]})}})]}),L&&(0,t.jsx)(n.A,{size:"small",title:(0,t.jsxs)(o.A,{children:[(0,t.jsx)(C.A,{}),"资料与采用边界"]}),className:"rounded-2xl",children:L.isolationRules.map(e=>(0,t.jsxs)("div",{className:"mb-1",children:[(0,t.jsx)(i.A,{children:e.label}),(0,t.jsx)(T,{type:"secondary",className:"text-xs",children:e.note})]},e.id))})]})]})]})]})}}},e=>{e.O(0,[310,700,914,174,189,569,278,964,787,864,127,636,593,792],()=>e(e.s=25981)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-1{top:var(--spacing)}.top-3{top:calc(var(--spacing) * 3)}.top-5{top:calc(var(--spacing) * 5)}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2/span 2}.row-1{grid-row:1}.row-17{grid-row:17}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.\!m-0{margin:0!important}.m-0{margin:0}.m-10{margin:calc(var(--spacing) * 10)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.\!my-3{margin-block:calc(var(--spacing) * 3)!important}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-4{margin-right:calc(var(--spacing) * 4)}.\!mb-0{margin-bottom:0!important}.\!mb-4{margin-bottom:calc(var(--spacing) * 4)!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[22px\]{height:22px}.h-\[calc\(100vh-140px\)\],.h-\[calc\(100vh_-_140px\)\]{height:calc(100vh - 140px)}.h-auto{height:auto}.h-full{height:100%}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-\[170px\]{max-height:170px}.max-h-\[260px\]{max-height:260px}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0}.min-h-\[66px\]{min-height:66px}.min-h-\[140px\]{min-height:140px}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-\[1px\]{width:1px}.w-\[22px\]{width:22px}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[78\%\]{max-width:78%}.max-w-\[120px\]{max-width:120px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[360px\]{max-width:360px}.max-w-\[420px\]{max-width:420px}.max-w-\[520px\]{max-width:520px}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-0{flex-basis:0}.basis-9{flex-basis:calc(var(--spacing) * 9)}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[22px_minmax\(0\,1fr\)_auto\]{grid-template-columns:22px minmax(0,1fr) auto}.grid-cols-\[28px_1fr_auto\]{grid-template-columns:28px 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--borderColor\)\]{border-color:var(--borderColor)}.border-\[var\(--borderColorStrong\)\]{border-color:var(--borderColorStrong)}.border-\[var\(--canvasSectionBorder\)\]{border-color:var(--canvasSectionBorder)}.border-\[var\(--colorBorderSecondary\)\]{border-color:var(--colorBorderSecondary)}.border-\[var\(--colorDanger\)\]\/20{border-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--colorDanger\)\]\/20{border-color:color-mix(in oklab,var(--colorDanger) 20%,transparent)}}.border-\[var\(--colorDanger\)\]\/30{border-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--colorDanger\)\]\/30{border-color:color-mix(in oklab,var(--colorDanger) 30%,transparent)}}.border-\[var\(--colorWarning\)\]{border-color:var(--colorWarning)}.border-\[…\]{border-color:…}.border-blue-200{border-color:var(--color-blue-200)}.border-transparent{border-color:#0000}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[var\(--borderColor\)\]{background-color:var(--borderColor)}.bg-\[var\(--colorAccent\)\]{background-color:var(--colorAccent)}.bg-\[var\(--colorBg\)\]{background-color:var(--colorBg)}.bg-\[var\(--colorBgContainer\)\]{background-color:var(--colorBgContainer)}.bg-\[var\(--colorBgElevated\)\]{background-color:var(--colorBgElevated)}.bg-\[var\(--colorBgHover\)\],.bg-\[var\(--colorBgHover\)\]\/50{background-color:var(--colorBgHover)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgHover\)\]\/50{background-color:color-mix(in oklab,var(--colorBgHover) 50%,transparent)}}.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:var(--colorBgSecondary)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBgSecondary\)\]\/30{background-color:color-mix(in oklab,var(--colorBgSecondary) 30%,transparent)}}.bg-\[var\(--colorBgSelected\)\]{background-color:var(--colorBgSelected)}.bg-\[var\(--colorBorderSecondary\)\]{background-color:var(--colorBorderSecondary)}.bg-\[var\(--colorBrand\)\]\/5{background-color:var(--colorBrand)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBrand\)\]\/5{background-color:color-mix(in oklab,var(--colorBrand) 5%,transparent)}}.bg-\[var\(--colorBrand\)\]\/10{background-color:var(--colorBrand)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorBrand\)\]\/10{background-color:color-mix(in oklab,var(--colorBrand) 10%,transparent)}}.bg-\[var\(--colorDanger\)\],.bg-\[var\(--colorDanger\)\]\/5{background-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorDanger\)\]\/5{background-color:color-mix(in oklab,var(--colorDanger) 5%,transparent)}}.bg-\[var\(--colorDanger\)\]\/10{background-color:var(--colorDanger)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--colorDanger\)\]\/10{background-color:color-mix(in oklab,var(--colorDanger) 10%,transparent)}}.bg-\[var\(--colorFillAlter\)\]{background-color:var(--colorFillAlter)}.bg-\[var\(--colorFillSecondary\)\]{background-color:var(--colorFillSecondary)}.bg-\[var\(--colorOk\)\]{background-color:var(--colorOk)}.bg-\[var\(--colorText\)\]{background-color:var(--colorText)}.bg-\[var\(--colorTextTertiary\)\]{background-color:var(--colorTextTertiary)}.bg-\[var\(--colorWarning\)\]{background-color:var(--colorWarning)}.bg-\[var\(--colorWarningBg\)\]{background-color:var(--colorWarningBg)}.bg-black{background-color:var(--color-black)}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-32{padding-block:calc(var(--spacing) * 32)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pr-1{padding-right:var(--spacing)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#d4d4d4\]{color:#d4d4d4}.text-\[var\(--colorAccent\)\]{color:var(--colorAccent)}.text-\[var\(--colorBg\)\]{color:var(--colorBg)}.text-\[var\(--colorBorderSecondary\)\]{color:var(--colorBorderSecondary)}.text-\[var\(--colorBrand\)\]{color:var(--colorBrand)}.text-\[var\(--colorDanger\)\]{color:var(--colorDanger)}.text-\[var\(--colorError\)\]{color:var(--colorError)}.text-\[var\(--colorInfo\)\]{color:var(--colorInfo)}.text-\[var\(--colorOk\)\]{color:var(--colorOk)}.text-\[var\(--colorPrimary\)\]{color:var(--colorPrimary)}.text-\[var\(--colorSuccess\)\]{color:var(--colorSuccess)}.text-\[var\(--colorText\)\]{color:var(--colorText)}.text-\[var\(--colorTextSecondary\)\]{color:var(--colorTextSecondary)}.text-\[var\(--colorTextTertiary\)\]{color:var(--colorTextTertiary)}.text-\[var\(--colorWarn\)\]{color:var(--colorWarn)}.text-\[var\(--colorWarning\)\]{color:var(--colorWarning)}.text-gray-500{color:var(--color-gray-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[var\(--shadowSurface\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadowSurface\)\]{--tw-shadow:var(--shadowSurface)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.block-7{block-size:calc(var(--spacing) * 7)}.block-9{block-size:calc(var(--spacing) * 9)}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-\[var\(--borderColorStrong\)\]:hover{border-color:var(--borderColorStrong)}.hover\:border-\[var\(--colorTextTertiary\)\]:hover{border-color:var(--colorTextTertiary)}.hover\:bg-\[var\(--colorBgContainer\)\]:hover{background-color:var(--colorBgContainer)}.hover\:bg-\[var\(--colorBgHover\)\]:hover{background-color:var(--colorBgHover)}.hover\:bg-\[var\(--colorFillAlter\)\]:hover{background-color:var(--colorFillAlter)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-\[var\(--colorText\)\]:hover{color:var(--colorText)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-\[var\(--shadowSurfaceHover\)\]:hover{--tw-shadow:var(--shadowSurfaceHover)}.hover\:shadow-\[var\(--shadowSurfaceHover\)\]:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-\[var\(--colorBgContainer\)\]:focus{background-color:var(--colorBgContainer)}.focus\:bg-transparent:focus{background-color:#0000}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}@media (min-width:40rem){.sm\:w-44{width:calc(var(--spacing) * 44)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:pt-0\.5{padding-top:calc(var(--spacing) * .5)}.sm\:pb-0{padding-bottom:0}}@media (min-width:48rem){.md\:w-auto{width:auto}.md\:flex-none{flex:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:bg-white{background-color:var(--color-white)}.dark\:text-black{color:var(--color-black)}}}:root{--mainInnerPadY:32px;--mainInnerPadX:clamp(24px,4vw,48px)}@media (max-width:900px){:root{--mainInnerPadY:20px;--mainInnerPadX:20px}}@media (max-width:640px){:root{--mainInnerPadY:12px;--mainInnerPadX:12px}}.canvasRoot{flex:1;min-height:0;position:relative;overflow:hidden}.mainInner.mainInnerCanvas{flex-direction:column;padding:0;display:flex}.canvasStage{background:var(--canvasBg);-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}:root{--colorBg:#fff;--colorBgElevated:#fff;--colorBgSecondary:#fbfbfc;--colorBgHover:#f6f6f7;--colorBgSelected:#eff6ff;--colorText:#171717;--colorTextSecondary:#737373;--colorTextTertiary:#a3a3a3;--colorBrand:#06c;--colorBrandHover:#0052a3;--colorBrand2:#171717;--colorDanger:#e11d48;--colorOk:#16a34a;--colorWarn:#f59e0b;--colorInfo:#2563eb;--colorPrimary:#007aff;--colorAccent:#007aff;--colorSuccess:#34c759;--colorWarning:#ff9500;--colorError:#ff3b30;--colorBgContainer:#fff;--colorFillAlter:#00000004;--colorFillSecondary:#00000008;--colorFillTertiary:#00000006;--colorFillQuaternary:#00000004;--colorBorderSecondary:#3c3c431f;--colorTextQuaternary:#3c3c432e;--colorWarningBg:#fff8e6;--colorSuccessBg:#e8f9ee;--colorInfoBg:#e8f2ff;--colorErrorBg:#ffeceb;--glassBg:#ffffffd9;--glassBlur:saturate(180%) blur(16px);--borderColor:#00000014;--borderColorStrong:#00000026;--borderColorSelected:#3b82f6;--borderSoft:#0000000f;--textSecondary:#737373;--surfaceElevated:#fff;--shadowSoft:0 0 4px #00000008,0 0 12px #0000000a;--shadowCard:0 0 4px #0000000d,0 0 16px #0000000d;--shadowButton:0 1px 2px #0000000d;--shadowSurface:0 0 4px #0000000d,0 0 12px #0000000b;--shadowSurfaceHover:0 0 6px #00000012,0 0 18px #0000000f;--radiusSm:6px;--radiusMd:10px;--radiusLg:14px;--radiusPill:9999px;--sidebarWidth:260px;--fontSans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--canvasBg:transparent;--canvasGridDot:#00000017;--canvasNodeBg:#fff;--canvasNodeBorder:#0000001a;--canvasNodeShadow:0 1px 2px #0000000d,0 2px 8px #0000000a;--canvasNodeSelected:#007aff;--canvasNodeAffected:#ff9500;--canvasEdge:#3c3c4359;--canvasEdgeActive:#007aff;--canvasEdgeWarn:#ff9500;--canvasEdgeAffected:#ff3b30;--canvasSectionBg:#fff9;--canvasFloatBg:#ffffffd1;--canvasPanelBg:#fffffff5;--canvasSectionBorder:#00000014;--canvasBubbleBg:#fffffff7;--canvasBubbleBorder:#0000001a;--canvasBubbleText:#1c1c1e;--canvasBubbleShadow:0 2px 8px #00000024}.dark{--colorBg:#000;--colorBgElevated:#0a0a0a;--colorBgSecondary:#121212;--colorBgHover:#1a1a1a;--colorBgSelected:#3b82f626;--colorText:#ededed;--colorTextSecondary:#a3a3a3;--colorTextTertiary:#737373;--colorBrand:#3b82f6;--colorBrandHover:#60a5fa;--colorBrand2:#d4d4d4;--colorDanger:#f43f5e;--colorOk:#22c55e;--colorWarn:#fbbf24;--colorInfo:#3b82f6;--colorPrimary:#0a84ff;--colorAccent:#0a84ff;--colorSuccess:#30d158;--colorWarning:#ff9f0a;--colorError:#ff453a;--colorBgContainer:#2c2c2ec7;--colorFillAlter:#ffffff08;--colorFillSecondary:#ffffff0f;--colorFillTertiary:#ffffff0a;--colorFillQuaternary:#ffffff08;--colorBorderSecondary:#ffffff1a;--colorTextQuaternary:#ebebf53d;--colorWarningBg:#ff9f0a1f;--colorSuccessBg:#30d1581f;--colorInfoBg:#0a84ff1f;--colorErrorBg:#ff453a1f;--glassBg:#000000d9;--borderColor:#ffffff1f;--borderColorStrong:#fff3;--borderColorSelected:#60a5fa;--borderSoft:#ffffff14;--textSecondary:#a3a3a3;--surfaceElevated:#1c1c1e;--shadowSoft:0 0 4px #00000047,0 0 12px #0006;--shadowCard:0 0 4px #0000005c,0 0 16px #0006;--shadowButton:0 1px 2px #0000004d;--shadowSurface:0 0 4px #0000005c,0 0 12px #0000004d;--shadowSurfaceHover:0 0 6px #00000070,0 0 18px #0000005c;--canvasBg:transparent;--canvasGridDot:#ffffff1a;--canvasNodeBg:#1c1c1e;--canvasNodeBorder:#ffffff24;--canvasNodeShadow:0 1px 2px #0006,0 2px 10px #00000059;--canvasNodeSelected:#0a84ff;--canvasNodeAffected:#ff9f0a;--canvasEdge:#ebebf552;--canvasEdgeActive:#0a84ff;--canvasEdgeWarn:#ff9f0a;--canvasEdgeAffected:#ff453a;--canvasSectionBg:#1c1c1e99;--canvasFloatBg:#1c1c1ed1;--canvasPanelBg:#1c1c1ef5;--canvasSectionBorder:#ffffff1a;--canvasBubbleBg:#2c2c2ef5;--canvasBubbleBorder:#ffffff29;--canvasBubbleText:#f2f2f7;--canvasBubbleShadow:0 2px 10px #00000080}.canvasInputBar,.canvasToolbar{pointer-events:auto;z-index:2;border:1px solid var(--canvasSectionBorder);background:var(--canvasFloatBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;position:absolute;box-shadow:0 6px 24px #00000014}.canvasToolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex;top:12px}.canvasInputBar,.canvasToolbar{padding:8px 12px;left:12px;right:12px}.canvasInputBar{display:block;bottom:12px}.nodeInfoLayer{z-index:4;border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 32px #0000001f,0 2px 6px #0000000f}.nodeInfoHeader{border-bottom:1px solid var(--colorBorderSecondary);align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.nodeInfoHeaderIcon{color:var(--colorTextSecondary);display:inline-flex}.nodeInfoClose{color:var(--colorTextTertiary)}.nodeInfoClose:hover{color:var(--colorText)}.nodeInfoActions{background:var(--colorFillQuaternary,var(--colorFillAlter));border-radius:8px;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:8px;display:flex}.nodeInfoPanel{width:min(460px,92vw);min-height:0;max-height:100%;padding:12px 14px;overflow:auto}.nodeInfoPanel .ant-descriptions-item-label{white-space:nowrap;width:92px;color:var(--colorTextSecondary)}.nodeInfoPanel .ant-tabs-nav{margin-bottom:12px}.nodeInfoRepair{border:1px solid var(--canvasNodeAffected);background:var(--colorWarningBg);border-radius:10px;margin-bottom:8px;padding:8px 10px}.nodeInfoRepairRun{border-top:1px dashed var(--colorSplit);flex-direction:column;gap:6px;padding-top:8px;display:flex}.nodeInfoRepairResult{background:var(--colorFillQuaternary);border-radius:6px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.canvasRecordsBall{pointer-events:auto}.canvasRecordsBallBtn{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);color:var(--colorText);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;font-size:18px;transition:transform .12s;display:flex;position:relative;box-shadow:0 6px 24px #0000001f}.canvasRecordsBallBtn:hover{transform:scale(1.06)}.canvasRecordsBallBtn:active{cursor:grabbing}.canvasRecordsBallBadge{background:var(--colorAccent);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:10px;line-height:18px;position:absolute;top:-2px;right:-2px}.canvasRecordsBallBadge.isZero{background:var(--colorFillTertiary);color:var(--colorTextSecondary)}.canvasRecordsPanel{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);-webkit-backdrop-filter:saturate(180%)blur(16px);border-radius:14px;overflow:hidden;box-shadow:0 10px 32px #0000001f,0 2px 6px #0000000f}.canvasRecordsLink{color:var(--colorAccent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.canvasRecordsLink:hover{text-decoration:underline}.canvasRecordsDelete{width:24px;height:24px;color:var(--colorTextTertiary);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:inline-flex}.canvasRecordsDelete:focus-visible,.canvasRecordsPanel>div>div:hover .canvasRecordsDelete{opacity:1}.canvasRecordsDelete:hover{color:var(--colorDanger);background:var(--colorBgHover)}.canvasRecordsDelete.isDisabled{cursor:not-allowed;opacity:0}.canvasRecordsPanel>div>div:hover .canvasRecordsDelete.isDisabled{opacity:.35}.canvasRecordsPanel>div>div:hover .canvasRecordsDelete.isDisabled:hover{color:var(--colorTextTertiary);background:0 0}.canvasRecordsDanger{border:1px solid var(--colorDanger);color:var(--colorDanger);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:3px 10px;font-size:12px;display:inline-flex}.canvasRecordsDanger:disabled{opacity:.4;cursor:not-allowed}.canvasRecordsDanger:not(:disabled):hover{background:var(--colorDanger);color:#fff}.canvasEdgeLayer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvasEdge{fill:none;stroke:var(--canvasEdge);stroke-width:1.4px}.canvasEdgeActive{stroke:var(--canvasEdgeActive);stroke-width:2px}.canvasEdgeWarn{stroke:var(--canvasEdgeWarn);stroke-width:1.8px;stroke-dasharray:5 4}.canvasEdgeAffected{stroke:var(--canvasEdgeAffected);stroke-width:2.2px}.canvasEdgeFlow{fill:none;stroke:var(--canvasEdgeActive);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:7 11;opacity:.85;animation:canvasEdgeFlow 1.1s linear infinite}@keyframes canvasEdgeFlow{0%{stroke-dashoffset:18px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.canvasEdgeFlow{stroke-dashoffset:0;animation:none}}.canvasAgentChip,.canvasAgentsChips{align-items:center}.canvasAgentChip{border:1px solid var(--canvasSectionBorder);background:var(--canvasPanelBg);color:inherit;font:inherit;cursor:pointer;border-radius:999px;gap:4px;padding:1px 7px 1px 6px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.canvasAgentChip:hover{border-color:var(--canvasNodeSelected);box-shadow:0 0 0 2px var(--canvasNodeSelected)}.canvasAgentRole{border-radius:4px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 2px;font-size:10px;line-height:1;display:inline-flex}.canvasAgentRole[data-role=main]{background:var(--colorPrimary);color:#fff}.canvasAgentRole[data-role=sub]{background:var(--canvasSectionBorder);color:var(--colorTextSecondary)}.canvasAgentChipMain{border-color:var(--colorPrimary)}.canvasAgentAvatar{border:1.5px solid var(--canvasEdge);background:var(--canvasNodeBg);width:22px;height:22px;color:var(--colorTextSecondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.canvasAgentAvatarGlyph{font-size:12px;line-height:1;display:inline-flex}.canvasAgentAvatar[data-status=running]{border-color:var(--colorPrimary);color:var(--colorPrimary);animation:canvasAgentAvatarPulse 1.6s ease-in-out infinite}.canvasAgentAvatar[data-status=repairing]{border-color:var(--colorWarning);color:var(--colorWarning)}.canvasAgentAvatar[data-status=completed]{border-color:var(--colorSuccess);color:var(--colorSuccess)}@keyframes canvasAgentAvatarPulse{0%,to{box-shadow:0 0 #007aff59}50%{box-shadow:0 0 0 4px #007aff00}}@media (prefers-reduced-motion:reduce){.canvasAgentAvatar[data-status=running]{animation:none}}.canvasAgentIcon{color:var(--colorTextSecondary);display:inline-flex}.canvasAgentIcon[data-status=running]{color:var(--colorPrimary);animation:canvasNodePulse 1.6s ease-in-out infinite}.canvasAgentIcon[data-status=repairing]{color:var(--colorWarning)}.canvasAgentIcon[data-status=completed]{color:var(--colorSuccess)}.canvasAgentDetail{flex-direction:column;gap:6px;width:306px;display:flex}.canvasAgentDetailHead{align-items:center;gap:6px;display:flex}.canvasAgentDetailRow{align-items:baseline;gap:8px;display:flex}.canvasAgentDetailRow>:first-child{flex:0 0 46px}.canvasAgentDetailRow>:last-child{word-break:break-word;flex:1;min-width:0}.canvasAgentLocate{border:1px solid var(--canvasSectionBorder);color:var(--colorPrimary);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;margin-top:2px;padding:3px 10px;font-size:12px}.canvasAgentLocate:hover{background:var(--colorBgHover)}.canvasBubbleLayer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvasBubble{offset-distance:0;will-change:offset-distance,opacity;animation-name:canvasBubbleFly;animation-timing-function:cubic-bezier(.33,0,.67,1);animation-fill-mode:forwards;position:absolute;top:0;left:0}@keyframes canvasBubbleFly{0%{offset-distance:0;opacity:0}14%{opacity:1}80%{offset-distance:100%;opacity:1}to{offset-distance:100%;opacity:0}}.canvasBubbleStatic{offset-distance:55%;opacity:1;animation:none}.canvasBubbleBody{border:1px solid var(--canvasBubbleBorder);background:var(--canvasBubbleBg);max-width:220px;box-shadow:var(--canvasBubbleShadow);color:var(--canvasBubbleText);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;line-height:16px;display:inline-flex;transform:translate(-50%,-50%)}.canvasBubble[data-kind=dispatch] .canvasBubbleBody{border-color:var(--canvasEdgeActive)}.canvasBubble[data-kind=report] .canvasBubbleBody{border-color:var(--canvasEdge)}.canvasBubbleText{text-overflow:ellipsis;overflow:hidden}.canvasNode{border:1px solid var(--canvasNodeBorder);background:var(--canvasNodeBg);box-shadow:var(--canvasNodeShadow);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;transition:box-shadow .15s,border-color .15s;display:flex;position:absolute}.canvasNode:hover{border-color:var(--canvasNodeSelected)}@keyframes canvasNodeFlash{0%,to{box-shadow:var(--canvasNodeShadow)}50%{box-shadow:0 0 0 4px var(--canvasNodeSelected),var(--canvasNodeShadow)}}.canvasNodeFlashed{animation:canvasNodeFlash .6s ease-in-out 2}.canvasNodeSelected{border-color:var(--canvasNodeSelected);box-shadow:0 0 0 2px var(--canvasNodeSelected),var(--canvasNodeShadow)}.canvasNodeAffected{border-color:var(--canvasNodeAffected);box-shadow:0 0 0 2px var(--canvasNodeAffected)}.canvasNodeHeader{align-items:center;gap:6px;min-width:0;display:flex}.canvasNodeIcon{color:var(--colorTextSecondary);display:inline-flex}.canvasNodeIcon[data-status=running]{color:var(--colorPrimary);animation:canvasNodePulse 1.6s ease-in-out infinite}.canvasNodeIcon[data-status=blocked],.canvasNodeIcon[data-status=failed]{color:var(--colorError)}.canvasNodeIcon[data-status=paused],.canvasNodeIcon[data-status=repairing]{color:var(--colorWarning)}.canvasNodeMeta{gap:2px}.canvasNodeMeta,.canvasNodeMetrics{align-items:center;min-width:0;display:flex}.canvasNodeMetrics{white-space:nowrap;flex-shrink:0;gap:8px;overflow:hidden}.canvasNodeMetrics>.ant-typography{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}@keyframes canvasNodePulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width:1024px){.nodeInfoPanel{width:92vw}}.deliverablePreview{width:100%}.deliverablePreviewStack{flex-direction:column;gap:10px;width:100%;display:flex}.deliverablePreviewMeta{border-bottom:1px solid var(--colorBorderSecondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;display:flex}.deliverablePreviewPaper{border:1px solid var(--colorBorderSecondary);background:var(--colorBgContainer);border-radius:10px;width:100%;margin:0 auto;padding:28px 32px;box-shadow:0 1px 2px #00000008,0 8px 24px #0000000a}.deliverablePreviewBody{color:var(--colorText);text-align:justify;text-justify:inter-ideograph;overflow-wrap:anywhere;word-break:break-word;font-size:15px;line-height:1.9}.deliverablePreviewBody h1,.deliverablePreviewBody h2,.deliverablePreviewBody h3,.deliverablePreviewBody h4,.deliverablePreviewBody h5,.deliverablePreviewBody h6{text-align:left;margin:1.6em 0 .6em;font-weight:700;line-height:1.4}.deliverablePreviewBody h1{border-bottom:2px solid var(--colorBorder);padding-bottom:8px;font-size:1.6em}.deliverablePreviewBody h2{border-bottom:1px solid var(--colorBorderSecondary);padding-bottom:6px;font-size:1.35em}.deliverablePreviewBody h3{font-size:1.15em}.deliverablePreviewBody h4{font-size:1.02em}.deliverablePreviewBody h5,.deliverablePreviewBody h6{color:var(--colorTextSecondary);font-size:1em}.deliverablePreviewBody>:first-child{margin-top:0}.deliverablePreviewBody p{margin:.9em 0}.deliverablePreviewBody ol,.deliverablePreviewBody ul{margin:.9em 0;padding-left:1.8em}.deliverablePreviewBody ul{list-style:outside}.deliverablePreviewBody ol{list-style:decimal}.deliverablePreviewBody li{margin:.35em 0}.deliverablePreviewBody li::marker{color:var(--colorTextTertiary)}.deliverablePreviewBody li>ol,.deliverablePreviewBody li>ul{margin:.35em 0}.deliverablePreviewBody blockquote{border-left:3px solid var(--colorPrimaryBorder,var(--colorBorder));background:var(--colorFillQuaternary,var(--colorFillAlter));color:var(--colorTextSecondary);border-radius:0 6px 6px 0;margin:1em 0;padding:.6em 1.1em}.deliverablePreviewBody hr{border:none;border-top:1px solid var(--colorBorderSecondary);margin:1.8em 0}.deliverablePreviewBody a{color:var(--colorPrimary);text-underline-offset:2px;text-decoration:underline}.deliverablePreviewBody img{border-radius:6px;max-width:100%;height:auto}.deliverablePreviewBody strong{font-weight:600}.deliverablePreviewBody table{border-collapse:collapse;text-align:left;width:100%;margin:1.1em 0;font-size:13.5px}.deliverablePreviewBody td,.deliverablePreviewBody th{border:1px solid var(--colorBorderSecondary);vertical-align:top;padding:8px 10px}.deliverablePreviewBody th{background:var(--colorFillAlter);border-bottom:2px solid var(--colorBorder);white-space:nowrap;font-weight:600}.deliverablePreviewBody tbody tr:nth-child(2n) td{background:var(--colorFillQuaternary,transparent)}.deliverablePreviewBody code{background:var(--colorFillSecondary);font-family:var(--fontMono,ui-monospace,SFMono-Regular,Menlo,monospace);border-radius:4px;padding:.15em .4em;font-size:.9em}.deliverablePreviewBody pre{background:var(--colorFillAlter);text-align:left;border-radius:8px;margin:1em 0;padding:12px 14px;overflow-x:auto}.deliverablePreviewBody pre code{background:0 0;padding:0;font-size:12.5px}.deliverablePreviewEnd{border-top:1px dashed var(--colorBorderSecondary);flex-direction:column;gap:4px;width:100%;margin-top:28px;padding-top:14px;display:flex}*,:after,:before{box-sizing:border-box}html{font-family:var(--fontSans);background:var(--colorBg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.appShellPlaceholder,body{background:var(--colorBg);min-height:100vh}body{font-family:var(--fontSans);color:var(--colorText);margin:0}.ant-drawer-content-wrapper{min-width:320px;width:30%!important}a{color:inherit;text-decoration:none}*{scrollbar-width:thin;scrollbar-color:var(--borderColorStrong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--borderColorStrong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--colorTextTertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animateFadeIn{animation:fadeIn .4s cubic-bezier(.2,.8,.2,1) forwards}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.space-y-8>*+*{margin-top:32px}.space-y-6>*+*{margin-top:24px}.space-y-5>*+*{margin-top:20px}#nprogress{pointer-events:none}#nprogress .bar{background:var(--colorBrand);z-index:1031;width:100%;height:3px;position:fixed;top:0;left:0}#nprogress .peg{width:100px;height:100%;box-shadow:0 0 10px var(--colorBrand),0 0 5px var(--colorBrand);opacity:1;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px)}@media (max-width:1024px){:root{--sidebarWidth:200px}}@media (max-width:860px){:root{--sidebarWidth:72px}.sidebarLogo{justify-content:center;padding:16px}.sidebarItem span:not(.sidebarChevron),.sidebarLogoTitle{display:none}.sidebarItem{justify-content:center;padding:11px}.sidebarSubmenu{padding-left:0}.sidebarSubItem{padding-left:11px}.mainInner{padding:var(--mainInnerPadY) var(--mainInnerPadX);padding-bottom:calc(var(--mainInnerPadY) + env(safe-area-inset-bottom,0px))}.topbar{margin:10px 12px 0;padding:10px 16px}}@media (max-width:640px){.sidebar{top:6px;left:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px))}.mainContent{margin-left:72px}.mainInner{padding:var(--mainInnerPadY) var(--mainInnerPadX);padding-bottom:calc(var(--mainInnerPadY) + env(safe-area-inset-bottom,0px))}.topbar{border-radius:16px;margin:8px 8px 0;padding:8px 12px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebarWidth);display:flex;flex-direction:column;z-index:20;background:var(--colorBgSecondary);border-right:none;box-shadow:2px 0 8px rgba(0,0,0,.02);overflow:hidden;transition:width .3s cubic-bezier(.2,.8,.2,1),transform .3s ease}.sidebarCollapsedSelf{width:72px}.sidebarLogoRow{gap:4px;padding-right:8px}.sidebarLogo,.sidebarLogoRow{display:flex;align-items:center}.sidebarLogo{gap:12px;padding:24px 20px 20px;height:68px;overflow:hidden}.sidebarCollapsedSelf .sidebarLogo{justify-content:center;padding:24px 0 20px}.sidebarCollapsedSelf .sidebarLogoRow{padding-right:0}.sidebarCollapsedSelf .sidebarChevron,.sidebarCollapsedSelf .sidebarLabel,.sidebarCollapsedSelf .sidebarLogoTitle{display:none}.sidebarCollapsedSelf .sidebarItem{justify-content:center;padding:10px}.sidebarLogoTitle{font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;opacity:1;transition:opacity .2s ease;color:var(--colorText)}.sidebarNav{flex:1;overflow-y:auto;overflow-x:hidden;flex-direction:column;gap:2px}.sidebarItem,.sidebarNav{padding:8px 12px;display:flex}.sidebarItem{align-items:center;gap:10px;border-radius:var(--radiusSm);font-size:13.5px;font-weight:500;color:var(--colorTextSecondary);transition:all .15s ease;cursor:pointer;white-space:nowrap}.sidebarLabel{transition:opacity .2s ease}.sidebarItem:hover{background:var(--colorBgHover);color:var(--colorText)}.sidebarItemActive,.sidebarItemActive:hover{background:var(--colorBgElevated);color:var(--colorText);box-shadow:none}.dark .sidebarItemActive,.dark .sidebarItemActive:hover{box-shadow:none}.sidebarCollapseBtn{width:32px;height:32px;flex-shrink:0;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebarCollapseBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 32px;background:var(--glassBg);backdrop-filter:var(--glassBlur);-webkit-backdrop-filter:var(--glassBlur);border-bottom:none;box-shadow:0 1px 3px rgba(0,0,0,.02)}.topbarBtn{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:var(--radiusSm);border:1px solid transparent;background:transparent;color:var(--colorTextSecondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.topbarBtn:hover{background:var(--colorBgHover);color:var(--colorText)}.mainContent{margin-left:var(--sidebarWidth);flex:1;display:flex;flex-direction:column;min-height:100vh;background:var(--colorBg);transition:margin-left .3s cubic-bezier(.2,.8,.2,1)}.sidebarCollapsed .mainContent{margin-left:68px}.mainInner{flex:1;padding:var(--mainInnerPadY,32px) var(--mainInnerPadX,clamp(24px,4vw,48px));padding-bottom:calc(var(--mainInnerPadY, 32px) + env(safe-area-inset-bottom, 0px));width:100%;min-width:0;overflow-x:hidden;transition:opacity .2s ease}.mainInner.pageTransitioning{opacity:.5;pointer-events:none}.ant-card{background:var(--colorBgContainer)!important;border:none!important;border-radius:20px!important;box-shadow:var(--shadowSurface)!important;margin-bottom:0!important}.ant-card-head{border-bottom:none!important;padding:0!important;min-height:auto!important;margin-bottom:16px}.ant-card-head-title{font-size:16px!important;font-weight:600!important;padding:0!important}.tableFillHeight,.tableFillHeight>.ant-spin,.tableFillHeight>.ant-spin>.ant-spin-container{display:flex;flex-direction:column;min-height:0}.tableFillHeight>.ant-spin,.tableFillHeight>.ant-spin>.ant-spin-container{flex:1}.tableFillHeight .ant-table{flex:1 1 auto;min-height:0}.tableFillHeight .ant-table-container{display:flex;flex-direction:column;height:100%;min-height:0}.tableFillHeight .ant-table-body{max-height:none!important}.tableFillHeight .ant-table-body,.tableFillHeight .ant-table-content{flex:1;min-height:0;overflow:auto!important}.tableFillHeight .ant-table-pagination.ant-pagination{margin:auto 16px 12px!important}.ant-modal-content{background:var(--colorBgElevated)!important;border:1px solid var(--borderColor)!important;border-radius:var(--radiusLg)!important;box-shadow:var(--shadowCard)!important;padding:24px!important}.ant-modal-header{background:transparent!important;margin-bottom:24px!important}.ant-input,.ant-input-number,.ant-input-password,.ant-select-selector{border:1px solid transparent!important;background:var(--colorBgHover)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;transition:all .2s ease!important}.ant-input-focused,.ant-input-number-focused,.ant-input-number:focus,.ant-input-number:hover,.ant-input-password:focus,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--borderColorStrong)!important;background:transparent!important;box-shadow:none!important}.ant-input-affix-wrapper-outlined:focus,.ant-input-affix-wrapper-outlined:focus-within,.ant-input-number-outlined:focus,.ant-input-number-outlined:focus-within,.ant-input-outlined:focus,.ant-input-outlined:focus-within,.ant-select-outlined.ant-select-focused .ant-select-selector{box-shadow:none!important;outline:none!important;border-color:var(--borderColorStrong)!important}.modern-table .ant-table{background:transparent!important;border:none!important;border-radius:0!important}.modern-table .ant-table-container{border:none!important}.modern-table .ant-table-thead>tr>th{background:var(--colorBgSecondary)!important;border:none!important;font-size:11px!important;font-weight:600!important;color:var(--colorTextSecondary)!important;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px!important}.modern-table .ant-table-thead>tr>th:first-child{border-top-left-radius:var(--radiusMd)!important;border-bottom-left-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:last-child{border-top-right-radius:var(--radiusMd)!important;border-bottom-right-radius:var(--radiusMd)!important}.modern-table .ant-table-thead>tr>th:before{display:none!important}.modern-table .ant-table-tbody>tr>td{border:none!important;background:transparent!important;padding:18px 16px!important;font-size:14px}.modern-table .ant-table-tbody>tr:last-child>td{border-bottom:none!important}.modern-table .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.modern-table .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important;border:0!important;box-shadow:none!important;outline:0!important}.ant-btn-default{border-color:var(--borderColor)!important;background:transparent!important;box-shadow:none!important}.ant-btn-default:hover{background:var(--colorBgHover)!important;border-color:var(--borderColorStrong)!important;color:var(--colorText)!important}.ant-btn-primary{background:var(--colorText)!important;color:var(--colorBg)!important;box-shadow:none!important;border:none!important}.ant-btn-primary:hover{background:var(--colorTextSecondary)!important;color:var(--colorBg)!important}.ant-row{row-gap:24px}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-input-password,.ant-input-search .ant-input,.ant-input-search .ant-input-group-addon .ant-btn,.ant-mentions,.ant-picker,.ant-select-selector{min-height:34px;border:1px solid var(--borderColor)!important;background:var(--colorBgSecondary)!important;border-radius:var(--radiusSm)!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper>input.ant-input,.ant-input-affix-wrapper>textarea.ant-input,.ant-input-number .ant-input-number-input,.ant-input-password>input.ant-input,.ant-input-search .ant-input-affix-wrapper>input.ant-input{min-height:auto;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper:hover,.ant-input-focused,.ant-input-number-focused,.ant-input-number:hover,.ant-input-password:hover,.ant-input:focus,.ant-input:hover,.ant-picker-focused,.ant-picker:hover,.ant-select-focused .ant-select-selector,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--colorBrand)!important;background:var(--colorBgElevated)!important;box-shadow:none!important;outline:none!important}.ant-btn:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-input:focus-visible,.ant-picker:focus-visible,.ant-select-selector:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none!important;box-shadow:none!important}.ant-input-group-wrapper .ant-input-wrapper,.ant-input-search .ant-input-group{display:flex;align-items:stretch}.ant-input-search .ant-input,.ant-input-search .ant-input-affix-wrapper{border-start-end-radius:0!important;border-end-end-radius:0!important}.ant-input-search .ant-input-group-addon .ant-btn{border-start-start-radius:0!important;border-end-start-radius:0!important;border-left:0!important}.ant-input-affix-wrapper{padding-inline-start:11px!important;padding-inline-end:11px!important}.ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:8px!important;color:var(--colorTextTertiary)!important}.ant-input-affix-wrapper .ant-input-suffix{margin-inline-start:8px!important}.ant-input-affix-wrapper>input.ant-input{padding-inline-start:0!important}.ant-table-wrapper,.ant-table-wrapper .ant-spin-container,.ant-table-wrapper .ant-spin-nested-loading,.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-content{background:transparent!important;border:0!important;box-shadow:none!important}.ant-table-wrapper .ant-table-cell:before,.ant-table-wrapper .ant-table-container:after,.ant-table-wrapper .ant-table-container:before{display:none!important}.ant-table-wrapper .ant-table-thead>tr>th{height:auto!important;padding:10px 12px!important;border:0!important;background:var(--colorBgSecondary)!important;color:var(--colorTextSecondary)!important;font-size:12px!important;font-weight:600!important;line-height:1.45!important;vertical-align:middle!important}.ant-table-wrapper .ant-table-tbody>tr>td{height:auto!important;min-height:0!important;padding:11px 12px!important;border:0!important;background:transparent!important;color:var(--colorText)!important;line-height:1.5!important;vertical-align:middle!important;overflow:visible!important;white-space:normal;word-break:break-word}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--colorBgHover)!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--colorBgSelected)!important}.ant-table-wrapper .ant-table-expanded-row>td,.ant-table-wrapper .ant-table-placeholder>td{background:transparent!important}.ant-table-wrapper .ant-table-cell .ant-btn,.ant-table-wrapper .ant-table-cell .ant-space,.ant-table-wrapper .ant-table-cell .ant-tag{vertical-align:middle}.ant-table-wrapper .ant-table-selection-column .ant-checkbox-wrapper{vertical-align:middle;align-items:center}.ant-table-wrapper .ant-table-cell .ant-checkbox{line-height:1}.ant-table-wrapper .ant-table-cell .ant-typography,.ant-table-wrapper .ant-table-cell div,.ant-table-wrapper .ant-table-cell p,.ant-table-wrapper .ant-table-cell span{max-height:none;line-height:inherit}.ant-table-wrapper .ant-table-cell-ellipsis{white-space:normal!important}.ant-table-wrapper .ant-table-cell-ellipsis .ant-table-cell-content{display:block;overflow:visible;text-overflow:clip;white-space:normal}.ant-alert-description,.ant-alert-message,.ant-breadcrumb-link,.ant-btn,.ant-dropdown-menu-title-content,.ant-menu-title-content,.ant-select-selection-item,.ant-tabs-tab-btn,.ant-tag{display:inline-flex;align-items:center;gap:6px;min-width:0}.ant-btn{justify-content:center;line-height:1.2!important}.ant-btn .anticon,.ant-btn svg,.ant-menu-item svg,.ant-menu-item-icon,.ant-tabs-tab .anticon,.ant-tabs-tab svg,.ant-tag .anticon,.ant-tag svg,.anticon,.sidebarItem svg,.topbarBtn svg{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;vertical-align:-.125em}.ant-space{align-items:center}.ant-alert+.ant-card,.ant-card+.ant-alert,.ant-card+.ant-card{margin-top:16px!important}.ant-card-head{margin-bottom:14px!important}.ant-card .ant-typography,.ant-card ol,.ant-card p,.ant-card ul{line-height:1.65}.ant-card .ant-typography:last-child,.ant-card ol:last-child,.ant-card p:last-child,.ant-card ul:last-child{margin-bottom:0!important}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{margin:0 0 18px!important;padding:0 2px!important}.ant-tabs .ant-tabs-tab{padding:10px 12px!important;margin:0 4px 0 0!important}.ant-tabs .ant-tabs-content-holder{padding-top:2px}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab{border-radius:var(--radiusSm) var(--radiusSm) 0 0!important}.ant-form-item{margin-bottom:18px!important}.ant-form-item-label>label{align-items:center;height:auto!important;color:var(--colorText)!important;font-weight:500}.ant-form-item-explain,.ant-form-item-extra{margin-top:6px;font-size:12px}.ant-collapse-header,.ant-descriptions-item,.ant-list-item{align-items:center!important}.ant-table-wrapper.modern-table,.ant-table-wrapper.modern-table *,.modern-table.ant-table-wrapper,.modern-table.ant-table-wrapper *{border-color:transparent!important}.modern-table .ant-table,.modern-table .ant-table-body,.modern-table .ant-table-container,.modern-table .ant-table-content,.modern-table .ant-table-header,.modern-table .ant-table-tbody,.modern-table .ant-table-thead,.modern-table table{border:0!important;box-shadow:none!important;outline:0!important}.modern-table .ant-table-expanded-row>td,.modern-table .ant-table-selection-column,.modern-table .ant-table-tbody>tr>td,.modern-table .ant-table-thead>tr>th{height:auto!important;min-height:0!important;border:0!important;border-inline-end:0!important;border-bottom:0!important;box-shadow:none!important;outline:0!important;line-height:1.55!important;vertical-align:middle!important}.modern-table .ant-table-tbody>tr>td{padding:10px 12px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.modern-table .ant-table-thead>tr>th{padding:9px 12px!important;border-radius:0!important}.modern-table .ant-table-cell-ellipsis,.modern-table .truncate{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;max-height:none!important}.modern-table .ant-table-row-expand-icon-cell,.modern-table .ant-table-selection-column{text-align:center!important;vertical-align:middle!important;white-space:nowrap!important}.modern-table .ant-table-cell .anticon,.modern-table .ant-table-cell svg,.modern-table .ant-table-row-expand-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important}.modern-table .ant-table-expanded-row-fixed,.modern-table .ant-table-expanded-row>td>div{border:0!important}.modern-table .ant-table-tbody>tr{height:auto!important;min-height:44px!important}.modern-table .ant-table-cell{height:auto!important;max-height:none!important;overflow:visible!important}.modern-table .ant-table-cell .ant-tag,.modern-table .ant-table-cell .ant-typography,.modern-table .ant-table-cell a,.modern-table .ant-table-cell button,.modern-table .ant-table-cell>*{max-height:none!important;overflow:visible!important;line-height:1.45!important}.modern-table .ant-table-body{overflow-y:auto!important;overflow-x:hidden!important}.ant-card,[class*=Card],[class*=card]{box-shadow:none!important}.ant-card:hover,.group:hover,.hover\:border-\[var\(--borderColorStrong\)\]:hover,.hover\:border-\[var\(--colorBrand\)\]:hover{border-color:transparent!important;box-shadow:none!important}.active,.ant-card.ant-card-bordered:hover,.ant-list-item-selected,.ant-list-item.active,.ant-menu-item-selected,.ant-menu-submenu-selected>.ant-menu-submenu-title,.ant-segmented-item-selected,.ant-select-item-option-selected,.ant-table-row-selected>td,.ant-tabs-tab-active,.ant-tabs-tab.ant-tabs-tab-active,.ant-tree-node-selected,.selected,[aria-selected=true],[data-selected=true]{border-color:transparent!important;box-shadow:none!important;outline:0!important}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@customize-agent/server",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.60.0",
|
|
4
4
|
"description": "Customize Agent Web 管理控制台",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@ant-design/icons": "^6.3.2",
|
|
39
|
-
"@customize-agent/knowledge": "^5.
|
|
39
|
+
"@customize-agent/knowledge": "^5.1.0",
|
|
40
40
|
"@customize-agent/llm": "^3.1.3",
|
|
41
41
|
"@customize-agent/runtime": "^3.1.2",
|
|
42
42
|
"@napi-rs/canvas": "^0.1.82",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,e,c,a,t,i,n,d,k,u,f,l,g,b,h,r,j,o,m){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:l,bitArray:[]},__routerFilterDynamic:{numItems:n,errorRate:1e-4,numBits:n,numHashes:l,bitArray:[]},"/":[g,b,"static/chunks/pages/index-cb27bfa36c212ab5.js"],"/_error":["static/chunks/pages/_error-282257fbdcc167b4.js"],"/canvas":[s,e,c,h,r,"static/chunks/pages/canvas-9086d8d3a7d32776.js"],"/canvas/[id]":[s,e,a,c,d,h,j,"static/chunks/90-3a5ea00990b4e72b.js",r,"static/chunks/pages/canvas/[id]-3c2b950c135f6699.js"],"/documents":["static/chunks/pages/documents-e6a80f2de39c6fd2.js"],"/guide":[a,d,u,"static/chunks/269-7a3502478bf67fff.js","static/chunks/pages/guide-a8eecc6c02b5bb9c.js"],"/knowledge":[s,e,a,c,t,i,k,o,"static/chunks/pages/knowledge-a65ec687334ffed0.js"],"/knowledge/file-detail":[s,e,a,c,t,i,k,d,u,j,"static/chunks/850-0f48354694fc6b3e.js",o,"static/chunks/pages/knowledge/file-detail-bd4b6e4264e812ff.js"],"/knowledge/files":["static/chunks/pages/knowledge/files-b3ef5324e4b74c4a.js"],"/knowledge/manage":["static/chunks/pages/knowledge/manage-d9eaebf3a8307953.js"],"/models":[s,t,i,m,"static/chunks/709-14ed28f1f6d4b25e.js","static/chunks/pages/models-baf1d15d79cb366b.js"],"/overview":[g,b,"static/chunks/pages/overview-8713b5d37af0eeb3.js"],"/prompt":[s,e,t,"static/chunks/426-22c4cedb04b0d45d.js","static/chunks/pages/prompt-b8af2cef904e3e19.js"],"/settings":["static/chunks/pages/settings-81dffd92939c1d36.js"],"/skills":[s,e,a,c,t,i,k,d,u,m,"static/chunks/127-20f09f6ebe1e6c1f.js","static/chunks/pages/skills-648c64f8cb37ef5d.js"],"/system/logs":[s,e,a,c,t,i,k,"static/chunks/pages/system/logs-1f54b6c8791daa77.js"],sortedPages:["/","/_app","/_error","/canvas","/canvas/[id]","/documents","/guide","/knowledge","/knowledge/file-detail","/knowledge/files","/knowledge/manage","/models","/overview","/prompt","/settings","/skills","/system/logs"]}}("static/chunks/310-6c678cb70e4ba2d6.js","static/chunks/700-5d29b0475311f590.js","static/chunks/174-1bc48f295d7dd075.js","static/chunks/914-292edce0ba2a212d.js","static/chunks/189-3f4f4e237056adaf.js","static/chunks/278-31fbe7e1b733a9b7.js",0,"static/chunks/569-2bfdde9e402af5b2.js","static/chunks/964-7e9fe2d80a53aeee.js","static/chunks/787-207289f4bb577708.js",1e-4,NaN,"static/chunks/880-64d8a15c524106d2.js","static/chunks/795-48065c56c3b80339.js","static/chunks/713-b1ce7a4a4ef015f4.js","static/chunks/530-d9f0418ec7ab040f.js","static/chunks/506-93f730bc149d0dce.js","static/css/ad5a592c79d1448b.css","static/chunks/864-b06700e1a4e573f2.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[506],{76506:(e,t,l)=>{l.d(t,{A:()=>w});var n=l(97109),a=l(3638),o=l(92162),i=l(26047),r=l(19135),s=l(74567),d=l(27273),c=l(59609);let m={xxxl:4,xxl:3,xl:3,lg:3,md:3,sm:2,xs:1},p=n.createContext(null);var $=l(42644);let b=e=>{let{itemPrefixCls:t,component:l,span:r,className:s,style:d,labelStyle:c,contentStyle:m,bordered:$,label:b,content:u,colon:h,type:g,styles:y,classNames:f}=e,{classNames:x,styles:E}=n.useContext(p),[S,w]=(0,o.AV)([x,f],[E,y],{props:e}),N={...c,...w.label},A={...m,...w.content};if($){let e;"label"===g&&(e=N),"content"===g&&(e=A);let o=e?{...d,...e}:d;return n.createElement(l,{colSpan:r,style:o,className:(0,a.$)(s,{[`${t}-item-${g}`]:"label"===g||"content"===g,[S.label]:S.label&&"label"===g,[S.content]:S.content&&"content"===g})},(0,i.AZ)(b)&&n.createElement("span",null,b),(0,i.AZ)(u)&&n.createElement("span",null,u))}return n.createElement(l,{className:(0,a.$)(`${t}-item`,s),style:d,colSpan:r},n.createElement("div",{className:`${t}-item-container`},(0,i.AZ)(b)&&n.createElement("span",{style:N,className:(0,a.$)(`${t}-item-label`,S.label,{[`${t}-item-no-colon`]:!h})},b),(0,i.AZ)(u)&&n.createElement("span",{style:A,className:(0,a.$)(`${t}-item-content`,S.content)},u)))};function u(e,{colon:t,prefixCls:l,bordered:a},{component:o,type:i,showLabel:r,showContent:s,labelStyle:d,contentStyle:c,styles:m}){return e.map(({label:e,children:p,prefixCls:$=l,className:u,style:h,labelStyle:g,contentStyle:y,span:f=1,key:x,styles:E,classNames:S},w)=>{if("string"==typeof o)return n.createElement(b,{key:`${i}-${x||w}`,className:u,style:h,classNames:S,styles:{label:{...d,...m?.label,...g,...E?.label},content:{...c,...m?.content,...y,...E?.content}},span:f,colon:t,component:o,itemPrefixCls:$,bordered:a,label:r?e:null,content:s?p:null,type:i});let N={label:{...d,...m?.label,...g,...E?.label},content:{...c,...m?.content,...y,...E?.content}};return[n.createElement(b,{key:`label-${x||w}`,className:u,style:h,classNames:S,styles:N,span:1,colon:t,component:o[0],itemPrefixCls:$,bordered:a,label:e,type:"label"}),n.createElement(b,{key:`content-${x||w}`,className:u,style:h,classNames:S,styles:N,span:2*f-1,component:o[1],itemPrefixCls:$,bordered:a,content:p,type:"content"})]})}let h=e=>{let t=n.useContext(p),{prefixCls:l,vertical:a,row:o,index:i,bordered:r}=e;return a?n.createElement(n.Fragment,null,n.createElement("tr",{key:`label-${i}`,className:`${l}-row`},u(o,e,{component:"th",type:"label",showLabel:!0,...t})),n.createElement("tr",{key:`content-${i}`,className:`${l}-row`},u(o,e,{component:"td",type:"content",showContent:!0,...t}))):n.createElement("tr",{key:i,className:`${l}-row`},u(o,e,{component:r?["th","td"]:"td",type:"item",showLabel:!0,showContent:!0,...t}))};var g=l(15561),y=l(7961),f=l(10540),x=l(28403);let E=(0,f.OF)("Descriptions",e=>(e=>{let{componentCls:t,extraColor:l,itemPaddingBottom:n,itemPaddingEnd:a,colonMarginRight:o,colonMarginLeft:i,titleMarginBottom:r}=e;return{[t]:{...(0,y.dF)(e),...(e=>{let{componentCls:t,labelBg:l}=e;return{[`&${t}-bordered`]:{[`> ${t}-view`]:{border:`${(0,g.zA)(e.lineWidth)} ${e.lineType} ${e.colorSplit}`,"> table":{tableLayout:"auto"},[`${t}-row`]:{borderBottom:`${(0,g.zA)(e.lineWidth)} ${e.lineType} ${e.colorSplit}`,"&:first-child":{"> th:first-child, > td:first-child":{borderStartStartRadius:e.borderRadiusLG}},"&:last-child":{borderBottom:"none","> th:first-child, > td:first-child":{borderEndStartRadius:e.borderRadiusLG}},[`> ${t}-item-label, > ${t}-item-content`]:{padding:`${(0,g.zA)(e.padding)} ${(0,g.zA)(e.paddingLG)}`,borderInlineEnd:`${(0,g.zA)(e.lineWidth)} ${e.lineType} ${e.colorSplit}`,"&:last-child":{borderInlineEnd:"none"}},[`> ${t}-item-label`]:{color:e.colorTextSecondary,backgroundColor:l,"&::after":{display:"none"}}}},[`&${t}-medium`]:{[`${t}-row`]:{[`> ${t}-item-label, > ${t}-item-content`]:{padding:`${(0,g.zA)(e.paddingSM)} ${(0,g.zA)(e.paddingLG)}`}}},[`&${t}-small`]:{[`${t}-row`]:{[`> ${t}-item-label, > ${t}-item-content`]:{padding:`${(0,g.zA)(e.paddingXS)} ${(0,g.zA)(e.padding)}`}}}}}})(e),"&-rtl":{direction:"rtl"},[`${t}-header`]:{display:"flex",alignItems:"center",marginBottom:r},[`${t}-title`]:{...y.L9,flex:"auto",color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.fontSizeLG,lineHeight:e.lineHeightLG},[`${t}-extra`]:{marginInlineStart:"auto",color:l,fontSize:e.fontSize},[`${t}-view`]:{width:0,minWidth:"100%",borderRadius:e.borderRadiusLG,table:{width:"100%",tableLayout:"fixed",borderCollapse:"collapse"}},[`${t}-row`]:{"> th, > td":{paddingBottom:n,paddingInlineEnd:a},"> th:last-child, > td:last-child":{paddingInlineEnd:0},"&:last-child":{borderBottom:"none","> th, > td":{paddingBottom:0}}},[`${t}-item-label`]:{color:e.labelColor,fontWeight:"normal",fontSize:e.fontSize,lineHeight:e.lineHeight,textAlign:"start","&::after":{content:'":"',position:"relative",top:-.5,marginInline:`${(0,g.zA)(i)} ${(0,g.zA)(o)}`},[`&${t}-item-no-colon::after`]:{content:'""'}},[`${t}-item-no-label`]:{"&::after":{margin:0,content:'""'}},[`${t}-item-content`]:{display:"table-cell",flex:1,color:e.contentColor,fontSize:e.fontSize,lineHeight:e.lineHeight,wordBreak:"break-word",overflowWrap:"break-word"},[`${t}-item`]:{paddingBottom:0,verticalAlign:"top","&-container":{display:"flex",[`${t}-item-label`]:{display:"inline-flex",alignItems:"baseline"},[`${t}-item-content`]:{display:"inline-flex",alignItems:"baseline",minWidth:"1em"}}},"&-medium":{[`${t}-row`]:{"> th, > td":{paddingBottom:e.paddingSM}}},"&-small":{[`${t}-row`]:{"> th, > td":{paddingBottom:e.paddingXS}}}}}})((0,x.oX)(e,{})),e=>({labelBg:e.colorFillAlter,labelColor:e.colorTextTertiary,titleColor:e.colorText,titleMarginBottom:e.fontSizeSM*e.lineHeightSM,itemPaddingBottom:e.padding,itemPaddingEnd:e.padding,colonMarginRight:e.marginXS,colonMarginLeft:e.marginXXS/2,contentColor:e.colorText,extraColor:e.colorText})),S=e=>{let{prefixCls:t,title:l,extra:b,column:u,colon:g=!0,bordered:y,layout:f,children:x,className:S,rootClassName:w,style:N,size:A,labelStyle:z,contentStyle:C,styles:k,items:v,classNames:B,...L}=e,{getPrefixCls:M,direction:T,className:I,style:W,classNames:X,styles:G}=(0,s.TP)("descriptions"),H=M("descriptions",t),P=(0,c.A)(),R=n.useMemo(()=>(0,i.Et)(u)?u:(0,r.ko)(P,u)??(0,r.ko)(P,m)??3,[P,u]),F=function(e,t,l){let a=n.useMemo(()=>t||(0,$.$r)(l).map(e=>({...e?.props,key:e.key})),[t,l]);return n.useMemo(()=>a.map(({span:t,...l})=>"filled"===t?{...l,filled:!0}:{...l,span:(0,i.Et)(t)?t:(0,r.ko)(e,t)}),[a,e])}(P,v,x),Z=(0,d.A)(A),_=((e,t)=>{let[l,a]=(0,n.useMemo)(()=>(function(e,t){let l=[],n=[],a=!1,o=0;return e.filter(e=>e).forEach(e=>{let{filled:i,...r}=e;if(i){n.push(r),l.push(n),n=[],o=0;return}let s=t-o;(o+=e.span||1)>=t?(o>t?(a=!0,n.push({...r,span:s})):n.push(r),l.push(n),n=[],o=0):n.push(r)}),n.length>0&&l.push(n),[l=l.map(e=>{let l=e.reduce((e,t)=>e+(t.span||1),0);if(l<t){let n=e[e.length-1];n.span=t-(l-(n.span||1))}return e}),a]})(t,e),[t,e]);return l})(R,F),[V,D]=E(H),O={...e,column:R,items:F,size:Z},j=(0,o.XT)(W),q=(0,o.XT)(N),[J,K]=(0,o.AV)([X,B],[G,j,k,q],{props:O}),Q=n.useMemo(()=>({labelStyle:z,contentStyle:C,styles:{label:K.label,content:K.content},classNames:{label:J.label,content:J.content}}),[z,C,K.label,K.content,J.label,J.content]);return n.createElement(p.Provider,{value:Q},n.createElement("div",{className:(0,a.$)(H,I,J.root,{[`${H}-medium`]:"medium"===Z||"middle"===Z,[`${H}-small`]:"small"===Z,[`${H}-bordered`]:!!y,[`${H}-rtl`]:"rtl"===T},S,w,V,D),style:K.root,...L},(l||b)&&n.createElement("div",{className:(0,a.$)(`${H}-header`,J.header),style:K.header},l&&n.createElement("div",{className:(0,a.$)(`${H}-title`,J.title),style:K.title},l),b&&n.createElement("div",{className:(0,a.$)(`${H}-extra`,J.extra),style:K.extra},b)),n.createElement("div",{className:`${H}-view`},n.createElement("table",null,n.createElement("tbody",null,_.map((e,t)=>n.createElement(h,{key:t,index:t,colon:g,prefixCls:H,vertical:"vertical"===f,bordered:y,row:e})))))))};S.Item=e=>e.children;let w=S}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[709],{69:(e,t)=>{t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L255.8 713.6l-62.3-62.3a8.19 8.19 0 00-11.4 0l-39.8 39.8a8.19 8.19 0 000 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.19 8.19 0 00-11.4 0l-39.8 39.8a8.19 8.19 0 000 11.4l110.3 111.2c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.1 304.1 0 00608 720c167.9 0 304-136.1 304-304S775.9 112 608 112m161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2"}}]},name:"key",theme:"outlined"}},5450:(e,t)=>{t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"}},13114:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(97109),i=n(5450),a=n(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(a.A,l({},e,{ref:t,icon:i.A})))},19135:(e,t,n)=>{n.d(t,{Ay:()=>s,Gl:()=>o,ko:()=>c,ye:()=>l});var r=n(97109),i=n(7709),a=n(26047);let l=["xxxl","xxl","xl","lg","md","sm","xs"],o=[].concat(l).reverse(),c=(e,t)=>{if(t){for(let n of l)if(e[n]&&t?.[n]!==void 0)return t[n]}},s=()=>{let[,e]=(0,i.Ay)(),t=(e=>({xs:`(max-width: ${e.screenXSMax}px)`,sm:`(min-width: ${e.screenSM}px)`,md:`(min-width: ${e.screenMD}px)`,lg:`(min-width: ${e.screenLG}px)`,xl:`(min-width: ${e.screenXL}px)`,xxl:`(min-width: ${e.screenXXL}px)`,xxxl:`(min-width: ${e.screenXXXL}px)`}))((e=>{let t=[].concat(l).reverse();return t.forEach((n,r)=>{let i=n.toUpperCase(),a=`screen${i}Min`,l=`screen${i}`;if(!(e[a]<=e[l]))throw Error(`${a}<=${l} fails : !(${e[a]}<=${e[l]})`);if(r<t.length-1){let n=`screen${i}Max`;if(!(e[l]<=e[n]))throw Error(`${l}<=${n} fails : !(${e[l]}<=${e[n]})`);let a=t[r+1].toUpperCase(),o=`screen${a}Min`;if(!(e[n]<=e[o]))throw Error(`${n}<=${o} fails : !(${e[n]}<=${e[o]})`)}}),e})(e));return r.useMemo(()=>{let e=new Map,n=-1,r={};return{responsiveMap:t,matchHandlers:{},dispatch:t=>(r=t,e.forEach(e=>{e(r)}),e.size>=1),subscribe(t){return e.size||this.register(),n+=1,e.set(n,t),t(r),n},unsubscribe(t){e.delete(t),e.size||this.unregister()},register(){Object.entries(t).forEach(([e,t])=>{let n=({matches:t})=>{this.dispatch({...r,[e]:t})},i=window.matchMedia(t);(0,a.Tn)(i.addEventListener)&&i.addEventListener("change",n),this.matchHandlers[t]={mql:i,listener:n},n(i)})},unregister(){Object.values(t).forEach(e=>{let t=this.matchHandlers[e];(0,a.Tn)(t?.mql.removeEventListener)&&t.mql.removeEventListener("change",t?.listener)}),e.clear()}}},[t])}},29071:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(97109),i=n(78847),a=n(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(a.A,l({},e,{ref:t,icon:i.A})))},30289:(e,t)=>{t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z"}}]},name:"global",theme:"outlined"}},54746:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(97109),i=n(71242),a=n(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(a.A,l({},e,{ref:t,icon:i.A})))},59609:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(97109),i=n(42644),a=n(19013),l=n(19135);let o=function(e=!0,t={}){let n=(0,r.useRef)(t),[,o]=(0,a.C)(),c=(0,l.Ay)();return(0,i.Nf)(()=>{let t=c.subscribe(t=>{n.current=t,e&&o()});return()=>c.unsubscribe(t)},[]),n.current}},61825:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(97109),i=n(30289),a=n(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(a.A,l({},e,{ref:t,icon:i.A})))},63890:(e,t)=>{t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"minus",theme:"outlined"}},71242:(e,t)=>{t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"}},76981:(e,t,n)=>{n.d(t,{A:()=>o});var r=n(97109),i=n(69),a=n(88483);function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let o=r.forwardRef((e,t)=>r.createElement(a.A,l({},e,{ref:t,icon:i.A})))},78847:(e,t)=>{t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z"}}]},name:"thunderbolt",theme:"outlined"}},92123:(e,t)=>{t.A={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"}},94992:(e,t,n)=>{n.d(t,{A:()=>eh});var r=n(97109),i=n(60470),a=n(63890),l=n(88483);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let c=r.forwardRef((e,t)=>r.createElement(l.A,o({},e,{ref:t,icon:a.A})));var s=n(54746),u=n(92123);function d(){return(d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let f=r.forwardRef((e,t)=>r.createElement(l.A,d({},e,{ref:t,icon:u.A})));var h=n(41113),p=n(49939),m=n(70895),g=n(8572);function v(){return"function"==typeof BigInt}function b(e){return!e&&0!==e&&!Number.isNaN(e)||!String(e).trim()}function $(e){var t=e.trim(),n=t.startsWith("-");n&&(t=t.slice(1)),(t=t.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,"")).startsWith(".")&&(t="0".concat(t));var r=t||"0",i=r.split("."),a=i[0]||"0",l=i[1]||"0";"0"===a&&"0"===l&&(n=!1);var o=n?"-":"";return{negative:n,negativeStr:o,trimStr:r,integerStr:a,decimalStr:l,fullStr:"".concat(o).concat(r)}}function N(e){var t=String(e);return!Number.isNaN(Number(t))&&t.includes("e")}function y(e){var t=e.toLowerCase().split("e"),n=(0,g.A)(t,2),r=n[0],i=n[1],a=r.startsWith("-"),l=(a?r.slice(1):r).split("."),o=(0,g.A)(l,2),c=o[0],s=void 0===c?"0":c,u=o[1],d=void 0===u?"":u,f="".concat(s).concat(d).replace(/^0+/,"")||"0";return{decimal:d,digits:f,exponent:Number(void 0===i?"0":i),integer:s,negative:a}}function E(e){return e.exponent>=0?Math.max(0,e.decimal.length-e.exponent):Math.abs(e.exponent)+e.decimal.length}function A(e){var t=String(e);return N(e)?E(y(t)):t.includes(".")&&S(t)?t.length-t.indexOf(".")-1:0}function w(e){var t=String(e);if(N(e)){if(e>Number.MAX_SAFE_INTEGER)return String(v()?BigInt(e).toString():Number.MAX_SAFE_INTEGER);if(e<Number.MIN_SAFE_INTEGER)return String(v()?BigInt(e).toString():Number.MIN_SAFE_INTEGER);var n=y(t),r=E(n);t=r>100?function(e){var t=e.decimal,n=e.digits,r=e.exponent,i=e.integer,a=e.negative;if("0"===n)return"0";var l=i.replace(/^0+/,"").length,o=(t.match(/^0*/)||[""])[0].length,c=(l||-o)+r,s="";return s=c<=0?"0.".concat("0".repeat(-c)).concat(n):c>=n.length?"".concat(n).concat("0".repeat(c-n.length)):"".concat(n.slice(0,c),".").concat(n.slice(c)),"".concat(a?"-":"").concat(s)}(n):e.toFixed(r)}return $(t).fullStr}function S(e){return"number"==typeof e?!Number.isNaN(e):!!e&&(/^\s*-?\d+(\.\d+)?\s*$/.test(e)||/^\s*-?\d+\.\s*$/.test(e)||/^\s*-?\.\d+\s*$/.test(e))}var x=function(){function e(t){if((0,h.A)(this,e),(0,m.A)(this,"origin",""),(0,m.A)(this,"negative",void 0),(0,m.A)(this,"integer",void 0),(0,m.A)(this,"decimal",void 0),(0,m.A)(this,"decimalLen",void 0),(0,m.A)(this,"empty",void 0),(0,m.A)(this,"nan",void 0),b(t)){this.empty=!0;return}if(this.origin=String(t),"-"===t||Number.isNaN(t)){this.nan=!0;return}var n=t;if(N(n)&&(n=Number(n)),S(n="string"==typeof n?n:w(n))){var r=$(n);this.negative=r.negative;var i=r.trimStr.split(".");this.integer=BigInt(i[0]);var a=i[1]||"0";this.decimal=BigInt(a),this.decimalLen=a.length}else this.nan=!0}return(0,p.A)(e,[{key:"getMark",value:function(){return this.negative?"-":""}},{key:"getIntegerStr",value:function(){return this.integer.toString()}},{key:"getDecimalStr",value:function(){return this.decimal.toString().padStart(this.decimalLen,"0")}},{key:"alignDecimal",value:function(e){return BigInt("".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(e,"0")))}},{key:"negate",value:function(){var t=new e(this.toString());return t.negative=!t.negative,t}},{key:"cal",value:function(t,n,r){var i=Math.max(this.getDecimalStr().length,t.getDecimalStr().length),a=n(this.alignDecimal(i),t.alignDecimal(i)).toString(),l=r(i),o=$(a),c=o.negativeStr,s=o.trimStr,u="".concat(c).concat(s.padStart(l+1,"0"));return new e("".concat(u.slice(0,-l),".").concat(u.slice(-l)))}},{key:"add",value:function(t){if(this.isInvalidate())return new e(t);var n=new e(t);return n.isInvalidate()?this:this.cal(n,function(e,t){return e+t},function(e){return e})}},{key:"multi",value:function(t){var n=new e(t);return this.isInvalidate()||n.isInvalidate()?new e(NaN):this.cal(n,function(e,t){return e*t},function(e){return 2*e})}},{key:"isEmpty",value:function(){return this.empty}},{key:"isNaN",value:function(){return this.nan}},{key:"isInvalidate",value:function(){return this.isEmpty()||this.isNaN()}},{key:"equals",value:function(e){return this.toString()===(null==e?void 0:e.toString())}},{key:"lessEquals",value:function(e){return 0>=this.add(e.negate().toString()).toNumber()}},{key:"toNumber",value:function(){return this.isNaN()?NaN:Number(this.toString())}},{key:"toString",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?this.isInvalidate()?"":$("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),e}(),k=function(){function e(t){if((0,h.A)(this,e),(0,m.A)(this,"origin",""),(0,m.A)(this,"number",void 0),(0,m.A)(this,"empty",void 0),b(t)){this.empty=!0;return}this.origin=String(t),this.number=Number(t)}return(0,p.A)(e,[{key:"negate",value:function(){return new e(-this.toNumber())}},{key:"add",value:function(t){if(this.isInvalidate())return new e(t);var n=Number(t);if(Number.isNaN(n))return this;var r=this.number+n;if(r>Number.MAX_SAFE_INTEGER)return new e(Number.MAX_SAFE_INTEGER);if(r<Number.MIN_SAFE_INTEGER)return new e(Number.MIN_SAFE_INTEGER);var i=Math.max(A(this.number),A(n));return new e(r.toFixed(i))}},{key:"multi",value:function(t){var n=Number(t);if(this.isInvalidate()||Number.isNaN(n))return new e(NaN);var r=this.number*n;if(r>Number.MAX_SAFE_INTEGER)return new e(Number.MAX_SAFE_INTEGER);if(r<Number.MIN_SAFE_INTEGER)return new e(Number.MIN_SAFE_INTEGER);var i=Math.max(A(this.number),A(n));return new e(r.toFixed(i))}},{key:"isEmpty",value:function(){return this.empty}},{key:"isNaN",value:function(){return Number.isNaN(this.number)}},{key:"isInvalidate",value:function(){return this.isEmpty()||this.isNaN()}},{key:"equals",value:function(e){return this.toNumber()===(null==e?void 0:e.toNumber())}},{key:"lessEquals",value:function(e){return 0>=this.add(e.negate().toString()).toNumber()}},{key:"toNumber",value:function(){return this.number}},{key:"toString",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?this.isInvalidate()?"":N(this.number)&&A(this.number)>100?String(this.number):w(this.number):this.origin}}]),e}();function I(e){return v()?new x(e):new k(e)}function M(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(""===e)return"";var i=$(e),a=i.negativeStr,l=i.integerStr,o=i.decimalStr,c="".concat(t).concat(o),s="".concat(a).concat(l);if(n>=0){var u=Number(o[n]);return u>=5&&!r?M(I(e).add("".concat(a,"0.").concat("0".repeat(n)).concat(10-u)).toString(),t,n,r):0===n?s:"".concat(s).concat(t).concat(o.padEnd(n,"0").slice(0,n))}return".0"===c?s:"".concat(s).concat(c)}var z=n(73473),O=n(3638),R=n(96546),B=n(49127);function C({prefixCls:e,action:t,children:n,disabled:i,className:a,style:l,onStep:o}){let c="up"===t,s=r.useRef(),u=r.useRef([]),d=()=>{clearTimeout(s.current)};r.useEffect(()=>()=>{d(),u.current.forEach(e=>{B.A.cancel(e)})},[]);let f=`${e}-action`,h=(0,O.$)(f,`${f}-${t}`,{[`${f}-${t}-disabled`]:i},a),p=()=>u.current.push((0,B.A)(d));return r.createElement("span",{unselectable:"on",role:"button",onMouseUp:p,onMouseLeave:p,onMouseDown:e=>{e.preventDefault(),d(),o(c,"handler"),s.current=setTimeout(function e(){o(c,"handler"),s.current=setTimeout(e,200)},600)},"aria-label":c?"Increase Value":"Decrease Value","aria-disabled":i,className:h,style:l},n||r.createElement("span",{unselectable:"on",className:`${e}-action-${t}-inner`}))}function L(e){let t="number"==typeof e?w(e):$(e).fullStr;return t.includes(".")?$(t.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:e+"0"}var _=n(42644),j=n(64213);function F(){return(F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}let H=(e,t)=>e||t.isEmpty()?t.toString():t.toNumber(),q=e=>{let t=I(e);return t.isInvalidate()?null:t},T=r.forwardRef((e,t)=>{let{mode:n="input",prefixCls:i="rc-input-number",className:a,style:l,classNames:o,styles:c,min:s,max:u,step:d=1,defaultValue:f,value:h,disabled:p,readOnly:m,upHandler:g,downHandler:v,keyboard:b,changeOnWheel:$=!1,controls:N=!0,prefix:y,suffix:E,stringMode:x,parser:k,formatter:T,precision:D,decimalSeparator:P,onChange:W,onInput:X,onPressEnter:G,onStep:V,onMouseDown:U,onClick:Y,onMouseUp:K,onMouseLeave:Q,onMouseMove:J,onMouseEnter:Z,onMouseOut:ee,changeOnBlur:et=!0,...en}=e,[er,ei]=r.useState(!1),ea=r.useRef(!1),el=r.useRef(!1),eo=r.useRef(!1),ec=r.useRef(null),es=r.useRef(null);r.useImperativeHandle(t,()=>(function(e,t){return"undefined"!=typeof Proxy&&e?new Proxy(e,{get(e,n){if(t[n])return t[n];let r=e[n];return"function"==typeof r?r.bind(e):r}}):e})(es.current,{focus:e=>{(0,j.F4)(es.current,e)},blur:()=>{es.current?.blur()},nativeElement:ec.current}));let[eu,ed]=r.useState(()=>I(h??f)),ef=r.useCallback((e,t)=>{if(!t)return D>=0?D:Math.max(A(e),A(d))},[D,d]),eh=r.useCallback(e=>{let t=String(e);if(k)return k(t);let n=t;return P&&(n=n.replace(P,".")),n.replace(/[^\w.-]+/g,"")},[k,P]),ep=r.useRef(""),em=r.useCallback((e,t)=>{if(T)return T(e,{userTyping:t,input:String(ep.current)});let n="number"==typeof e?w(e):e;if(!t){let e=ef(n,t);S(n)&&(P||e>=0)&&(n=M(n,P||".",e))}return n},[T,ef,P]),[eg,ev]=r.useState(()=>{let e=f??h;return eu.isInvalidate()&&["string","number"].includes(typeof e)?Number.isNaN(e)?"":e:em(eu.toString(),!1)});function eb(e,t){ev(em(e.isInvalidate()?e.toString(!1):e.toString(!t),t))}ep.current=eg;let e$=r.useMemo(()=>q(u),[u,D]),eN=r.useMemo(()=>q(s),[s,D]),ey=r.useMemo(()=>!(!e$||!eu||eu.isInvalidate())&&e$.lessEquals(eu),[e$,eu]),eE=r.useMemo(()=>!(!eN||!eu||eu.isInvalidate())&&eu.lessEquals(eN),[eN,eu]),[eA,ew]=function(e,t){let n=(0,r.useRef)(null);return[function(){try{let{selectionStart:t,selectionEnd:r,value:i}=e,a=i.substring(0,t),l=i.substring(r);n.current={start:t,end:r,value:i,beforeTxt:a,afterTxt:l}}catch(e){}},function(){if(e&&n.current&&t)try{let{value:t}=e,{beforeTxt:r,afterTxt:i,start:a}=n.current,l=t.length;if(t.startsWith(r))l=r.length;else if(t.endsWith(i))l=t.length-n.current.afterTxt.length;else{let e=r[a-1],n=t.indexOf(e,a-1);-1!==n&&(l=n+1)}e.setSelectionRange(l,l)}catch(e){(0,R.Ay)(!1,`Something warning of cursor restore. Please fire issue about this: ${e.message}`)}}]}(es.current,er),eS=e=>e$&&!e.lessEquals(e$)?e$:eN&&!eN.lessEquals(e)?eN:null,ex=e=>!eS(e),ek=(e,t)=>{let n=e,r=ex(n)||n.isEmpty();if(n.isEmpty()||t||(n=eS(n)||n,r=!0),!m&&!p&&r){let e=n.toString(),r=ef(e,t);if(r>=0&&(ex(n=I(M(e,".",r)))||(n=I(M(e,".",r,!0)))),!n.equals(eu)){var i;i=n,void 0===h&&ed(i),W?.(n.isEmpty()?null:H(x,n)),void 0===h&&eb(n,t)}return n}return eu},eI=(()=>{let e=(0,r.useRef)(0),t=()=>{B.A.cancel(e.current)};return(0,r.useEffect)(()=>t,[]),n=>{t(),e.current=(0,B.A)(()=>{n()})}})(),eM=e=>{if(eA(),ep.current=e,ev(e),!el.current){let t=I(eh(e));t.isNaN()||ek(t,!0)}X?.(e),eI(()=>{let t=e;k||(t=e.replace(/。/g,".")),t!==e&&eM(t)})},ez=(0,_._q)((e,t)=>{if(e&&ey||!e&&eE)return;ea.current=!1;let n=I(eo.current?L(d):d);e||(n=n.negate());let r=ek((eu||I(0)).add(n.toString()),!1);V?.(H(x,r),{offset:eo.current?L(d):d,type:e?"up":"down",emitter:t}),es.current?.focus()}),eO=e=>{let t,n=I(eh(eg));t=n.isNaN()?ek(eu,e):ek(n,e),void 0!==h?eb(eu,!1):t.isNaN()||eb(t,!1)};r.useEffect(()=>{if($&&er){let e=e=>{ez(e.deltaY<0,"wheel"),e.preventDefault()},t=es.current;if(t)return t.addEventListener("wheel",e,{passive:!1}),()=>t.removeEventListener("wheel",e)}}),(0,z.o)(()=>{eu.isInvalidate()||eb(eu,!1)},[D,T]),(0,z.o)(()=>{let e=I(h);ed(e);let t=I(eh(eg));e.equals(t)&&ea.current&&!T||eb(e,ea.current)},[h]),(0,z.o)(()=>{T&&ew()},[eg]);let eR={prefixCls:i,onStep:ez,className:o?.action,style:c?.action},eB=r.createElement(C,F({},eR,{action:"up",disabled:ey}),g),eC=r.createElement(C,F({},eR,{action:"down",disabled:eE}),v);return r.createElement("div",{ref:ec,className:(0,O.$)(i,`${i}-mode-${n}`,a,o?.root,{[`${i}-focused`]:er,[`${i}-disabled`]:p,[`${i}-readonly`]:m,[`${i}-not-a-number`]:eu.isNaN(),[`${i}-out-of-range`]:!eu.isInvalidate()&&!ex(eu)}),style:{...c?.root,...l},onMouseDown:e=>{es.current&&e.target!==es.current&&(es.current.focus(),e.preventDefault()),U?.(e)},onMouseUp:K,onMouseLeave:Q,onMouseMove:J,onMouseEnter:Z,onMouseOut:ee,onClick:Y,onFocus:()=>{ei(!0)},onBlur:()=>{et&&eO(!1),ei(!1),ea.current=!1},onKeyDown:e=>{let{key:t,shiftKey:n}=e;ea.current=!0,eo.current=n,"Enter"===t&&(el.current||(ea.current=!1),eO(!1),G?.(e)),!1!==b&&!el.current&&["Up","ArrowUp","Down","ArrowDown"].includes(t)&&(ez("Up"===t||"ArrowUp"===t,"keyboard"),e.preventDefault())},onKeyUp:()=>{ea.current=!1,eo.current=!1},onCompositionStart:()=>{el.current=!0},onCompositionEnd:()=>{el.current=!1,eM(es.current.value)},onBeforeInput:()=>{ea.current=!0}},"spinner"===n&&N&&eC,void 0!==y&&r.createElement("div",{className:(0,O.$)(`${i}-prefix`,o?.prefix),style:c?.prefix},y),r.createElement("input",F({autoComplete:"off",role:"spinbutton","aria-valuemin":s,"aria-valuemax":u,"aria-valuenow":eu.isInvalidate()?null:eu.toString(),step:d,ref:es,className:(0,O.$)(`${i}-input`,o?.input),style:c?.input,value:eg,onChange:e=>{eM(e.target.value)},disabled:p,readOnly:m},en)),void 0!==E&&r.createElement("div",{className:(0,O.$)(`${i}-suffix`,o?.suffix),style:c?.suffix},E),"spinner"===n&&N&&eB,"input"===n&&N&&r.createElement("div",{className:(0,O.$)(`${i}-actions`,o?.actions),style:c?.actions},eB,eC))});var D=n(44137),P=n(92162),W=n(26047),X=n(4034),G=n(48921),V=n(74567),U=n(6831),Y=n(632),K=n(27273),Q=n(55359),J=n(73134),Z=n(24716),ee=n(49644),et=n(15561),en=n(44390),er=n(84767),ei=n(90560),ea=n(7961),el=n(77032),eo=n(10540),ec=n(28403),es=n(47252);let eu=(0,eo.OF)("InputNumber",e=>{let t=(0,ec.oX)(e,(0,er.C)(e));return[(e=>{let{componentCls:t,lineWidth:n,lineType:r,borderRadius:i,inputFontSizeSM:a,inputFontSizeLG:l,colorError:o,paddingInlineSM:c,paddingBlockSM:s,paddingBlockLG:u,paddingInlineLG:d,colorIcon:f,colorTextDisabled:h,motionDurationMid:p,handleHoverColor:m,handleOpacity:g,paddingInline:v,paddingBlock:b,handleBg:$,handleActiveBg:N,inputAffixPadding:y,borderRadiusSM:E,controlWidth:A,handleBorderColor:w,filledHandleBg:S,lineHeightLG:x,antCls:k}=e,I=`${(0,et.zA)(n)} ${r} ${w}`,[M,z]=(0,eo.PN)(k,"input-number");return[{[t]:{...(0,ea.dF)(e),...(0,en.wj)(e),[M("input-padding-block")]:(0,et.zA)(b),[M("input-padding-inline")]:(0,et.zA)(v),display:"inline-flex",width:A,margin:0,paddingBlock:0,borderRadius:i,...(0,ei.Eb)(e,{[`${t}-actions`]:{background:$,[`${t}-action-down`]:{borderBlockStart:I}}}),...(0,ei.sA)(e,{[`${t}-actions`]:{background:S,[`${t}-action-down`]:{borderBlockStart:I}},"&:focus-within":{[`${t}-actions`]:{background:$}}}),...(0,ei.aP)(e,{[`${t}-actions`]:{background:$,[`${t}-action-down`]:{borderBlockStart:I}}}),...(0,ei.lB)(e),[`&${t}-borderless`]:{paddingBlock:0,[M("input-padding-block")]:(0,et.zA)(e.calc(b).add(n).equal())},[`&${t}-borderless${t}-sm`]:{paddingBlock:0,[M("input-padding-block")]:(0,et.zA)(e.calc(s).add(n).equal())},[`&${t}-borderless${t}-lg`]:{paddingBlock:0,[M("input-padding-block")]:(0,et.zA)(e.calc(u).add(n).equal())},"&-rtl":{direction:"rtl",[`${t}-input`]:{direction:"rtl"}},[`&${t}-out-of-range`]:{[`${t}-input`]:{color:o}},[`${t}-input`]:{...(0,ea.dF)(e),width:"100%",paddingBlock:z("input-padding-block"),textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:0,outline:0,transition:`all ${p} linear`,appearance:"textfield",fontSize:"inherit",lineHeight:"inherit",...(0,en.j_)(e.colorTextPlaceholder),'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,appearance:"none"}},[`&:hover ${t}-handler-wrap, &-focused ${t}-handler-wrap`]:{width:e.handleWidth,opacity:1},[`&-disabled ${t}-input`]:{cursor:"not-allowed",color:e.colorTextDisabled}}},{[t]:{[`${t}-action`]:{...(0,ea.Nk)(),userSelect:"none",overflow:"hidden",fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",transition:`all ${p} linear`,[`&:active:not(${t}-action-up-disabled):not(${t}-action-down-disabled)`]:{background:N},[`&:hover:not(${t}-action-up-disabled):not(${t}-action-down-disabled)`]:{color:m},[`&${t}-action-up-disabled, &${t}-action-down-disabled`]:{cursor:"not-allowed",color:h}},"&-mode-input":{overflow:"hidden",[`${t}-actions`]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:e.handleVisibleWidth,opacity:g,height:"100%",borderRadius:0,display:"flex",flexDirection:"column",alignItems:"stretch",transition:`all ${p}`,overflow:"hidden",[`${t}-action`]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",marginInlineEnd:0,fontSize:e.handleFontSize}},[`&:hover ${t}-actions, &-focused ${t}-actions`]:{width:e.handleWidth,opacity:1},[`${t}-action`]:{color:f,height:"50%",borderInlineStart:I,[`&:hover:not(${t}-action-up-disabled):not(${t}-action-down-disabled)`]:{height:"60%"}},[`&${t}-disabled, &${t}-readonly`]:{[`${t}-actions`]:{display:"none"}}},[`&${t}-mode-spinner`]:{padding:0,width:"auto",[`${t}-action`]:{flex:"none",paddingInline:z("input-padding-inline"),"&-up":{borderInlineStart:I},"&-down":{borderInlineEnd:I}},[`${t}-input`]:{textAlign:"center",paddingInline:z("input-padding-inline")}}}},{[t]:{"&-lg":{[M("input-padding-block")]:(0,et.zA)(u),[M("input-padding-inline")]:(0,et.zA)(d),paddingBlock:0,fontSize:l,lineHeight:x},"&-sm":{[M("input-padding-block")]:(0,et.zA)(s),[M("input-padding-inline")]:(0,et.zA)(c),paddingBlock:0,fontSize:a,borderRadius:E}}},{[t]:{[`${t}-prefix, ${t}-suffix`]:{display:"flex",flex:"none",alignItems:"center",alignSelf:"center",pointerEvents:"none"},[`${t}-prefix`]:{marginInlineEnd:y},[`${t}-suffix`]:{height:"100%",marginInlineStart:y,transition:`margin ${p}`},[`&:hover:not(${t}-without-controls)`]:{[`${t}-suffix`]:{marginInlineEnd:e.handleWidth}}}}]})(t),(e=>{let{componentCls:t,antCls:n}=e;return{[`${t}-addon`]:{[`&:has(${n}-select)`]:{border:0,padding:0}}}})(t),(0,el.G)(t)]},e=>{let t=e.handleVisible??"auto",n=e.controlHeightSM-2*e.lineWidth;return{...(0,er.b)(e),controlWidth:90,handleWidth:n,handleFontSize:e.fontSize/2,handleVisible:t,handleActiveBg:e.colorFillAlter,handleBg:e.colorBgContainer,filledHandleBg:new es.Y(e.colorFillSecondary).onBackground(e.colorBgContainer).toHexString(),handleHoverColor:e.colorPrimary,handleBorderColor:e.colorBorder,handleOpacity:+(!0===t),handleVisibleWidth:!0===t?n:0}},{unitless:{handleOpacity:!0},resetFont:!1}),ed=r.forwardRef((e,t)=>{let n=r.useRef(null);r.useImperativeHandle(t,()=>n.current);let{rootClassName:a,size:l,disabled:o,prefixCls:u,addonBefore:d,addonAfter:h,prefix:p,suffix:m,bordered:g,readOnly:v,status:b,controls:$=!0,variant:N,className:y,style:E,classNames:A,styles:w,mode:S,...x}=e,{direction:k,className:I,style:M,styles:z,classNames:R}=(0,V.TP)("inputNumber"),B=r.useContext(U.A),C=o??B,L=r.useMemo(()=>!!$&&!C&&!v&&$,[$,C,v]),{compactSize:_,compactItemClassnames:j}=(0,ee.RQ)(u,k),F="spinner"===S?r.createElement(s.A,null):r.createElement(f,null),H="spinner"===S?r.createElement(c,null):r.createElement(i.A,null),q="boolean"==typeof L?L:void 0;(0,W.Qd)(L)&&(F=L.upIcon||F,H=L.downIcon||H);let{hasFeedback:D,isFormItemInput:G,feedbackIcon:Y}=r.useContext(Q.$W),Z=(0,K.A)(e=>l??_??e),[et,en]=(0,J.A)("inputNumber",N,g),er=D&&r.createElement(r.Fragment,null,Y),ei={...e,size:Z,disabled:C,controls:L},ea=(0,P.XT)(M),el=(0,P.XT)(E),[eo,ec]=(0,P.AV)([R,A],[z,ea,w,el],{props:ei});return r.createElement(T,{ref:n,mode:S,disabled:C,className:(0,O.$)(y,a,eo.root,I,j,(0,X.L)(u,b,D),{[`${u}-${et}`]:en,[`${u}-lg`]:"large"===Z,[`${u}-sm`]:"small"===Z,[`${u}-rtl`]:"rtl"===k,[`${u}-in-form-item`]:G,[`${u}-without-controls`]:!L}),style:ec.root,upHandler:F,downHandler:H,prefixCls:u,readOnly:v,controls:q,prefix:p,suffix:er||m,classNames:eo,styles:ec,...x})}),ef=r.forwardRef((e,t)=>{let{addonBefore:n,addonAfter:i,prefixCls:a,className:l,status:o,rootClassName:c,...s}=e,{getPrefixCls:u}=(0,V.TP)("inputNumber"),d=u("input-number",a),{status:f}=r.useContext(Q.$W),h=(0,X.v)(f,o),p=(0,Y.A)(d),[m,g]=eu(d,p),v=n||i,b=r.createElement(ed,{ref:t,...s,prefixCls:d,status:h,className:(0,O.$)(g,p,m,l),rootClassName:v?void 0:c});if(v){let t=t=>t?r.createElement(Z.A,{className:(0,O.$)(`${d}-addon`,g,m),variant:e.variant,disabled:e.disabled,status:h},r.createElement(D.A,{form:!0},t)):null,a=t(n),l=t(i);return r.createElement(ee.Ay,{rootClassName:c},a,b,l)}return b});ef._InternalPanelDoNotUseOrYouWillBeFired=e=>r.createElement(G.Ay,{theme:{components:{InputNumber:{handleVisible:!0}}}},r.createElement(ef,{...e}));let eh=ef}}]);
|