1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quickResumeRoutingStack-DJMFF90y.js","assets/workbench-shared-DT5eicUP.js","assets/react-BGHvZxdX.js","assets/quickResumeDecisionComparison-DUsbAVXY.js","assets/quickResumeDecisionDimensionWeights-CJtVf-7e.js","assets/quickResumeDecisionDimensionMeta-CqRCwY33.js","assets/selfIntroScoreTargetedRewrite-BAbS6ALw.js","assets/selfIntroCardDisplay-Cn77roDC.js","assets/aiEngineProgress-BDK8wA_u.js","assets/quickResumeRoutingPlanLocal-T0IkCM2b.js","assets/QuickResumeStep1Body-C_lwmMJp.js","assets/ProfileMgmtSectionTabsBar-whwNNjQC.js","assets/QrMobileSplitFlip-BU5LhIQG.js","assets/profileMgmtMonoTheme-1lR1c8qN.js","assets/qrStepHostKeys-BKSLMEGR.js","assets/QuickResumeToolPage-hvxamCpU.js","assets/quickResumeTypeScale-BoJxjRsW.js","assets/PrepInputModalFooter-8f1FbGsi.js","assets/PrepSourceCard--1zU7rwO.js","assets/inputPanelTheme-C4U4NqqL.js","assets/PageBanner-CJoqfxaO.js","assets/WorkbenchApp-CJyShsB2.js","assets/index-hkmirror2.js","assets/index-ufWW_WUE.css","assets/WorkbenchApp-CN-Y3-JI.css","assets/reset-BDNOyzxu.css","assets/PageTutorialToggle-BqyeQSnF.js","assets/jdBoardTheme-DFysMQIA.js","assets/glacierThemeColors-C4T_pxim.js","assets/discoveryChannelUtils-CfkIjWg2.js","assets/platformLogos-ClErIF11.js","assets/quickResumeProfileTabs-DLiHUPM8.js","assets/profileArchiveEmbedProps-dYMViSus.js","assets/ProfileArchiveReportContext-CErZwouw.js","assets/archiveBulkSelect-zQhVzkGD.js","assets/index-CCjgVym0.js","assets/quickResumeDecisionReport-C38JHf_j.js","assets/quickResumeDecisionTabCard-B9m_96Zz.js","assets/jobIntentActionCardFallback-QcIM0kzR.js","assets/educationScoreTargetedRewrite-1aF7blYf.js","assets/quickResumeDecisionRuntimeLazy-dPOJalsl.js","assets/yieldToNextPaint-D2aGJ5eA.js","assets/demoQuickResumeShowcaseMeta-CCYMF3ds.js","assets/quickResumeDemoExtract-7RLnH5kA.js","assets/quickResumeOverallAnalysisGate-bw8WtO4g.js","assets/quickResumeStageThreeLight-DKCIJCqX.js","assets/promptSwitchToAccountMode-BfdWY4Z3.js","assets/PortfolioGlacierModal-CDt-rUUG.js","assets/QuickResumeStep0Body-uteiy0io.js","assets/QuickResumeStep2Body-BLInsSji.js","assets/SectionExplainHint-BgW_MTrv.js","assets/exportPdf-CqNcnOTq.js","assets/ResumeTemplate-BaSYJdAB.js","assets/ResumeTemplate-CWxZ23WT.css","assets/ResumeTemplate-dxufR599.js","assets/resumeExperienceSections-DttCzG6j.js","assets/ResumeEmbeddedHit-SahfrUXp.js","assets/resumeEmbeddedHits-0XSFbwNE.js","assets/ExpectedSalaryPanel-CLihBkya.js","assets/jobIntentPanelShared-BbCQQ58T.js","assets/assetActionCardTones-LVQfiyOM.js","assets/ProfileDataCard-DL0d07X9.js","assets/ProfileArchiveSectionDeleteBtn-Dj9FrpSI.js","assets/RichTextEditor-slhb2TYT.js","assets/ProfileAiPolishControls-ge22EEt3.js","assets/mobileModalHost-zPZ6YgSa.js","assets/archiveTableEllipsis-CTj3AzoM.js","assets/ProfileArchiveNodataState-CRnuUFEd.js","assets/profileArchiveFieldPolish-ChVYOyu8.js","assets/profileCardDimensionRubricGuide-CZ0vErMB.js","assets/quickResumeScoringConfigStorage-BNoXU7Px.js","assets/quickResumeScoringRules-CqW22O_k.js","assets/PersonalArchiveLibraryModule-BzH_2v1t.js","assets/ProfileMgmtEntryCard-DExbxrne.js","assets/ProfileArchiveTabBody-BccEwdJc.js","assets/profileMgmtMono-NCKEK7uD.css","assets/demoQuickResumeShowcase-PfBsrRkM.js","assets/demoQuickResumeGrowthOpsJd-DtHfRQUE.js","assets/ResumeLibraryPage-XT37F_qb.js","assets/ResumeA4Content-C04H0eb2.js","assets/pdfDocumentCache-C7fMqzBg.js","assets/PdfViewer-wu90SOis.js","assets/PdfViewer-CBXYWCWZ.css","assets/AiParseResultViews-AxdLDpU1.js","assets/dict-CjK0zVzE.js","assets/PersonalInfo-EMLYxMya.js","assets/ProfileCardLinkBadges-CYJJCyJL.js","assets/index-DSi_yZ-h.js","assets/demoQuickPortfolioShowcase-B4vKbS-A.js","assets/websiteLayout-0PfeSYth.js","assets/portfolioLinkResolver-kjWU4NEk.js","assets/portfolioAssetThumbnail-BTlvYhce.js","assets/index-Blo1azGd.js","assets/index-BQbAbEPf.js","assets/jdPrepResumePdfPreview-C_yANH_h.js","assets/websitePortfolioContent-Ow03Kc7l.js","assets/PortfolioAssetPreviewHost-Bib33M3q.js","assets/PrepPortfolioMindmapPreview-CP3m4HR9.js","assets/PrepPortfolioMindmapPreview-DqLDtADk.css","assets/portfolioAssetVisuals-S6aIEk8m.js","assets/portfolioChatGenerate-DRnEdugi.js","assets/PortfolioAssetStackPreview-ClI24nJ7.js","assets/PortfolioSelectedVersionPreviewGrid-DESPPQ7I.js","assets/assetPrepCardApi-Dk0MfgP2.js","assets/prepCardBridge-CCCxSI5Z.js","assets/abcdPrepCatalog-CAneVTDN.js","assets/PrepCardListItem-B_q7bBeq.js","assets/prepMaterialBasket-BKWYbz8c.js","assets/PrepCardFourPartView-BGGozpiS.js","assets/SkillsPage-CXxKAR1X.js","assets/knowledgeSkillSuggestionDedupe-DWlweSUi.js","assets/quill-Bf4bJ6eu.css","assets/EducationPage-BIEsDhvO.js","assets/index-Baypq_No.js","assets/isArrayLikeObject-xW62fCZI.js","assets/merge-D2Oxqw0p.js","assets/QuickResumeDecisionReportPanel-CVd8H-r1.js","assets/quickResumeDecisionTheme-B9FZV9MN.js","assets/assemblyFlickerDebug-CjQ4sCsO.js","assets/StableModuleTabBar-CCm_iC66.js","assets/decisionNoteGuidedRewrite-DHlrWmIs.js"])))=>i.map(i=>d[i]); 2import{_ as rt,cA as bl,s as z,a0 as Qe,q as Wt,ai as Os,S as Mo,M as hl,h as yl,B as ln,U as Rl,bS as Sl,r as Do,cl as kl,bT as wl,l as Lo,cw as Il,cr as Tl,R as xl,b as El,b4 as Cl,b3 as Al,aD as vl,j as jl,de as Pl}
2from"./workbench-shared-DT5eicUP.js";import{r as o,j as k,R as G}from"./react-BGHvZxdX.js";import{R as ql,A as _l,Q as Nl,S as Bs,N as Ml,E as Dl,P as Ll,a as Jl,C as Ol,L as $l,b as Ql,J as pa,I as fa,c as ga,d as ba}from"./QuickResumeStep1Body-C_lwmMJp.js";import{k as Us,w as Bl,l as _i,m as Zr,n as Ul,s as Gt,o as As,p as Fl,q as zl,r as Hl,u as Kl,h as vs,t as Wl,v as js,x as Ps,y as Qr,z as Gl,A as We,B as Vl,j as qs,i as _s,g as vi,C as Yl,D as Xl,E as Hr,F as Zl,G as eu,H as ji,I as tu,J as nu,K as ru,L as Jo,M as iu,N as su,O as ou,P as Oo,R as au,S as cu,b as lu,c as $o,T as Qo,U as uu,V as Ns,W as du,X as mu,Y as pu}from"./QuickResumeToolPage-hvxamCpU.js";import{l as fu,n as gu,s as bu}from"./quickResumeDecisionDimensionWeights-CJtVf-7e.js";import{getQuickResumeDecisionRuntime as B,hasQuickResumeDecisionRuntime as hu,preloadQuickResumeDecisionRuntime as Bo}from"./quickResumeDecisionRuntimeLazy-dPOJalsl.js";import{r as Ni,c as yu}from"./selfIntroScoreTargetedRewrite-BAbS6ALw.js";import{s as Uo,y as $s,u as Ru,f as Su,R as ku}from"./yieldToNextPaint-D2aGJ5eA.js";import{r as Fs,b as $t,a as Wr,i as vn,c as Fo,D as zo,e as Br}from"./demoQuickResumeShowcaseMeta-CCYMF3ds.js";import{a as wu,c as Iu,d as Tu,e as xu,i as Eu,b as Cu}from"./quickResumeDemoExtract-7RLnH5kA.js";import{c as Au}from"./archiveBulkSelect-zQhVzkGD.js";import{a as Ho,s as vu}from"./quickResumeOverallAnalysisGate-bw8WtO4g.js";import{b as ju,g as un,c as Pu}from"./quickResumeStageThreeLight-DKCIJCqX.js";import{guardAccountModeAction as Ko}from"./promptSwitchToAccountMode-BfdWY4Z3.js";import{i as Wo,P as Go,R as qu,Q as Vo,j as Yo,U as _u}from"./WorkbenchApp-CJyShsB2.js";import{Q as Nu,a as Mu}from"./QuickResumeStep0Body-uteiy0io.js";import{f as Du,g as Lu}from"./qrStepHostKeys-BKSLMEGR.js";import{s as Ju}from"./index-hkmirror2.js";import{D as Ou,Q as $u}from"./QuickResumeStep2Body-BLInsSji.js";import{P as dn}from"./profileMgmtMonoTheme-1lR1c8qN.js";import"./ResumeTemplate-BaSYJdAB.js";import{P as jn}from"./profileArchiveEmbedProps-dYMViSus.js";import{E as ha,a as ya}from"./ExpectedSalaryPanel-CLihBkya.js";import{Q as qt}from"./quickResumeTypeScale-BoJxjRsW.js";import{l as Qu}from"./quickResumeScoringConfigStorage-BNoXU7Px.js";import{h as Bu,p as Xo,g as Zo}from"./quickResumeDecisionTabCard-B9m_96Zz.js";import{S as Uu}from"./SectionExplainHint-BgW_MTrv.js";function Vt(t){return Array.isArray(t)?t.filter(i=>!!i&&typeof i=="object"):[]}function Hn(t){return!t||!Array.isArray(t.requirements)?t:{...t,requirements:t.requirements.map(i=>({...i,targetMappings:Vt(i?.targetMappings)}))}}let br=null,Ms=null;function Mi(){return br?Promise.resolve(br):(Ms||(Ms=rt(()=>import("./quickResumeRoutingStack-DJMFF90y.js").then(t=>t.q),__vite__mapDeps([0,1,2,3,4,5,6,7,8])).then(t=>(br=t,t))),Ms)}function Fu(){const t=()=>[],i=A=>A,h=()=>({}),w=A=>A||null,g=()=>"",T=(A,C)=>Vt(C);return{parseAiReportMarkdown:()=>null,rebuildSectionsFromModulePlans:()=>[],QUICK_RESUME_JD_ROUTING_MAX_ATTEMPTS:3,QUICK_RESUME_JD_ROUTING_STREAM_TIMEOUT_MS:12e4,requestJdRoutingPlanWithRetry:async()=>{throw new Error("routing stack not ready")},applyFinalRoutingPlanRepairs:w,enforceRoutingPlanRequirementRepairs:w,repairRoutingPlanJdSourceMap:w,getJdEchoStandardReason:()=>"",getRoutingStandardMirroredReason:()=>"",finalizeKnowledgeTargetMappings:T,getExpectedKnowledgeSubTab:g,getKnowledgeSubTabConsistencyReason:()=>"",getRoutingEvidenceConsistencyReason:()=>"",normalizeKnowledgeTargetMappings:T,buildSharedRoutingJdSourceRows:t,buildSharedRoutingJdSourceTextMap:()=>new Map,buildJobIntentSourceIdLookupBySubTab:h,buildRoutingSourceIdLookupBySubTab:h,buildRoutingSourceIdLookupMap:h,deriveBaselineDisplaySourceId:g,finalizeJobIntentRoutingRequirements:i,resolveCanonicalJobIntentSourceId:g,formatRoutingRequirementJdEntry:g,getSharedRoutingPlanJdSourceRows:t,getSharedRoutingPlanValidationErrors:t,parseSharedRoutingPlanFromMarkdownTable:()=>null,getSharedDuplicateJdSourceRows:t,getSharedMissingJdSourceCoverageSegments:t,getSharedUnfaithfulJdSourceRows:t,isSharedRoutingPlanJdSourceMapFaithful:()=>!0,normalizeSharedJdSourceFidelityText:g,applyRoutingPlanDeterministicRecovery:w,expandKnowledgeSkillRequirementsFromJdEvidence:w,finalizeKnowledgeSkillRoutingRequirements:i,getKnowledgeSkillGranularityValidationErrors:t,reconcileRoutingPlanForHcpValidation:w,buildNormalizedPlanTableRows:t,normalizeModulePlan:i,syncKnowledgeSkillNormalizedPlan:i,applyWorkExperienceJdMirrorToModulePlan:i,calibrateWorkExperienceOverviewRows:i,getWorkExperienceMirrorSourceRows:t,shouldInjectWorkExperienceProfileBaseline:()=>!1,stripRedundantWorkExperienceProfileBaseline:i,buildKnowledgeSkillFallbackActionCard:()=>null,buildPersonalInfoFallbackActionCard:()=>null,getHighestEducationDegreeFromProfile:g,PERSONAL_INFO_DETAIL_CARD_IDS:{birthDate:"",gender:"",startWorkYear:"",politicalStatus:"",degree:"",nationality:""},resolveScalarProfileValue:g,formatStartWorkYearOverviewLabel:g,buildPersonalInfoDisplayCards:t,ensurePersonalInfoBaselineRows:i,filterPersonalInfoDisplayCards:t,normalizeExtractedBasicInfoOnly:i,buildAiEngineToastContent:()=>null,flattenAiEngineRetryHistory:t,buildJdIdCentricMappingRows:t,buildRoutingTabBucketStats:t,getRoutingSupplementReasonLabel:g,resolveRoutingDisplayBucket:g,resolveWorkExperienceParentName:g}}function Y(){return br||(Mi(),Fu())}function zu(){return br!=null}let hr=null,Ds=null;function ei(){return hr?Promise.resolve(hr):(Ds||(Ds=rt(()=>import("./quickResumeRoutingPlanLocal-T0IkCM2b.js"),__vite__mapDeps([9,1,2,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,4,5,3,6,7,39,40,41,8,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71])).then(t=>(hr=t,t))),Ds)}const Hu=new Set(["normalizeRoutingMappingsByDeterministicGuards","withImpliedIndustryRoutingRequirements","enforceRoutingMappingCardinality","withStableRoutingSourceIds","ensureUniqueRoutingRequirementIds","dedupeRoutingRequirements"]);function Ku(){const t=()=>
2[],i=A=>A,h=()=>"",w=A=>Array.isArray(A)?A:[],g=A=>A?Hn(A):null,T=(A,C)=>Vt(C);return new Proxy({},{get(A,C){return C==="normalizeJobRequirementRoutingPlan"?g:C==="normalizeRoutingMappingsByDeterministicGuards"?T:C==="withImpliedIndustryRoutingRequirements"||C==="enforceRoutingMappingCardinality"?w:C==="buildRoutingJdSourceTextMap"?()=>new Map:C==="buildRoutingJdSourceRows"?t:C==="ROUTING_SUB_TAB_ORDER"?{个人信æ¯:[],ç¥è¯æè½:[],å·¥ä½ç»éª:["æ "],æè²ç»å:["æè²ç»å"],èªæä»ç»:["èªæä»ç»"],æ±èæå:[]}:typeof C=="string"&&/^[A-Z0-9_]+$/.test(C)?C.endsWith("_ORDER")||C.endsWith("_TABS")||C.endsWith("_LIST")?[]:{}:typeof C=="string"&&C.startsWith("is")?()=>!1:typeof C=="string"&&Hu.has(C)?w:typeof C=="string"&&(C.startsWith("get")||C.startsWith("build")||C.startsWith("normalize")||C.startsWith("format")||C.startsWith("parse")||C.startsWith("resolve")||C.startsWith("with")||C.startsWith("enforce")||C.startsWith("routing"))?C.startsWith("normalize")&&C.includes("Mapping")?T:h:i}})}function he(){return hr||(ei(),Ku())}function Ra(){return hr!=null}const En={__emptyAccountSession:!0};function Wu(){return{demo:null,account:null}}function zs(t){if(!t)return null;try{return JSON.parse(t)}catch{return null}}function Hs(t,i){try{sessionStorage.setItem(t,i)}catch{}}function Ks(t){try{sessionStorage.removeItem(t)}catch{}}function Gr(){try{return zs(sessionStorage.getItem(Us))}catch{return null}}function An(t,i){if(t)try{Hs(Us,JSON.stringify(t)),Bl({step:i?.step??t.currentStep,hasExtract:i?.hasExtract??!!t.aiExtractedData})}catch{}}function Sa(){try{return zs(sessionStorage.getItem(_i))}catch{return null}}function pr(t){if(t==null){Ks(_i);return}Hs(_i,JSON.stringify(t))}function Gu(){try{return zs(sessionStorage.getItem(Zr))}catch{return null}}function Cn(t){if(t==null){Ks(Zr);return}Hs(Zr,JSON.stringify(t))}function Yt(){Ks(Zr)}function Vu(){const t=()=>Ul();typeof window<"u"&&"requestIdleCallback"in window?window.requestIdleCallback(()=>t(),{timeout:800}):typeof window<"u"?window.setTimeout(t,0):t()}const fr=["个人信æ¯","ç¥è¯æè½","å·¥ä½ç»éª","æè²ç»å","èªæä»ç»","æ±èæå"],ea=[...fr,"ä¸è¿å ¥æ¡£æ¡èµäº§"],Ws="quickResume",Di="quickResumeDraft",Pi={personalInfo:"个人信æ¯",skills:"ç¥è¯æè½",experience:"å·¥ä½ç»éª",education:"æè²ç»å",selfIntro:"èªæä»ç»",jobIntent:"æ±èæå"},Yu={个人信æ¯:"å§å",å·¥ä½ç»éª:"æ ",æè²ç»å:"æè²ç»å",èªæä»ç»:"èªæä»ç»",æ±èæå:"æåèä½"},Xu={personalInfo:"个人信æ¯",skills:"ç¥è¯æè½",experience:"å·¥ä½ç»éª",education:"æè²ç»å",selfIntro:"èªæä»ç»",jobIntent:"æ±èæå"},ka=["å京","䏿µ·","æ·±å³","广å·","æå·","æé½","å京","èå·","æ¦æ±","西å®","éåº","天津","å¦é¨","é¿æ²","åè¥","éå²","宿³¢","馿¸¯","æ°å å¡","è¿ç¨","æ··ååå ¬","ä¸éåå¸","å ¨å½"],Zu=t=>{const i=String(t||"");return Array.from(new Set(ka.filter(h=>i.includes(h))))},ed={amp:"&",lt:"<",gt:">",quot:'"',apos:"'"},td=t=>t.replace(/&#(\d+);/g,(i,h)=>String.fromCharCode(Number(h))).replace(/&#x([0-9a-f]+);/gi,(i,h)=>String.fromCharCode(parseInt(h,16))).replace(/&([a-z]+);/gi,(i,h)=>ed[h.toLowerCase()]??i),yr=t=>{const i=String(t||"");if(!i.trim())return"";const h=td(i).replace(/<script[^>]*>[\s\S]*?<\/script>/gi,` 3`).replace(/<style[^>]*>[\s\S]*?<\/style>/gi,` 4`).replace(/<br\s*\/?>/gi,` 5`).replace(/<\/(p|div|li|tr|h[1-6]|section|article)>/gi,` 6`).replace(/<[^>]*>/g," ").replace(/\u00a0/g," ").replace(/[ \t]+/g," ").replace(/\n[ \t]+/g,` 7`).trim(),w=new Set;return h.split(/\r?\n+/).map(g=>g.trim()).filter(Boolean).filter(g=>{const T=g.replace(/\s+/g,"");return!T||w.has(T)?!1:(w.add(T),!0)}).join(` 8`)},wa=(t,i)=>{if(!i||!Array.isArray(t?.requirements))return[];const h=Xu[i]||i;return t.requirements.filter(w=>Vt(w?.targetMappings).some(g=>g?.mainTab===h||g?.mainTab===i||String(g?.mainTab||"").includes(h))).map(w=>w.requirementId).filter(Boolean)},Xt=t=>yr(t).slice(0,240),ti=(t,i)=>{if(!t?.requirements?.length)return!1;const h=Xt(i);if(!h)return!1;const w=Xt(t.originalJdText||t.jdFingerprint||"");return w?w!==h:!0},Ia=(t,i)=>{if(!t?.requirements?.length)return t;const h=Xt(i);return Hn({...t,sourceMode:Ws,jdFingerprint:h,originalJdText:t.originalJdText||i})},Li=t=>!!t?.draftRouting||t?.sourceMode===Di,Pn=(t,i)=>{if(!t?.requirements?.length||Li(t)||t.sourceMode!==Ws)return!1;const h=Xt(i);if(!h)return!1;const w=Xt(t.jdFingerprint||t.originalJdText||"");return!!(w&&w===h)},mn=(t,i,h,w,g)=>({requirementId:t,sourceText:w,sourceEvidence:[w],sourceType:"jd_explicit",standardRequirement:g||`åé人åºå ·å¤ï¼${w}`,priority:"ä¸",targetMappings:[{mainTab:i,subTab:h,reason:"L1 draft routing plan"}],excludedReason:""}),nd=(t,i)=>{const h=Pi[i]||i||"ç¥è¯æè½",w=yr(t).split(` 9`).map(A=>A.trim()).filter(A=>A.length>=6).slice(0,6);let g=[];if(h==="ç¥è¯æè½")g=w.map((A,C)=>{const N=bl({text:A});return mn(`JD-${String(C+1).padStart(2,"0")}`,h,N,A)}),g.length||(g=[mn("JD-01","ç¥è¯æè½","å²ä½æ ¸å¿æè½",String(t||"").trim().slice(0,200)||"JDæªæç¡®","åé人åºå ·å¤ç®æ å²ä½æéçæ ¸å¿ä¸ä¸è½åã")]);else if(h==="æè²ç»å")g=[mn("REQ-EDU-001","æè²ç»å","æè²ç»å","åéäººåºæä¾å¯æ ¸éªçæè²èæ¯ãå¦å屿¬¡ä¸ä¸ä¸èæ¯ã","åéäººåºæä¾å¯æ ¸éªçæè²èæ¯ï¼ç¨äºå¤æå¦å屿¬¡ãä¸ä¸èæ¯ä¸å²ä½è¦æ±çå¹é 度ã")];else if(h==="å·¥ä½ç»éª")g=[mn("REQ-EXP-001","å·¥ä½ç»éª","æ ","åéäººåºæä¾å¯éªè¯çå·¥ä½ç»åã项ç®èè´£ä¸ææã","åéäººåºæä¾å¯éªè¯çå·¥ä½ç»åã项ç®èè´£ä¸ææï¼ä»¥æ¯æå²ä½èä»»å夿ã"),...w.slice(0,3).map((A,C)=>mn(`JD-EXP-${String(C+1).padStart(2,"0")}`,"å·¥ä½ç»éª","æ ",A,`ç»åå²ä½è¦æ±æ²æ·å¯éªè¯çå·¥ä½ç»åè¯æ®ï¼${A}`))];else if(h==="èªæä»ç»")g=[mn("REQ-SELF-001","èªæä»ç»","èªæä»ç»","åéäººåºæä¾é¢åå½åå²ä½çèªæä»ç»ã","åéäººåºæä¾é¢åå½åå²ä½çèªæä»ç»ï¼æ¦æ¬èä¸å®ä½ãæ ¸å¿ä¼å¿ãç»éªäº®ç¹ä¸æ±è卿ºã")];else if(h==="æ±èæå")g=[mn("REQ-INTENT-001","æ±èæå","æåèä½&ææèªèµ","åéäººåºæä¾æç¡®çç®æ å²ä½ä¸ææèªèµã","åéäººåºæä¾æç¡®çç®æ å²ä½ä¸ææèªèµï¼ç¨äºå¤æå²ä½æ¹ååèªé ¬åºé´å¹é 度ã")];else{const A=Yu[h]||"æ ";g=w.length?w.map((C,N)=>mn(`JD-${String(N+1).padStart(2,"0")}`,h,A,C)):[mn("JD-01",h,A,String(t||"").trim().slice(0,200)||"JDæªæç¡®")]}return{...Qt({schemaVersion:"job-requirement-routing/v1",sourceMode:Di,jdFingerprint:Xt(t),originalJdText:t,draftRouting:!0,requirements:g},t),sourceMode:Di,draftRouting:!0}},rd=(t,i)=>{if(!Array.isArray(t?.requirements)||t.requirements.length===0)return!1;const h=Object.entries(Pi).find(([,g])=>g===i)?.[0]||(Pi[i]?i:"")||i,w=Pi[h]||i;return w==="æè²ç»å"?t.requirements.some(g=>{if(!Vt(g?.targetMappings).some(N=>N?.mainTab==="æè²ç»å"||String(N?.mainTab||"").includes("æè²ç»å")))return!1;const C=[g?.sourceText,g?.standardRequirement,...Array.isArray(g?.sourceEvidence)?g.s
9ourceEvidence:[]].join(" ");return/æ¬ç§|ç¡å£«|å士|å¦å|å¦ä½|妿 ¡|颿 ¡|课ç¨|GPA|绩ç¹|æ¯ä¸|æè²èæ¯|æè²ç»å|academic|education|bachelor|master|phd|degree|university|college|ä¸ä¸|major/i.test(C)}):w==="å·¥ä½ç»éª"?t.requirements.some(g=>{const T=String(g?.requirementId||"").trim().toUpperCase(),A=String(g?.assetRole||"").trim(),C=Vt(g?.targetMappings);if(!C.some(M=>M?.mainTab==="å·¥ä½ç»éª"||String(M?.mainTab||"").includes("å·¥ä½ç»éª")))return!1;if(/^REQ-EXP-\d+/.test(T)||/^JD-EXP-/.test(T)||A==="experience_evidence")return!0;if(A==="capability"||/^REQ-SKILL-/.test(T)||(/^JD-\d+$/.test(T)||/^REQ-\d+$/.test(T))&&C.some(ce=>ce?.mainTab==="ç¥è¯æè½"||String(ce?.mainTab||"").includes("ç¥è¯æè½")))return!1;const _=[g?.sourceText,g?.standardRequirement,...Array.isArray(g?.sourceEvidence)?g.sourceEvidence:[]].join(" ");return/å·¥ä½ç»å|项ç®èè´£|å±¥åè¯æ®|å
¬å¸\/项ç®|å¹´.*ç»éª|å·¥ä½ç»éª|项ç®ç»éª|ç¸å
³ç»éª/.test(_)}):wa(t,h).length>0},id=(t,i,h)=>{if(rd(t,h))return t;const w=nd(i,h);if(!Array.isArray(t?.requirements)||t.requirements.length===0)return w;const g=new Set(t.requirements.map(_=>String(_?.requirementId||"").trim()).filter(Boolean)),T=(w.requirements||[]).filter(_=>{const M=String(_?.requirementId||"").trim();return M&&!g.has(M)});if(!T.length)return t;const A={...t,requirements:[...t.requirements,...T]},C=Li(t)||!Pn(t,i),N=Qt(A,i);return C?{...N,sourceMode:Di,draftRouting:!0}:N},Ge=t=>{const i=String(t||""),h=N=>{for(const _ of N){const M=i.match(_);if(M?.[1]?.trim())return M[1].trim()}return""},w=B().sanitizeSelfIntroJobTitle(h([/(?:å²ä½|èä½|æèå²ä½|æèèä½|èä½åç§°|å²ä½åç§°|Title|Position|Role)[:ï¼\s]+([^\nï¼ãï¼;]{2,80})/i,/^([^\nï¼ãï¼;]{2,40}(?:产åç»ç|è¿è¥|å·¥ç¨å¸|åæå¸|设计å¸|项ç®ç»ç|ç»ç|ä¸å®¶|è´è´£äºº|BD))[^\n]*$/m])),g=h([/(?:å·¥ä½å°ç¹|åå
¬å°ç¹|å°ç¹|åå¸|base|Location)[:ï¼\s]+([^\nï¼ãï¼;]{2,60})/i])||Zu(i).join(" / "),T=h([/(?:èªèµ|èªé
¬|èªæ°´|é¢ç®|Salary|Compensation)[:ï¼\s]+([^\nï¼ãï¼;]{2,60})/i])||i.match(/(?:\$|ï¿¥)?\d+\s*[kKwWä¸]?\s*[-~ï¼â]\s*(?:\$|ï¿¥)?\d+\s*[kKwWä¸]?(?:\s*\/\s*(?:month|æ))?/i)?.[0]||"",A=h([/(?:工使§è´¨|å²ä½æ§è´¨|æ§è´¨|å·¥ä½ç±»å|jobType|Job Type)[:ï¼\s]+([^\nï¼ãï¼;]{2,40})/i])||(/å
¨è/i.test(i)?"å
¨è":/å
¼è/i.test(i)?"å
¼è":/å®ä¹ /i.test(i)?"å®ä¹ ":""),C=Ni({jdText:i});return{jobTitle:w,location:g,salary:T,jobType:A,companyName:C}},Ta=(t,i="")=>{if(!t?.requirements?.length)return t||null;const h=Ge(i),w={...t?.jdMeta,...h,companyName:t?.jdMeta?.companyName||h.companyName};return he().normalizeJobRequirementRoutingPlan({...t,jdMeta:w,requirements:t.requirements})},Qt=(t,i)=>Ia(Ta(he().normalizeJobRequirementRoutingPlan(Hn(t),i),i),i),Ne=(t,i)=>{if(!t?.requirements?.length||!String(i||"").trim()||Li(t))return null;const h=Qt(t,i);return Pn(h,i)?h:null},sd=(t,i)=>{const h=wa(t,i);if(!h.length)return;const w=new Set((t?.requirements||[]).map(T=>String(T?.requirementId||"").trim()).filter(Boolean)),g=h.filter(T=>w.has(T));return g.length?g:void 0},ta=t=>{const i=Array.isArray(t?.targetMappings)?t.targetMappings:[];return i.length===0?{mainRank:fr.length+1,subRank:0}:i.reduce((h,w)=>{const g=fr.indexOf(w.mainTab),T=g>=0?g:fr.length,A=he().normalizeRoutingSubTab(w.mainTab,w.subTab,he().getRoutingRequirementText(t)),C=he().ROUTING_SUB_TAB_ORDER[w.mainTab]||[],N=C.indexOf(A),_=N>=0?N:C.length;return T<h.mainRank?{mainRank:T,subRank:_}:T===h.mainRank&&_<h.subRank?{mainRank:T,subRank:_}:h},{mainRank:fr.length,subRank:Number.MAX_SAFE_INTEGER})},od=(t=[])=>[...t].sort((i,h)=>{const w=ta(i),g=ta(h),T=w.mainRank-g.mainRank;if(T!==0)return T;const A=w.subRank-g.subRank;return A!==0?A:String(i?.requirementId||"").localeCompare(String(h?.requirementId||""),"zh-CN",{numeric:!0})});function ad(t,i){if(!t?.aiExtractedData)return"";i.setAiExtractedData(t.aiExtractedData),t.uploadedResumeName&&i.setUploadedResumeName(t.uploadedResumeName);const h=Gt(t.previewUrl)||Gt(t.currentParseSession?.filePath);if(h&&i.setPreviewUrl(h),t.schemaVersion===i.snapshotVersion){t.selectedSkillIds&&i.setSelectedSkillIds(t.selectedSkillIds),t.selectedExpIds&&i.setSelectedExpIds(t.selectedExpIds),t.selectedEduIds&&i.setSelectedEduIds(t.selectedEduIds),t.selectedNameIds&&i.setSelectedNameIds(t.selectedNameIds),t.selectedEmailIds&&i.setSelectedEmailIds(t.selectedEmailIds),t.selectedPhoneIds&&i.setSelectedPhoneIds(t.selectedPhoneIds),t.selectedPhotoId!==void 0&&i.setSelectedPhotoId(t.selectedPhotoId),t.selectedCityIds&&i.setSelectedCityIds(t.selectedCityIds),t.selectedLinkIds&&i.setSelectedLinkIds(t.selectedLinkIds),t.selectedSelfIntroIds&&i.setSelectedSelfIntroIds(t.selectedSelfIntroIds),t.selectedJobIntentIds&&i.setSelectedJobIntentIds(t.selectedJobIntentIds),t.selectedJobStatusIds&&i.setSelectedJobStatusIds(t.selectedJobStatusIds),t.selectedIntendedCityIds&&i.setSelectedIntendedCityIds(t.selectedIntendedCityIds),t.selectedIntendedJobTypeIds&&i.setSelectedIntendedJobTypeIds(t.selectedIntendedJobTypeIds),(t.selectedNameIds?.length||t.selectedEmailIds?.length)&&(i.personalInfoSelectionInitRef.current=!0);const W=!!(t.selectedNameIds?.length||t.selectedEmailIds?.length||t.selectedPhoneIds?.length||t.selectedPhotoId!=null||t.selectedCityIds?.length||t.selectedLinkIds?.length||t.selectedSkillIds?.length||t.selectedExpIds?.length||t.selectedEduIds?.length||t.selectedSelfIntroIds?.length||t.selectedJobIntentIds?.length||t.selectedJobStatusIds?.length||t.selectedIntendedCityIds?.length||t.selectedIntendedJobTypeIds?.length);i.extractSelectionSeedRef.current=W?String(t.currentParseSession?.id||"extract"):""}else i.setSelectedSkillIds([]),i.setSelectedExpIds([]),i.setSelectedEduIds([]),i.setSelectedNameIds([]),i.setSelectedEmailIds([]),i.setSelectedPhoneIds([]),i.setSelectedPhotoId(null),i.setSelectedCityIds([]),i.setSelectedLinkIds([]),i.setSelectedSelfIntroIds([]),i.setSelectedJobIntentIds([]),i.setSelectedJobStatusIds([]),i.setSelectedIntendedCityIds([]),i.setSelectedIntendedJobTypeIds([]),i.personalInfoSelectionInitRef.current=!1,i.extractSelectionSeedRef.current="";if(t.aiSuggestions&&i.setAiSuggestions(t.aiSuggestions),t.currentParseSession&&i.setCurrentParseSession(t.currentParseSession),t.currentStep!==void 0&&i.setCurrentStep(i.normalizeStep(t.currentStep,0)),t.activeTab&&i.setActiveTab(i.normalizeActiveTab(t.activeTab)),i.setShowLibrary(!1),t.selectedLibraryResumeName&&i.setSelectedLibraryResumeName(t.selectedLibraryResumeName),t.selectedLibraryResumeId!=null||t.selectedLibraryResumeName)try{const W=Fs();(Number(t.selectedLibraryResumeId)===W.id||t.selectedLibraryResumeName===W.resumeName)&&(i.setSelectedLibraryResume(W),i.setSelectedLibraryResumeName(W.resumeName))}catch{}t.resumeLayoutConfig&&typeof t.resumeLayoutConfig=="object"&&i.setResumeLayoutConfig({...i.defaultResumeLayout,...t.resumeLayoutConfig}),Array.isArray(t.resumeSections)&&t.resumeSections.length>0&&i.setResumeSections(t.resumeSections);const g=t.jdState,T=String(g?.localJdText||t.originalJdText||"").trim();T&&i.setLocalJdText(T);const A=Xt(yr(T)),C=String(t.analysisJdFingerprint||"").trim(),N=t.tabReports&&typeof t.tabReports=="object"?t.tabReports:{};g?.isExtracted&&i.setIsExtracted(!0),g?.inputMode&&i.setInputMode(g.inputMode),g?.urlInput&&i.setUrlInput(g.urlInput),g?.screenshotPreviews?.length&&i.setScreenshots(g.screenshotPreviews.map(W=>({file:null,preview:W})));const _=g?.jobRequirementRoutingPlan||t.jobRequirementRoutingPlan,M=!!(t.__demoQuickResumeShowcaseRestore||$t(t));let ce=null;if(_?.requirements?.length&&!ti(_,T)){const W=Qt(_,T);i.getRoutingPlanValidationErrors(W,T).length===0&&Pn(W,T)?ce=W:M&&
9(ce=Ia(Hn(_),T))}const be=!!(M||A&&C&&ce&&C===A);return be&&Object.keys(N).length?i.setTabReports(N):Object.keys(N).length&&i.setTabReports({}),be&&((t.leftReportView==="overall"||t.leftReportView==="sectional")&&i.setLeftReportView(t.leftReportView),t.overallAnalysisResult&&typeof t.overallAnalysisResult=="object"&&(i.setOverallAnalysisResult(t.overallAnalysisResult),i.setOverallAnalysisStale(!1),i.setOverallAnalysisError(null)),typeof t.overallAnalysisFingerprint=="string"&&(i.overallAnalysisFingerprintRef.current=t.overallAnalysisFingerprint),Array.isArray(t.adoptedSectionKeys)&&i.setAdoptedSectionKeys(new Set(t.adoptedSectionKeys.map(W=>String(W)))),Array.isArray(t.adoptedItemKeys)&&i.setAdoptedItemKeys(new Set(t.adoptedItemKeys.map(W=>String(W)))),t.adoptedCardsBySection&&typeof t.adoptedCardsBySection=="object"&&i.setAdoptedCardsBySection(t.adoptedCardsBySection)),ce?(i.setJobRequirementRoutingPlan(ce),i.setRoutingPlanStatus("ready"),i.setRoutingTabFilter("å
¨é¨"),i.setRoutingPlanErrorDetails([])):_?.requirements?.length&&!M&&(i.setJobRequirementRoutingPlan(null),i.setRoutingPlanStatus("idle"),i.setRoutingPlanErrorDetails([]),i.setTabReports({}),Yt()),g?.localJdText||""}function na(t){try{const i=Gr();i&&(i.tabReports={},i.aiSuggestions=null,i.jobRequirementRoutingPlan=null,i.jdState&&(i.jdState.localJdText=t,i.jdState.jobRequirementRoutingPlan=null),An(i));const h=Sa();h&&(h.localJdText=t,h.jobRequirementRoutingPlan=null,pr(h)),Yt()}catch(i){console.error("Failed to clear quick resume AI session after JD change",i)}}function cd(t){const{enabled:i,buildLiteSnapshot:h,deps:w}=t,g=o.useEffectEvent(()=>{try{An(h())}catch(T){console.warn("Failed to persist quick resume layout snapshot locally",T)}});o.useEffect(()=>{if(!i)return;const T=window.setTimeout(()=>{g()},400);return()=>window.clearTimeout(T)},[i,...w])}function ld(t){const{shellOnly:i,currentStep:h,localJdText:w,tabReports:g,aiSuggestions:T,isAdapting:A,activeScopeRef:C,resetAiArtifacts:N,onJdChangeClearSession:_,adaptBridge:M}=t,[ce,be]=o.useState(()=>zu()),[W,F]=o.useState(()=>Ra());o.useEffect(()=>{if(i||ce)return;let ne=!1;return Mi().then(()=>{ne||be(!0)}),()=>{ne=!0}},[i,ce]),o.useEffect(()=>{if(i||W)return;let ne=!1;return ei().then(()=>{ne||F(!0)}),()=>{ne=!0}},[i,W]);const[D,L]=o.useState(null),se=o.useCallback(ne=>{L(ue=>{const Se=typeof ne=="function"?ne(ue):ne;return Hn(Se)})},[]),[pe,Re]=o.useState("idle"),[Te,Ve]=o.useState("å
¨é¨"),[Ye,re]=o.useState([]),Me=o.useRef(null),de=o.useRef("idle"),Ee=o.useRef(!1),Ce=o.useRef(null),Je=o.useRef(0),V=o.useRef(null),we=o.useRef(0),fe=o.useRef(null),X=o.useRef(""),Be=o.useRef(0),Ue=o.useRef(""),Ae=o.useRef(async()=>!1);o.useEffect(()=>{Me.current=D},[D]),o.useEffect(()=>{de.current=pe},[pe]);const le=o.useMemo(()=>yr(w),[w]),ot=o.useCallback((ne,ue=le)=>{if(!W||!ce)return[];const Se=yr(ue),ke=he().normalizeJobRequirementRoutingPlan(ne,Se)||ne;return[...Y().getSharedRoutingPlanValidationErrors(ne,{jdText:Se,normalizeSubTab:he().normalizeRoutingSubTab,getRequirementText:he().getRoutingRequirementText,isInvalidStandardRequirement:he().isInvalidRoutingStandardRequirement,getStandardValidationError:he().getRoutingStandardValidationError,getKnowledgeSubTabConsistencyReason:Y().getKnowledgeSubTabConsistencyReason,routingDuplicateKey:he().routingDuplicateKey,mainTabOrder:fr,subTabOrder:he().ROUTING_SUB_TAB_ORDER,excludedMainTab:"ä¸è¿å
¥æ¡£æ¡èµäº§",normalizePriority:he().normalizeRoutingPriority,preparePlan:()=>ke,sourceRowsOptions:{unclearSourceText:he().IMPLIED_REQUIREMENT_SOURCE_TEXT,isUnclearSource:he().isUnclearRoutingSource,normalizeEvidence:he().normalizeRoutingEvidence,includeRequirementEvidence:!1}}),...Y().getKnowledgeSkillGranularityValidationErrors(ke,Se)]},[le,W,ce]),Xe=o.useCallback(ne=>ot(ne).length===0,[ot]),kt=pe==="ready"&&Pn(D,le)&&Xe(D),at=o.useMemo(()=>pe!=="ready"||!D?[]:ot(D),[pe,D,ot]);o.useEffect(()=>{if(!(pe!=="ready"||!D)&&at.length!==0){if(C.current==="demo"||$t(D)){console.warn("[QR] keep demo routing plan despite validation noise",at.slice(0,3));return}se(null),Re("idle"),de.current="idle",re(at),Yt()}},[at,pe,D,C,se]);const ie=o.useCallback(()=>{se(null),Re("idle"),Ve("å
¨é¨"),re([]),Yt()},[se]);o.useEffect(()=>{const ne=Xt(le),ue=X.current;X.current=ne,!(!ue||ue===ne||!(Object.keys(g).length>0||D?.requirements?.length||T))&&(N(),ie(),_?.(le))},[T,ie,D,le,_,N,g]),o.useEffect(()=>{if(A||!le.trim()||!!!D?.requirements?.length||Pn(D,le))return;const ue=Ne(D,le);if(ue){se(ue);try{Cn(ue)}catch(ke){console.warn("Failed to persist repaired quick resume routing plan",ke)}return}!ti(D,le)||!(Object.keys(g).length>0||T)||(N(),ie(),_?.(le))},[T,ie,A,D,le,_,N,se,g]);const Oe=W&&ce,me=o.useCallback(ne=>!!ne&&Array.isArray(ne.requirements)&&ne.requirements.length>0&&Xe(ne),[Xe]),_e=o.useCallback((ne,ue=le)=>me(ne)&&Pn(ne,ue),[me,le]),v=o.useCallback(async ne=>{const ue=!!ne?.force,Se=!!ne?.silent,ke=!!ne?.fullBudget||!Se,P=le;if(!P.trim())return z.warning("请å
æåæå½å
¥ JD å
容"),!1;if(ue&&(Be.current=0),!ue&&Ee.current&&V.current){const Pe=Date.now()-we.current;if(Pe<As)return V.current;console.warn("[QR] drop zombie JD routing flight",{age:Pe}),fe.current?.abort(),Ee.current=!1,V.current=null,de.current==="loading"&&(Re("idle"),de.current="idle")}const ve=++Je.current;we.current=Date.now();const je=(Pe,qe="error")=>{Ce.current=Pe,re([Pe]),Re(qe),de.current=qe},De=(async()=>{let Pe;try{Ce.current=null;try{await Promise.all([Mi(),ei()]),be(!0)}catch{return je("JD è·¯ç±å¼æå 载失败ï¼è¯·éè¯"),Se||z.error("JD è·¯ç±å¼æå 载失败ï¼è¯·éè¯"),!1}try{const oe=new AbortController,Le=window.setTimeout(()=>
9oe.abort(),Fl);try{const ut=await fetch("/api/",{method:"GET",cache:"no-store",credentials:"same-origin",signal:oe.signal});ut.ok||console.warn("[QR] backend health probe not ok",ut.status)}finally{window.clearTimeout(Le)}}catch(oe){console.warn("[QR] backend health probe failed; proceeding to JD routing POST",oe?.name||oe),Se||z.warning("åç«¯æ¢æ´»æªæåï¼ä»å°è¯æè§£ JDâ¦")}const qe="quick-resume-ai-adaptation";if(C.current==="demo"){const oe=Me.current??D;if(Array.isArray(oe?.requirements)&&oe.requirements.length>0){const Le=Qt(oe,P)||oe;return se(Le),Me.current=Le,re([]),Cn(Le),Re("ready"),de.current="ready",M.setIsAdapting(!1),M.setStreamStatus("idle"),Ee.current=!1,!0}if(je("ç¤ºä¾æ¨¡å¼ä»
便µè§ï¼è¯·åæ¢å°ãä»
è´¦å·ãåç¨èªå·±ç JD åæè§£","error"),M.setIsAdapting(!1),M.setStreamStatus("idle"),Ee.current=!1,!Se){const{guardDemoOnlyAction:Le}=await rt(async()=>{const{guardDemoOnlyAction:ut}=await import("./promptSwitchToAccountMode-BfdWY4Z3.js");return{guardDemoOnlyAction:ut}},__vite__mapDeps([46,1,2,47,13]));Le("å½å为ä»
ç¤ºä¾æ¨¡å¼ï¼JD æè§£ç»æä»
便µè§ãè¯·åæ¢å°ãä»
è´¦å·ã模å¼ååéæ°æè§£ã")}return!1}Se||(z.destroy(),M.setIsAdapting(!0),M.setStreamStatus("streaming"),M.isPausedRef.current=!1,M.setAiReportActiveTab("overview"),M.aiEngineProgress.start("jdRouting",{maxAttempts:Y().QUICK_RESUME_JD_ROUTING_MAX_ATTEMPTS}),z.loading({key:qe,content:"平尿£å¨æè§£ JD åæ...",duration:0}));const H=()=>{Se||(z.destroy(qe),M.aiEngineProgress.stop())};Ee.current=!0,fe.current?.abort(),fe.current=new AbortController;const Ze=fe.current.signal;let Zt=window.setTimeout(()=>{Je.current===ve&&(console.warn("[QR] JD routing hard timeout, aborting"),fe.current?.abort())},As);Pe=()=>{Zt!=null&&(window.clearTimeout(Zt),Zt=null)};const en=Ge(P),Ji={jdText:P,normalizeSubTab:he().normalizeRoutingSubTab,getRequirementText:he().getRoutingRequirementText,buildFallbackStandard:he().buildRoutingStandardRequirement,normalizeStandardText:he().normalizeRoutingStandardRequirementText,isInvalidStandard:he().isInvalidRoutingStandardRequirement};let et=ue?null:Me.current??D;if(!ue&&et&&!_e(et,P)){const oe=Ne(et,P);oe?(et=oe,se(oe),Me.current=oe,Cn(oe)):ti(et,P)&&(et=null,se(null),Me.current=null,M.setTabReports({}),Re("idle"),de.current="idle",re([]),Yt())}if(ue){N(),ie(),Re("loading"),de.current="loading";try{const oe=Gr();oe&&(delete oe.aiSuggestions,An(oe))}catch(oe){console.error("Failed to clear quick resume AI suggestions",oe)}}if(_e(et,P)){const oe=Qt(et,P);if(oe?.requirements?.length){const Le=ot(oe,P);if(Le.length===0)return et=oe,se(oe),Me.current=oe,re([]),Cn(oe),Re("ready"),de.current="ready",H(),Se||(M.setIsAdapting(!1),M.setStreamStatus("idle"),z.success("已宿 JD ç»æåæè§£ï¼")),Ee.current=!1,!0;if(C.current==="demo"){const ut=Qt(oe,P)||oe;return et=ut,se(ut),Me.current=ut,re([]),Cn(ut),Re("ready"),de.current="ready",H(),Se||(M.setIsAdapting(!1),M.setStreamStatus("idle")),Ee.current=!1,console.warn("[QR] demo routing kept despite validation noise",Le.slice(0,3)),!0}et=null,se(null),Me.current=null,Re("idle"),de.current="idle",re(Le)}}if(C.current==="demo"){if(H(),Ee.current=!1,M.setIsAdapting(!1),M.setStreamStatus("idle"),je("ç¤ºä¾æ¨¡å¼ä»
便µè§ï¼è¯·åæ¢å°ãä»
è´¦å·ãåç¨èªå·±ç JD åæè§£","error"),!Se){const{guardDemoOnlyAction:oe}=await rt(async()=>{const{guardDemoOnlyAction:Le}=await import("./promptSwitchToAccountMode-BfdWY4Z3.js");return{guardDemoOnlyAction:Le}},__vite__mapDeps([46,1,2,47,13]));oe("å½å为ä»
ç¤ºä¾æ¨¡å¼ï¼JD æè§£ç»æä»
便µè§ãè¯·åæ¢å°ãä»
è´¦å·ã模å¼ååéæ°æè§£ã")}return!1}if(!_e(et,P)){Re("loading"),de.current="loading",Ve("å
¨é¨");try{const oe=ke?Y().QUICK_RESUME_JD_ROUTING_STREAM_TIMEOUT_MS:zl,Le=ke?Y().QUICK_RESUME_JD_ROUTING_MAX_ATTEMPTS:Math.min(2,Y().QUICK_RESUME_JD_ROUTING_MAX_ATTEMPTS),ut=wt=>Y().requestJdRoutingPlanWithRetry({jdContent:P,jdMeta:en,signal:Ze,maxAttempts:Le,streamTimeoutMs:oe,beforeReadChunk:async()=>{const ee=Date.now()+2e3;for(;M.isPausedRef.current&&Date.now()<ee&&(await new Promise(ct=>setTimeout(ct,200)),!Ze.aborted););},parseOptions:{originalJdText:P},requestExtra:{isQuickResumeMode:!0,sourceMode:"quickResume",fastMode:!0,skipLlmProviders:wt?.skipLlmProviders},normalizePlan:ee=>he().normalizeJobRequirementRoutingPlan(ee,P),afterNormalize:ee=>Ta(ee,P),validatePlan:ot,recoverPlan:ee=>Y().applyRoutingPlanDeterministicRecovery(ee,P,Ji),parseMarkdownRoutingPlan:he().parseRoutingPlanFromMarkdownTable,onStreamChunk:({streamingText:ee})=>{!M.pageMountedRef.current||Ze.aborted||M.aiEngineProgress.updateJdStreamChunk(ee)},onStreamComplete:()=>{!M.pageMountedRef.current||Ze.aborted||M.aiEngineProgress.setValidating()},onRetry:({attempt:ee,errors:ct})=>{!M.pageMountedRef.current||Ze.aborted||(re(ct),M.aiEngineProgress.setRetry(ee,Le,ct))}});let pt;try{pt=await ut()}catch(wt){const ee=String(wt?.message||"");if(!/è¶
æ¶|ä½é¢ä¸è¶³|502|忢å¤ç¨|æ¥å£ååºå¤±è´¥/i.test(ee)||Ze.aborted)throw wt;Se||(z.loading({key:qe,content:"å½åååºè¾æ
¢ï¼æ£å¨åæ¢å¤ç¨éééè¯â¦",duration:0}),M.aiEngineProgress.start("jdRouting",{maxAttempts:Y().QUICK_RESUME_JD_ROUTING_MAX_ATTEMPTS})),pt=await ut({skipLlmProviders:["deepseek"]})}if(et=Qt(pt.plan,P),!M.pageMountedRef.current||fe.current?.signal!==Ze)return!1;if(se(et),Me.current=et,Re("ready"),de.current="ready",Ve("å
¨é¨"),re([]),Cn(et),H(),!Se){M.setIsAdapting(!1),M.setStreamStatus("idle");const wt=pt.attempts>1?`ï¼å·²èªå¨ä¼å ${pt.attempts} 次ï¼`:"";z.success(`æè§£JDåæå®æ${wt}ï¼å
个模å已解é`)}return!0}catch(oe){if(oe.name==="AbortError"){if(M.pageMountedRef.current){const ee=we.current>0&&Date.now()-we.current>=As-50,ct=Me.current?"ready":ee?"error":"idle";Re(ct),de.current=ct,ee&&je("JD è·¯ç±è¶
æ¶ï¼è¯·ç¹å»ãéæ°æè§£ãæç¨åéè¯æ¬æ¨¡ååæ","error"),Se||(M.setIsAdapting(!1),M.setStreamStatus("idle"),ee&&z.error("JD è·¯ç±è¶
æ¶ï¼è¯·éè¯")),H()}return!1}if(!M.pageMountedRef.current||fe.current?.signal!==Ze)return!1;const Le=Y().flattenAiEngineRetryHistory(M.aiEngineProgress.progress?.retryHistory).map(ee=>Uo(ee)),pt=/failed to fetch|network|ECONNREFUSED/i.test(String(oe.message||""))?["ææ¶æ æ³è¿æ¥æå¡ï¼è¯·ç¨åéè¯"]:[Uo(oe.message,"æè§£JDåæå¤±è´¥")],wt=(Le.length?Le:pt)[0]||"æè§£JDåæå¤±è´¥";return je(wt,"error"),re(Le.length?Le:pt),Se||(z.error(`æè§£JDåæå¤±è´¥ï¼${pt[0]}`),M.setIsAdapting(!1),M.setStreamStatus("idle")),H(),!1}finally{Pe()}}return H(),Se||(M.setIsAdapting(!1),M.setStreamStatus("idle")),!0}finally{Pe?.(),Je.current===ve&&(Ee.current=!1,V.current===De&&(V.current=null))}})();return V.current=De,De},[C,M,ie,ot,_e,D,le,N,se]);Ae.current=v;const Ct=o.useCallback(()=>{fe.current?.abort(),Ee.current=!1,V.current=null,de.current==="loading"&&(Re("idle"),de.current="idle")},[]);return o.useEffect(()=>{if(h!==1||!le.trim()||kt||pe==="loading"||Ee.current||pe==="error")return;if(C.current==="demo"){Array.isArray(D?.requirements)&&D.requirements.length>0&&pe!=="ready"&&(Re("ready"),de.current="ready");return}const ne=Xt(le);if(Ue.current!==ne&&(Ue.current=ne,Be.current=0),Be.current>=2)return;let ue=!1,Se=null,ke=null;const P=()=>{ue||Ee.current||de.current==="loading"||(Be.current+=1,Ae.current({silent:!0}))};return typeof window<"u"&&"requestIdleCallback"in window?Se=window.requestIdleCallback(P,{timeout:2500}):ke=window.setTimeout(P,600),()=>{ue=!0,Se!=null&&"cancelIdleCallback"in window&&window.cancelIdleCallback(Se),ke!=null&&window.clearTimeout(ke)}},[C,h,kt,D,le,pe]),{jobRequirementRoutingPlan:D,setJobRequirementRoutingPlan:se,routingPlanStatus:pe,setRoutingPlanStatus:Re,routingTabFilter:Te,setRoutingTabFilter:Ve,routingPlanErrorDetails:Ye,setRoutingPlanErrorDetails:re,routingLastFailureRef:Ce,routingStackReady:ce,setRoutingStackReady:be,routingPlanLocalReady:W,routingHelpersReady:Oe,isRoutingPlanReady:kt,staleRoutingValidationErrors:at,normalizedLocalJdText:le,jobRequirementRoutingPlanRef:Me,routingPlanStatusRef:de,routingRequestInFlightRef:Ee,routingInFlightPromiseRef:V,abortJdRoutingFlight:Ct,handleJdRoutingPlanQuickResumeRef:Ae,silentRoutingAttemptsRef:Be,getRoutingPlanValidationErrors:ot,validateRoutingPlan:Xe,hasValidRoutingPlan:me,hasTrustedRoutingPlan:_e,handleJdRoutingPlanQuickResume:v,clearRoutingStateForNewJd:ie,prevJdFingerprintRef:X,silentRoutingJdKeyRef:Ue}}function ud(t){return t.userReset?!1:t.mode==="account"&&!t.restoredFromLocal}function dd(t){if(t.localHasExtract)return!1;const i=t.remote?.snapshot;return!(!i?.aiExtractedData||vn(i))}function md(t){return t.localHasExtract?{type:"noop"}:t.libraryCached?.aiExtractedData&&Wr(t.libraryCached)?{type:"restore-cache",source:"library",snap:t.libraryCached}:t.mode==="demo"&&t.showcaseCached?.aiExtractedData&&vn(t.showcaseCached)?{type:"restore-cache",source:"showcase",snap:t.showcaseCached}:{type:"noop"}}function ra(t){return t==="unauthorized"?"äºç«¯ä¼è¯æªææï¼401ï¼ï¼å·²ä¿çæ¬å°å·¥ä½å°ï¼æªæ¸
空顶æ ã":t==="empty"?"äºç«¯æ å¯ç¨ä¼è¯å¿«ç
§ï¼å·²ä¿çæ¬å°å·¥ä½å°ã":"äºç«¯ä¼è¯æ¢å¤å¤±è´¥ï¼å·²ä¿çæ¬å°å·¥ä½å°ã"}async function pd(t,i,h){const w=Math.max(1,Math.min(i,t.length||1)),g=new Array(t.length);let T=0;async function A(){for(;T<t.length;){const C=T;T+=1,g[C]=await h(t[C],C)}}return await Promise.all(Array.from({length:w},()=>A())),g}const gn=[];let qi=!1,Vr=null,Yr=null,Xr=0;function xa(){Vr!=null&&typeof window<"u"&&"cancelIdleCallback"in window&&window.cancelIdleCallback(Vr),Vr=null,Yr!=null&&clearTimeout(Yr),Yr=null}function Ea(t,i){if(xa(),typeof window<"u"&&"requestIdleCallback"in window){Vr=window.requestIdleCallback(()=>t(),{timeout:i});return}Yr=window.setTimeout(t,Math.min(i,120))}function Ca(){if(qi)return;const t=gn.shift();if(!t)return;const i=Xr;qi=!0;try{if(i!==Xr)return;t.run()}catch(h){console.warn("[qr-idle]",t.id,h)}finally{qi=!1,i===Xr&&gn.length&&Ea(Ca,Math.max(48,Math.min(t.timeout,240)))}}function Ls(t,i,h){if(typeof window>"u")return;const w=h?.timeout??2e3,g=gn.findIndex(C=>C.id===t),T={id:t,run:i,timeout:w};if(g>=0?gn[g]=T:gn.push(T),qi||Vr!=null||Yr!=null)return;const A=gn.reduce((C,N)=>Math.min(C,N.timeout),w);Ea(Ca,A)}function Js(t){const i=gn.findIndex(h=>h.id===t);i>=0&&gn.splice(i,1)}function ia(){Xr+=1,gn.length=0,xa()}function sa(){return Xr}const fd=o.lazy(()=>rt(()=>import("./PersonalArchiveLibraryModule-BzH_2v1t.js").then(t=>t.a),__vite__mapDeps([72,2,1,73,13,22,23,74,75,11,34])).then(t=>({default:t.default??t.PersonalArchiveLibraryModule})));function gd(){return k.jsx("div",{style:{padding:"20px 16px",color:"#86868b",fontSize:13},"aria-busy":!0,"aria-label":"个人档æ¡åºå è½½ä¸",children:"个人档æ¡åºå è½½ä¸â¦"})}function bd(t){if(!t||typeof t!="object")return null;
9const i=t.experience&&typeof t.experience=="object"?t.experience:{};return{basicInfo:t.basicInfo??null,skills:Array.isArray(t.skills)?t.skills:null,experience:{companies:Array.isArray(i.companies)?i.companies:Array.isArray(t.companies)?t.companies:[],projects:Array.isArray(i.projects)?i.projects:Array.isArray(t.projects)?t.projects:[],workExps:Array.isArray(i.workExps)?i.workExps:Array.isArray(t.workExps)?t.workExps:Array.isArray(t.experiences)?t.experiences:[]},education:Array.isArray(t.education)?t.education:null,selfIntro:Array.isArray(t.selfIntro)?t.selfIntro:Array.isArray(t.selfIntros)?t.selfIntros:null,intent:t.intent??null}}function hd({mode:t="archive",fullData:i,sessionExtract:h=null,onSessionExtractUpdate:w,selection:g,onSelectionChange:T,activeTab:A,onTabChange:C,headerExtraActions:N,contentKey:_,onRecognize:M,onClearBase:ce,className:be,headerTitle:W}){const F=o.useMemo(()=>t==="extract"&&!h?"archive":t,[t,h]);return k.jsx("div",{className:`qr-archive-match-embed profile-mgmt-page--mono${be?` ${be}`:""}`,style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:k.jsx(o.Suspense,{fallback:k.jsx(gd,{}),children:k.jsx(fd,{mode:F,fullData:i,sessionExtract:F==="extract"?h:null,onSessionExtractUpdate:w,selection:F==="select"?g:void 0,onSelectionChange:F==="select"?T:void 0,activeTab:A,onTabChange:C,onRecognize:M||(()=>{}),hideRecognizeAction:!0,onClearBase:ce,headerExtraActions:N,headerTitle:W,contentKey:_,style:{minHeight:0,overflow:"hidden",flex:1}})})})}function yd(){const[t,i]=o.useState(!0),[h,w]=o.useState(null),[g,T]=o.useState(!1),[A,C]=o.useState(!1),[N,_]=o.useState(null),[M,ce]=o.useState(()=>
9Qu()),[be,W]=o.useState(!1),[F,D]=o.useState("overall"),[L,se]=o.useState(()=>fu()),[pe,Re]=o.useState(!1),[Te,Ve]=o.useState("sectional"),[Ye,re]=o.useState(null),Me=o.useRef(()=>{}),de=o.useRef(""),Ee=o.useCallback((V="overall")=>{D(V),W(!0)},[]),Ce=o.useCallback(V=>{re(we=>V==null?we==null?we:null:we&&we.label===V.label&&we.loading===V.loading?(Me.current=V.onClick,we):(Me.current=V.onClick,{label:V.label,loading:V.loading,onClick:()=>Me.current()}))},[]),Je=o.useCallback(V=>{!h||!de.current||de.current!==V&&C(!0)},[h]);return{jdAnalysisPanelExpanded:t,setJdAnalysisPanelExpanded:i,overallAnalysisResult:h,setOverallAnalysisResult:w,overallAnalysisLoading:g,setOverallAnalysisLoading:T,overallAnalysisStale:A,setOverallAnalysisStale:C,overallAnalysisError:N,setOverallAnalysisError:_,scoringConfig:M,setScoringConfig:ce,scoringRulesEditorOpen:be,setScoringRulesEditorOpen:W,scoringRulesHubTab:F,setScoringRulesHubTab:D,openScoringRulesHub:Ee,decisionDimensionWeightsByTab:L,setDecisionDimensionWeightsByTab:se,decisionSectionalRulesOpen:pe,setDecisionSectionalRulesOpen:Re,leftReportView:Te,setLeftReportView:Ve,moduleAnalysisControls:Ye,setModuleAnalysisControlsStable:Ce,overallAnalysisFingerprintRef:de,syncOverallAnalysisStale:Je}}const Ur={personalInfo:"个人信æ¯",skills:"ç¥è¯æè½",experience:"å·¥ä½ç»éª",education:"æè²ç»å",selfIntro:"èªæä»ç»",jobIntent:"æ±èæå"},oa={个人信æ¯:"personalInfo",ç¥è¯æè½:"skills",å·¥ä½ç»éª:"experience",æè²ç»å:"education",èªæä»ç»:"selfIntro",æ±èæå:"jobIntent"};function Rd(t,i){const h=Array.isArray(t?.rows)?t.rows:[],w=String(i?.assetRefId||"").trim(),g=Array.isArray(i?.requirementIds)?i.requirementIds.map(String):[],T=h.filter(A=>{const C=Array.isArray(A?.assetRefs)?A.assetRefs:[];return w&&C.some(N=>String(N?.assetRefId||"")===w)?!0:g.includes(String(A?.requirementId||""))});return{mainTab:t?.mainTab,module:t?.module,rows:T.length>0?T:h.slice(0,1)}}function Sd(t){return{tabName:t.tabName,jdContent:String(t.jdText||"").slice(0,3500),jdMeta:t.jdMeta||{},isQuickResumeMode:!0,sourceMode:"quickResume",moduleHcpPlan:Rd(t.moduleHcpPlan,t.cardGenerationRequest),cardGenerationRequest:t.cardGenerationRequest,candidateOriginalAssetIds:t.candidateOriginalAssetIds||[]}}const kd=t=>{const i=String(t?.assetType||"");return/ä¿®æ¹|æ´æ¹|æ°å¢|æ°å»º/.test(i)},wd=t=>{const i=Array.isArray(t?.rows)?t.rows:[],h=[],w=new Set;return i.forEach(g=>{const T=String(g?.requirementId||g?.JDæ¡ç®ID||"").trim();(Array.isArray(g?.assetRefs)?g.assetRefs:[]).filter(kd).forEach(C=>{const N=String(C?.assetRefId||"").trim(),_=String(C?.actionCardId||"").trim();if(!N||!_)return;const M=`${N}::${_}`;if(w.has(M))return;w.add(M);const ce=Array.isArray(C?.coveredRequirementIds)?C.coveredRequirementIds.map(String).filter(Boolean):[],be=ce.length?ce:T?[T]:[];h.push({requestId:`CGR-${N}`,assetRefId:N,actionCardId:_,requirementIds:be,actionType:/æ°å¢|æ°å»º/.test(String(C?.assetType||""))?"æ°å»º":"æ´æ¹",assetType:C?.assetType||"",assetModule:C?.assetModule||"",assetId:C?.assetId,assetName:C?.assetName||C?.title||"",targetMainTab:C?.assetTargetMainTab||C?.targetMainTab||g?.mainTab||"",targetSubTab:C?.assetTargetSubTab||C?.targetSubTab||g?.subTab||""})})}),h};function Id(){const[t,i]=o.useState(!1),[h,w]=o.useState("idle"),g=o.useRef(null),T=o.useRef(!1),A=o.useRef(null),C=o.useRef(null),N=o.useCallback(async(W,F)=>{const D=C.current;if(!D)return;if(D.activeScopeRef.current==="demo"||Qe()==="demo"){const{guardDemoOnlyAction:Ce}=await rt(async()=>{const{guardDemoOnlyAction:Je}=await import("./promptSwitchToAccountMode-BfdWY4Z3.js");return{guardDemoOnlyAction:Je}},__vite__mapDeps([46,1,2,47,13]));Ce("å½å为ä»
ç¤ºä¾æ¨¡å¼ï¼å³çæ¥åä»
便µè§ãè¯·åæ¢å°ãä»
è´¦å·ã模å¼ååè¿è¡åæã");return}if(!W){await D.handleJdRoutingPlanQuickResume({force:F?.forceRouting});return}const L=D.normalizedLocalJdText;if(!L.trim()){z.warning("请å
æåæå½å
¥ JD å
容");return}D.syncProfileTabForReportTab(W);const se=D.jobRequirementRoutingPlanRef.current??D.jobRequirementRoutingPlan,pe=Array.isArray(se?.requirements)&&se.requirements.length>0,Re=D.hasTrustedRoutingPlan(se,L);if(!Re&&!(F?.allowUntrustedPlan&&pe)){z.warning("请å
æè§£ JD åæï¼åçæè¯¥æ¨¡å");return}const Te="quick-resume-ai-adaptation";i(!0),w("streaming"),T.current=!1,D.aiEngineProgress.setModulePlanning(Ur[W]||W),z.loading({key:Te,content:F?.allowUntrustedPlan&&!
9Re?"æ£å¨å¿«éçæå稿â¦":"AI æ£å¨åææ¬æ¨¡åâ¦",duration:0}),await $s();const Ve=()=>{z.destroy(Te),D.aiEngineProgress.stop()};g.current?.abort(),g.current=new AbortController;const Ye=g.current.signal,re=Ge(L),Me=[W],de={...D.tabReports};Me.forEach(Ce=>de[Ce]=`> **ð AI æ£å¨å ¨éæè§£ [${Ce}]ï¼è¯·ç¨å...** 10 11`);const Ee={...de};D.setTabReports(de);try{const Ce=D.buildEffectiveQuickResumeProfileData(),Je=Qt(se,L),V=W?sd(Je,W):void 0,we={jdContent:L,skills:D.quickResumeAdaptationSkills,experiences:D.quickResumeExperienceLibrary,profileData:Ce,selfIntros:[...Array.isArray(D.profileData?.selfIntros)?D.profileData.selfIntros:[],...Array.isArray(D.aiExtractedData?.selfIntro)?D.aiExtractedData.selfIntro:[]],educations:Array.isArray(D.aiExtractedData?.education)?D.aiExtractedData.education:[],jobIntents:D.aiExtractedData?.intent?.positions||[],jobStatuses:D.aiExtractedData?.intent?.status||[],intendedCities:D.aiExtractedData?.intent?.cities||[],intendedJobTypes:D.aiExtractedData?.intent?.intendedJobTypes||[],jobRequirementRoutingPlan:Je,jdMeta:re,isQuickResumeMode:!0,sourceMode:"quickResume"};V?.length&&(we.currentTabRequirementIds=V);const fe=Me.map(async X=>{const Be={...we,tabName:X};try{const Ue=await Wt("/api/assembly-info/ai-adaptation/report/tab-plan-deterministic",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Be),signal:Ye});if(!Ue.ok){const P=await Ue.text().catch(()=>"");throw new Error(`${X} deterministic plan failed: ${P||Ue.status}`)}const Ae=await Ue.json();if(!Ae?.moduleHcpPlan)throw new Error(Ae?.error||`${X} deterministic plan missing moduleHcpPlan`);if(!Array.isArray(Ae.moduleHcpPlan.rows)||Ae.moduleHcpPlan.rows.length===0)throw new Error(Ae?.error||`${Ur[X]||X} æªåé å°å¯çæè¡ï¼è¯·æ£æ¥ JD åæåé æ¯å¦å å«è¯¥æ¨¡å`);Ae.ok===!1&&z.warning(`AI å·²çæ ${Ur[X]||X} 计åï¼ä½å卿 ¡éªåè¦ï¼è¯·æ ¸å¯¹ååé纳`);let le=Ae.moduleHcpPlan;
11const ot={schemaVersion:Ae.schemaVersion||"ai-profile-customization/v1",generationMode:Ae.generationMode||"deterministic_plan_v1",targetTab:Ae.targetTab,candidateOriginalAssetIds:Ae.candidateOriginalAssetIds||[],moduleHcpPlan:le,cardGenerationRequests:Ae.cardGenerationRequests||[],actionCards:[],renderHints:Ae.renderHints||{}},Xe=`\`\`\`json 12${JSON.stringify(ot,null,2)} 13\`\`\``;Ee[X]=Xe,D.setTabReports(P=>({...P,[X]:Xe}));const kt=Array.isArray(Ae.cardGenerationRequests)?Ae.cardGenerationRequests:[],at=kt.length>0?[]:wd(le),ie=kt.length>0?kt:at,Oe=5,me=new Array(ie.length).fill(null),_e=[],v=P=>{const ve=String(P?.actionType||P?.assetType||P?.action||"");return/ä¿®æ¹|æ´æ¹|UPDATE/i.test(ve)?!1:/æ°å¢|æ°å»º|CREATE/i.test(ve)},Ct=P=>{if(g.current?.signal.aborted)return;const ve=me.filter(Boolean),je={...ot,generationMode:P,actionCards:ve,cardGenerationRequests:ie,cardErrors:_e},De=`\`\`\`json 14${JSON.stringify(je,null,2)} 15\`\`\``;Ee[X]=De,D.setTabReports(Pe=>({...Pe,[X]:De}))},ne=async(P,ve)=>{if(g.current?.signal.aborted)return;const je=P?.subTab||P?.fieldName||P?.assetName||P?.targetSubTab;if(D.aiEngineProgress.setCardProgress(Ur[X]||X,ve+1,ie.length,typeof je=="string"?je:void 0),X==="personalInfo"){const qe=Y().buildPersonalInfoFallbackActionCard(P,le,he().PERSONAL_INFO_ROUTING_REQUIREMENT_ID_TO_SUB_TAB);qe?me[ve]=qe:_e.push({request:P,error:"personalInfo fallback empty"});return}if(X==="skills"&&v(P)){const qe=Y().buildKnowledgeSkillFallbackActionCard(P,le);qe?me[ve]=qe:_e.push({request:P,error:"skills create fallback empty"});return}let De="";if(g.current?.signal.aborted)return;const Pe=await Wt("/api/assembly-info/ai-adaptation/report/tab-card",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Sd({tabName:X,jdText:L,jdMeta:re,moduleHcpPlan:le,cardGenerationRequest:P,candidateOriginalAssetIds:Ae.candidateOriginalAssetIds||[]})),signal:Ye});if(!Pe.ok)De=`HTTP ${Pe.status}`;else{const qe=await Pe.json().catch(()=>null);qe?.ok&&qe.actionCard?(me[ve]=qe.actionCard,De=""):De=qe?.error||"actionCard generation failed"}if(De){const qe=X==="education"?he().buildQuickResumeEducationFallbackActionCard(P,le,D.aiExtractedData?.education||[]):X==="selfIntro"?B().buildSelfIntroFallbackActionCard(P,le,re?.jobTitle||Ge(L).jobTitle||""):X==="jobIntent"?B().buildJobIntentFallbackActionCard(P,le):X==="skills"?Y().buildKnowledgeSkillFallbackActionCard(P,le):null;qe?me[ve]=qe:_e.push({request:P,error:De})}};if(X==="personalInfo"){for(let P=0;P<ie.length&&!g.current?.signal.aborted;P+=1)await ne(ie[P],P);Ct("two_stage_v1")}else if(X==="skills"){const P=[],ve=[];ie.forEach((je,De)=>{v(je)?P.push(De):ve.push(De)});for(const je of P){if(g.current?.signal.aborted)break;await ne(ie[je],je)}Ct("two_stage_local_create_v1");for(let je=0;je<ve.length&&!g.current?.signal.aborted;je+=Oe){const De=ve.slice(je,je+Oe);await Promise.allSettled(De.map(Pe=>ne(ie[Pe],Pe))),Ct("two_stage_v1")}}else for(let P=0;P<ie.length&&!g.current?.signal.aborted;P+=Oe){const ve=ie.slice(P,P+Oe),je=await Promise.allSettled(ve.map((De,Pe)=>ne(De,P+Pe)));Ct("two_stage_v1")}const ue=me.filter(Boolean),Se={...ot,generationMode:"two_stage_v1",actionCards:ue,cardGenerationRequests:ie,cardErrors:_e},ke=`\`\`\`json 16${JSON.stringify(Se,null,2)} 17\`\`\``;Ee[X]=ke,D.setTabReports(P=>({...P,[X]:ke})),_e.length>0&&z.warning(`AI å·²çæ ${X} 计åï¼ä½æ ${_e.length} å¼ å¡ççæå¤±è´¥ï¼å¯éæ°çæè¯¥æ¨¡å`)}catch(Ue){if(Ue.name==="AbortError"){D.setTabReports(ie=>{const Oe=String(ie[X]||"");if(!/AI æ£å¨å ¨éæè§£/.test(Oe))return ie;const me={...ie};return delete me[X],me});return}const Ae=Ue?.message||"ç½ç»æçæé误ï¼è¯·éè¯",le=Ur[X]||X;if(console.error(`[QuickResume] ${le} generation failed`,Ue),/ECONNREFUSED|fetch failed|Failed to fetch|NetworkError|ERR_CONNECTION/i.test(Ae)){z.error(`${le}çæå¤±è´¥ï¼æå¡æªè¿æ¥ï¼è¯·ç¡®è®¤å端(5173)ä¸å端(3001)åå·²å¯å¨åéè¯`),D.setTabReports(ie=>{const Oe=String(ie[X]||""),me={...ie};return(!Oe||/AI æ£å¨å ¨éæè§£/.test(Oe))&&delete me[X],me}),delete Ee[X];return}z.error(`${le}çæå¤±è´¥ï¼${Ae}`);const Xe=X==="personalInfo"?he().buildQuickResumePersonalInfoFallbackModulePlan(Ce):{mainTab:le,rows:[]},at=`\`\`\`json
18${JSON.stringify({schemaVersion:"ai-profile-customization/v1",generationMode:"deterministic_plan_error",targetTab:le,moduleHcpPlan:Xe,validation:{status:"error",issues:[{code:"QUICK_TAB_GENERATION_ERROR",message:Ae}]},cardGenerationRequests:[],actionCards:[],renderHints:{}},null,2)} 19\`\`\``;Ee[X]=at,D.setTabReports(ie=>({...ie,[X]:at}))}});await Promise.allSettled(fe),await D.persistQuickResumeSnapshot(D.buildQuickResumeSnapshot({tabReports:Ee}),{persistRemote:!0})}catch(Ce){Ce.name!=="AbortError"&&console.error("[AI Concurrent Error]",Ce)}finally{Ve(),g.current?.signal.aborted||(i(!1),w("idle"))}},[]),_=o.useCallback(W=>{const F=oa[W];F&&N(F)},[N]),M=o.useCallback(async W=>{const F=C.current;if(!F)return;if(F.activeScopeRef.current==="demo"||Qe()==="demo"){const{guardDemoOnlyAction:Te}=await rt(async()=>{const{guardDemoOnlyAction:Ve}=await import("./promptSwitchToAccountMode-BfdWY4Z3.js");return{guardDemoOnlyAction:Ve}},__vite__mapDeps([46,1,2,47,13]));Te("å½åä¸ºä» ç¤ºä¾æ¨¡å¼ï¼å³çæ¥åä» ä¾æµè§ãè¯·åæ¢å°ãä» è´¦å·ã模å¼ååè¿è¡åæã");return}const D=W||F.aiReportActiveTab;if(D==="overview"){z.warning("请å éæ©ä¸ä¸ªå ·ä½æ¨¡åè¿è¡æè§£");return}const L=F.normalizedLocalJdText;if(!L.trim()){z.warning("è¯·å æåæå½å ¥ JD å 容");return}const se=oa[D]||D,pe="quick-resume-ai-adaptation";i(!0),w("streaming"),T.current=!1,z.loading({key:pe,content:"æ£å¨å夿¬æ¨¡ååæâ¦",duration:0}),await $s();const Re=Te=>{z.destroy(pe),i(!1),w("idle"),F.aiEngineProgress.stop(),Te&&z.warning(Te)};try{const Te=F.jobRequirementRoutingPlanRef.current??F.jobRequirementRoutingPlan,Ve=F.activeScopeRef.current==="demo",Ye=!!(F.isDemoAnalysisShortCircuit?.()||Ve);let re=F.routingPlanStatusRef.current==="ready"&&!!Te&&F.hasTrustedRoutingPlan(Te,L);if(!re&&Ye&&Array.isArray(Te?.requirements)&&Te.requirements.length>0&&(F.routingPlanStatusRef.current="ready",F.setRoutingPlanStatus?.("ready"),re=!0),Ye){let Je=String(F.tabReports?.[se]||F.tabReports?.[D]||"").trim();if(!Je||/AI æ£å¨å ¨éæè§£/.test(Je))try{const{buildDemoQuickResumeShowcaseSnapshot:V}=await rt(async()=>{const{buildDemoQuickResumeShowcaseSnapshot:X}=await import("./demoQuickResumeShowcase-PfBsrRkM.js");return{buildDemoQuickResumeShowcaseSnapshot:X}},__vite__mapDeps([76,77,43,1,2,34,42])),we=V(),fe=we?.tabReports&&typeof we.tabReports=="object"?we.tabReports:{};Object.keys(fe).length>0&&(F.setTabReports({...F.tabReports,...fe}),Je=String(fe[se]||fe[D]||"").trim())}catch(V){console.warn("[QR] demo module short-circuit hydrate failed",V)}if(Je&&!/AI æ£å¨å ¨éæè§£/.test(Je)){z.destroy(pe),i(!1),w("idle"),F.setAiReportActiveTab(D),F.syncProfileTabForReportTab(D),z.success("å·²è½½å ¥ç¤ºä¾å稿ï¼å¯ç´æ¥æ ¸å¯¹ä¸éç¨");return}if(Ve&&!re){Re("示ä¾è·¯ç±æªå°±ç»ªï¼è¯·å·æ°åéè¯");return}}if(!re&&!(Array.isArray(Te?.requirements)&&Te.requirements.length>0)&&(F.routingPlanStatusRef.current==="loading"||F.routingRequestInFlightRef.current)){const V=F.routingInFlightPromiseRef?.current;if(V){z.loading({key:pe,content:"æ£å¨åå¤å稿â¦",duration:0});const we=await Promise.race([V.then(fe=>({ok:fe,timedOut:!1})),new Promise(fe=>{window.setTimeout(()=>fe({ok:!1,timedOut:!0}),Hl)})]);!we.timedOut&&!we.ok&&(F.routingRequestInFlightRef.current=!1)}}try{Ra()||await ei()}catch{}const Me=F.jobRequirementRoutingPlanRef.current??F.jobRequirementRoutingPlan,de=id(Me,L,D);F.jobRequirementRoutingPlanRef.current=de,F.setJobRequirementRoutingPlan?.(de);const Ee=F.hasTrustedRoutingPlan(de,L),Ce=!Ee||Li(de);F.setAiReportActiveTab(D),F.syncProfileTabForReportTab(D),z.loading({key:pe,content:Ce?"æ£å¨å¿«éçæå稿â¦":"AI æ£å¨åææ¬æ¨¡åâ¦",duration:0}),!Ye&&!F.routingRequestInFlightRef.current&&!Ee&&F.handleJdRoutingPlanQuickResume({silent:!0,fullBudget:!0}),await N(se,Ce?{allowUntrustedPlan:!0}:void 0);return}catch(Te){console.error("[QR module analysis gate]",Te),Re("æ¬æ¨¡ååæå¤±è´¥ï¼è¯·ç¨åéè¯")}},[N]),ce=o.useRef(M);ce.current=M;const be=o.useCallback(W=>ce.current(W),[]);return{isAdapting:t,setIsAdapting:i,streamStatus:h,setStreamStatus:w,adaptAbortController:g,isPau
19sedRef:T,resumeResolverRef:A,adaptDepsRef:C,handleAiAdaptation:N,handleAiAdaptationForTab:_,handleGenerateTabWithRoutingGate:M,handleGenerateTabWithRoutingGateRef:ce,stableGenerateTabWithRoutingGate:be}}const nt=Object.freeze([]);function fn(t,i){if(i.reset)return t.current=i.empty,i.empty;if(!i.active)return t.current;const h=i.compute();return t.current=h,h}const Td={个人信æ¯:"personalInfo",ç¥è¯æè½:"skills",å·¥ä½ç»éª:"experience",æè²ç»å:"education",èªæä»ç»:"selfIntro",æ±èæå:"jobIntent"},aa=[];function xd(t){const{decisionRuntimeReady:i,currentStep:h=1,aiReportActiveTab:w,tabReports:g,normalizedLocalJdText:T,jobRequirementRoutingPlan:A,displayRoutingPlan:C,decisionProfileCards:N,getNormalizedPlanByModule:_,getQuickResumeTabGenerationState:M}=t,ce=o.useRef(aa),be=o.useRef(new Map);return o.useMemo(()=>fn(ce,{active:h===1,reset:!i,empty:aa,compute:()=>{const W=w==="overview"?"ç¥è¯æè½":w,F=Td[W]||"",D=_(W),L=F?String(g[F]||""):"";let se=null;if(F&&L){const re=be.current.get(F);re&&re.source===L&&re.jd===T?se=re.parsed:(se=Y().parseAiReportMarkdown(L,{originalJdText:T}),be.current.set(F,{source:L,jd:T,parsed:se}))}const pe=F?M(W):"idle",Re=pe==="loading"?"loading":pe==="error"?"error":g[F]?"ready":"idle",Te=Ge(T),Ve=Ne(A,T)||Ne(C,T),Ye=Ni({companyName:Ve?.jdMeta?.companyName||Te.companyName,jdText:T});return B().buildDecisionReportSections(W,{routingPlan:Ve,modulePlan:D,planStatus:Re,jobTitle:Te.jobTitle,companyName:Ye,profileCards:N,actionCards:Array.isArray(se?.actionCards)?se.actionCards:[],jdText:T})}}),[w,h,N,i,C,_,M,A,T,g])}function Ed(t){const i=o.useRef(null),h=o.useRef(0),w=o.useCallback(()=>{h.current+=1,i.current=null},[]);return{hydrateDemoQuickResumeShowcase:o.useCallback(async()=>{const T=t.current;if(!T||Qe()==="account")return null;if(i.current)return i.current;T.activeScopeRef.current="demo";const A=h.current,C=(async()=>{const{buildDemoQuickResumeShowcaseSnapshot:N}=await rt(async()=>{const{buildDemoQuickResumeShowcaseSnapshot:W}=await import("./demoQuickResumeShowcase-PfBsrRkM.js");return{buildDemoQuickResumeShowcaseSnapshot:W}},__vite__mapDeps([76,77,43,1,2,34,42]));if(A!==h.current||T.activeScopeRef.current!=="demo"||Qe()==="account")return null;const _=N();if(A!==h.current||T.activeScopeRef.current!=="demo"||Qe()==="account")return null;T.restoreQuickResumeSnapshot(_);const M=Fs();T.setSelectedLibraryResume(M),T.setSelectedLibraryResumeName(M.resumeName),T.setUploadedResumeName(null),T.setUploadedFile(null),T.setPreviewUrl(null),T.setLocalJdText(_.jdState.localJdText),T.setIsExtracted(!0),T.setInputMode("content"),T.setUrlInput(""),T.setScreenshots([]);const ce=Number(_.currentStep),be=Number.isFinite(ce)?Math.max(0,Math.min(2,Math.trunc(ce))):1;T.setCurrentStep(be),T.setMountedSteps([be]),_.activeTab&&T.setActiveTab(T.normalizeQuickResumeActiveTab(_.activeTab)),T.sessionCacheRef.current.demo=_,T.setChromeInputs?.({jdText:String(_.jdState?.localJdText||""),resumeName:M.resumeName||null,resumeSource:M.resumeName?"library":null});try{T.activeScopeRef.current==="demo"&&Qe()!=="account"&&(An(_),pr(_.jdState),_.jobRequirementRoutingPlan?.requirements?.length?Cn(_.jobRequirementRoutingPlan):Yt())}catch(W){console.warn("Failed to persist demo quick resume showcase",W)}return _})();return i.current=C.finally(()=>{i.current===C&&(i.current=null)}),i.current},[t]),invalidateDemoHydrate:w,demoHydrateGenRef:h,demoHydratePromiseRef:i}}function Cd(t){const{currentParseSession:i,aiExtractedData:h}=t;return i?.source==="demo_library"||String(i?.id||"").startsWith("demo-resume-")||$t({currentParseSession:i,aiExtractedData:h})}const ca={names:[],emails:[],phones:[],photos:[],cities:[],links:[],detail:{},skills:[],experiences:[],companies:[],projects:[],educations:[],selfIntros:[]};function Ad(t){return t==="account"?"account":"demo"}function vd(t){return{applyDemoWorkbenchMode:o.useCallback(h=>{const w=t.current;if(!w)return;const g=Ad(h),T=w.sessionCacheRef.current[g],A=_=>{const M=Number.isFinite(_)?Math.max(0,Math.min(2,Math.trunc(_))):0;w.setCurrentStep(M),w.setMountedSteps([M])};if(g==="demo"){if(T?.aiExtractedData&&!w.isStaleDemoQuickResumeShowcaseCache(T)){
19w.setMountedSteps([]),w.restoreQuickResumeSnapshot(T);const _=Number(T.currentStep);A(Number.isFinite(_)?_:1),T.activeTab&&w.setActiveTab(w.normalizeQuickResumeActiveTab(T.activeTab)),w.activeScopeRef.current="demo",w.setChromeInputs?.({jdText:String(T.jdState?.localJdText||""),resumeName:T.selectedLibraryResumeName||null,resumeSource:T.selectedLibraryResumeName?"library":null});return}w.setMountedSteps([]),A(1),w.setActiveTab("skills"),w.activeScopeRef.current="demo",w.hydrateDemoQuickResumeShowcase();return}w.invalidateDemoHydrate();const C={currentParseSession:w.currentParseSessionRef.current,aiExtractedData:w.aiExtractedDataRef.current};(vn(C)||vn(T))&&(w.setChromeInputs?.({jdText:"",resumeName:null,resumeSource:null}),w.sessionCacheRef.current.account=En,w.clearQuickResumeWorkbenchState(),w.setProfileData({...ca}));const N=w.sessionCacheRef.current.account;if(N?.aiExtractedData&&!vn(N)){w.setMountedSteps([]),w.restoreQuickResumeSnapshot(N);const _=Number(N.currentStep);A(Number.isFinite(_)?_:0),N.activeTab&&w.setActiveTab(w.normalizeQuickResumeActiveTab(N.activeTab)),w.activeScopeRef.current="account",w.setChromeInputs?.({jdText:String(N.jdState?.localJdText||""),resumeName:N.selectedLibraryResumeName||N.uploadedResumeName||null,resumeSource:N.selectedLibraryResumeName?"library":N.uploadedResumeName?"local":null});return}if(Wr(C)&&C.aiExtractedData){w.activeScopeRef.current="account";return}w.setChromeInputs?.({jdText:"",resumeName:null}),w.setMountedSteps([]),A(0),w.setActiveTab("profile"),w.clearQuickResumeWorkbenchState(),w.setProfileData({...ca}),w.sessionCacheRef.current.account=En,w.activeScopeRef.current="account"},[t])}}const jd=o.lazy(()=>rt(()=>import("./ResumeLibraryPage-XT37F_qb.js"),__vite__mapDeps([78,2,1,79,55,56,57,13,80,22,23,81,82,51,52,53,54,75]))),Pd=t=>(t||"").includes("éç¨æè½")?"general":(t||"").includes("è¡ä¸å
¬å¸ä¸å¡ç¥è¯")?"industry":"position",Aa=new Set(["profile","skills","exp","edu","intro","intent"]),qd={experience:"exp",education:"edu",selfIntro:"intro",jobIntent:"intent"},pn=t=>{const i=String(t||"").trim();return Aa.has(i)?i:qd[i]||"profile"},_d={个人信æ¯:"profile",personalInfo:"profile",ç¥è¯æè½:"skills",skills:"skills",å·¥ä½ç»éª:"exp",experience:"exp",æè²ç»å:"edu",education:"edu",èªæä»ç»:"intro",selfIntro:"intro",æ±èæå:"intent",jobIntent:"intent"},Qs={personalInfo:"个人信æ¯",skills:"ç¥è¯æè½",experience:"å·¥ä½ç»éª",education:"æè²ç»å",selfIntro:"èªæä»ç»",jobIntent:"æ±èæå"},la=Object.fromEntries(Object.entries(Qs).map(([t,i])=>[i,t])),xn=(t,i=0)=>{const h=Number(t);return Number.isFinite(h)?Math.max(0,Math.min(2,Math.trunc(h))):i},ua=(t,i,h)=>{const w=new Map;return t.forEach((g,T)=>{const A=h(g,T);A&&w.set(A,g)}),i.forEach((g,T)=>{const A=h(g,T);A&&!w.has(A)&&w.set(A,g)}),Array.from(w.values())},Fr={overview:{company:"-",position:"-",location:"-",salary:"-"},coreInsight:"",sections:[],rawText:"",actionCards:[]},Nd=t=>{const i=String(t?.assetType||"");return/ä¿®æ¹|æ´æ¹|æ°å¢|æ°å»º/.test(i)},Md=t=>{const i=Array.isArray(t?.rows)?t.rows:[],h=[],w=new Set;return i.forEach(g=>{const T=String(g?.requirementId||g?.JDæ¡ç®ID||"").trim();(Array.isArray(g?.assetRefs)?g.assetRefs:[]).filter(Nd).forEach(C=>{const N=String(C?.assetRefId||"").trim(),_=String(C?.actionCardId||"").trim();if(!N||!_)return;const M=`${N}::${_}`;if(w.has(M))return;w.add(M);const ce=Array.isArray(C?.coveredRequirementIds)?C.coveredRequirementIds.map(String).filter(Boolean):[],be=ce.length?ce:T?[T]:[];h.push({requestId:`CGR-${N}`,assetRefId:N,actionCardId:_,requirementIds:be,actionType:/æ°å¢|æ°å»º/.test(String(C?.assetType||""))?"æ°å»º":"æ´æ¹",assetType:C?.assetType||"",assetModule:C?.assetModule||"",assetId:C?.assetId,assetName:C?.assetName||C?.title||"",targetMainTab:C?.assetTargetMainTab||C?.targetMainTab||g?.mainTab||"",targetSubTab:C?.assetTargetSubTab||C?.targetSubTab||g?.subTab||""})})}),h},Dd=o.lazy(()=>rt(()=>import("./AiParseResultViews-AxdLDpU1.js"),__vite__mapDeps([83,2,1,32,13,84,85,69,36,37,38,4,5,3,6,7,39,65,64,60,50,62,46,47,61,66,67,86,87,77,76,43,34,42,88,89,28,90,91,92,93,94,79,55,56,57,54,95,96,97,98,99,100,101,102,103,104,105,106,107,108,63,35,109,110,45,
19111,112,113,114,115,68])).then(t=>({default:t.AiDetailsSection}))),va=({icon:t,title:i,color:h,text:w})=>k.jsxs("div",{style:{background:"linear-gradient(145deg, #ffffff, #fcfcfd)",border:"1px solid rgba(0, 0, 0, 0.04)",borderRadius:16,padding:24,boxShadow:"0 4px 16px rgba(0,0,0,0.02)",display:"flex",flexDirection:"column",gap:16,marginTop:16},children:[k.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[k.jsx("div",{style:{width:28,height:28,borderRadius:"50%",background:`${h}15`,display:"flex",alignItems:"center",justifyContent:"center",color:h,fontSize:14},children:t}),k.jsx("div",{style:{fontSize:16,fontWeight:700,color:"#1d1d1f"},children:i})]}),k.jsx("div",{style:{fontSize:14,color:"#4b5563",lineHeight:1.6,whiteSpace:"pre-wrap"},children:w})]}),Ld=(t,i)=>{if(!t||!t.sections)return null;const h=t.sections.find(w=>(w.title||"").includes(i));return h?k.jsx("div",{style:{display:"flex",flexDirection:"column",gap:0,marginTop:0},children:h.actionGuide?.expertAdvice&&k.jsx(va,{icon:k.jsx(Os,{}),title:"ä¸å®¶æå¼",color:"#34C759",text:h.actionGuide.expertAdvice})}):null},zr=t=>{const i=String(t||"").trim();return/create|æ°å¢|æ°å»º|å
¨æ°|å¡«è¡¥/i.test(i)?"æ°å»º":/modify|update|ä¿®æ¹|æ¹ç¼|æ´æ¹|éæ|æ¹å/i.test(i)?"ä¿®æ¹":/delete|remove|å é¤/i.test(i)?"å é¤":"ä¸å"};function Jd(t){if(!t?.layoutConfig)return{};try{return typeof t.layoutConfig=="string"?JSON.parse(t.layoutConfig):t.layoutConfig}catch{return{}}}function da(t){return{margin:"0 auto",background:"#ffffff",backgroundColor:"#ffffff",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",...Pl(t)}}function Od(t){const i=Jd(t),h=t.locale??(t.resumeType?.includes("è±æ")?"en":"zh");return t.resumeData?k.jsx("div",{className:"resume-a4",style:da(i),children:k.jsx(o.Suspense,{fallback:k.jsx("div",{style:{padding:24,color:"#aeaeb2",fontSize:12},children:"ç®åé¢è§å è½½ä¸â¦"}),children:k.jsx(Ql,{data:t.resumeData,layoutConfig:i,locale:h})})}):t.generatedHtml&&t.generatedHtml.length>50?k.jsx("div",{className:"resume-a4",style:da(i),dangerouslySetInnerHTML:{__html:t.generatedHtml}}):null}const ma={fontSize:"10.5pt",lineHeight:1.5,pagePaddingTop:"18mm",pagePaddingBottom:"15mm",pagePaddingLeft:"20mm",pagePaddingRight:"20mm",sectionMargin:"14px",entryMargin:"10px",fontFamily:"serif",showAge:!0,showGender:!0,showStartWorkYear:!0,showPoliticalStatus:!0,showDegree:!0,showNationality:!0},$d={isQuickResumeMode:!0,disableFetch:!0,disableAutoSelectAll:!0,accentColor:jn},Kr={isQuickResumeMode:!0,disableFetch:!0,disableSelection:!0,disableAutoSelectAll:!0,accentColor:jn},gr={isQuickResumeMode:!0,resumeSelectionMode:!0,showAiActionTones:!0,disableAutoSelectAll:!0,disableSelectionSideEffects:!0,accentColor:Hr};function Gs(t,i){const{selection:h,useMockData:w,onBasicInfoUpdate:g,accentColor:T=We,readOnly:A=!1}=i,C={...gr,disableFetch:!0,accentColor:T,disableSelection:A,enableLibraryDeposit:!A&&w},N=_=>w?{mockData:t[_]||[],onMockDataUpdate:g?M=>g({...t,[_]:M}):void 0}:{prefetchedData:t[_]||[]};return k.jsxs(Bs,{children:[k.jsx(Ml,{...C,...N("names"),selectedRowKeys:A?[]:h.selectedNameIds,onSelectionChange:A?void 0:h.setSelectedNameIds,quickResumeProps:{...zn,label:"å§å",subtitle:"æ£å¼å§åãè±æåæå¸¸ç¨è±å",enLabel:"NAME",icon:k.jsx(xl,{style:{fontSize:14,color:T}}),mapToCard:_=>({versionName:{formal:"æ£å¼ä¸æå",nickname:"æµç§°",english:"è±æç®åå"}[_.nameType]||_.nameType||"æªç¥",content:_.name})}}),k.jsx(Dl,{...C,...N("emails"),selectedRowKeys:A?[]:h.selectedEmailIds,onSelectionChange:A?void 0:h.setSelectedEmailIds,quickResumeProps:{...zn,label:"é®ç®±",subtitle:"ç¨äºæ¥æ¶é¢è¯é请ä¸ç¬è¯é¾æ¥",enLabel:"EMAIL",icon:k.jsx(El,{style:{fontSize:14,color:T}}),mapToCard:_=>({versionName:_.purpose||"æªç¥ç±»å",content:_.email})}}),k.jsx(Ll,{...C,...N("phones"),selectedRowKeys:A?[]:h.selectedPhoneIds,onSelectionChange:A?void 0:h.setSelectedPhoneIds,quickResumeProps:{...zn,label:"ææº",subtitle:"ä¿æéä¿¡ç
éï¼ç¨äºæ¥æ¶éç¥",enLabel:"PHONE",icon:k.jsx(Cl,{style:{fontSize:14,color:T}}),mapToCard:_=>({versionName:_.phoneType||"æªç¥ç±»å",content:_.phone})}}),k.jsx(Jl,{...C,...N("photos"),selectedRowKeys:A||h.selectedPhotoId==null?[]:[h.selectedPhotoId],onSelectionChange:A?void 0:_=>h.setSelectedPhotoId(_[0]??null),quickResumeProps:{...zn,label:"ç
§ç",subtitle:"建议ä¸ä¼ æ¸
æ°ä¸ä¸çè¿æèä¸ç
§",enLabel:"PHOTO",icon:k.jsx(Al,{style:{fontSize:14,color:T}}),mapToCard:_=>({versionName:_.photoType||"ç±»å",content:_.originalName||"å·²ä¸ä¼ ç
§ç"})}}),k.jsx(Ol,{...C,...N("cities"),selectedRowKeys:A?[]:h.selectedCityIds,onSelectionChange:A?void 0:h.setSelectedCityIds,quickResumeProps:{...zn,label:"åå¸",subtitle:"å½åæå¨å°åææå·¥ä½çåå¸",enLabel:"CITY",icon:k.jsx(vl,{style:{fontSize:14,color:T}}),mapToCard:_=>({versionName:_.cityType||"åå¸",content:_.city})}}),k.jsx($l,{...C,...N("links"),selectedRowKeys:A?[]:h.selectedLinkIds,onSelectionChange:A?void 0:h.setSelectedLinkIds,quickResumeProps:{...zn,label:"ç¤¾äº¤é¾æ¥",subt
19itle:"å¤ç»´åº¦å±ç¤ºä¸ªäººç¹è´¨çå¹³å°ä¸»é¡µ",enLabel:"SOCIAL LINKS",icon:k.jsx(jl,{style:{fontSize:14,color:T}}),mapToCard:_=>({versionName:_.platform?_.platform.charAt(0).toUpperCase()+_.platform.slice(1):"龿¥",content:_.url})}})]})}function Qd(t,i){return k.jsxs(k.Fragment,{children:[Gs(t,{useMockData:!0,selection:i.selection,onBasicInfoUpdate:i.onBasicInfoUpdate,accentColor:i.accentColor??We}),k.jsx(o.Suspense,{fallback:k.jsx("div",{style:{padding:12,color:"#aeaeb2",fontSize:12},children:"详æ
å è½½ä¸â¦"}),children:k.jsx(Dd,{data:t||{},onUpdate:h=>i.onBasicInfoUpdate({...t||{},...h}),aiSuggestionCards:i.aiSuggestionCards||[],accentColor:i.accentColor??We})})]})}function ja(t,i=jn,h){return k.jsx(Bs,{children:k.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[k.jsx(pa,{fieldMode:"position",...gr,accentColor:i,selectedRowKeys:t.selectedJobIntentIds,onSelectionChange:t.setSelectedJobIntentIds,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ha,{isQuickResumeMode:!0,accentColor:i,disableFetch:h?.disableFetch===!0,prefetchedData:h?.salaryExpectations??null,selectedRowKeys:t.selectedSalaryIds,onSelectionChange:t.setSelectedSalaryIds}),k.jsx(fa,{...gr,accentColor:i,selectedRowKeys:t.selectedIntendedCityIds,onSelectionChange:t.setSelectedIntendedCityIds,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ga,{...gr,accentColor:i,selectedRowKeys:t.selectedIntendedJobTypeIds,onSelectionChange:t.setSelectedIntendedJobTypeIds,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ba,{...gr,accentColor:i,selectedRowKeys:t.selectedJobStatusIds,onSelectionChange:t.setSelectedJobStatusIds,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ya,{accentColor:i})]})})}const zn={aiSuggestionCards:[],mapped:!1,hcpSelection:void 0,hideIfEmpty:!1};function Bd(t=!1,i=We){return null}function Ud(t){return t?[t.names,t.emails,t.phones,t.photos,t.cities,t.links,t.skills,t.experiences,t.companies,t.projects,t.educations,t.selfIntros].map(h=>Array.isArray(h)?h.length:0).every(h=>h===0):!0}function Fd(t){const i=Ud(t),w=Qe()==="account"?"æ¡£æ¡åºææ å·²ä¿åæ°æ®ã䏿¹æåç»ææ¥èªç®åè§£æï¼å¯éå¡å
¥åºæä¸é®å
¨é¨å
¥åºï¼ä¹å¯å¨ãæ±èèµäº§ç®¡çã䏿·»å ã":"å½åæ¨¡åææ è®°å½ãå¯å¾é䏿¹ AI æåç»æå¹¶å
¥åºï¼æå徿±èèµäº§ç®¡çæ·»å ã";return k.jsxs("div",{style:{marginBottom:12},children:[k.jsx("span",{style:{display:"inline-block",fontSize:13,fontWeight:600,color:"#86868b",background:"rgba(142, 142, 147, 0.08)",padding:"4px 10px",borderRadius:6,lineHeight:1.4},children:"æçæ±èæ¡£æ¡åº"}),i&&k.jsx("div",{style:{marginTop:10,fontSize:12,color:"#86868b",lineHeight:1.6},children:w})]})}function zd(t){return t?[t.names,t.emails,t.phones,t.photos,t.cities,t.links].every(i=>!Array.isArray(i)||i.length===0):!0}function Hd(t,i,h=!1){return zd(t)?null:Gs(t,{useMockData:!1,selection:i,accentColor:jn,readOnly:h})}function Kd(t,i=!1,h){return i?k.jsx(Bs,{children:k.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[k.jsx(pa,{fieldMode:"position",...Kr,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ha,{isQuickResumeMode:!0,accentColor:jn,disableFetch:h?.disableFetch===!0,prefetchedData:h?.salaryExpectations??null,selectedRowKeys:t.selectedSalaryIds,onSelectionChange:t.setSelectedSalaryIds}),k.jsx(fa,{...Kr,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ga,{...Kr,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ba,{...Kr,quickResumeProps:{aiSuggestionCards:[]}}),k.jsx(ya,{accentColor:jn})]})}):ja(t,jn,h)}function Wd({externalChrome:t=!1}={}){const i=Kl(),h=i?.setBodyPaintReady,w=o.useRef(h);w.current=h;const[g,T]=o.useState(!0),[A,C]=o.useState(!1);o.useEffect(()=>{const e=()=>{C(!!document.querySelector(".zc-mobile-shell, .zc-mobile-shell-device, .mobile-app-shell"))};e();const n=[50,200,600].map(r=>window.setTimeout(e,r));return()=>n.forEach(r=>window.clearTimeout(r))},[]);const N=o.useCallback(e=>{T(e),w.current?.(!e)},[]);o.useEffect(()=>()=>{Yo(),ia(),Wo()},[]);const[_,M]=o.useState(!1);o.useEffect(()=>{let e=!1,n=null,r=null,s=null;const l=()=>{e||N(!1)},u=vs();if(t&&Qe()==="demo")return s=window.setTimeout(l,4e3),()=>{e=!0,s!=null&&window.clearTimeout(s)};if(t){const b=window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{e||l()})});return s=window.setTimeout(l,800),()=>{e=!0,window.cancelAnimationFrame(b),s!=null&&window.clearTimeout(s)}}const p=window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{e||("requestIdleCallback"in window?n=window.requestIdleCallback(l,{timeout:u?240:480}):r=window.setTimeout(l,u?40:120))})});return s=window.setTimeout(l,1200),()=>{e=!0,window.cancelAnimationFrame(p),n!=null&&"cancelIdleCallback"in window&&window.cancelIdleCallback(n),r!=null&&window.clearTimeout(r),s!=null&&window.clearTimeout(s)}},[t,N]);const[ce,be]=o.useState([]),W=o.useRef([]);W.current=ce;
19const[F,D]=o.useState(!1);o.useEffect(()=>{if(g){M(!1);return}},[g]),o.useLayoutEffect(()=>{h&&h(!g)},[h,g]);const[L,se]=o.useState(()=>vs()?xn(Wl(),0):0),pe=i?.shellStep,Re=i?.setShellStep,Te=i?.setAnalysisBusy,Ve=i?.stepNavEpoch??0,Ye=o.useRef(L);Ye.current=L,o.useEffect(()=>{if(!t||pe==null)return;const e=xn(pe,Ye.current);e!==Ye.current&&(be(n=>n.includes(e)?n:[...n,e]),o.startTransition(()=>se(e)))},[t,pe]),o.useEffect(()=>{!t||!Re||Re(L,{fromHeavy:!0})},[L,t,Re]);const[re,Me]=o.useState(()=>hu());o.useEffect(()=>{if(g||re||L!==1&&L!==2)return;let e=!1;return Bo().then(()=>{e||Me(!0)}),rt(()=>import("./QuickResumeDecisionReportPanel-CVd8H-r1.js"),__vite__mapDeps([116,2,1,117,28,13,16,61,36,37,38,4,5,3,6,7,39,118,119,120,67])),()=>{e=!0}},[g,L,re]);const[de,Ee]=o.useState(()=>Bu());o.useEffect(()=>{if(g||L!==1||de)return;let e=!1;return Xo().then(()=>{e||Ee(!0)}),()=>{e=!0}},[g,L,de]),o.useEffect(()=>{if(g)return;const e=L;return Ju(()=>{js(0),js(1,{heavyPanels:e===1}),js(2),Mi(),ei(),e===1&&(Bo(),Xo())},{timeout:e===1?400:1200})},[g,L]),o.useEffect(()=>{let e=!1;const n=()=>{e||rt(()=>import("./ResumeLibraryPage-XT37F_qb.js"),__vite__mapDeps([78,2,1,79,55,56,57,13,80,22,23,81,82,51,52,53,54,75]))},r=window.setTimeout(n,g?600:200);return()=>{e=!0,window.clearTimeout(r)}},[g]),o.useEffect(()=>{g||be(e=>e.includes(L)?e:[...e,L])},[g,L]);const[Ce,Je]=o.useState(!1),[V,we]=o.useState(null),[fe,X]=o.useState(null),[Be,Ue]=o.useState(null);o.useEffect(()=>{if(!fe)return;const e=URL.createObjectURL(fe);return Ue(n=>{if(n&&n.startsWith("blob:")&&n!==e)try{URL.revokeObjectURL(n)}catch{}return e}),()=>{try{URL.revokeObjectURL(e)}catch{}}},[fe]);const[Ae,le]=o.useState(!1),[ot,Xe]=o.useState(!1),[kt,at]=o.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 900px)").matches?.5:1),[ie,Oe]=o.useState(null),[me,_e]=o.useState(null),[v,Ct]=o.useState(null),ne=_&&Ce,[ue,Se]=o.useState({names:[],emails:[],phones:[],photos:[],cities:[],links:[],detail:{},skills:[],experiences:[],companies:[],projects:[],educations:[],selfIntros:[]}),ke=o.useMemo(()=>ju(ue),[ue]),[P,ve]=o.useState(null);o.useEffect(()=>{if(fe||Be&&!Be.startsWith("blob:")&&!Be.startsWith("data:"))return;const e=Gt(P?.filePath);e&&Ue(e)},[fe,Be,P?.filePath]);const[je,De]=o.useState(!1),[Pe,qe]=o.useState("screenshot"),[H,Ze]=o.useState("");o.useEffect(()=>{!g||!t||vs()||!(v||fe||me||V&&String(V).length>0||typeof H=="string"&&H.trim().length>0)||N(!1)},[g,t,v,fe,me,V,H,N]);const[Zt,en]=o.useState([]),[Ji,et]=o.useState(!1),[oe,Le]=o.useState(0),ut=o.useRef(null),[pt,wt]=o.useState(""),[ee,ct]=o.useState({}),[ni,Kn]=o.useState(null),[_t,Oi]=o.useState("ç¥è¯æè½"),[Nt,Wn]=o.useState(()=>new Set),[Rr,qn]=o.useState(()=>new Set),[tt,_n]=o.useState({}),{isAdapting:it,setIsAdapting:Nn,streamStatus:Pa,setStreamStatus:Mn,adaptAbortController:bn,isPausedRef:Vs,resumeResolverRef:qa,adaptDepsRef:_a,handleAiAdaptation:Na,handleAiAdaptationForTab:Ma,handleGenerateTabWithRoutingGate:Da,handleGenerateTabWithRoutingGateRef:La,stableGenerateTabWithRoutingGate:Ys}=Id(),lt=Ru(),Gn=o.useRef(!0),Dn=o.useRef(null);o.useEffect(()=>(Gn.current=!0,z.destroy(),Nn(!1),Mn("idle"),Mt(e=>e==="loading"?"idle":e),()=>{Gn.current=!1,bn.current?.abort(),Dn.current&&(clearInterval(Dn.current),Dn.current=null),lt.stop(),z.destroy()}),[]);const It=o.useRef(!1);o.useEffect(()=>{const e=n=>{const r=String(n.detail?.from||"");r&&r!=="/toolbox/quick-resume"||(It.current=!0,ia(),M(!1),be([]),D(!0),N(!0),Dn.current&&(clearInterval(Dn.current),Dn.current=null),bn.current?.abort())};return window.addEventListener(Go,e),()=>window.removeEventListener(Go,e)},[]);const Ja=e=>e==="account"?"account":"demo",ze=o.useRef(Ja(Qe())),xe=o.useRef(Wu()),Xs=o.useRef(null),Zs=o.useRef(null),$i=o.useCallback(()=>{ct({}),Kn(null),Ft([]),xt([]),Bn([]),Wn(new Set),qn(new Set),_n({}),fi(null)},[]),{jobRequirementRoutingPlan:ye,setJobRequirementRoutingPlan:Bt,routingPlanStatus:Ln,setRoutingPlanStatus:Mt,routingTabFilter:Vn,setRoutingTabFilter:Yn,routingPlanErrorDetails:eo,setRoutingPlanErrorDetails:Jn,routingHelpersReady:ri,isRoutingPlanReady:Qi,staleRoutingValidationErrors:Bi,normalizedLocalJdText:$,jobRequirementRoutingPlanRef:to,routingPlanStatusRef:no,routingRequestInFlightRef:Ui,routingInFlightPromiseRef:Fi,abortJdRoutingFlight:Oa,handleJdRoutingPlanQuickResumeRef:$a,silentRoutingAttemptsRef:Qa,silentRoutingJdKeyRef:Ba,prevJdFingerprintRef:Ua,getRoutingPlanValidationErrors:Sr,validateRoutingPlan:Fa,hasTrustedRoutingPlan:za,handleJdRoutingPlanQuickResume:zi,clearRoutingStateForNewJd:ro}=ld({shellOnly:g,currentStep:L,localJdText:H,tabReports:ee,aiSuggestions:ni,isAdapting:it,activeScopeRef:ze,resetAiArtifacts:$i,onJdChangeClearSession:e=>na(e),adaptBridge:{aiEngineProgress:lt,adaptAbortController:bn,isPausedRef:Vs,pageMountedRef:Gn,setIsAdapting:Nn,setStreamStatus:Mn,setAiReportActiveTab:Oi,setTabReports:ct}}),io=o.useCallback(()=>{$i(),ro()},[ro,$i]),Ha=o.useCallback(e=>{na(e)},[]),{jdAnalysisPanelExpanded:Ka,setJdAnalysisPanelExpanded:so,overallAnalysisResult:kr,setOverallAnalysisResult:wr,overallAnalysisLoading:Ir,setOverallAnalysisLoading:Tr,overallAnalysisStale:Wa,setOverallAnalysisStale:ii,overallAnalysisError:Ga,setOverallAnalysisError:On,scoringConfig:Hi,setScoringConfig:Va,scoringRulesEditorOpen:Ya,setScoringRulesEditorOpen:Xa,scoringRulesHubTab:Za,openScoringRulesHub:oo,decisionDimensionWeightsByTab:ec,setDecisionDimensionWeightsByTab:ao,decisionSectionalRulesOpen:tc,setDecisionSectionalRulesOpen:nc,leftReportView:si,setLeftReportView:oi,moduleAnalysisControls:Xn,setModuleAnalysisControlsStable:rc,overallAnalysisFingerprintRef:Zn,syncOverallAnalysisStale:co}=yd();o.useEffect(()=>{Te&&Te(it)},[it,Te]),o.useEffect(()=>()=>{Te?.(!1)},[Te]);const ai=o.useRef(lt);ai.current=lt,o.useEffect(()=>{!t||pe==null||xn(pe,Ye.current)===1||it&&(bn.current?.abort(),Nn(!1),Mn("idle"),ai.current.stop(),z.destroy("quick-resume-ai-adaptation"))},[t,pe,it,Nn,Mn,bn]);const lo=o.useRef(it);lo.current=it,o.useEffect(()=>{!t||Ve<=0||!lo.current&&!ai.current.progress||(bn.current?.abort(),Nn(!1),Mn("idle"),ai.current.stop(),z.destroy("quick-resume-ai-adaptation"))},[t,Ve,Nn,Mn,bn]),o.useEffect(()=>{it||lt.progress&<.stop()},[it,lt.progress,lt.stop]);const ge=o.useMemo(()=>{const e=Hn(ye);if(!ri||!e)return e;try{return Hn(he().normalizeJobRequirementRoutingPlan(e,$))}catch(n){return console.error("[QR displayRoutingPlan]",n),e}},[ye,$,ri]),Ki=o.useMemo(()=>Y().buildRoutingSourceIdLookupMap(ge||ye),[ge,ye]),Wi=o.useMemo(()=>Y().buildRoutingSourceIdLookupBySubTab(ge||ye),[ge,ye]),Gi=o.useMemo(()=>Y().buildJobIntentSourceIdLookupBySubTab(ge||ye),[ge,ye]),ic=o.useRef(nt),sc=o.useRef(nt),oc=o.useRef(nt),ac=o.useRef(Fr),cc=o.useRef(nt),lc=o.useRef(nt),uc=o.useRef(nt),dc=o.useRef(nt),ft=o.useMemo(()=>fn(ic,{active:L!==0,reset:!ri,empty:nt,compute:()=>{try{const e=he(),n=e.buildRoutingJdSourceTextMap(ge,$);return od(e.enforceRoutingMappingCardinality(e.withImpliedIndustryRoutingRequirements(ge?.requirements||[]).map(s=>({...s,assetRole:e.getRoutingAssetRole(s),targetMappings:Vt(e.normalizeRoutingMappingsByDeterministicGuards(s,
19Vt(s.targetMappings)))})))).flatMap(s=>{const l=Vt(s.targetMappings).length?Vt(s.targetMappings):[{mainTab:"ä¸è¿å
¥æ¡£æ¡èµäº§",subTab:"ä¸è¿å
¥æ¡£æ¡èµäº§",reason:s.excludedReason||"ä¸éåè¿å
¥æ¡£æ¡èµäº§"}],u=e.formatRoutingEvidenceWithSourceIds(s,n),p=Y().resolveRoutingDisplayBucket(s,u),b=Y().getRoutingSupplementReasonLabel(s.sourceType);return l.map((m,a)=>({key:`${s.requirementId}-${a}`,sourceId:e.getRoutingDisplaySourceId(s),requirementId:s.requirementId,sourceType:s.sourceType,sourceText:u,standardRequirement:s.standardRequirement,displayBucket:p,supplementReason:b,priority:e.normalizeRoutingPriority(s.priority),mainTab:m.mainTab,subTab:e.normalizeRoutingSubTab(m.mainTab,m.subTab,e.getRoutingRequirementText(s)),reason:m.reason||s.excludedReason||"-",rowSpan:a===0?l.length:0}))})}catch(e){return console.error("[QR routingPlanTableRows]",e),nt}}}),[L,ge,$,ri]),uo=o.useMemo(()=>fn(sc,{active:L!==0,empty:nt,compute:()=>he().buildRoutingJdSourceRows(ge,$).map(e=>({key:e.sourceId,sourceText:e.text,sourceId:e.sourceId}))}),[L,ge,$]),Ut=o.useMemo(()=>fn(oc,{active:L!==0,empty:nt,compute:()=>Y().buildJdIdCentricMappingRows(ge,ft,$)}),[L,ge,ft,$]),ci=o.useMemo(()=>Ut.length+ft.filter(e=>e.displayBucket!=="jd_explicit").length,[Ut,ft]),li=o.useMemo(()=>Y().buildRoutingTabBucketStats(ft,ea,Ut),[ft,Ut]);o.useEffect(()=>{if(Ln!=="ready"||Vn==="å
¨é¨"||!ci)return;const e=li.find(n=>n.tab===Vn);(!e||e.total===0)&&Yn("å
¨é¨")},[ci,Ln,Vn,li]);const mc=()=>k.jsx("div",{style:{background:"#fff",borderRadius:12,padding:"0 12px 12px",overflow:"visible"},children:Qi?k.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12,overflow:"visible"},children:[k.jsx(ku,{value:Vn,onChange:Yn,totalCount:ci,tabStats:li}),k.jsx(ql,{rows:ft,tabOrder:ea,tabFilter:Vn,jdSourceTableRows:uo,routingPlan:ge,jdText:$,jdMappingRows:Ut})]}):Ln==="loading"?k.jsx(_l,{progress:lt.progress?.taskType==="jdRouting"?lt.progress:void 0,title:"平尿£å¨æè§£ JD",subtitle:"æ£å¨æé¿å²ä½æè¿°æ´çææ¸
æ°çåé
表",size:96,minHeight:180,variant:"quick-resume"}):Ln==="error"||Bi.length>0?k.jsxs("div",{style:{minHeight:220,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,color:"#86868b",padding:24},children:[k.jsx(yl,{style:{fontSize:40,color:"#ff3b30"}}),k.jsx("div",{style:{fontSize:14,fontWeight:600},children:"æè§£JDåæå¤±è´¥"}),k.jsx("div",{style:{fontSize:12,textAlign:"center",maxWidth:400},children:eo[0]||Bi[0]||"å½åç»ææªéè¿ HCP-0 æ ¡éªï¼è¯·éæ°æè§£"}),k.jsx(ln,{size:"small",type:"primary",className:"quick-resume-step-confirm-btn",loading:it&&Ln==="loading",disabled:it,onClick:()=>zi({force:!0}),children:"éæ°æè§£"})]}):k.jsxs("div",{style:{minHeight:220,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,color:"#86868b",padding:24},children:[k.jsx(Os,{style:{fontSize:40,color:We}}),k.jsx("div",{style:{fontSize:14,fontWeight:600},children:"ææ JD åæåé
ç»æ"}),k.jsx("div",{style:{fontSize:12},children:"ç¹å»ãæè§£JDåæãæé®ï¼å°ç±å¹³å°å¯¹ JD 深度åæå¹¶çææ¤è¡¨"})]})});o.useEffect(()=>{const e=lt.progress;if(!it||!e){z.destroy("quick-resume-ai-adaptation");return}const n=()=>{const s=lt.progress;s&&z.loading({key:"quick-resume-ai-adaptation",content:Y().buildAiEngineToastContent({...s,elapsedMs:Date.now()-s.startedAt}),duration:0})};n();const r=window.setInterval(n,1e3);return()=>{window.clearInterval(r),z.destroy("quick-resume-ai-adaptation")}},[it,lt.progress?.startedAt,lt.progress?.taskType]);const Ie=o.useMemo(()=>fn(ac,{active:L===1,reset:g||!v,empty:Fr,compute:()=>{const e=Object.entries(ee).filter(([,b])=>!!b);if(!e.length)return Fr;const n=[],r=[],s=new Set,l={};e.forEach(([b,m])=>{try{const a=Qs[b]||b,c=Y().parseAiReportMarkdown(m,{preferredMainTab:a,originalJdText:H});if(l[b]=c,c?.moduleHcpPlan?.rows?.length){const R=c.moduleHcpPlan.mainTab||a;s.has(R)||(s.add(R),n.push(c.moduleHcpPlan))}Array.isArray(c?.moduleHcpPlans)&&c.moduleHcpPlans.forEach(R=>{const S=R.mainTab||"æ¨¡åæ¦è§";s.has(S)||(s.add(S),n.push(R))}),Array.isArray(c?.actionCards)&&r.push(...c.actionCards)}catch(a){console.warn("[QuickResume] Failed to parse tab report",b,a)}});let u=l.skills||l[Object.keys(l)[0]||""]||null;if(!u&&n.length)try{u=Y().parseAiReportMarkdown(`\`\`\`json
20${JSON.stringify({schemaVersion:"ai-profile-customization/v1",generationMode:"two_stage_v1",moduleHcpPlan:n[0],actionCards:r},null,2)} 21\`\`\``,{originalJdText:H})}catch(b){console.warn("[QuickResume] Failed to parse merged module plan",b)}const p={...u||Fr,moduleHcpPlans:n,moduleHcpPlan:u?.moduleHcpPlan||n.find(b=>(b.mainTab||"").includes("ç¥è¯æè½"))||n[0]||null,actionCards:r};return Y().rebuildSectionsFromModulePlans(p)}}),[v,L,H,g,ee]),xr=G.useMemo(()=>Y().normalizeExtractedBasicInfoOnly(v?.basicInfo),[v?.basicInfo]),$n=G.useMemo(()=>{const e=(typeof Be=="string"&&Be.startsWith("blob:")?Be:null)||Gt(Be)||Gt(P?.filePath)||null;if(fe||V&&e){const n=fe?.name||V||"";return fe?.type?.startsWith("image/")||e?.match(/\.(jpeg|jpg|gif|png)$/i)?{kind:"image",url:e}:(n.toLowerCase().endsWith(".pdf")||e?.toLowerCase().endsWith(".pdf"))&&e?{kind:"pdf",url:e}:null}return me?.resumeData||me?.generatedHtml?{kind:"library",record:me}:me?.filePath?.toLowerCase().endsWith(".pdf")?{kind:"pdf",url:me.filePath}:me?.filePath?.toLowerCase().match(/\.(jpeg|jpg|gif|png)$/)?{kind:"image",url:me.filePath}:null},[fe,V,Be,me,P?.filePath]);o.useEffect(()=>{const e=typeof window<"u"&&window.matchMedia("(max-width: 900px)").matches;at(e?.5:1)},[Be,fe,me?.id,V]);const Dt=G.useMemo(()=>{const e=Array.isArray(v?.education)?v.education:[];return{...xr,educations:e}},[v?.education,xr]),mo=G.useCallback(()=>{const e=[],n=new Set,r=s=>{if(!s?.rows?.length)return;const l=Y().ensurePersonalInfoBaselineRows(s,Dt,Dt.educations||[],"extracted");if(!l?.rows?.length)return;const u=JSON.stringify(l.rows.map(p=>`${p?.requirementId||""}:${p?.subTab||""}:${p?.action||""}`));n.has(u)||(n.add(u),e.push(l))};return r(Ie?.moduleHcpPlan),Object.values(ee||{}).forEach(s=>{if(s)try{r(Y().parseAiReportMarkdown(String(s),{originalJdText:H})?.moduleHcpPlan)}catch{}}),e},[H,Ie?.moduleHcpPlan,Dt,ee]),Vi=G.useMemo(()=>fn(cc,{active:L===1,reset:g||!v,empty:nt,compute:()=>{const e=[...Ie?.actionCards||[],...Object.entries(ee||{}).flatMap(([n,r])=>{if(!r)return nt;try{return Y().parseAiReportMarkdown(String(r),{originalJdText:H})?.actionCards||nt}catch(s){return console.warn("[QuickResume] Failed to parse personal info cards",s),nt}})];return Y().buildPersonalInfoDisplayCards({actionCards:e,modulePlans:mo(),extractedBasicInfo:v?.basicInfo,requirementIdToSubTab:he().PERSONAL_INFO_ROUTING_REQUIREMENT_ID_TO_SUB_TAB})}}),[v,mo,L,H,Ie,g,ee]),pc=G.useMemo(()=>Y().filterPersonalInfoDisplayCards(Vi,{profileData:{detail:{}},extractedBasicInfo:v?.basicInfo}),[v?.basicInfo,Vi]),Yi=G.useMemo(()=>fn(lc,{active:L===1,reset:g||!v,empty:nt,compute:()=>{const e=c=>String(c||"").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/\s+/g," ").trim(),n=c=>c?c.payload&&typeof c.payload=="object"?c.payload:c:{},r=Array.isArray(v?.education)?v.education:[],s=(c,R)=>{const S=[c?.originalName,R?.originalName,R?.originalEducationName,R?.universityName,R?.schoolName,R?.name,c?.title,c?.assetName,c?.name,c?.module].map(e).filter(Boolean);return r.find(f=>{const d=e(f?.universityName||f?.schoolName||""),I=e([f?.universityName,f?.schoolName,f?.degree,f?.major].filter(Boolean).join("-"));return S.some(x=>{const q=e(x.split(/[-ï¼â]/)[0]||x);return d&&q&&(d===q||d.includes(q)||q.includes(d))?!0:I===x||I.includes(x)||x.includes(I)})})||null},l=c=>{const R=e(c);return!R||/åºåºäºè¯¥åå¡çæä¿®æ¹å¡|ä¿®æ¹å¡åº|补强边ç|ä¸è½ä¸ºäºå¹é èç¼é |ä¸å¾ç¼é |ä¸å¾æ°å¢æ æ³æ ¸éª|è´´è¿å妿 ¡\/ä¸ä¸äºå®|è´´è¿å妿 ¡/.test(R)?"":R},u=c=>{const R=e(c);return R?/ä¿®æ¹å 容|æ´æ¹èª|建议|åºè¯¥|åºå½|éè¦|ä¿ç|ç»å|ç®æ å²ä½|å²ä½ç¸å ³|å²ä½ç¸ç¬¦|补强|è¾¹ç|åå¡|ä¿®æ¹å¡|actionCard|ä¸å¾|ä¸è½|ä¸è¦|ç¼é |坿 ¸éª|çå®é¢æ ¡|çå®ä¸ä¸|æè²èæ¯ç¸å ³æ§/.test(R):!1},p=(c,R)=>{if(Array.isArray(c)){const f=c.map(d=>e(d)).filter(d=>d&&!u(d));return f.length?f:R}const S=e(c);return!S||u(S)?R:c},b=[],m=new Set,a=(c,R,S)=>{const f=`${c?.tab||""} ${c?.module||""} ${c?.targetMainTab||""}`;if(!f.includes("æè²ç»å")&&!/education/i.test(f))return;const d=n(c.payload),I=zr(c.actionType||d?.action||d?.strategy);if(I==="ä¸å"||I==="å é¤")return;const q=I==="ä¿®æ¹"?(()=>{const E=s(c,d)||he().resolveEducationOriginalFromPlanRow(S,r);if(E)return E;const j=(S?.assetRefs||[]).find(Z=>Z?.assetType==="åå¡");if(!j)return null;const O=String(j?.assetName||"").split(/[-ï¼â]/).map(Z=>
21Z.trim()).filter(Boolean);return O.length?{id:j?.assetId,universityName:O[0],degree:O[1]||"",major:O.slice(2).join("-")||""}:null})():null;if(I==="ä¿®æ¹"&&!q)return;const U=c?.actionCardId||c?.id||c?.assetRefId||`quick-edu-card-${R}`,te=e(d?.universityName||d?.schoolName||d?.name||q?.universityName||c?.title||c?.module||"AI建议补å
å¦å"),J=e(d?.degree||q?.degree),Q=e(d?.major||q?.major),K=`${I}:${te}:${J}:${Q}:${e(q?.id||c?.assetRefId)}`;if(m.has(K))return;m.add(K);const y={...q||{},...d,id:U,universityName:te,universityNameEn:d?.universityNameEn||q?.universityNameEn,degree:d?.degree||q?.degree||"",major:d?.major||q?.major||"",courses:I==="ä¿®æ¹"?p(d?.courses,q?.courses):p(d?.courses,void 0),achievements:I==="ä¿®æ¹"?q?.achievements:p(d?.achievements,void 0),universityDesc:I==="ä¿®æ¹"?p(d?.universityDesc||d?.intro||d?.description||c?.content,B().buildEducationModifySeedDescription(q,S?.jdRequirement||c?.jdRequirement||H)):p(d?.universityDesc||d?.intro||d?.description,void 0),isMock:!0,mockType:I,strategy:I,cardKind:I==="ä¿®æ¹"?"modified":"created",originalName:c?.originalName||d?.originalName||q?.universityName||"",originalEducationId:q?.id,assetRefId:c?.assetRefId,actionCardId:c?.actionCardId||c?.id,changeSummary:I==="ä¿®æ¹"?"":l(d?.changeSummary||c?.content||d?.description||"æ°å¢æè²èæ¯è¡¥å
å¡ã")};I==="ä¿®æ¹"&&y.universityDesc===q?.universityDesc&&(y.universityDesc=B().buildEducationModifySeedDescription(q,S?.jdRequirement||c?.jdRequirement||H)),b.push(y)};return(Ie?.actionCards||[]).forEach((c,R)=>{a(c,`main-${R}`)}),Object.entries(ee||{}).forEach(([c,R])=>{if(!R)return;const S=Y().parseAiReportMarkdown(String(R),{originalJdText:H});(S?.actionCards||[]).forEach((d,I)=>{a(d,`${c}-${I}`)});const f=S?.moduleHcpPlan;((f?.mainTab||"").includes("æè²")||c==="education")&&(f?.rows||[]).forEach((d,I)=>{(d?.assetRefs||[]).forEach((x,q)=>{/ä¿®æ¹|æ°å¢/.test(String(x?.assetType||""))&&a({...x,actionType:x.assetType,actionCardId:x.actionCardId,assetRefId:x.assetRefId,content:x.content||x.payload?.payload?.description,title:x.assetName,tab:"æè²ç»å",module:"æè²ç»å",targetMainTab:"æè²ç»å",jdRequirement:d?.jdRequirement},`${c}-plan-${I}-${q}`,d)})})}),b}}),[v,L,H,Ie,g,ee]),fc=G.useMemo(()=>{const e=n=>(n?.rows||[]).some(r=>r?.action==="ä¿®æ¹");return e(Ie?.moduleHcpPlan)?!0:Object.values(ee||{}).some(n=>{if(!n)return!1;try{const r=Y().parseAiReportMarkdown(String(n),{originalJdText:H});return e(r?.moduleHcpPlan)}catch{return!1}})},[H,Ie?.moduleHcpPlan,ee]),ui=G.useMemo(()=>{const e=[...Array.isArray(v?.selfIntro)?v.selfIntro:[],...Array.isArray(v?.selfIntros)?v.selfIntros:[]],n=new Set;return e.map((r,s)=>({...r,id:r?.id??s+1,name:r?.name||r?.versionName||r?.title||`èªæä»ç»çæ¬${s+1}`,content:r?.content||r?.text||r?.description||""})).filter(r=>{const s=String(r.id??`${r.name}|${r.content}`);return n.has(s)?!1:(n.add(s),!0)})},[v?.selfIntro,v?.selfIntros]),Xi=G.useMemo(()=>fn(uc,{active:L===1,reset:g||!v,empty:nt,compute:()=>{const e=a=>String(a||"").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/\s+/g," ").trim(),n=a=>{const c=e(a).replace(/\s+/g,"");return!c||/^JDå®å¶èªæä»ç»[-ï¼â]?REQ[-ï¼â]?\d+$/i.test(c)||/^èªæä»ç»[-ï¼â]?(å½åå²ä½|REQ[-ï¼â]?\d+)$/i.test(c)||/^å¾
çæèªæä»ç»[-ï¼â]?REQ[-ï¼â]?\d+$/i.test(c)||/^REQ[-ï¼â]?\d+$/i.test(c)||c==="å²ä½å®å¶èªæä»ç»"||c==="å½åJDèªæä»ç»"||c==="è¡¨è¾¾æ±æ¥"},r=(a,c,R)=>{const S=e(c.name||c.versionName||a.title||a.assetName);if(!n(S))return S;const f=e([R,a.content,c.description,c.summary,a.assetName,a.title].filter(Boolean).join(" "));let d="å²ä½å®å¶";return/Web3|åºåé¾|DeFi|é±å
|交ææ|Telegram|Discord|社群/i.test(f)?/å¢é¿|转å|ææ°|çå|æ´»è·|ç¨æ·/i.test(f)?d="Web3社群å¢é¿":d="Web3è¿è¥":/产åè¿è¥|ç¨æ·å¢é¿|å¢é¿|转å|çå|æ´»è·|DAU|GMV|CTR/i.test(f)?d="产åè¿è¥å¢é¿":/åå¡|BD|æå±|åä½/i.test(f)?d="å塿å±è¿è¥":/æ°æ®|ææ |åæ|çç¥/i.test(f)?d="æ°æ®é©±å¨è¿è¥":/è±æ|è±è¯|æµ·å¤|è·¨æå/i.test(f)&&(d="æµ·å¤æ²éè¿è¥"),`${d}èªæä»ç»`},s=a=>a?a.payload&&typeof a.payload=="object"?a.payload:a:{},l=a=>{const c=[a?.tab,a?.module,a?.assetModule,a?.assetTargetMainTab,a?.targetMainTab,a?.mainTab,a?.subTab,a?.assetName,a?.title].filter(
21Boolean).join(" ");return/èªæä»ç»|selfIntro/i.test(c)},u=(a,c)=>e(c.content||c.introduction||c.selfIntro||c.summary||c.description||a.content||a.description||""),p=(a,c)=>{const R=s(a.payload),S=u(a,R),f=c||a.actionCardId||a.id||a.assetRefId;if(!S&&!f)return;const d=r(a,R,S),I=`${f||d}:${e(S)}`;m.has(I)||(m.add(I),b.push({id:a.actionCardId||a.id||a.assetRefId||c||`quick-self-intro-${b.length}`,name:d,title:`[æ°å»º] ${d}`,content:B().resolveSelfIntroCardSeed(S,{jdRequirement:a.jdRequirement,versionName:d,action:"CREATE"}),isMock:!0,mockType:"æ°å¢",strategy:"æ°å¢",cardKind:"created",actionType:"æ°å¢",assetRefId:a.assetRefId,actionCardId:a.actionCardId||a.id,payload:a.payload||a}))},b=[],m=new Set;return Ie?.actionCards&&Ie.actionCards.forEach(a=>{l(a)&&p(a)}),Object.entries(ee||{}).forEach(([a,c])=>{if(c)try{(Y().parseAiReportMarkdown(String(c),{originalJdText:H})?.actionCards||[]).forEach((S,f)=>{l(S)&&p(S,`${a}-${f}`)})}catch{}}),b.length<=1?b:[...b].sort((a,c)=>e(c.content).length-e(a.content).length).slice(0,1).map(a=>({...a,id:a.id||"quick-self-intro-merged"}))}}),[v,L,H,Ie,g,ee]),Zi=G.useMemo(()=>fn(dc,{active:L===1,reset:g||!v,empty:nt,compute:()=>{const e=[],n=[];Object.values(ee||{}).forEach(f=>{if(f)try{const d=Y().parseAiReportMarkdown(String(f),{originalJdText:H});d&&n.push(d)}catch(d){console.warn("[QuickResume] Failed to parse job intent tab report",d)}});const r=n.flatMap(f=>Array.isArray(f?.actionCards)?f.actionCards:[]),s=f=>String(f||"").replace(/^(?:æ°å¢å¡|æ°å»ºå¡|ä¿®æ¹å¡|æ´æ¹å¡|åå¡)[ï¼:\-\s]*/i,"").replace(/^æ±èæå[\/\\\-\s]*/i,"").replace(/^(?:æåèä½&ææèªèµ|æåèä½|ææèªèµ|æ±èç¶æ&æå¿«å°å²æ¶é´|æ±èç¶æ|æå¿«å°å²æ¶é´|æååå¸|æå工使§è´¨|工使§è´¨)[\/\\\-\s]*/i,"").replace(/^[ä¸äºä¸åäºå
ä¸å
«ä¹åç¾åä¸]+[ã.ï¼\s]*/,"").replace(/^\d+[ã.ï¼\s]*/,"").trim(),l=(f,d)=>s(f?.assetName||f?.title||d?.jobTitle||d?.desiredRole||d?.status||d?.city||d?.desiredCity||d?.jobType||f?.content);r.length>0&&r.forEach(f=>{if(f.tab==="æ±èæå"||f.tab==="jobIntent"){const d=f.payload?.payload||f.payload||{},I=`${f.module||""} ${f.title||""} ${f.assetName||""} ${f.sectionTitle||""}`;let x=String(d.type||f.type||f.intentKind||"");x||(/工使§è´¨|æå工使§è´¨|å·¥ä½ç±»å|jobType|intendedJobType|employmentType/i.test(I)?x="intendedJobType":/æ±èç¶æ|æå¿«å°å²|å°å²|å
¥è|jobStatus|available|onboard|status/i.test(I)?x="jobStatus":/æååå¸|ææåå¸|å·¥ä½åå¸|desiredCity|intendedCity|location/i.test(I)?x="intendedCity":x="jobIntent");const q=l(f,d),te=q.match(/(\$?\d+(?:,\d{3})?\s*[-~å°è³]\s*\$?\d+(?:,\d{3})?\s*\/?\s*(?:month|æ)?|\d+\s*[kKwW]\s*[-~å°è³]\s*\d+\s*[kKwW]|é¢è®®)/i)?.[0]?.trim(),J=x==="jobIntent"?s(q.replace(te||"","").replace(/å²ä½èè´£[:ï¼].*$/i,"").trim()):void 0;e.push({...f,id:f.id||f.actionCardId||f.assetRefId||`fallback-${f.actionCardId||f.assetRefId||Math.random().toString(36).slice(2,9)}`,title:f.title||f.assetName||"æ±èæå建议",content:f.content,isMock:!0,mockType:zr(f.actionType),strategy:zr(f.actionType),cardKind:/ä¿®æ¹|æ´æ¹|UPDATE/i.test(String(f.actionType||zr(f.actionType)))?"modified":"created",intentKind:x,jobTitle:f.jobTitle||d.jobTitle||d.desiredRole||J||(x==="jobIntent"?q:void 0),salary:f.salary||d.salary||d.expectedSalary||d.salaryExpectation||te,status:f.status||d.status||(x==="jobStatus"?q:void 0),earliestDate:f.earliestDate||d.earliestDate||d.availableFrom||d.onboardTime,city:f.city||d.city||d.desiredCity||(x==="intendedCity"?q:void 0),jobType:f.jobType||d.jobType||(x==="intendedJobType"?q:void 0),payload:{...f.payload||{},type:x,payload:{...d,type:x,jobTitle:f.jobTitle||d.jobTitle||d.desiredRole||J||(x==="jobIntent"?q:void 0),salary:f.salary||d.salary||d.expectedSalary||d.salaryExpectation||te,status:f.status||d.status||(x==="jobStatus"?q:void 0),earliestDate:f.earliestDate||d.earliestDate||d.availableFrom||d.onboardTime,city:f.city||d.city||d.desiredCity||(x==="intendedCity"?q:void 0),jobType:f.jobType||d.jobType||(x==="intendedJobType"?q:void 0)}}})}});const u=f=>{const d=String(f||"");return/å
¨æ°|æ°å»º|æ°å¢|éé |å¡«è¡¥/.test(d)?"æ°å¢":/é«é¶|æ¹ç¼|æ´æ¹|ä¿®æ¹|éæ|æ¹å/.test(d)?"ä¿®æ¹":/æ é|æ é¡»|ä¸å|ç´æ¥|ä¿ç|已满足|éç¨|åå¡/.test(d)?"ä¸å":d||"ä¸å"},p=f=>{const d=String(f||"").replace(/^(?:æ[-ï¼â]|åå¡[ï¼:]|åéåå¡[ï¼:]|å¾
确认åå¡[ï¼:]|ä¿®æ¹å¡[ï¼:]|æ¹åå¡[ï¼:]|æ°å¢å¡[ï¼:]|æ°å»ºå¡[ï¼:])\s*/,"").replace(/^æ±èæå[\/ï¼\-ï¼â:ï¼\s]*/i,"").replace(/^(?:æåèä½&ææèªèµ|æåèä½|ææèªèµ|æ±èç¶æ&æå¿«å°å²æ¶é´|æ±èç¶æ|æå¿«å°å²æ¶é´|æååå¸|æå工使§è´¨|工使§è´¨)[\/ï¼\-ï¼â:ï¼\s]*/i,"").replace(/^[ä¸äºä¸åäºå
ä¸å
«ä¹åç¾åä¸]+[ã.ï¼]\s*/,"").replace(/^\d+[ã.ï¼)]\s*/,"").trim(),I=d.match(/https?:\/\/[^\s]+/i);return I?I[0].trim():d.trim()},b=f=>{const d=[f?.rawCol0,f?.moduleCategory,f?.mainTab,f?.subTab,f?.assetModule].filter(
21Boolean).join(" ");return d.includes("æ±èæå")||d.includes("æåèä½")||d.includes("æååå¸")||d.includes("æ±èç¶æ")||d.includes("工使§è´¨")||d.includes("æå工使§è´¨")},m=[];n.forEach(f=>{f?.sections?.forEach(I=>{I.tableData?.forEach(x=>{b(x)&&m.push(x)})}),[...f?.moduleHcpPlan?[f.moduleHcpPlan]:[],...Array.isArray(f?.moduleHcpPlans)?f.moduleHcpPlans:[]].forEach(I=>{(String(I?.mainTab||I?.moduleKey||"").includes("æ±èæå")||String(I?.mainTab||I?.moduleKey||"").includes("jobIntent"))&&(I?.rows||[]).forEach(q=>m.push(q))})});const a=f=>r.length?r.some(d=>{const I=String(d.actionCardId||d.assetRefId||""),x=String(f.actionCardId||""),q=String(f.assetRefId||"");return!!(x&&I===x||q&&I===q||d.assetRefId&&q&&String(d.assetRefId)===q)}):!1,c=new Set;m.forEach(f=>{const d=u(f.rawCol4||f.action||f.æ´æ¹çç¥);d!=="ä¿®æ¹"&&d!=="æ°å¢"||Array.isArray(f.assetRefs)&&f.assetRefs.forEach(I=>{const x=String(I?.assetType||I?.type||"");if(!(x.includes("ä¿®æ¹")||x.includes("æ°å¢")||x.includes("æ°å»º")||x.includes("æ¹å")||x.includes("Modify")||x.includes("Create"))||a(I))return;const U=I.payload?.payload||I.payload||{},te=U.jobTitle||U.desiredRole||U.status||U.city||U.desiredCity||U.jobType||I.displayText||I.assetName||"";if(!te)return;const J=p(te);if(!J)return;const Q=String(I.assetRefId||I.actionCardId||te);if(c.has(Q))return;c.add(Q);let K="jobIntent";const y=`${I.assetModule||""} ${I.assetName||""} ${I.displayText||""} ${f?.rawCol0||""} ${f?.subTab||""}`.toLowerCase();/工使§è´¨|æå工使§è´¨|å·¥ä½ç±»å|jobtype|intendedjobtype|employmenttype/i.test(y)?K="intendedJobType":/æ±èç¶æ|å°å²|å
¥è|jobstatus|available|onboard|status/i.test(y)?K="jobStatus":/åå¸|æååå¸|ææåå¸|å·¥ä½åå¸|intendedcity|desiredcity|location/i.test(y)&&(K="intendedCity");let E=J,j="é¢è®®",O=J,Z="ææªç¡®å®",ae=J,$e="主è¦åå¸",Fe=J;if(K==="jobIntent"){const Pt=J.match(/(\d+k-\d+k|\d+ä¸-\d+ä¸|\d+w-\d+w|é¢è®®)/i);Pt&&(j=Pt[0],E=J.replace(Pt[0],"").replace(/[-ï¼â\s:]+$/,"").trim()||J),E=p(U.jobTitle||U.desiredRole||E),j=U.salary||U.expectedSalary||U.salaryExpectation||j}else if(K==="jobStatus"){const Pt=J.split(/[-ï¼â\s,ï¼]/).map(Tn=>Tn.trim()).filter(Boolean);Pt.length>1&&(O=Pt[0],Z=Pt.slice(1).join(" ")),O=p(U.status||O),Z=U.earliestDate||U.availableFrom||U.onboardTime||Z}else K==="intendedCity"?ae=p(U.city||U.desiredCity||ae):K==="intendedJobType"&&(Fe=p(U.jobType||Fe));const Ke={jobTitle:E,salary:j,status:O,earliestDate:Z,city:ae,cityType:$e,jobType:Fe,type:K};e.push({id:`fallback-${I.assetRefId||I.actionCardId||Math.random().toString(36).substr(2,9)}`,title:I.assetName||I.displayText||"æ±èæå建议",content:J,isMock:!0,mockType:d==="ä¿®æ¹"?"ä¿®æ¹":"æ°å»º",strategy:d==="ä¿®æ¹"?"ä¿®æ¹":"æ°å»º",cardKind:d==="ä¿®æ¹"?"modified":"created",actionType:d==="ä¿®æ¹"?"Modify":"Create",intentKind:K,assetRefId:I.assetRefId||I.actionCardId,actionCardId:I.actionCardId||I.assetRefId,jobTitle:E,salary:j,status:O,earliestDate:Z,city:ae,cityType:$e,jobType:Fe,payload:{type:K,payload:Ke,...Ke}})})});const R=[],S=new Set;return e.forEach(f=>{const d=f.payload?.payload||f.payload||{},I=[f.intentKind||d.type||"",f.assetRefId||f.actionCardId||f.id||"",f.jobTitle||d.jobTitle||d.desiredRole||"",f.salary||d.salary||d.expectedSalary||"",f.status||d.status||"",f.earliestDate||d.earliestDate||d.onboardTime||"",f.city||d.city||d.desiredCity||"",f.jobType||d.jobType||"",f.content||""].map(x=>String(x||"").trim()).join("|");I.replace(/\|/g,"")&&(S.has(I)||(S.add(I),R.push(f)))}),R}}),[v,L,H,g,ee]),er=G.useMemo(()=>{const e=n=>{const r=n?.payload?.payload||n?.payload||{},s=String(n?.intentKind||r?.type||n?.type||"");if(s)return s;const l=`${n?.title||""} ${n?.module||""} ${n?.sectionTitle||""} ${n?.assetName||""} ${n?.content||""}`;return/工使§è´¨|æå工使§è´¨|å·¥ä½ç±»å|jobType|intendedJobType|employmentType/i.test(l)?"intendedJobType":/æ±èç¶æ|æå¿«å°å²|å°å²|å
¥è|jobStatus|available|onboard|status/i.test(l)?"jobStatus":/æååå¸|ææåå¸|å·¥ä½åå¸|desiredCity|intendedCity|location/i.test(l)?"intendedCity":"jobIntent"};return Zi.reduce((n,r)=>{const s=e(r);return n[s]=n[s]||[],n[s].push(r),n},{jobIntent:[],jobStatus:[],intendedCity:[],intendedJobType:[]})},[Zi]),He=G.useMemo(()=>{const e=v?.experience||{};return{companies:Array.isArray(e.companies)?e.companies:[],projects:Array.isArray(e.projects)?e.projects:[],workExps:Array.isArray(e.workExps)?e.workExps:[]}},[v]),gt=G.useMemo(()=>{const e=s=>String(s||"").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/\s+/g," ").trim(),n=new Map,r=new Map;
21return He.companies.forEach(s=>{s?.id!==void 0&&s?.id!==null&&n.set(String(s.id),s)}),He.projects.forEach(s=>{s?.id!==void 0&&s?.id!==null&&r.set(String(s.id),s)}),He.workExps.map((s,l)=>{const u=s?.projectId!==void 0&&s?.projectId!==null?r.get(String(s.projectId)):null,p=s?.companyId!==void 0&&s?.companyId!==null?n.get(String(s.companyId)):null,b=u?.companyId!==void 0&&u?.companyId!==null?n.get(String(u.companyId)):null,m=p||b||null,a=e(s.companyName||s.company?.name||m?.name||m?.companyName),c=e(s.projectName||s.project?.name||u?.name||u?.projectName),R=c||a,S=e(s.workContentName||s.shortName||s.title||s.name||s.roleTitle),f=s.starDescription||s.description||s.content||s.deepDiveDetail||"";return{...s,id:s.id??`quick-work-${l}`,workContentId:s.id??`quick-work-${l}`,company:a?{...m||{},id:m?.id??s.companyId,name:a}:void 0,project:c?{...u||{},id:u?.id??s.projectId,name:c,companyId:u?.companyId??m?.id}:void 0,companyName:a,projectName:c,parentName:R,parentType:c?"project":a?"company":"unknown",roleTitle:s.roleTitle||s.jobTitle||s.role||m?.position||u?.roleTitle||"",workContentName:S,shortName:S,starDescription:f,description:f,originalNameForUpdate:R&&S?`${R} - ${S}`:"",companyOrProject:R,itemTitle:S,content:f}}).filter(s=>s.workContentName||s.description)},[He]),dt=G.useMemo(()=>ua(Array.isArray(ue?.skills)?ue.skills:[],Array.isArray(v?.skills)?v.skills:[],(e,n)=>{if(e?.id!==void 0&&e?.id!==null)return`id:${e.id}`;const r=String(e?.name||e?.skillName||"").trim();return r?`name:${r}`:`extracted-skill-${n}`}),[v?.skills,ue?.skills]),Qn=G.useMemo(()=>Array.isArray(v?.skills)?v.skills:[],[v?.skills]),gc=G.useMemo(()=>ua(Array.isArray(ue?.experiences)?ue.experiences:[],gt,(e,n)=>{const r=e?.id??e?.workContentId;if(r!=null)return`id:${r}`;const s=String(e?.workContentName||e?.shortName||e?.originalNameForUpdate||"").trim();return s?`label:${s}`:`extracted-exp-${n}`}),[ue?.experiences,gt]),bc=G.useMemo(()=>({companies:Array.isArray(ke?.companies)?ke.companies:[],projects:Array.isArray(ke?.projects)?ke.projects:[],workExps:Array.isArray(ke?.workExps)&&ke.workExps.length>0?ke.workExps:Array.isArray(ke?.experiences)?ke.experiences:[]}),[ke?.companies,ke?.experiences,ke?.projects,ke?.workExps]),hn=G.useMemo(()=>{const e=[],n=new Set,r=u=>{if(!u)return;[...u.moduleHcpPlan?[u.moduleHcpPlan]:[],...Array.isArray(u.moduleHcpPlans)?u.moduleHcpPlans:[]].forEach(b=>{const m=JSON.stringify({mainTab:b?.mainTab,subTab:b?.subTab,rows:b?.rows});if(n.has(m))return;n.add(m);const a=Y().normalizeModulePlan(b,u.actionCards||[],{sourceJdText:H,experiences:gt,companies:He.companies,projects:He.projects,candidateOriginalAssetIds:u.candidateOriginalAssetIds||[],profileData:Dt,educations:Dt.educations||[],sourceMode:"quickResume",personalInfoContextMode:"extracted"});a&&e.push(a)})};r(Ie),(!Array.isArray(Ie?.moduleHcpPlans)||Ie.moduleHcpPlans.length===0)&&Object.values(ee).forEach(u=>{if(u)try{r(Y().parseAiReportMarkdown(u,{originalJdText:H}))}catch(p){console.warn("[QuickResume] Failed to normalize tab report",p)}});const s=Ne(ye,H)||Ne(ge,H),l=Ge(H);return e.map(u=>{const p=String(u.module||u.mainTab||"");return p.includes("å·¥ä½ç»éª")?Y().applyWorkExperienceJdMirrorToModulePlan(u,s,ft,H,{jdCentricRows:Y().getWorkExperienceMirrorSourceRows(Ut,ft),sourceMode:"quickResume",archiveContext:"quickResume",experiences:gt,companies:He.companies,projects:He.projects}):p.includes("ç¥è¯æè½")?Y().syncKnowledgeSkillNormalizedPlan(u,{jdText:H,companyName:s?.jdMeta?.companyName||"",jobTitle:l.jobTitle||"",librarySkills:dt,routingRequirements:s?.requirements||[]}):u})},[v?.basicInfo,ge,ye,Ie,dt,Dt,ee,H,He,gt,Ut,ft]),bt=G.useCallback(e=>{const n=/å·¥ä½ç»éª|experience/i.test(e);return hn.find(r=>{const s=`${r?.mainTab||""} ${r?.module||""} ${r?.moduleKey||""}`;return s.includes(e)||n&&/experience/i.test(s)})||null},[hn]),es=G.useMemo(()=>{const e=bt("èªæä»ç»");if(!e?.rows?.length)return[];const n=Ge(H).jobTitle||"",r=p=>String(p||"").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/\s+/g," ").trim(),s=p=>p?.payload?.payload||p?.payload||{},l=[],u=new Set;return(e.rows||[]).filter(p=>p?.rowValidationStatus!=="invalid").forEach(p=>
21{(p.assetRefs||[]).forEach(b=>{if(b?.validationStatus==="invalid"||!/ä¿®æ¹å¡|æ°å¢å¡/.test(String(b?.assetType||"")))return;const m=String(b?.assetRefId||b?.actionCardId||"");if(!m||u.has(m))return;u.add(m);const a=s(b),c=r(a.content||b.content||""),R=B().buildSelfIntroVersionName(p?.selfIntroEvaluation?.jobTitle||n,a.name||a.versionName||b.assetName||p?.assetName),S=b.assetType==="ä¿®æ¹å¡"?"ä¿®æ¹":"æ°å¢",f=R,d=B().formatSelfIntroActionCardTitle(R,S==="ä¿®æ¹"?"æ´æ¹":"æ°å»º",p?.selfIntroEvaluation?.jobTitle||n);l.push({id:b.actionCardId||b.assetRefId||`quick-self-intro-plan-${l.length}`,name:f,title:d,content:B().resolveSelfIntroCardSeed(c,{jdRequirement:p?.jdRequirement,versionName:R,action:"CREATE"}),isMock:!0,mockType:S,strategy:S,cardKind:S==="ä¿®æ¹"?"modified":"created",actionType:S==="ä¿®æ¹"?"æ´æ¹":"æ°å»º",assetRefId:b.assetRefId,actionCardId:b.actionCardId,payload:b.payload||b})})}),l},[bt,H]),ts=G.useMemo(()=>{const e=[],n=new Set;return[...es,...Xi].forEach(r=>{const s=String(r?.assetRefId||r?.actionCardId||r?.id||r?.name||"");!s||n.has(s)||(n.add(s),e.push(r))}),e},[Xi,es]),di=G.useMemo(()=>{const e=B().mergeAdoptedCardsForTab(tt,"èªæä»ç»");if(!e.length)return[];const n=r=>String(r||"").replace(/\[(æ´æ¹|ä¿®æ¹|æ°å»º)\]\s*/g,"").replace(/\s+/g,"").toLowerCase();return e.map(r=>{const s=ts.find(l=>{if(r.assetRefId&&String(l?.assetRefId||"")===String(r.assetRefId)||r.actionCardId&&String(l?.actionCardId||"")===String(r.actionCardId))return!0;const u=n(r.name||r.title),p=n(l?.name||l?.title);return!!(u&&p&&(u===p||u.includes(p)||p.includes(u)))});return s?{...s,...r,name:r.name||s.name,title:r.title||s.title,content:r.content||s.content,isMock:!0,mockType:r.mockType||s.mockType||"æ´æ¹"}:r})},[tt,re,ts]),hc=di.length>0||Array.from(Nt).some(e=>e.startsWith("èªæä»ç»|")),yc=di.some(e=>/æ´æ¹|ä¿®æ¹/.test(String(e?.mockType||e?.actionType||""))),po=G.useCallback(e=>{const n=la[e]||e,r=String(ee[n]||"").trim();if(bt(e)?.rows?.length)return"ready";if(!r)return"idle";if(/AI æ£å¨å
¨éæè§£/.test(r))return"loading";try{const l=Y().parseAiReportMarkdown(r,{preferredMainTab:Qs[n]||e,originalJdText:H});if(l?.moduleHcpPlan?.rows?.length||l?.moduleHcpPlans?.some(p=>Array.isArray(p?.rows)&&p.rows.length>0))return"ready";if(l?.generationMode==="deterministic_plan_error"||String(l?.validation?.status||"").trim()==="error")return"error"}catch{return"error"}return r.includes("```json")?"error":"idle"},[bt,H,ee]),Rc=G.useMemo(()=>{const e=Ie||Fr;if(!hn.length)return e;const n={...e,sections:[...e.sections||[]]},r=Ne(ye,$)||Ne(ge,$),s=r?.requirements||[],l=Ge($),u=["JDæ¡ç®ID","åè¡ä¸åå²ä½æ å","JDåæè¦æ±","åºä¸æ¯å¦å·²æ","ä¸å®¶å¤å®","æ´æ¹çç¥","对åºèµäº§/çæå¡ç"];return hn.forEach(p=>{let b=[];try{b=Y().buildNormalizedPlanTableRows(p,{jdText:$,companyName:r?.jdMeta?.companyName||"",jobTitle:l.jobTitle||"",librarySkills:dt,routingRequirements:s,routingLookup:Ki,subTabLookup:Wi,jobIntentSubTabLookup:Gi,sourceMode:"quickResume"})}catch(c){console.warn("[QuickResume] Failed to build module overview rows",p?.module||p?.mainTab,c);return}if(!b.length)return;const m=p.module||p.mainTab||"æ¨¡åæ¦è§";/å·¥ä½ç»éª|experience/i.test(String(m))&&(b=Y().calibrateWorkExperienceOverviewRows(b,r,ft,$,{jobTitle:l.jobTitle||"",jdCentricRows:Y().getWorkExperienceMirrorSourceRows(Ut,ft),sourceMode:"quickResume",experiences:gt,companies:He.companies,projects:He.projects})),/èªæä»ç»|selfIntro/i.test(String(m))&&(b=B().normalizeSelfIntroOverviewRows(b,l.jobTitle||""));const a=n.sections.findIndex(c=>String(c?.title||"").includes(m));if(a<0){n.sections.push({id:`module-hcp-plan-${m}`,title:m,jdPerspective:"",diagnosis:"",actionGuide:{coreAction:"",details:[],expertAdvice:"",exampleText:""},subSections:[],tableHeaders:u,tableData:b});return}n.sections[a]={...n.sections[a],title:n.sections[a].title||m,tableHeaders:n.sections[a].tableHeaders||u,tableData:b}}),n},[Ie,hn,ge,ye,$,dt,Ut,ft,Ki,Wi,Gi]),Sc=G.useCallback(e=>{const n=bt(e),r=Array.isArray(n?.rows)?n.rows:[];return n&&r.length===0?k.jsx(va,{icon:k.jsx(Os,{}),title:"模åç¶æ",color:"#86868b",text:"æ¬ JD æªå该模ååé
å¯å¤çè¦æ±"}):Ld(Ie,e)},[bt,Ie]),kc=G.useCallback(e=>{if(e.planStatus==="idle"){z.warning("请å
çææ¬æ¨¡ååæï¼åéç¨å»ºè®®");return}const n=Ne(ye,$)||Ne(ge,$),r=B().buildAdoptedCardsFromSection(e,{jdText:$,jobTitle:Ge($).jobTitle,companyName:n?.jdMeta?.companyName||"",librarySkills:dt}),s=B().buildAdoptSelectionPatch(e,r),l=(u,p,b)=>{let m=[...u];return b.forEach(a=>{m=m.filter(c=>String(c)!==String(a))}),p.forEach(a=>{m.some(c=>
21String(c)===String(a))||m.push(a)}),m};if(e.mainTab==="ç¥è¯æè½"){const u=r.flatMap(p=>un(p));o.startTransition(()=>{Ft(p=>l(p,[...s.skillIdsToAdd,...u],s.skillIdsToRemove))})}if(e.mainTab==="å·¥ä½ç»éª"){const u=r.flatMap(p=>un(p));o.startTransition(()=>{xt(p=>l(p,[...s.expIdsToAdd,...u],s.expIdsToRemove))})}o.startTransition(()=>{Wn(u=>new Set([...u,e.key])),qn(u=>{const p=new Set(u);return e.items.forEach(b=>p.add(B().buildDecisionItemAdoptKey(b))),p}),_n(u=>({...u,[e.key]:r}))}),Ai(e.mainTab),z.success(r.length>0?`å·²éç¨ã${e.subTab}ãï¼å³ä¾§å·²æ¾ç¤º ${r.length} å¼ å»ºè®®å¡ãå¯ç¹å»æ´ä½åææ¥çä¸é¢åæ°ååã`:`已确认ã${e.subTab}ããå¯ç¹å»æ´ä½åææ¥çä¸é¢åæ°ååã`)},[ge,ye,$,dt]),wc=G.useCallback((e,n,r)=>{if(e.planStatus==="idle"){z.warning("请å
çææ¬æ¨¡ååæï¼åéç¨å»ºè®®");return}const s=r?.itemKey||B().buildDecisionItemAdoptKey(n);if(Rr.has(s)){z.info("该æ¡å·²å¨å³ä¾§éç¨");return}const l=r?.afterContent?{...n,previewContent:r.afterContent}:n,u=Ne(ye,$)||Ne(ge,$),p=B().buildAdoptedCardsFromItems(e,[l],{jdText:$,jobTitle:Ge($).jobTitle,companyName:u?.jdMeta?.companyName||"",librarySkills:dt}).map(a=>({...a,__decisionItemKey:s})),b=B().buildAdoptSelectionPatchForItems(e,[l],p),m=(a,c,R)=>{let S=[...a];return R.forEach(f=>{S=S.filter(d=>String(d)!==String(f))}),c.forEach(f=>{S.some(d=>String(d)===String(f))||S.push(f)}),S};if(e.mainTab==="ç¥è¯æè½"){const a=p.flatMap(c=>un(c));o.startTransition(()=>{Ft(c=>m(c,[...b.skillIdsToAdd,...a],b.skillIdsToRemove))})}if(e.mainTab==="å·¥ä½ç»éª"){const a=p.flatMap(c=>un(c));o.startTransition(()=>{xt(c=>m(c,[...b.expIdsToAdd,...a],b.expIdsToRemove))})}o.startTransition(()=>{Wn(a=>new Set([...a,e.key])),qn(a=>new Set([...a,s])),_n(a=>{const c=(a[e.key]||[]).filter(R=>R.__decisionItemKey!==s);return{...a,[e.key]:[...c,...p]}})}),Ai(e.mainTab),z.success(`å·²éç¨ã${n.title}ãï¼ä»
æ´æ°è¯¥æ¡å°å³ä¾§ã`)},[Rr,ge,ye,$,dt]),fo=G.useMemo(()=>B().mergeAdoptedCardsForTab(tt,"个人信æ¯"),[tt,re]),ht=G.useMemo(()=>B().mergeAdoptedCardsForTab(tt,"å·¥ä½ç»éª"),[tt,re]),mi=G.useMemo(()=>{const e=B().mergeAdoptedCardsForTab(tt,"æè²ç»å");if(!e.length)return[];const n=r=>String(r||"").replace(/\[(æ´æ¹|ä¿®æ¹|æ°å»º)\]\s*/g,"").replace(/\s+/g,"").toLowerCase();return e.map(r=>{const s=Yi.find(l=>{if(r.assetRefId&&String(l?.assetRefId||"")===String(r.assetRefId)||r.actionCardId&&String(l?.actionCardId||"")===String(r.actionCardId))return!0;const u=n(r.universityName||r.title||r.originalName),p=n(l?.universityName||l?.title||l?.originalName);return!!(u&&p&&(u===p||u.includes(p)||p.includes(u)))});return s?{...s,...r,universityName:r.universityName||s.universityName,degree:r.degree||s.degree,major:r.major||s.major,startYear:r.startYear||s.startYear,endYear:r.endYear||s.endYear,courses:Array.isArray(r.courses)&&r.courses.length?r.courses:s.courses,universityDesc:r.universityDesc||s.universityDesc,achievements:r.achievements||s.achievements,isMock:!0,mockType:r.mockType||s.mockType||"æ´æ¹"}:r})},[tt,Yi,re]),Ic=mi.length>0||Array.from(Nt).some(e=>e.startsWith("æè²ç»å|")),Tc=mi.some(e=>/æ´æ¹|ä¿®æ¹/.test(String(e?.mockType||e?.actionType||""))),st=G.useMemo(()=>{const e=n=>String(n||"").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/\s+/g," ").trim();return{companies:He.companies.map((n,r)=>({...n,id:n.id??`quick-company-${r}`,name:e(n.name||n.companyName||n.title)})).filter(n=>n.name),projects:He.projects.map((n,r)=>({...n,id:n.id??`quick-project-${r}`,name:e(n.name||n.projectName||n.title)})).filter(n=>n.name),workExps:He.workExps.map((n,r)=>({...n,id:n.id??`quick-work-${r}`,shortName:e(n.shortName||n.workContentName||n.title||n.name),starDescription:n.starDescription||n.description||n.content||"",isMock:!0,mockType:"åæ"})).filter(n=>n.shortName)}},[He]),yn=G.useMemo(()=>{const e=y=>String(y||"").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/\s+/g," ").trim(),n=y=>{const E=e(y);return!!(!E||/å¾
çæ|å¾
确认|å¾
è¡¥å
|å ä½|placeholder|pending/i.test(E)||/REQ[-_ï¼â]?\d+/i.test(E)||/^O{1,2}\d+$/i.test(E))},r=y=>y?y.payload&&typeof y.payload=="object"?y.payload:y:{},s=st.companies.map(y=>({...y,isMock:!0,mockType:"åæ"})),l=st.projects.map(y=>({...y,isMock:!0,mockType:"åæ"}
21)),u=st.workExps.map(y=>({...y,isMock:!0,mockType:"åæ"})),p=bt("å·¥ä½ç»éª"),b={companies:[],projects:[],workExps:[]},m=new Map,a=new Map;[...s,...b.companies].forEach(y=>m.set(e(y.name).toLowerCase(),y)),[...l,...b.projects].forEach(y=>a.set(e(y.name).toLowerCase(),y));let c=-9e3;const R=y=>{const E=e(y);if(n(E))return null;const j=E.toLowerCase(),O=m.get(j);if(O)return O;const Z={id:c--,name:E,isMock:!0,mockType:"æ°å¢"};return b.companies.push(Z),m.set(j,Z),Z},S=(y,E)=>{const j=e(y);if(n(j))return null;const O=j.toLowerCase(),Z=a.get(O);if(Z)return Z;const ae=E?R(E):null,$e={id:c--,name:j,companyId:ae?.id,isMock:!0,mockType:"æ°å¢"};return b.projects.push($e),a.set(O,$e),$e},f=y=>e(y.shortName||y.workContentName||y.title||y.name),d=(...y)=>{const E=y.map(e).find(Boolean)||"";if(!E)return"";const j=E.replace(/^(?:åå¡|ä¿®æ¹å¡|æ°å¢å¡|æ´æ¹å¡|æ°å»ºå¡)[ï¼:]\s*/,"").replace(/^å·¥ä½ç»éª[\/\\]\s*/,"").trim(),O=j.split(/\s*[-ï¼â]\s*/).map(Z=>Z.trim()).filter(Boolean);return O.length>=3&&O[0]==="å·¥ä½ç»éª"||O.length>=2&&/^å·¥ä½ç»éª/.test(O[0])?O[O.length-1]:j},I=(y,E)=>{const j=e(y),O=d(E);return u.find(Z=>{const ae=f(Z);return j&&(ae===j||j.includes(ae))||O&&ae===O})||null},x=y=>{const E=y?.assetId;if(E!=null){const j=u.find(O=>String(O.id)===String(E)||String(O.workContentId||"")===String(E));if(j)return j}return I(y?.originalName,d(y?.assetName,y?.displayText))},q=y=>{if(y==null)return null;const E=b.companies.find(O=>String(O.id)===String(y));if(E)return E;const j=s.find(O=>String(O.id)===String(y));return j?(b.companies.push(j),m.set(e(j.name).toLowerCase(),j),j):null},U=y=>{if(y==null)return null;const E=b.projects.find(Z=>String(Z.id)===String(y));if(E)return E;const j=l.find(Z=>String(Z.id)===String(y));if(!j)return null;const O=j.companyId;return O!=null&&q(O),b.projects.push(j),a.set(e(j.name).toLowerCase(),j),j},te=y=>y?(b.workExps.find(j=>String(j.id)===String(y.id))||b.workExps.push(y),y.projectId!==void 0&&y.projectId!==null&&U(y.projectId),y.companyId!==void 0&&y.companyId!==null&&q(y.companyId),y):null,J=[];Array.isArray(Ie?.actionCards)&&J.push(...Ie.actionCards),Object.values(ee||{}).forEach(y=>{if(y)try{const E=Y().parseAiReportMarkdown(String(y),{originalJdText:H});Array.isArray(E?.actionCards)&&J.push(...E.actionCards)}catch(E){console.warn("[QuickResume] Failed to parse experience action cards",E)}});const Q=[];p?.rows?.length?p.rows.forEach(y=>{String(y?.rowValidationStatus||"valid")==="valid"&&(y.assetRefs||[]).forEach(E=>{if(String(E?.validationStatus||"valid")!=="valid")return;if(/åå¡/i.test(String(E?.assetType||""))){te(x(E));return}if(!/ä¿®æ¹|æ´æ¹|æ°å¢|æ°å»º/i.test(String(E?.assetType||"")))return;const j=J.find(Ke=>String(Ke?.actionCardId||Ke?.id||"")===String(E?.actionCardId||"")||String(Ke?.assetRefId||"")===String(E?.assetRefId||"")),O=r(j?.payload||E?.payload),Z=/æ°å¢|æ°å»º/i.test(String(E?.assetType||j?.actionType||""))?"æ°å¢":"ä¿®æ¹",ae=B().resolveWorkExperienceCardSeed({asset:E,row:y,action:Z==="æ°å¢"?"CREATE":"UPDATE",parentName:E?.cardDraft?.parentName||E?.__polishContext?.parentName,projectName:O.projectName||E?.payload?.payload?.projectName,companyName:O.companyName||E?.payload?.payload?.companyName,originalName:j?.originalName||O.originalName||E?.originalName,originalDescription:O.starDescription||O.description}),$e={...E?.__polishContext||{},jdRequirement:y?.rawRow?.jdRequirement||y?.jdRequirement||E?.__polishContext?.jdRequirement,standardRequirement:y?.rawRow?.standardRequirement||y?.standardRequirement||E?.__polishContext?.standardRequirement,expertJudgement:y?.rawRow?.expertJudgement||y?.expertJudgement||y?.rawCol5,parentName:ae.parentName,projectName:ae.projectName,companyName:ae.companyName},Fe=ae.seedDescription;Q.push({action:Z,body:{...O,workContentName:ae.workContentName,projectName:ae.projectName||O.projectName,companyName:ae.companyName||O.companyName,starDescription:Fe,description:Fe},content:Fe,assetRefId:E?.assetRefId,actionCardId:E?.actionCardId||j?.actionCardId,originalName:j?.originalName||O.originalName||E?.originalName||"",workName:ae.workContentName,polishContext:$e,parentName:ae.parentName,projectName:ae.projectName||O.projectName||$e.projectName,companyName:ae.companyName||O.companyName||$e.companyName})})}):J.length&&J.forEach(y=>{const E=`${y?.tab||""} ${y?.module||""} ${y?.targetMainTab||""}`;if(!E.includes("å·¥ä½ç»éª")&&!/experience/i.test(E))return;const j=r(y.payload);Q.push({action:zr(y.actionType)==="æ°å¢"?"æ°å¢":"ä¿®æ¹",body:j,content:y.content||j.starDescription||j.description||"",assetRefId:y.assetRefId,actionCardId:y.actionCardId||y.id,originalName:y.originalName||j.originalName||"",workName:d(j.workContentName,j.shortName,j.title,y.title)})});const K=new Set;return Q.forEach(y=>{const E=y.body||{},j=y.action==="æ°å¢"?"æ°å¢":"ä¿®æ¹",O=d(y.workName);if(n(O))return;const Z=j==="ä¿®æ¹"?I(y.originalName,O)||x({originalName:y.originalName,assetName:y.workName,displayText:y.workName}):null;j==="ä¿®æ¹"&&Z&&te(Z);const ae=e(E.companyName||E.company||E.organizationName),$e=e(E.projectName||E.project);let Fe=Z?.companyId?b.companies.find(Kt=>
21String(Kt.id)===String(Z.companyId))||q(Z.companyId):null,Ke=Z?.projectId?b.projects.find(Kt=>String(Kt.id)===String(Z.projectId))||U(Z.projectId):null;if(j==="æ°å¢"){if(!ae&&!$e||(Ke=$e?S($e,ae):null,Fe=Ke?null:R(ae),!Fe&&!Ke))return}else if(!Fe&&!Ke&&(Ke=$e?S($e,ae):null,Fe=Ke?null:R(ae),!Fe&&!Ke)){const Kt=e(y.originalName).split(/\s*[-ï¼â]\s*/).filter(Boolean),$r=Kt.length>=2?Kt[0]:"";$r&&(Ke=S($r,ae),Fe=Ke?null:R($r))}const Pt=`${j}:${y.assetRefId||y.actionCardId||O}:${O}`;if(K.has(Pt))return;K.add(Pt);const Tn=Ge(H),Or={...y.polishContext||{},parentName:y.parentName||y.polishContext?.parentName,companyName:y.companyName||y.polishContext?.companyName,projectName:y.projectName||y.polishContext?.projectName,jdText:H,jobTitle:Tn.jobTitle,originalDescription:Z?.starDescription||Z?.description||y.polishContext?.originalDescription};b.workExps.push({id:c--,companyId:Fe?.id,projectId:Ke?.id,shortName:O,starDescription:y.content||E.starDescription||E.description||"",description:y.content||E.description||"",content:y.content||"",isMock:!0,mockType:j,strategy:j,actionType:j==="æ°å¢"?"Create":"Modify",originalName:y.originalName,originalWorkId:Z?.id,assetRefId:y.assetRefId,actionCardId:y.actionCardId,parentName:Or.parentName,__polishContext:Or})}),!b.workExps.length&&p?.rows?.length&&p.rows.forEach(y=>{(y.assetRefs||[]).forEach(E=>{if(String(E?.validationStatus||"valid")!=="valid")return;const j=String(E?.assetType||"");if(!/åå¡|ä¿®æ¹|æ´æ¹|æ°å¢|æ°å»º|æ¹å/i.test(j))return;if(/åå¡/i.test(j)){te(x(E));return}const O=d(E.assetName,E.displayText,E.title);if(n(O))return;const Z=`fallback:${E.assetRefId||E.actionCardId||O}`;if(K.has(Z))return;K.add(Z);const ae=/æ°å¢|æ°å»º/i.test(j)?"æ°å¢":"ä¿®æ¹",$e=String(E.assetName||E.displayText||"").split(/[-ï¼â]/).map($r=>$r.trim()).filter(Boolean),Fe=$e.length>=3&&/å·¥ä½ç»éª/.test($e[0])?$e[1]:"",Ke=Fe?S(Fe):null,Pt=Ke?null:Fe?R(Fe):null,Tn=B().resolveWorkExperienceCardSeed({asset:E,row:y,action:ae==="æ°å¢"?"CREATE":"UPDATE"}),Or={...E?.__polishContext||{},jdRequirement:y?.rawRow?.jdRequirement||y?.jdRequirement,standardRequirement:y?.rawRow?.standardRequirement||y?.standardRequirement,expertJudgement:y?.rawRow?.expertJudgement||y?.expertJudgement||y?.rawCol5,jdText:H,jobTitle:Ge(H).jobTitle,parentName:Tn.parentName},Kt=Tn.seedDescription;b.workExps.push({id:c--,companyId:Pt?.id,projectId:Ke?.id,shortName:Tn.workContentName||O,starDescription:Kt,description:Kt,content:Kt,isMock:!0,mockType:ae,strategy:ae,actionType:ae==="æ°å¢"?"Create":"Modify",assetRefId:E.assetRefId,actionCardId:E.actionCardId,parentName:Tn?.parentName||Or.parentName,__polishContext:Or})})}),b},[st,Ie,ee,H,bt]),[ns,rs]=o.useState({}),pi=o.useRef(""),Rn=G.useMemo(()=>yn?.workExps?.length?{...yn,workExps:B().applyPolishedDescriptionToWorkItems(yn.workExps,ns)}:yn,[yn,ns]),xc=G.useMemo(()=>Array.from(Nt).some(e=>e.startsWith("å·¥ä½ç»éª|"))||ht.length>0,[ht.length,Nt]),[go,fi]=o.useState(null),bo=G.useMemo(()=>B().filterExperienceMockDataByAdoptedCards({companies:st.companies,projects:st.projects,workExps:st.workExps},Rn,ht),[ht,re,Rn,st]),tn=G.useMemo(()=>{const e=bo||{companies:[],projects:[],workExps:[]},n=go;if(!n?.workExps?.length)return e;const r=new Map((n.workExps||[]).map(c=>[String(c?.id),c])),s=new Set((e.workExps||[]).map(c=>String(c?.id))),l=(e.workExps||[]).map(c=>r.get(String(c?.id))||c),u=(n.workExps||[]).filter(c=>!s.has(String(c?.id))),p=new Set((e.companies||[]).map(c=>String(c?.id))),b=new Set((e.projects||[]).map(c=>String(c?.id))),m=(n.companies||[]).filter(c=>c?.id==null||p.has(String(c.id))?!1:(p.add(String(c.id)),!0)),a=(n.projects||[]).filter(c=>c?.id==null||b.has(String(c.id))?!1:(b.add(String(c.id)),!0));return{companies:[...e.companies||[],...m],projects:[...e.projects||[],...a],workExps:[...l,...u]}},[go,bo]),Ec=G.useCallback(e=>{const n=tn?.workExps||[],r=Array.isArray(e?.workExps)?e.workExps:[],s=new Set(r.map(R=>String(R?.id))),l=new Set(n.map(R=>String(R?.id))),u=n.filter(R=>!s.has(String(R?.id))),p=r.filter(R=>!l.has(String(R?.id)));if(p.length&&(fi({companies:Array.isArray(e?.companies)?e.companies:[],projects:Array.isArray(e?.projects)?e.projects:[],workExps:r}),xt(R=>{const S=p.map(f=>f?.id).filter(f=>f!=null&&!R.some(d=>String(d)===String(f)));return S.length?[...R,...S]:R})),!u.length)return;const b=u.filter(R=>R?.isMock&&/æ´æ¹|ä¿®æ¹|æ¹ç¼|æ°å¢|æ°å»º/.test(String(R.mockType||R.strategy||"")));if(!b.length&&!p.length){z.warning("åæ¡£æ¡å·¥ä½å
容请å¨èµæåºä¸ç®¡çï¼æ¤å¤ä»
å¯å é¤å·²éç¨ç建议å¡");return}if(!b.length)return;const m=new Set(b.map(R=>String(R.id))),a=new Set;b.forEach(R=>{R.__decisionItemKey&&a.add(String(R.__decisionItemKey))});const c={...tt};Object.entries(tt).forEach(([R,S])=>{R.startsWith("å·¥ä½ç»éª|")&&(c[R]=(S||[]).filter(f=>{const d=b.some(I=>B().scoreExperienceWorkAdoptMatch(I,f)>=80);return d&&f?.__decisionItemKey&&a.add(String(f.__decisionItemKey)),!d}))}),_n(c),qn(R=>{const S=new Set(R);return a.forEach(f=>S.delete(f)),S}),xt(R=>R.filter(S=>!m.has(String(S)))),fi(R=>R&&{...R,workExps:(R.workExps||[]).filter(S=>!m.has(String(S?.id)))})},[tt,tn]);o.useEffect(()=>{if(!re)return;
21const e=(yn?.workExps||[]).filter(B().shouldPolishWorkExperienceItem);if(!e.length){rs({}),pi.current="";return}const n=e.map(l=>`${B().getWorkExperienceCardPolishKey(l)}::${l.starDescription||l.description||""}`).join("|");if(pi.current===n)return;pi.current=n;const r=Ge(H);let s=!1;return B().polishWorkExperienceItems(e,{jdText:H,jobTitle:r.jobTitle}).then(l=>{s||rs(l)}).catch(()=>{}),()=>{s=!0}},[yn,re,H]);const Er=G.useMemo(()=>{const e=x=>String(x||"").replace(/<[^>]+>/g,"").replace(/ /g," ").replace(/\s+/g," ").trim(),n=x=>{const q=e(x);return!!(!q||/^å¾
çæ(?:æè½|èµäº§)?[-ï¼â]/i.test(q)||/^REQ[-ï¼â]?\d+$/i.test(q)||/^STD[-ï¼â]?\d+$/i.test(q)||/^\d{2,}$/.test(q))},r=x=>{const q=x?.payload?.payload||x?.payload||{},U=String(x?.targetSkillType||x?.scopeSkillType||q.skillType||x?.module||x?.sectionTitle||"").toLowerCase();return U.includes("position")||U.includes("å²ä½")||U.includes("æ ¸å¿")||U.includes("ä¸ä¸")?"position":U.includes("industry")||U.includes("è¡ä¸")||U.includes("ä¸å¡")||U.includes("å
¬å¸")?"industry":"general"},s=x=>{const q=x?.payload?.payload||x?.payload||{},U=e(x.assetName||q.skillName||q.name||x.name),te=e(x.content||q.description||x.description);if(n(U)||!te)return null;const J=r(x);if(J==="general"&&!Zo().isGeneralSkillShortName(U))return null;const Q=/æ´æ¹|ä¿®æ¹/.test(String(x.actionType||x.title||""))?"æ´æ¹":"æ°å»º";return{...x,name:U,description:te,content:te,title:x.title||`[${Q}] ${U}`,isMock:!0,mockType:Q,strategy:Q,actionType:Q,skillType:J,targetSkillType:J,scopeSkillType:J,sectionTitle:x.sectionTitle||x.module||"ç¥è¯æè½",payload:{type:"skill",action:Q==="æ´æ¹"?"UPDATE":"CREATE",payload:{...q,skillName:U,description:te,skillType:J,originalName:x.originalName||q.originalName||""}}}},l=x=>{const q=new Map;return x.forEach(U=>{const te=U.skillType||U.targetSkillType||"position",J=String(U.name||"").trim(),Q=String(U.__facetKey||"").trim(),K=te==="general"?`general|${J}`:`${te}|${Q}|${J}|${U.actionType||""}`,y=q.get(K);if(!y){q.set(K,U);return}const E=String(y.content||"").length;String(U.content||"").length>E&&q.set(K,U)}),Array.from(q.values())},u=hn.find(x=>String(x?.module||x?.mainTab||"").includes("ç¥è¯æè½")),p=Ne(ye,$)||Ne(ge,$),b=Ge($),m={jdText:$,companyName:p?.jdMeta?.companyName||"",jobTitle:b.jobTitle||"",librarySkills:dt,routingRequirements:p?.requirements||[],sourceMode:"quickResume"},a=u?.rows?.length?Y().buildNormalizedPlanTableRows(u,m):[],c=x=>{if(r(x)!=="position")return!1;const q=String(x.name||"").trim();return/è·¨å¢éæ²éåä½|æ²éåä½è½å|å使¨è¿ç±»|表达æ§è¡ç±»|èªææè½ç±»|åºç¡è±è¯æ²éè½å?/.test(q)},R=Zo(),S=a.length?l([...R.buildGeneralSkillActionCardsFromRows(a,$,b.jobTitle||"",dt),...R.buildPositionSkillActionCardsFromRows(a,$,b.jobTitle||""),...R.buildIndustrySkillActionCardsFromRows(a,$,p?.jdMeta?.companyName||"",b.jobTitle||"")].map(s).filter(Boolean).filter(x=>!c(x))):[],f=(Ie?.actionCards||[]).filter(x=>String(x?.tab||"").includes("ç¥è¯æè½")).map(x=>{const q=x?.payload?.payload||x?.payload||{},U=e(x.assetName||q.skillName||x.title),te=e(x.content||q.description||x.description);if(n(U)||!te)return null;const J=String(x.module||x.sectionTitle||x.targetSubTab||""),Q=r({...x,module:J,sectionTitle:J,targetSkillType:Pd(J)}),K=/æ´æ¹|ä¿®æ¹/.test(String(x.actionType||x.title||""))?"æ´æ¹":"æ°å»º";return s({...x,assetName:U,content:te,module:J||x.module,sectionTitle:J||x.sectionTitle,actionType:K,targetSkillType:Q,scopeSkillType:Q,__polishContext:{jdText:$,jobTitle:b.jobTitle||"",companyName:p?.jdMeta?.companyName||"",expertJudgement:x.reason||"",standardRequirement:x.standardRequirement||"",jdRequirement:x.jdRequirement||"",facetKey:x.__facetKey}})}).filter(Boolean),d=new Map;f.forEach(x=>{const q=String(x?.assetRefId||"").trim();q&&d.set(q,x)});const I=[...f,...S.filter(x=>{const q=String(x?.assetRefId||"").trim();return!q||!d.has(q)})];return l(I)},[ge,ye,de,$,hn,Ie,dt]),[Cr,is]=o.useState({}),gi=o.useRef(""),Cc=G.useMemo(()=>B().applyPolishedContentToCards(Er||[],Cr),[Er,Cr]),tr=G.useMemo(()=>{const e=B().mergeAdoptedCardsForTab(tt,"ç¥è¯æè½");return B().applyPolishedContentToCards(e,Cr)},[tt,re,Cr]);o.useEffect(()=>{const e=tr.flatMap(n=>un(n));e.length&&Ft(n=>{const r=e.filter(s=>!n.some(l=>String(l)===String(s)));return r.length?[...n,...r]:n})},[tr]),o.useEffect(()=>{const e=ht.flatMap(s=>un(s)),n=(tn?.workExps||[]).filter(s=>s?.isMock&&/æ´æ¹|ä¿®æ¹|æ¹ç¼|æ°å¢|æ°å»º/.test(String(s.mockType||s.strategy||""))).flatMap(s=>un(s)),r=Array.from(new Set([...e,...n].map(String)));r.length&&xt(s=>{const l=r.filter(u=>!s.some(p=>String(p)===String(u)));return l.length?[...s,...l]:s})},[ht,tn]),o.useEffect(()=>{if(!re)return;
21const e=[...(Er||[]).filter(B().shouldPolishKnowledgeSkillCard),...B().mergeAdoptedCardsForTab(tt,"ç¥è¯æè½").filter(B().shouldPolishKnowledgeSkillCard)];if(!e.length){is({}),gi.current="";return}const n=Ge($),r=Ne(ye,$)||Ne(ge,$),s=e.map(u=>`${B().getKnowledgeCardPolishKey(u)}::${u.content}`).join("|");if(gi.current===s)return;gi.current=s;let l=!1;return B().polishKnowledgeSkillCards(e,{jdText:$,jobTitle:n.jobTitle||"",companyName:r?.jdMeta?.companyName||""}).then(u=>{l||is(u)}).catch(()=>{}),()=>{l=!0}},[Er,tt,re,$,ye,ge]);const Ac=e=>{if(Zt.length>=5){z.warning("æå¤ä¸ä¼ 5 å¼ æªå¾");return}const n=URL.createObjectURL(e);en(r=>[...r,{file:e,preview:n}])},vc=e=>{en(n=>(URL.revokeObjectURL(n[e].preview),n.filter((r,s)=>s!==e)))},jc=o.useCallback(e=>{if(!Ie)return!1;for(const n of Ie.sections)if(n.tableData){const r=n.tableData.find(s=>s.rawCol0?.includes(e));if(r&&r.rawCol3){const s=r.rawCol3;if(s.includes("æ¯")||s.includes("æ")||s.includes("å ·")||s.includes("å·²")||!s.includes("å¦")&&!s.includes("æ ")&&!s.includes("缺")&&s.trim().length>0&&s!=="â"&&s!=="-")return!0}}return!1},[Ie]),Pc=o.useCallback(e=>{const n=Array.isArray(e)?e:[e],r=new Map,s=d=>{const I=String(d||"");return/å ¨æ°|æ°å»º|æ°å¢|éé |å¡«è¡¥/.test(I)?"æ°å¢":/é«é¶|æ¹ç¼|æ´æ¹|ä¿®æ¹|éæ|æ¹å/.test(I)?"ä¿®æ¹":/æ é|æ é¡»|ä¸å|ç´æ¥|ä¿ç|已满足|éç¨|åå¡/.test(I)?"ä¸å":I||"ä¸å"},l=d=>String(d||"").replace(/\s*[ï¼;]\s*/g,` 22`).split(` 23`).map(I=>I.trim()).filter(Boolean),u=d=>{const I=String(d||"").replace(/^(?:æ[-ï¼â]|åå¡[ï¼:]|åéåå¡[ï¼:]|å¾ ç¡®è®¤åå¡[ï¼:]|ä¿®æ¹å¡[ï¼:]|æ¹åå¡[ï¼:]|æ°å¢å¡[ï¼:]|æ°å»ºå¡[ï¼:])\s*/,"").trim(),x=I.match(/https?:\/\/[^\s]+/i);if(x)return x[0].trim();const q=I.split(/[-ï¼â]/).map(U=>U.trim()).filter(Boolean);return(q[q.length-1]||I).trim()},p=d=>{const I=String(d||"").trim();return/^https?:\/\//i.test(I)?I.toLowerCase().replace(/^https?:\/\//,"").replace(/\/+$/,""):I.replace(/^个人信æ¯[-ï¼â]/,"").replace(/^(?:å§å|åå¸|å½å®¶\/åå¸|ç¤¾äº¤é¾æ¥|é®ç®±|ææºå·ç |ææºå·|ç §ç)[-ï¼â]/,"").replace(/\s+/g,"").toLowerCase().trim()},b=d=>{const I=p(d);I&&r.set(I,d)},m=d=>u(d?.displayText||d?.assetName||d?.name||d?.title||""),a=d=>Array.isArray(d?.assetRefs)?d.assetRefs.filter(I=>{const x=String(I?.assetType||I?.type||""),q=String(I?.validationStatus||"").toLowerCase();return!x.includes("åé")&&!x.includes("å¾ ç¡®è®¤")&&!/conflict|pending_asset_resolution|invalid/.test(q)}):[],c=d=>{const I=[d?.rawCol0,d?.moduleCategory,d?.mainTab,d?.subTab,d?.assetModule].filter(Boolean).join(" ");return I.includes("个人信æ¯")&&n.some(x=>I.includes(x))},R=[];Ie?.sections?.forEach(d=>{d.tableData?.forEach(I=>{c(I)&&R.push(I)})}),Ie?.moduleHcpPlan?.rows?.forEach(d=>{c(d)&&R.push(d)});const S=R.filter(d=>a(d).length>0);return(S.length?S:R).forEach(d=>{const I=String(d?.validationStatus||d?.rowValidationStatus||"").toLowerCase();
23if(/conflict|pending_asset_resolution|invalid/.test(I))return;const x=s(d.rawCol4||d.action||d.æ´æ¹çç¥),q=a(d),U=q.length>0,te=U?q.map(E=>{const j=String(E?.assetType||E?.type||""),O=j.includes("åå¡")?"åå¡":j.includes("ä¿®æ¹")||j.includes("æ¹å")?"ä¿®æ¹å¡":j.includes("æ°å¢")||j.includes("æ°å»º")?"æ°å¢å¡":"",Z=m(E);return O&&Z?`${O}ï¼${Z}`:""}).filter(Boolean):l(d.__assetDisplay||d.assetDisplay||d["对åºèµäº§/çæå¡ç"]||d.对åºèµäº§||d.çæå¡ç),J=String(d.rawCol5||d.expertJudgement||d.expertJudgment||d.ä¸å®¶å¤å®||d.ä¸å®¶å¤æ||d.å¤å®çç±||""),Q=te.filter(E=>/^åå¡[ï¼:]/.test(E)),K=E=>U?x!=="æ°å¢":x!=="ä¸å"?!1:Q.length<=1?!0:!!E&&J.includes(E),y=new Set;te.forEach(E=>{if(/^åå¡[ï¼:]/.test(E)){const j=u(E);j&&(y.add(p(j)),(K(j)||x==="ä¸å")&&b(j))}}),!U&&l(d.rawCol3||d.libraryCoverageText||d.åºä¸æ¯å¦å·²æ||d.ä½ çæ¡£æ¡åºæ¯å¦å·²æ||d.æ¯å¦å·²æ).forEach(E=>{if(!/^æ[-ï¼â]/.test(E))return;const j=u(E);j&&x==="ä¸å"&&(K(j),b(j))})}),{selectedValues:Array.from(r.values()),candidateValues:[]}},[Ie]),[ss,ho]=o.useState("profile"),nr=o.useRef(ss),Ar=o.useCallback(e=>{const n=pn(e);nr.current=n,ho(r=>r===n?r:n)},[]),bi=o.useCallback(e=>{nr.current=pn(e)},[]),qc=o.useCallback(()=>nr.current,[]);o.useEffect(()=>{if(L===0)return;const e=nr.current;ho(n=>n===e?n:e)},[L]);const[Tt,Ft]=o.useState([]),[Lt,xt]=o.useState([]),[nn,Bn]=o.useState([]),[yt,rr]=o.useState([]),[Rt,ir]=o.useState([]),[St,sr]=o.useState([]),[Et,or]=o.useState(null),[At,ar]=o.useState([]),[vt,cr]=o.useState([]),[lr,Un]=o.useState([]),[os,as]=o.useState([]),[Jt,ur]=o.useState([]),[vr,jr]=o.useState([]),[hi,yi]=o.useState([]),[yo,Ro]=o.useState([]),[rn,Pr]=o.useState([]),[sn,qr]=o.useState([]),[on,_r]=o.useState([]),_c=o.useRef(""),Nc=o.useRef(""),Mc=o.useRef(null),dr=o.useRef(!1),Nr=o.useRef(""),cs=o.useRef(!1);o.useEffect(()=>{if(os.length>0||cs.current)return;const e=ke?.detail||v?.basicInfo,n=Au(e);n.length&&(cs.current=!0,as(n))},[v,ke,os.length]);const[Ri,So]=o.useState(ma),[Si,ko]=o.useState(Ou),Dc=o.useMemo(()=>({selectedNameIds:yt,setSelectedNameIds:rr,selectedEmailIds:Rt,setSelectedEmailIds:ir,selectedPhoneIds:St,setSelectedPhoneIds:sr,selectedPhotoId:Et,setSelectedPhotoId:or,selectedCityIds:At,setSelectedCityIds:ar,selectedLinkIds:vt,setSelectedLinkIds:cr}),[At,Rt,vt,yt,St,Et]),zt=G.useMemo(()=>B().deriveStructuredWorkExperienceSelectionIds(bt("å·¥ä½ç»éª"),Rn,{persistedSelectedIds:Lt,experiences:gt,companies:He.companies,projects:He.projects}),[Rn,bt,He.companies,He.projects,gt,Lt]),wo=G.useMemo(()=>{const e=_t==="overview"?"ç¥è¯æè½":_t;if(e==="ç¥è¯æè½")return(Qn||[]).map(n=>({id:n?.id,label:String(n?.name||n?.skillName||"").trim(),content:String(n?.description||n?.content||"").trim(),subTab:n?.skillType||n?.subTab,selected:Tt.some(r=>String(r)===String(n?.id))})).filter(n=>n.label);if(e==="å·¥ä½ç»éª")return(st.workExps||[]).map(n=>{const r=(st.companies||[]).find(p=>String(p?.id)===String(n?.companyId)),s=(st.projects||[]).find(p=>String(p?.id)===String(n?.projectId)),l=Y().resolveWorkExperienceParentName({companyName:n?.companyName||r?.name,projectName:n?.projectName||s?.name}),u=String(n?.shortName||n?.workContentName||n?.name||"").trim();return{id:n?.id,label:B().formatWorkExperienceDecisionChipLabel({parentName:l,workContentName:u,rawLabel:l&&u?`${l}-${u}`:u}),content:String(n?.description||n?.workContent||n?.content||"").trim(),subTab:B().resolveWorkExperienceDecisionSubTab({projectId:n?.projectId,companyId:n?.companyId,experienceType:r?.experienceType||(s?"project":n?.experienceType),projectName:n?.projectName||s?.name,companyName:n?.companyName||r?.name,shortName:u,description:n?.description||n?.workContent||n?.content||r?.description,position:r?.position||n?.position}),selected:zt.some(p=>String(p)===String(n?.id))}}).filter(n=>n.label&&n.label!=="æ¡£æ¡é¡¹");if(e==="æ±èæå"){const n=[],r=v?.intent,s=new Set,l=(m,a,c)=>{const R=String(a||"").trim();if(!R||R==="é¢è®®")return;const S=R.toLowerCase();s.has(S)||(s.add(S),n.push({id:m,label:R,content:R,subTab:"ææèªèµ/æ»å
",selected:c}))},u=new Set,p=(m,a,c,R)=>{const S=String(a||"").trim();if(!S)return;const f=S.toLowerCase();u.has(f)||(u.add(f),n.push({id:m,label:S,content:S,subTab:"æåèä½",selected:c})),l(`intent-salary-${m||S}`,String(R||"").trim(),c)};
23(r?.positions||[]).forEach(m=>{p(m?.id,m?.jobTitle||m?.title,Jt.some(a=>String(a)===String(m?.id)),m?.salary||m?.expectedSalary)}),(yo||[]).forEach(m=>{const a=Jt.length?Jt.some(c=>String(c)===String(m?.id)):!0;p(m?.id,m?.jobTitle||m?.title,a,m?.salary||m?.expectedSalary)}),(hi||[]).forEach(m=>{l(m?.id,m?.expectedSalary||m?.salary||m?.name,vr.length?vr.some(a=>String(a)===String(m?.id)):!0)});const b=n.filter(m=>m.subTab==="ææèªèµ/æ»å ");return b.length&&!b.some(m=>m.selected)&&b.forEach(m=>{m.selected=!0}),(r?.status||[]).forEach(m=>{const a=String(m?.status||"").trim();if(!a)return;const c=String(m?.earliestDate||"").trim();n.push({id:m?.id,label:a,content:c?`${a} · ${c}`:a,subTab:"æ±èç¶æ&æå¿«å°å²æ¶é´",selected:rn.some(R=>String(R)===String(m?.id))})}),(r?.cities||[]).forEach(m=>{const a=String(m?.city||m?.name||m||"").trim();a&&n.push({id:m?.id,label:a,content:a,subTab:"æååå¸",selected:sn.some(c=>String(c)===String(m?.id))})}),(r?.intendedJobTypes||[]).forEach(m=>{const a=String(m?.jobType||m?.type||m||"").trim();a&&n.push({id:m?.id,label:a,content:a,subTab:"æå工使§è´¨",selected:on.some(c=>String(c)===String(m?.id))})}),n}if(e==="个人信æ¯"){const n=v?.basicInfo||xr||{},r=[],s=(l,u,p,b)=>{(l||[]).forEach((m,a)=>{const c=b(m);if(!c)return;const R=m?.id!=null&&String(m.id).trim()!==""?m.id:`${p}:${c}`,S=u.some(f=>String(f)===String(m?.id)||String(f)===String(R))||u.length>0&&m?.id==null&&u.length===(l||[]).length||u.length===1&&(l||[]).length===1&&a===0;r.push({id:R,label:c,content:c,subTab:p,selected:S})})};return s(n.names,yt,"å§å",l=>String(l?.name||l?.fullName||l?.value||"").trim()),s(n.emails,Rt,"é®ç®±",l=>String(l?.email||l?.value||"").trim()),s(n.phones,St,"ææºå·ç ",l=>String(l?.phone||l?.mobile||l?.value||"").trim()),s(n.cities,At,"å½å®¶/åå¸",l=>String(l?.city||l?.name||l?.value||"").trim()),s(n.links,vt,"ç¤¾äº¤é¾æ¥",l=>String(l?.url||l?.label||l?.value||"").trim()),(n.photos||[]).forEach(l=>{const u=String(l?.originalName||l?.filePath||l?.url||"ç §ç").trim();u&&r.push({id:l?.id??`photo:${u}`,label:u,content:u,subTab:"ç §ç",selected:Et!=null&&String(Et)===String(l?.id)})}),B().PERSONAL_DETAIL_FIELD_ORDER.forEach(l=>{const u=he().getQuickResumeProfileFieldAsset(n,l);u&&r.push({id:u.id,label:u.name,content:u.name,subTab:l,selected:!0})}),r}return[]},[_t,v,xr,zt,st.workExps,Qn,At,Rt,sn,on,Jt,rn,vt,yt,St,Et,vr,Tt,hi,yo]),Lc=xd({decisionRuntimeReady:re,currentStep:L,aiReportActiveTab:_t,tabReports:ee,normalizedLocalJdText:$,jobRequirementRoutingPlan:ye,displayRoutingPlan:ge,decisionProfileCards:wo,getNormalizedPlanByModule:bt,getQuickResumeTabGenerationState:po}),Jc=G.useMemo(()=>{const e=Ge($),n=Ne(ye,$)||Ne(ge,$);return Ni({companyName:n?.jdMeta?.companyName||e.companyName,jdText:$})},[ge,ye,$]),Oc=_t==="overview"?"ç¥è¯æè½":_t,$c=G.useCallback((e,n)=>{const[r,s]=e.includes("|")?[e.split("|")[0],e.split("|").slice(1).join("|")]:[e,""];ao(l=>{const u={...l,[e]:gu(n,r,s||void 0)};return bu(u),u})},[]),Io=G.useCallback(e=>{const n=Array.isArray(e.parsedTabReport?.cardGenerationRequests)?e.parsedTabReport.cardGenerationRequests:Md(e.moduleHcpPlan);return B().resolveCardGenerationRequestFromPool(e.item,n)},[]),Qc=G.useCallback(async(e,n,r)=>{const s=la[n];if(!s)return{content:null,source:"ai",error:`å½å模åã${n}ã䏿¯æ tab-card éæ°çæ`};const l=bt(n);if(!l)return{content:null,source:"ai",error:"æ¬æ¨¡åè¿æ²¡æç»æå计åï¼è¯·å ç¹é¡¶é¨ãéæ°è¯ä¼°ãæãçææ¬æ¨¡ååæãååéæ°çæ"};const u=Y().parseAiReportMarkdown(ee[s]||"",{originalJdText:$}),p=Io({item:e,mainTab:n,parsedTabReport:u,moduleHcpPlan:l}),b=r?.forceRefresh?null:B().findCachedActionCardForDecisionItem(e,Array.isArray(u?.actionCards)?u.actionCards:[],p);if(b){const J=B().extractTabCardRewriteContent(b);if(J)return{content:J,source:"ai"}}const m=Ne(ye,$)||Ne(ge,$),a=Ge($),c=Ni({companyName:m?.jdMeta?.companyName||a.companyName,jdText:$});if(r?.forceRefresh){const J=r?.mode==="score_only"?"score_only":"rewrite_and_score",Q=String(r?.currentDraft||e.previewContent||e.reason||"").trim(),K=String(e.planRow?.subTab||p?.targetSubTab||""),y=B().resolveDecisionDimensionMeta(n,K),E=await B().fetchDecisionRewriteAndScore({payload:{mainTab:n,subTab:K,cardTitle:e.title,action:e.action,currentDraft:Q,archiveOriginal:String(r?.archiveOriginal||e.planRow?.__originalContent||Q),jdRequirement:String(e.planRow?.jdRequirement||e.planRow?.sourceText||(Array.isArray(e.planRow?.__jdQuotes)?e.planRow.__jdQuotes.join(` 24`):"")||""),standardRequirement:String(e.planRow?.standardRequirement||""),expertJudgement:String(e.planRow?.expertJudgement||e.reason||""),companyName:c,jobTitle:a.jobTitle||"",jdContent:$,dimensionMeta:y,weakGuidance:r?.rewriteGuidance,mode:J},dimensionMeta:y});if(E.content)return{content:E.content,source:"ai",dimensions:E.dimensions,dimensionNotes:E.dimensionNotes,compositeScore:E.compositeScore};
24if(J==="score_only")return{content:Q||null,source:"ai",error:E.error||"AI æå失败",issues:E.issues};const j=/JDæªæç¡®|æ æç¡®è¦æ±|å¯¹æ¥ JDã|ç¨ã[^ã]+ã说æ/.test(Q);if(Q&&!j)return{content:null,source:"ai",error:E.error||"AI æ¹ç¨¿å¤±è´¥ï¼å·²ä¿çä¸ä¸ç",issues:E.issues};const O=B().applyDecisionTabNoteGuidedRewrite(n,{currentDraft:Q,archiveOriginal:r?.archiveOriginal||e.planRow?.__originalContent||Q,weakDimensions:r?.weakDimensions,dimensionNotes:r?.dimensionNotes,dimensionScores:r?.dimensionScores,beforeDimensionNotes:r?.beforeDimensionNotes,beforeDimensionScores:r?.beforeDimensionScores,rewriteGuidance:r?.rewriteGuidance,jdRequirement:e.planRow?.jdRequirement||e.planRow?.sourceText,standardRequirement:e.planRow?.standardRequirement,jobTitle:a.jobTitle||"",companyName:c,jdText:$,planRow:e.planRow,skillName:e.title,subTab:K});return O?.content?{content:O.content,source:"fallback",error:`AI ä¸å¯ç¨ï¼${E.error||"æªç¥"}ï¼ï¼å·²ç¨æ¬å°é¨å«ç¨¿`,issues:O.raisedHints.slice(0,5)}:{content:null,source:"ai",error:E.error||"AI æ¹ç¨¿å¤±è´¥ä¸æ æ¬å°é¨å«ç¨¿",issues:E.issues}}if(!p)return{content:null,source:"ai",error:"æªæ¾å°å¯æ§è¡ cardGenerationRequestï¼è¯¥å»ºè®®æ²¡æç»å®æ°å¢/ä¿®æ¹å¡ï¼ä¸æ æ³åæè¯·æ±ï¼",issues:[`action=${String(e.action||"")}`,`title=${String(e.title||"")}`,`subTab=${String(e.planRow?.subTab||"")}`]};if(n==="ç¥è¯æè½"&&p.__synthetic){const J=Y().buildKnowledgeSkillFallbackActionCard(p,l),Q=B().extractTabCardRewriteContent(J);if(Q)return{content:Q,source:"fallback",error:"计åè¡æªç»å®æ°å¢/ä¿®æ¹å¡ï¼å·²ç¨æ¬å°æ¨¡æ¿éæ°çæ"}}if(n==="èªæä»ç»"&&(p.__synthetic||r?.forceRefresh)){const J=a.jobTitle||"",Q=String(r?.currentDraft||e.previewContent||e.reason||"").trim(),K=String(r?.archiveOriginal||e.planRow?.__originalContent||Q).trim();if(r?.forceRefresh&&Q){const j=B().applySelfIntroNoteGuidedRewrite({currentDraft:Q,archiveOriginal:K,weakDimensions:r?.weakDimensions,jdRequirement:e.planRow?.jdRequirement||e.planRow?.sourceText,standardRequirement:e.planRow?.standardRequirement,jobTitle:J,companyName:c,jdText:$,planRow:e.planRow});return{content:j.content,source:"fallback",error:j.raisedHints.some(O=>/黿¡/.test(O))?"å·²æé»æ¡å¼±å维建议æ¹ç¨¿":"å·²æè¯å维度å²é«éåï¼è¡¥å²ä½è¿æ¥ã卿ºä¸å
¥èå¯è´¡ç®ï¼",issues:j.raisedHints.slice(0,5)}}const y=B().buildSelfIntroFallbackActionCard(p,l,J,{scoreTargeted:!0,originalContent:K||Q,companyName:c,jdText:$}),E=B().extractTabCardRewriteContent(y);if(E){const j=Array.isArray(y?.__selfIntroRaisedHints)?y.__selfIntroRaisedHints.map(String):[];return{content:E,source:"fallback",error:r?.forceRefresh?"å·²æè¯å维度å²é«éåï¼è¡¥å²ä½è¿æ¥ã卿ºä¸å
¥èå¯è´¡ç®ï¼":"计åè¡æªç»å®ä¿®æ¹å¡ï¼å·²æè¯å维度å²é«çæ",issues:j.slice(0,4)}}}const R=Array.isArray(v?.education)?v.education:[],S=()=>{const J=he().buildQuickResumeEducationFallbackActionCard(p,l,R),Q=B().extractTabCardRewriteContent(J);return Q?{content:Q,raisedHints:Array.isArray(J?.__educationRaisedHints)?J.__educationRaisedHints.map(String):[],heldFlatHints:Array.isArray(J?.__educationHeldFlatHints)?J.__educationHeldFlatHints.map(String):[]}:null};if(n==="æè²ç»å"&&(p.__synthetic||r?.forceRefresh)){const J=String(r?.currentDraft||e.previewContent||"").trim();if(r?.forceRefresh&&(J||r?.weakDimensions?.length)){const K=Array.isArray(l?.rows)?l.rows:[],y=String(p?.assetRefId||"").trim(),E=K.find(ae=>(ae?.assetRefs||[]).some($e=>String($e?.assetRefId||"").trim()===y)),j=E?.assetRefs?.find(ae=>String(ae?.assetRefId||"").trim()===y)||E?.assetRefs?.[0],O=j?.payload?.payload||j?.payload||{},Z=B().applyEducationNoteGuidedRewrite({currentDraft:J,archiveOriginal:r?.archiveOriginal,weakDimensions:r?.weakDimensions,jdRequirement:e.planRow?.jdRequirement,planRow:e.planRow,originalPayload:O});if(Z?.content)return{content:Z.content,source:"fallback",error:Z.raisedHints.some(ae=>/黿¡/.test(ae))?"å·²æé»æ¡å¼±å维建议æ¹ç¨¿":"å·²æè¯å维度å²é«éåï¼è¡¥è¯¾ç¨ä¸å¯æ ¸éªè¦ç´ ï¼å¦æ ¡/鍿§ä¾äºå®æå¹³ï¼",issues:Z.raisedHints.slice(0,5)}}const Q=S();if(Q?.content)return{content:Q.content,source:"fallback",error:r?.forceRefresh?"å·²æè¯å维度å²é«éåï¼è¡¥è¯¾ç¨ä¸å¯æ ¸éªè¦ç´ ï¼å¦æ ¡/鍿§ä¾äºå®æå¹³ï¼":"计åè¡æªç»å®ä¿®æ¹å¡ï¼å·²æè¯å维度å²é«çæ",issues:[...Q.raisedHints||[],...Q.heldFlatHints||[]].slice(0,4)}}if(n==="æ±èæå"&&(p.__synthetic||r?.forceRefresh)){const J=String(r?.currentDraft||e.previewContent||"").trim();if(r?.forceRefresh&&J){const y=B().applyJobIntentNoteGuidedRewrite({currentDraft:J,archiveOriginal:r?.archiveOriginal||e.planRow?.__originalContent,weakDimensions:r?.weakDimensions,jdRequirement:e.planRow?.jdRequirement||e.planRow?.sourceText,standardRequirement:e.planRow?.standardRequirement,jobTitle:a.jobTitle,jdText:$,planRow:e.planRow});return{content:y.content,source:"fallback",error:y.raisedHints.some(E=>/黿¡/.test(E))?"å·²æé»æ¡å¼±å维建议æ¹ç¨¿":"å·²æè¯åç»´åº¦è¡¥å¼ºç»æåå¡«é",issues:y.raisedHints.slice(0,5)}}const Q=B().buildJobIntentFallbackActionCard(p,l,{currentDraft:J}),K=B().extractTabCardRewriteContent(Q);if(K)return{content:K,source:"fallback",error:r?.forceRefresh?"å·²æè¯åç»´åº¦è¡¥å¼ºç»æåå¡«é":"计åè¡æªç»å®ä¿®æ¹å¡ï¼å·²ææ¡£æ¡ç»æååæ®µçæ"}}const f=Ne(ye,$)||Ne(ge,$),d=Ge($),x={...{jdContent:$,skills:dt,experiences:gt,profileData:Dt,selfIntros:[...Array.isArray(ue?.selfIntros)?ue.selfIntros:[],...Array.isArray(v?.selfIntro)?v.selfIntro:[]],educations:R,jobIntents:v?.intent?.positions||[],jobStatuses:v?.intent?.status||[],intendedCities:v?.intent?.cities||[],intendedJobTypes:v?.intent?.intendedJobTypes||[],jobRequirementRoutingPlan:f,jdMeta:d,isQuickResumeMode:!0,sourceMode:"quickResume",tabName:s},moduleHcpPlan:l,candidateOriginalAssetIds:u?.candidateOriginalAssetIds||[],cardGenerationRequest:p,rewriteGuidance:r?.rewriteGuidance||"",currentDraft:r?.currentDraft||""};let q="",U=[],te=null;for(let J=1;J<=2;J+=1)try{const Q=await Wt("/api/assembly-info/ai-adaptation/report/tab-card",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});if(!Q.ok){q=`HTTP ${Q.status}`;continue}const K=await Q.json().catch(()=>null);if(K?.ok&&K.actionCard){const y=B().extractTabCardRewriteContent(K.actionCard);if(y){te=y;break}}q=String(K?.error||K?.message||"tab-card æªè¿åææ actionCard"),U=Array.isArray(K?.issues)?K.issues.map(String):[]}catch(Q){J===2&&console.warn("[Decision tab-card rewrite]",Q),q=Q instanceof Error?Q.message:String(Q)}if(n==="æè²ç»å"){const J=S(),Q=/(?:主修|æ ¸å¿)?课ç¨[:ï¼]/.test(String(te||""));if(J?.content&&(!te||B().isEducationHollowProse(te)||!Q))return{content:J.content,source:"fallback",error:te&&B().isEducationHollowProse(te)?"模åè¿å空壳å¹é
è¯æ¯ï¼å·²æè¯å维度å²é«æ¿æ¢":q?"tab-card 失败ï¼å·²æè¯å维度å²é«çæ":"å·²æè¯å维度å²é«éåï¼è¡¥è¯¾ç¨å表ï¼",issues:[...U,...J.raisedHints||[]].slice(0,5)};if(te)return{content:te,source:"ai"}}if(n==="èªæä»ç»"){if(!te||B().isSelfIntroGenericJdLinkText(te)||!/å
¥èå|å°å²å|ä¼å
æ¨è¿|坿¨è¿/.test(te)||!c||!yu(te,c)){const Q=a.jobTitle||"",K=String(r?.currentDraft||te||e.previewContent||"").trim();if(r?.forceRefresh&&K&&r?.weakDimensions?.length){const j=B().applySelfIntroNoteGuidedRewrite({currentDraft:K,archiveOriginal:r?.archiveOriginal||e.planRow?.__originalContent,weakDimensions:r.weakDimensions,jdRequirement:e.planRow?.jdRequirement,standardRequirement:e.planRow?.standardRequirement,jobTitle:Q,companyName:c,jdText:$,planRow:e.planRow});return{content:j.content,source:"fallback",error:"模å稿æªè¦çå¼±åç»´ï¼å·²æé»æ¡å¼±å维建议æ¹ç¨¿",issues:j.raisedHints.slice(0,5)}}const y=B().buildSelfIntroFallbackActionCard(p,l,Q,{scoreTargeted:!0,originalContent:String(r?.archiveOriginal||K||te||e.previewContent||"").trim(),companyName:c,jdText:$}),E=B().extractTabCardRewriteContent(y);if(E)return{content:E,source:"fallback",error:q?"tab-card 失败ï¼å·²æè¯å维度å²é«çæ":"模å稿æªè¦çå¼±åç»´ï¼å·²æè¯å维度å²é«éå",issues:U}}if(te)return{content:te,source:"ai"}}if(te)return{content:te,source:"ai"};if(n==="ç¥è¯æè½"){const J=Y().buildKnowledgeSkillFallbackActionCard(p,l),Q=B().extractTabCardRewriteContent(J),K=String(r?.currentDraft||te||Q||e.previewContent||"").trim();if(r?.forceRefresh&&K){const y=B().applyKnowledgeSkillNoteGuidedRewrite({currentDraft:K,archiveOriginal:r?.archiveOriginal,weakDimensions:r?.weakDimensions,dimensionNotes:r?.dimensionNotes,dimensionScores:r?.dimensionScores,rewriteGuidance:r?.rewriteGuidance,jdRequirement:e.planRow?.jdRequirement||e.planRow?.sourceText,standardRequirement:e.planRow?.standardRequirement,jobTitle:a.jobTitle||"",companyName:c,jdText:$,planRow:e.planRow,skillName:e.title,subTab:e.planRow?.subTab||p?.targetSubTab});return{content:y.content,source:"fallback",error:"å·²æå项è¯å弱维补强æ¹ç¨¿",issues:y.raisedHints.slice(0,5)}}if(Q)return{content:Q,source:"fallback",error:q||"tab-card çæå¤±è´¥",issues:U}}return{content:null,source:"ai",error:q||"tab-card çæå¤±è´¥ä¸ fallback ä¸å¯ç¨",issues:U}},[v,ge,bt,ye,$,ue?.selfIntros,dt,gt,Dt,Io,ee]),ki=G.useCallback((e,n)=>{if(!e)return;const r=wu(e);rr(r.selectedNameIds),ir(r.selectedEmailIds),sr(r.selectedPhoneIds),or(r.selectedPhotoId),ar(r.selectedCityIds),cr(r.selectedLinkIds),Ft(r.selectedSkillIds),xt(r.selectedExpIds),Bn(r.selectedEduIds),Un(r.selectedSelfIntroIds),ur(r.selectedJobIntentIds),Pr(r.selectedJobStatusIds),qr(r.selectedIntendedCityIds),_r(r.selectedIntendedJobTypeIds),as(r.selectedDetailCardIds||[]),dr.current=!0,
24cs.current=!0,n&&(Nr.current=n)},[]),To=G.useCallback(()=>{if(!v)return;const e=String(P?.id||"extract"),n=new Set((v.skills||[]).map(l=>l?.id).filter(l=>l!=null).map(String)),r=new Set((v.experience?.workExps||[]).map(l=>l?.id).filter(l=>l!=null).map(String)),s=l=>{const u=String(l??"").trim();if(!u||n.has(u)||r.has(u))return!1;if(!/^-?\d+(\.\d+)?$/.test(u))return!0;const p=Number(u);return Number.isFinite(p)&&p<0};if(Nr.current!==e){ki(v,e);return}Ft(l=>{const u=l.filter(m=>n.has(String(m))),p=l.filter(m=>s(m));return Array.from(new Set([...u,...p].map(String))).map(m=>Number.isFinite(Number(m))&&String(Number(m))===m?Number(m):m)}),xt(l=>{const u=ht.flatMap(a=>un(a)),p=l.filter(a=>r.has(String(a))),b=l.filter(a=>s(a)||u.some(c=>String(c)===String(a)));return Array.from(new Set([...p,...b,...u].map(String))).map(a=>Number.isFinite(Number(a))&&String(Number(a))===a?Number(a):a)}),Bn(l=>{const u=(v.education||[]).map(a=>a?.id).filter(a=>a!=null&&a!==""),p=new Set(u.map(String));if(l.length===0&&u.length>0)return u.map(a=>Number.isFinite(Number(a))&&String(Number(a))===String(a)?Number(a):a);const b=l.filter(a=>p.has(String(a))),m=l.filter(a=>s(a));return Array.from(new Set([...b,...m].map(String))).map(a=>Number.isFinite(Number(a))&&String(Number(a))===a?Number(a):a)}),Un(l=>{const p=(v.selfIntro||v.selfIntros||[]).map(c=>c?.id).filter(c=>c!=null&&c!==""),b=new Set(p.map(String));if(l.length===0&&p.length>0)return p;const m=l.filter(c=>b.has(String(c))),a=l.filter(c=>s(c));return Array.from(new Set([...m,...a].map(String)))})},[ht,v,ki,P?.id]);o.useEffect(()=>{L!==0&&L!==1||To()},[L,To]);const Bc=o.useMemo(()=>{const e=t?Qo(pe,L,!0):L;return{selectedNameIds:yt,selectedEmailIds:Rt,selectedPhoneIds:St,selectedPhotoId:Et,selectedCityIds:At,selectedLinkIds:vt,selectedSkillIds:Tt,selectedExpIds:e===2?Lt:zt,selectedEduIds:nn,selectedSelfIntroIds:lr,selectedJobIntentIds:Jt,selectedJobStatusIds:rn,selectedIntendedCityIds:sn,selectedIntendedJobTypeIds:on}},[L,t,zt,At,nn,Rt,Lt,sn,on,Jt,rn,vt,yt,St,Et,lr,Tt,pe]),Uc=o.useMemo(()=>({selectedJobIntentIds:Jt,setSelectedJobIntentIds:ur,selectedSalaryIds:vr,setSelectedSalaryIds:jr,selectedJobStatusIds:rn,setSelectedJobStatusIds:Pr,selectedIntendedCityIds:sn,setSelectedIntendedCityIds:qr,selectedIntendedJobTypeIds:on,setSelectedIntendedJobTypeIds:_r}),[sn,on,Jt,rn,vr]),xo=o.useMemo(()=>({salaryExpectations:hi,disableFetch:!0}),[hi]),Fc=mi,zc=tr,Hc=di,Kc=fo,Wc=G.useMemo(()=>Pu(tn,Lt),[tn,Lt]),Gc=G.useMemo(()=>({jobIntent:er.jobIntent||[],jobStatus:er.jobStatus||[],intendedCity:er.intendedCity||[],intendedJobType:er.intendedJobType||[]}),[er]);o.useEffect(()=>{if(dr.current)return;(yt.length>0||Rt.length>0||St.length>0||Et!=null||At.length>0||vt.length>0)&&(dr.current=!0)},[At.length,Rt.length,vt.length,yt.length,St.length,Et]),o.useEffect(()=>{ui.length&&Un(e=>{const n=new Set(ui.map(r=>String(r?.id)).filter(Boolean));return e.filter(r=>n.has(String(r))||String(r).startsWith("adopt")||Number(r)<0)})},[ui]),o.useEffect(()=>{!bt("å·¥ä½ç»éª")?.rows?.length&&!Rn?.workExps?.length&&!ht.length||xt(n=>{if(!n.length)return n;const r=new Set((Rn?.workExps||[]).map(l=>String(l?.id)).filter(Boolean));(tn?.workExps||[]).forEach(l=>{l?.id!=null&&r.add(String(l.id))}),(gt||[]).forEach(l=>{l?.id!=null&&r.add(String(l.id))}),ht.forEach(l=>{un(l).forEach(u=>r.add(String(u)))});const s=n.filter(l=>r.has(String(l))||Number(l)<0||String(l).includes("adopt"));return s.length===n.length?n:s})},[ht,Rn,gt,tn]),o.useEffect(()=>{if(g)return;let e=!1,n=null,r=null,s=!1;const l=[{key:"names",path:"/api/profile/names",fallback:[]},{key:"emails",path:"/api/profile/emails",fallback:[]},{key:"phones",path:"/api/profile/phones",fallback:[]},{key:"photos",path:"/api/profile/photos",fallback:[]},{key:"cities",path:"/api/profile/cities",fallback:[]},{key:"links",path:"/api/profile/links",fallback:[]},{key:"detail",path:"/api/profile/detail",fallback:{}},{key:"skills",path:"/api/skills",fallback:[]},{key:"experiences",path:"/api/work-experience",fallback:[]},{key:"companies",path:"/api/channels/companies",fallback:[]},{key:"projects",path:"/api/channels/projects",fallback:[]},{key:"educations",path:"/api/education",fallback:[]},{key:"selfIntros",path:"/api/self-intro",fallback:[]},{key:"salaryExpectations",path:"/api/salary-expectations",fallback:[]}],u=async()=>du()?n||(n=(async()=>{try{const m=await pd(l,3,async c=>{try{const S=await(await Wt(c.path)).json();return{key:c.key,value:S}}catch{return{key:c.key,value:c.fallback}}});if(e)return;const a={};for(const c of m)a[c.key]=c.value;o.startTransition(()=>
24{if(e)return;Se({names:Array.isArray(a.names)?a.names:[],emails:Array.isArray(a.emails)?a.emails:[],phones:Array.isArray(a.phones)?a.phones:[],photos:Array.isArray(a.photos)?a.photos:[],cities:Array.isArray(a.cities)?a.cities:[],links:Array.isArray(a.links)?a.links:[],detail:a.detail&&typeof a.detail=="object"?a.detail:{},skills:Array.isArray(a.skills)?a.skills:[],experiences:Array.isArray(a.experiences)?a.experiences:[],companies:Array.isArray(a.companies)?a.companies:[],projects:Array.isArray(a.projects)?a.projects:[],educations:Array.isArray(a.educations)?a.educations:[],selfIntros:Array.isArray(a.selfIntros)?a.selfIntros:[]});const c=Array.isArray(a.salaryExpectations)?a.salaryExpectations:[];yi(c),jr(R=>{const S=c.map(I=>I?.id).filter(I=>I!=null);if(!S.length)return R;if(!R.length)return S;const f=new Set(S.map(String)),d=R.filter(I=>f.has(String(I)));return d.length?d:S})})}catch(m){console.error("Failed to fetch master profile",m)}finally{n=null}})(),n):null,p=(m=0)=>{e||s||(s=!0,r&&clearTimeout(r),r=setTimeout(()=>{r=null,u()},m))},b=m=>{m?.detail?.reason!=="demo-visibility"&&(s=!1,p(320))};return ne&&p(0),window.addEventListener("eagle-asset-refresh",b),()=>{e=!0,r&&clearTimeout(r),window.removeEventListener("eagle-asset-refresh",b)}},[g,ne]),o.useEffect(()=>{if(g||!(_t==="æ±èæå"||L===1||L===2))return;let n=!1;const r=async()=>{try{const[u,p]=await Promise.all([Wt("/api/salary-expectations"),Wt("/api/job-intents")]),b=u.ok?await u.json().catch(()=>[]):[],m=p.ok?await p.json().catch(()=>[]):[];if(n)return;const a=Array.isArray(b)?b:[],c=Array.isArray(m)?m:[];yi(a),Ro(c),jr(R=>{const S=a.map(I=>I?.id).filter(I=>I!=null);if(!S.length)return R;if(!R.length)return S;const f=new Set(S.map(String)),d=R.filter(I=>f.has(String(I)));return d.length?d:S}),ur(R=>R.length?R:c.map(S=>S?.id).filter(S=>S!=null))}catch{}};r();const s=()=>{r()},l=u=>{const p=u?.detail;Array.isArray(p)&&(yi(p),jr(b=>{const m=p.map(R=>R?.id).filter(R=>R!=null);if(!m.length)return b;if(!b.length)return m;const a=new Set(m.map(String)),c=b.filter(R=>a.has(String(R)));return c.length?c:m}))};return window.addEventListener("eagle-asset-refresh",s),window.addEventListener("zhencheng:salary-expectations-sync",l),()=>{n=!0,window.removeEventListener("eagle-asset-refresh",s),window.removeEventListener("zhencheng:salary-expectations-sync",l)}},[g,_t,L]);const Eo=o.useCallback(()=>
24Dt,[Dt]),[ls,Sn]=o.useState(!1),Co=o.useRef(null);Co.current={snapshotVersion:Ps,defaultResumeLayout:ma,normalizeStep:xn,normalizeActiveTab:pn,getRoutingPlanValidationErrors:Sr,personalInfoSelectionInitRef:dr,extractSelectionSeedRef:Nr,overallAnalysisFingerprintRef:Zn,setAiExtractedData:Ct,setUploadedResumeName:we,setPreviewUrl:Ue,setSelectedSkillIds:Ft,setSelectedExpIds:xt,setSelectedEduIds:Bn,setSelectedNameIds:rr,setSelectedEmailIds:ir,setSelectedPhoneIds:sr,setSelectedPhotoId:or,setSelectedCityIds:ar,setSelectedLinkIds:cr,setSelectedSelfIntroIds:Un,setSelectedJobIntentIds:ur,setSelectedJobStatusIds:Pr,setSelectedIntendedCityIds:qr,setSelectedIntendedJobTypeIds:_r,setAiSuggestions:Kn,setCurrentParseSession:ve,setCurrentStep:se,setActiveTab:Ar,setShowLibrary:Je,setSelectedLibraryResumeName:Oe,setSelectedLibraryResume:_e,setResumeLayoutConfig:So,setResumeSections:ko,setLocalJdText:Ze,setIsExtracted:Sn,setInputMode:qe,setUrlInput:wt,setScreenshots:en,setTabReports:ct,setLeftReportView:oi,setOverallAnalysisResult:wr,setOverallAnalysisStale:ii,setOverallAnalysisError:On,setAdoptedSectionKeys:Wn,setAdoptedItemKeys:qn,setAdoptedCardsBySection:_n,setJobRequirementRoutingPlan:Bt,setRoutingPlanStatus:Mt,setRoutingTabFilter:Yn,setRoutingPlanErrorDetails:Jn};const wi=o.useCallback(e=>{const n=Co.current;return n?ad(e,n):""},[]),jt=o.useCallback((e={},n={})=>{const r=n.storageMode||"full",s=e.currentParseSession??P,l=Gt(e.previewUrl)??Gt(Be)??Gt(s?.filePath),u=Zt.map(b=>b.preview).filter(b=>typeof b=="string"&&b.startsWith("data:")),p={schemaVersion:Ps,aiExtractedData:v,currentParseSession:P,uploadedResumeName:V,previewUrl:l,selectedLibraryResumeId:me?.id??null,selectedLibraryResumeName:ie,selectedSkillIds:Tt,selectedExpIds:Lt,selectedEduIds:nn,selectedNameIds:yt,selectedEmailIds:Rt,selectedPhoneIds:St,selectedPhotoId:Et,selectedCityIds:At,selectedLinkIds:vt,selectedSelfIntroIds:lr,selectedJobIntentIds:Jt,selectedJobStatusIds:rn,selectedIntendedCityIds:sn,selectedIntendedJobTypeIds:on,aiSuggestions:ni,currentStep:L,activeTab:nr.current,showLibrary:Ce,tabReports:ee,resumeLayoutConfig:Ri,resumeSections:Si,analysisJdFingerprint:Xt(yr(H)),leftReportView:si,overallAnalysisResult:kr,overallAnalysisFingerprint:Zn.current||"",adoptedSectionKeys:Array.from(Nt),adoptedItemKeys:Array.from(Rr),adoptedCardsBySection:tt,jdState:{localJdText:H,isExtracted:ls,inputMode:Pe,urlInput:pt,jobRequirementRoutingPlan:ye,screenshotPreviews:u},jobRequirementRoutingPlan:ye,...e};return p.previewUrl=Gt(p.previewUrl)??Gt(p.currentParseSession?.filePath)??l??null,r===Qr&&$t(p)?{...p,storageMode:"full",...vn(p)?{[zo]:!0,showcaseVersion:Fo}:{}}:r!==Qr?p:{...p,storageMode:r,jdState:{...p.jdState,screenshotPreviews:[]}}},[v,ni,P,L,Pe,ls,ye,H,Be,Zt,nn,Lt,Tt,Ce,me,ie,yt,Rt,St,Et,At,vt,lr,Jt,rn,sn,on,ee,V,pt,Ri,Si,si,kr,Nt,Rr,tt]),Mr=o.useCallback(async(e,n={})=>{if(!e?.aiExtractedData)return;const r=$t(e)||ze.current==="demo"||Qe()==="demo";try{An(jt(e,{storageMode:r?"full":Qr}))}catch(l){console.warn("Failed to persist quick resume snapshot locally",l)}const s=e.currentParseSession?.id;if(!(!n.persistRemote||!s)&&!(r||String(s).startsWith("demo-resume-")))try{await Wt(`/api/resume-parse/${s}/quick-resume-state`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({snapshot:e})})}catch(l){console.warn("Failed to persist quick resume snapshot remotely",l)}},[jt]),mt=o.useRef(i?.setChromeInputs);mt.current=i?.setChromeInputs,o.useEffect(()=>{if(!t)return;const e=H||"",n=ie||V||null;!e.trim()&&!n||mt.current?.({jdText:e,resumeName:n,resumeSource:ie?"library":V?"local":null})},[t,H,ie,V]);const us=o.useCallback(()=>{mt.current?.({jdText:"",resumeName:null,resumeSource:null}),Ct(null),ve(null),we(null),X(null),Ue(null),Oe(null),_e(null),Ft([]),xt([]),Bn([]),rr([]),ir([]),sr([]),or(null),ar([]),cr([]),Un([]),ur([]),jr([]),yi([]),Ro([]),Pr([]),qr([]),_r([]),Kn(null),ct({}),Wn(new Set),qn(new Set),_n({}),fi(null),Bt(null),Mt("idle"),Jn([]),Ui.current=!1,Fi&&(Fi.current=null),Ze(""),Sn(!1),en([]),se(0),Ar("profile"),Je(!1),M(!1),dr.current=!1,Nr.current="",Zn.current="",wr(null),Vu()},[]),{hydrateDemoQuickResumeShowcase:ds,invalidateDemoHydrate:Vc}=Ed(Xs);
24Xs.current={activeScopeRef:ze,restoreQuickResumeSnapshot:wi,setSelectedLibraryResume:_e,setSelectedLibraryResumeName:Oe,setUploadedResumeName:we,setUploadedFile:X,setPreviewUrl:Ue,setLocalJdText:Ze,setIsExtracted:Sn,setInputMode:qe,setUrlInput:wt,setScreenshots:en,setCurrentStep:se,setMountedSteps:be,setActiveTab:Ar,normalizeQuickResumeActiveTab:pn,sessionCacheRef:xe,setChromeInputs:e=>mt.current?.(e)};const Yc=o.useCallback(()=>Cd({currentParseSession:P,aiExtractedData:v}),[v,P]),mr=o.useRef(null),Dr=o.useRef(null),Ht=o.useRef(!1),kn=o.useRef(null),wn=o.useRef(null),In=o.useRef(null),Ot=o.useRef(0),Fn=o.useRef(!1),an=o.useRef(v);an.current=v;const ms=o.useRef(P);ms.current=P;const Ii=o.useRef(()=>{}),ps=o.useRef(()=>{}),Xc=e=>e==="account"?"account":"demo",fs=o.useRef(jt);fs.current=jt;const cn=o.useRef(wi);cn.current=wi;const Ti=o.useRef(us);Ti.current=us;const xi=o.useRef(ds);xi.current=ds;const Lr=o.useRef(()=>{}),gs=o.useRef(!1),Zc=o.useCallback((e="empty-body")=>{if(It.current||Ht.current||an.current||gs.current)return;const n=String(i?.chromeResumeName||ie||V||"");fe||me||ie||V||i?.pendingResume?.file;const r=Qe(),s=xe.current.demo,l=xe.current.account,u=l?.aiExtractedData&&Wr(l)&&l||s?.aiExtractedData&&Wr(s)&&s||null,p=!!(s?.aiExtractedData&&vn(s)&&!Br(s)),b=md({mode:r,localHasExtract:!!an.current,libraryCached:u,showcaseCached:p?s:null});if(b.type==="noop"){N(!1),D(!1),Ht.current=!1;return}gs.current=!0,console.warn("[qr] recover empty body",e,b.source);const m=(a,c)=>{if(!a?.aiExtractedData||It.current)return!1;ze.current=c,c==="demo"?xe.current.demo=a:xe.current.account=a,cn.current(a);try{if(b.source==="library"&&a.selectedLibraryResume)_e(a.selectedLibraryResume),Oe(a.selectedLibraryResumeName||a.selectedLibraryResume.resumeName||null);else if(b.source==="showcase"){const S=Fs();_e(S),Oe(S.resumeName),we(null),X(null),Ue(null)}mt.current?.({jdText:String(a.jdState?.localJdText||""),resumeName:a.selectedLibraryResumeName||a.uploadedResumeName||null,resumeSource:a.selectedLibraryResumeName?"library":a.uploadedResumeName?"local":null})}catch{}N(!1),D(!1),Ht.current=!1;const R=xn(i?.shellStep??a.currentStep??Ye.current,0);return se(R),be(S=>S.includes(R)?S:[...S,R]),!0};try{m(b.snap,b.source==="library"||r==="account"?"account":"demo")}catch(a){console.error("[qr] recover empty body failed",a)}finally{gs.current=!1}},[i?.chromeJdText,i?.chromeResumeName,i?.pendingResume,i?.shellStep,me,ie,fe,V]);Lr.current=Zc,o.useEffect(()=>{if(g||F||v)return;const e=window.setTimeout(()=>{Lr.current?.("post-paint-empty")},120);return()=>window.clearTimeout(e)},[g,F,v]);const Ei=o.useCallback(()=>{const e=ze.current;try{const n=fs.current({},{storageMode:"full"});n?.aiExtractedData?xe.current[e]=n:e==="account"&&(xe.current.account=En)}catch{e==="account"&&(xe.current.account=En)}},[]),{applyDemoWorkbenchMode:Ao}=vd(Zs);Zs.current={sessionCacheRef:xe,activeScopeRef:ze,aiExtractedDataRef:an,currentParseSessionRef:ms,restoreQuickResumeSnapshot:e=>cn.current(e),clearQuickResumeWorkbenchState:()=>Ti.current(),hydrateDemoQuickResumeShowcase:()=>xi.current(),invalidateDemoHydrate:Vc,isStaleDemoQuickResumeShowcaseCache:Br,normalizeQuickResumeActiveTab:pn,setCurrentStep:se,setMountedSteps:be,setActiveTab:Ar,setShowLibrary:Je,setLibraryMountReady:M,setProfileData:Se,setChromeInputs:e=>mt.current?.(e)},Ii.current=Ao;const bs=o.useCallback(e=>{const n=Xc(e),r=ze.current;Fn.current||(qu(),Fn.current=!0),_u(),kn.current&&(clearTimeout(kn.current),kn.current=null),wn.current!=null&&typeof window<"u"&&"cancelIdleCallback"in window&&(window.cancelIdleCallback(wn.current),wn.current=null),In.current&&(clearTimeout(In.current),In.current=null),Ot.current+=1;const s=Ot.current,l=(b=420)=>{kn.current=setTimeout(()=>{kn.current=null,s===Ot.current&&(Fn.current&&(Fn.current=!1,Vo(0)),Yo())},b)};if(n===r&&!Ht.current){mr.current=null,Dr.current=null,l(120);return}const u=xe.current[n];if(!!(n==="demo"&&u?.aiExtractedData||n==="account"&&(u?.aiExtractedData||u?.__emptyAccountSession))){Ei(),mr.current=null,Dr.current=null,o.startTransition(()=>{s===Ot.current&&Ii.current(e)}),l(280);return}mr.current=e,Dr.current=n,Ht.current||(Ht.current=!0,D(!0),be([]),M(!1),requestAnimationFrame(()=>{s===Ot.current&&Ei()})),In.current=setTimeout(()=>{In.current=null,s===Ot.current&&ps.current(s,()=>l(480))},16)},[Ei]),vo=o.useCallback((e,n)=>{if(e!==Ot.current)return;const r=mr.current;if(mr.current=null,Dr.current=null,!r){Ht.current=!1,o.startTransition(()=>{D(!1),be([0]),Ce&&M(!0)}),n();return}const s=()=>
24{if(e!==Ot.current)return;wn.current=null,o.startTransition(()=>{e===Ot.current&&(Ii.current(r),Ht.current=!1,D(!1))});const l=()=>{e===Ot.current&&(Ce&&M(!0),n())};typeof window<"u"&&"requestIdleCallback"in window?window.requestIdleCallback(l,{timeout:600}):window.setTimeout(l,120)};typeof window<"u"&&"requestIdleCallback"in window?wn.current=window.requestIdleCallback(s,{timeout:280}):s()},[Ce]);ps.current=vo,o.useEffect(()=>()=>{kn.current&&clearTimeout(kn.current),In.current&&clearTimeout(In.current),wn.current!=null&&typeof window<"u"&&"cancelIdleCallback"in window&&window.cancelIdleCallback(wn.current),Fn.current&&(Fn.current=!1,Vo(0)),Wo()},[]),o.useEffect(()=>{if(!g&&Gl())return Ls("qr-demo-warm",()=>{xe.current.demo?.aiExtractedData&&!Br(xe.current.demo)||(async()=>{try{const{buildDemoQuickResumeShowcaseSnapshot:e}=await rt(async()=>{const{buildDemoQuickResumeShowcaseSnapshot:r}=await import("./demoQuickResumeShowcase-PfBsrRkM.js");return{buildDemoQuickResumeShowcaseSnapshot:r}},__vite__mapDeps([76,77,43,1,2,34,42])),n=e();o.startTransition(()=>{xe.current.demo=n})}catch{}})()},{timeout:4500}),()=>{Js("qr-demo-warm")}},[g]),o.useEffect(()=>{let e=!1,n=!1;const r=()=>{It.current||Qe()!=="demo"||N(!1)},s=p=>{cn.current(p),xe.current.demo=p,ze.current="demo",mt.current?.({jdText:String(p.jdState?.localJdText||""),resumeName:p.selectedLibraryResumeName||null,resumeSource:p.selectedLibraryResumeName?"library":null}),r()},l=()=>{if(It.current||Qe()!=="demo")return;ze.current="demo";const p=xe.current.demo;if(p?.aiExtractedData&&!Br(p)){o.startTransition(()=>s(p));return}let b=null;try{b=Gr()}catch(a){console.error("Failed to parse saved resume state",a)}if(b?.aiExtractedData&&$t(b)&&!Br(b)){o.startTransition(()=>s(b));return}const m=(a=!1)=>{xi.current().then(c=>{if(!(It.current||Qe()!=="demo")){if(c){xe.current.demo=c,r();return}if(!a){window.setTimeout(()=>{It.current||Qe()!=="demo"||m(!0)},160);return}r()}}).catch(c=>{if(console.error("[QR] demo hydrate failed",c),!a){window.setTimeout(()=>{It.current||Qe()!=="demo"||m(!0)},160);return}r()})};m(!1)};if(Qe()==="demo"){const p=window.requestAnimationFrame(()=>l());return()=>{window.cancelAnimationFrame(p)}}return g?void 0:(Ls("qr-restore",()=>{if(n||It.current)return;const p=Qe(),b=sa(),m=mu();let a=null;if(m)xe.current.account=En,xe.current.demo=null,mt.current?.({jdText:"",resumeName:null}),N(!1),be([0]),D(!1),Ht.current=!1;else try{a=Gr()}catch(R){console.error("Failed to parse saved resume state",R)}o.startTransition(()=>{if(n||It.current||b!==sa())return;p==="account"?(ze.current="account",a&&vn(a)?(xe.current.demo=a,xe.current.account=En,mt.current?.({jdText:"",resumeName:null}),Ti.current()):a&&Wr(a)?(xe.current.account=a,xe.current.demo=a,ze.current="account",cn.current(a),e=!0):a?.aiExtractedData?(e=!0,cn.current(a),xe.current.account=a):(xe.current.account=En,String(i?.chromeResumeName||"").trim()||mt.current?.({jdText:"",resumeName:null}))):a?.aiExtractedData?(e=!0,cn.current(a),ze.current=$t(a)?"demo":"account",ze.current==="demo"?xe.current.demo=a:xe.current.account=a):(ze.current="account",mt.current?.({jdText:"",resumeName:null}),xe.current.account=En);let R="";if(p!=="demo"&&!(p==="account"&&(!a||$t(a)))){try{const S=Sa();if(S){if(S.localJdText&&(R=S.localJdText,Ze(S.localJdText)),S.isExtracted&&Sn(!0),S.inputMode&&qe(S.inputMode),S.urlInput&&wt(S.urlInput),S.jobRequirementRoutingPlan?.requirements?.length&&!ti(S.jobRequirementRoutingPlan,S.localJdText||"")){const f=Qt(S.jobRequirementRoutingPlan,S.localJdText||""),d=Sr(f,S.localJdText||"");d.length===0&&Pn(f,S.localJdText||"")?(Bt(f),Mt("ready"),Yn("å
¨é¨")):(Bt(null),Mt("idle"),Jn(d))}S.screenshotPreviews&&S.screenshotPreviews.length>0&&en(S.screenshotPreviews.map(f=>({file:null,preview:f})))}}catch(S){console.error("Failed to parse saved JD state",S)}try{const S=Gu();if(S?.requirements?.length&&!ti(S,R)){const f=Qt(S,R),d=Sr(f,R);d.length===0&&Pn(f,R)?(Bt(f),Mt("ready"),Yn("å
¨é¨")):(Bt(null),Mt("idle"),Jn(d),ct({}),Yt())}else S?.requirements?.length&&Yt()}catch(S){console.error("Failed to parse saved routing plan",S)}}}),ud({mode:p,restoredFromLocal:e||m,userReset:m}
24)&&Ls("qr-remote-snapshot",()=>{if(n||It.current)return;const R=AbortSignal.timeout(pu);Wt("/api/resume-parse/quick-resume-state/latest",{signal:R}).then(async S=>S.status===401||S.status===403?(console.warn("[qr]",ra("unauthorized")),an.current||Lr.current?.("remote-snapshot-401"),null):S.ok?S.json():null).then(S=>{if(n||It.current||S==null)return;if(!dd({localHasExtract:!!an.current,remote:S})){an.current||Lr.current?.("remote-snapshot-empty");return}const f={...S.snapshot,currentParseSession:S.snapshot.currentParseSession||S.session};o.startTransition(()=>{n||(ze.current="account",xe.current.account=f,cn.current(f))});try{An(f),f.jdState&&pr(f.jdState),f.jobRequirementRoutingPlan?.requirements?.length&&Cn(f.jobRequirementRoutingPlan)}catch{}z.success("å·²æ¢å¤ä¸æ¬¡å¿«æ·ç®åè§£æè®°å½")}).catch(S=>{S?.name==="TimeoutError"||S?.name==="AbortError"?console.warn("[qr] remote snapshot restore timed out; keep local (zero side-effect)"):console.warn("[qr]",ra("fail"),S),an.current||Lr.current?.("remote-snapshot-fail")})},{timeout:3500})},{timeout:2200}),()=>{n=!0,Js("qr-restore"),Js("qr-remote-snapshot")})},[g]),cd({enabled:!!v&&Qe()!=="demo"&&!$t({currentParseSession:P,aiExtractedData:v}),buildLiteSnapshot:()=>jt({},{storageMode:Qr}),deps:[v,jt,Ri,Si,P]});const el=e=>new Promise(n=>{const r=new FileReader;r.onload=()=>n(r.result),r.readAsDataURL(e)}),jo=e=>{const n=xn(e,L);if(n===L)return;if(t&&Re){Re(n);return}if(o.startTransition(()=>se(n)),!v||!P?.id)return;if(ze.current==="demo"||Qe()==="demo"||$t({currentParseSession:P,aiExtractedData:v})){try{const l=Gr();l?.aiExtractedData&&$t(l)&&An({...l,currentStep:n,[zo]:!0,showcaseVersion:Fo},{step:n,hasExtract:!0})}catch{}return}const r=n,s=()=>{Mr(jt({currentStep:r}),{persistRemote:!1})};typeof window<"u"&&"requestIdleCallback"in window?window.requestIdleCallback(s,{timeout:2e3}):window.setTimeout(s,400)},hs=async e=>{if(!e.trim())return z.warning("æ æ³è·åææææ¬");const n=e.substring(0,15e3);Ze(n),Sn(!0),io(),z.success("å·²æåæå JD å
å®¹ï¼æ¨å¯ä»¥æ ¸å¯¹ç¼è¾åï¼ç¹å»ä¸æ¹å¼å§æºè½åæ");const r=[];for(const l of Zt)l.file?r.push(await el(l.file)):l.preview?.startsWith("data:")&&r.push(l.preview);const s={localJdText:n,isExtracted:!0,inputMode:Pe,urlInput:pt,jobRequirementRoutingPlan:null,screenshotPreviews:r};pr(s),An(jt({tabReports:{},aiSuggestions:null,selectedSkillIds:[],selectedExpIds:[],selectedEduIds:[],jobRequirementRoutingPlan:null,jdState:s})),P?.id&&v&&await Mr(jt({tabReports:{},aiSuggestions:null,selectedSkillIds:[],selectedExpIds:[],selectedEduIds:[],jobRequirementRoutingPlan:null,jdState:s}),{persistRemote:!0})},ys=o.useRef(bs);ys.current=bs;const Rs=o.useRef(hs);Rs.current=hs;const Ci=i?.registerWorkbench;o.useEffect(()=>{if(!(!t||!Ci))return Ci({applyJdText:e=>{if(mt.current?.({jdText:e}),e.trim()){Rs.current(e);return}Ze(""),Sn(!1),Bt(null),Mt("idle"),Jn([]),pr(null),Yt()},applyResumeFile:e=>{mt.current?.({resumeName:e.name,resumeSource:"local"}),we(e.name),X(e),Oe(null),_e(null),N(!1)},openResumeLibrary:()=>{Xe(!0),rt(()=>import("./ResumeLibraryPage-XT37F_qb.js"),__vite__mapDeps([78,2,1,79,55,56,57,13,80,22,23,81,82,51,52,53,54,75])).catch(e=>{console.error("[qr] ResumeLibraryPage chunk failed",e),Xe(!1),z.error("ç®ååºå 载失败ï¼è¯·éè¯ææ¹ç¨æ¬å°ä¸ä¼ ")})},onDemoBodySwap:e=>ys.current(e)}),()=>{Ci(null)}},[t,Ci]);const Ai=o.useCallback(e=>{const n=e?pn(_d[e]):"";if(n){bi(n);try{window.dispatchEvent(new CustomEvent("qr-profile-tab-ref",{detail:{tab:n}}))}catch{}}},[bi]),Ss=G.useCallback(async()=>{const e=String(i?.chromeJdText||"").trim(),n=($||e||"").trim();if(oi("overall"),so(!0),!n){Tr(!1),On("请å
å¨ä¸æ¹å¯¼å
¥æå½å
¥ç®æ å²ä½ JDï¼åè¿è¡æ´ä½åæ"),z.warning({content:"请å
æåæå½å
¥ JD å
容ååç¹ãæ´ä½åæã",duration:4,key:"qr-overall-analysis-need-jd"});return}if(!$.trim()&&e&&Ze(e),Ho({activeScope:ze.current,currentParseSession:P,aiExtractedData:v,selectedLibraryResumeName:ie,uploadedResumeName:V,selectedLibraryResume:me})){if(Tr(!1),On(null),ii(!1),!kr?.perspectives?.length){const{buildDemoGrowthOpsOverallAnalysis:s}=await rt(async()=>{const{buildDemoGrowthOpsOverallAnalysis:u}=await import("./workbench-shared-DT5eicUP.js").then(p=>p.lP);return{buildDemoGrowthOpsOverallAnalysis:u}},__vite__mapDeps([1,2])),l=s();wr(l),Zn.current=n.slice(0,240)}z.success({content:"å·²å±ç¤ºç¤ºä¾ä¸é¢è¯ä¼°",key:"qr-overall-analysis",duration:2});return}
24Tr(!0),On(null),z.loading({content:"æ£å¨æ´ä½åæâ¦",key:"qr-overall-analysis",duration:0}),await $s();try{const s=Ge(n),l=Ne(ye,n)||Ne(ge,n)||null,u=new Set(Qn.map(I=>I?.id).filter(I=>I!=null).map(String)),p=new Set(st.workExps.map(I=>I?.id).filter(I=>I!=null).map(String)),b=Tt.length>0?Tt:Iu(Qn),m=zt.length>0?zt:Tu(st.workExps),a=b.filter(I=>u.has(String(I))),c=m.filter(I=>p.has(String(I))),R=nn.length>0?nn:xu(v?.education||[]),S=new Set((v?.education||[]).map(I=>I?.id).filter(I=>I!=null).map(String)),f=R.filter(I=>S.has(String(I))),d=await Su({jdText:n,jobTitle:s.jobTitle,companyName:l?.jdMeta?.companyName||"",basicInfo:v?.basicInfo,selectedNameIds:yt,selectedEmailIds:Rt,selectedPhoneIds:St,educations:v?.education||[],selectedEduIds:f,skills:Qn,selectedSkillIds:a,workExps:st.workExps,selectedWorkIds:c,adoptedSkillCards:tr,adoptedWorkCards:ht,scoringConfig:Hi,routingPlan:l||void 0});if(!Gn.current)return;if(!d?.perspectives?.length)throw new Error("æ´ä½åæè¿å为空");wr(d),ii(!1),On(null),Zn.current=JSON.stringify({jd:n.slice(0,240),skills:a,exps:c,adoptedKeys:Array.from(Nt)}),z.success({content:"æ´ä½åæå®æ",key:"qr-overall-analysis",duration:2})}catch(s){if(!Gn.current)return;console.error("[Quick Resume Overall Analysis]",s);const l=vu(s?.message||"请ç¨åéè¯");On(l),z.error({content:"æ´ä½åæå¤±è´¥ï¼è¯·ç¨åéè¯",key:"qr-overall-analysis",duration:4})}finally{Tr(!1)}},[v,ht,Nt,tr,P,ge,zt,ye,$,kr?.perspectives?.length,st.workExps,Qn,Hi,nn,Rt,Lt,me,ie,yt,St,Tt,V,i?.chromeJdText]);o.useEffect(()=>{const e=JSON.stringify({jd:$.slice(0,240),skills:Tt,exps:zt,adoptedKeys:Array.from(Nt)});co(e)},[Nt,zt,$,Tt,co]),_a.current={normalizedLocalJdText:$,handleJdRoutingPlanQuickResume:zi,syncProfileTabForReportTab:Ai,jobRequirementRoutingPlan:ye,jobRequirementRoutingPlanRef:to,setJobRequirementRoutingPlan:Bt,hasTrustedRoutingPlan:za,aiEngineProgress:lt,tabReports:ee,setTabReports:ct,setAiSuggestions:Kn,buildEffectiveQuickResumeProfileData:Eo,quickResumeAdaptationSkills:dt,quickResumeExperienceLibrary:gt,profileData:ue,aiExtractedData:v,persistQuickResumeSnapshot:Mr,buildQuickResumeSnapshot:jt,aiReportActiveTab:_t,setAiReportActiveTab:Oi,getRoutingPlanValidationErrors:Sr,routingPlanStatusRef:no,routingRequestInFlightRef:Ui,routingInFlightPromiseRef:Fi,abortJdRoutingFlight:Oa,activeScopeRef:ze,setRoutingPlanStatus:Mt,isDemoAnalysisShortCircuit:()=>Ho({activeScope:ze.current,currentParseSession:P,aiExtractedData:v,selectedLibraryResumeName:ie,uploadedResumeName:V,selectedLibraryResume:me})};const Po=async()=>{if(!Ko("å½å卿µè§ç¤ºä¾æ°æ®ï¼æ æ³ä¸é®å
¥åºå°ä¸ªäººæ¡£æ¡åºãè¯·åæ¢å°ãä»
è´¦å·ã模å¼ååæä½ã"))return;if(!v||!P?.id){z.warning("没æå¯å
¥åºçæåæ°æ®æä¼è¯æ æ");return}const e=String(P.id),n=e.startsWith("demo-resume-")||P?.source==="demo_library"||!/^\d+$/.test(e);De(!0);const r={},s=v.basicInfo||{};for(const u of["names","emails","phones","cities","links"]){const p=s[u];p?.length&&(u==="cities"?r[u]=p.map(b=>b.city||b):r[u]=p)}for(const u of["birthDate","gender","startWorkYear","politicalStatus","degree","nationality"])s[u]?.length&&(r[u]=s[u]);v.skills?.length&&(r.skills=v.skills);const l=(v.experience?.workExps||[]).filter(u=>u?.companyId!=null||u?.projectId!=null);if(l.length&&(r.workExperience=l),v.experience?.companies?.length&&(r.companies=v.experience.companies.map(u=>({...u,companyName:u.companyName||u.name,companyNameEn:u.companyNameEn||u.nameEn,companyDesc:u.companyDesc||u.description,companyLocation:u.companyLocation||u.location,_workExperience:u._workExperience||u.workExperience||[]}))),v.experience?.projects?.length&&(r.projects=v.experience.projects.map(u=>({...u,projectName:u.projectName||u.name,projectDesc:u.projectDesc||u.description,projectLink:u.projectLink||u.link,_workExperience:u._workExperience||u.workExperience||[]}))),v.education?.length&&(r.education=v.education),v.selfIntro?.length&&(r.selfIntro=v.selfIntro),v.intent){const u=v.intent.positions||[];u.length&&(r.jobIntents=u.map(b=>({jobTitle:b.jobTitle||b.title||b.name,salary:b.salary})));const p=v.intent.status;if(p){const b=Array.isArray(p)?p:[p];r.jobStatuses=b.map(m=>typeof m=="string"?{status:m}:{status:m.status||m,earliestDate:m.earliestDate})}v.intent.cities?.length&&(r.intendedCities=v.intent.cities.map(b=>b.city||b)),v.intent.intendedJobTypes?.length&&(r.intendedJobTypes=v.intent.intendedJobTypes)}try{const u=n?await Wt("/api/resume-parse/import-selections",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({selections:r})}):await Wt(`/api/resume-parse/${P.id}/confirm`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({selections:r})});if(!u.ok)throw new Error;const p=await u.json(),b=[];p.imported?.length&&b.push(`æ°å¢ ${p.imported.join("ã")}`),p.skipped>0&&b.push(`è·³è¿ ${p.skipped} æ¡é夿°æ®`),z.success(b.length?`ä¸é®å
¥åºå®æï¼${b.join("ï¼")}`:"å
¥åºå®æï¼æ æ°å¢æ°æ®ï¼å
¨é¨ä¸ºå·²æè®°å½ï¼");const m={...P,status:"confirmed"};ve(m),await Mr(jt({currentParseSession:m}),{persistRemote:!n});try{const{dispatchEagleAssetRefresh:a}=await rt(async()=>{const{dispatchEagleAssetRefresh:c}=await import("./workbench-shared-DT5eicUP.js").then(R=>R.lH);return{dispatchEagleAssetRefresh:c}},__vite__mapDeps([1,2]));a()}catch{}}catch{z.error("ä¸é®å
¥åºå¤±è´¥ï¼è¯·éè¯")}finally{De(!1)}},ks=P?.status==="confirmed",tl=!!(P?.id&&(String(P.id).startsWith("demo-resume-")||P?.source==="demo_library"||!/^\d+$/.test(String(P.id)))),nl=v?ks?"æåç»æå·²åå
¥æ±èæ¡£æ¡åºï¼å¯å¨æ±èèµäº§åºä¸å¤ç¨ï¼å次ç¹å»ä¼è·³è¿éå¤é¡¹":tl?"å½å为示ä¾å·¥ä½æ¡£ï¼å¨ãä»
è´¦å·ãä¸å¯ä¸é®åå
¥ä½ ç个人档æ¡åºï¼ä¸ä¼æ¹å¨ç¤ºä¾æºæ°æ®ï¼":"å½åä»
卿¬é¡µæåï¼å°æªå
¥åºãç¹å»æ¤æé®ï¼å°ä¸æ¹æåç»æåå
¥æ±èæ¡£æ¡åºï¼åç»å¯å¤ç¨":"请å
宿ç®åè¯å«æåï¼åä¸é®åå
¥æ¡£æ¡åº",Jr={...{borderRadius:A?7:8,fontSize:A?11:qt.headerBtn},fontWeight:600,height:A?26:30,paddingLeft:A?6:void 0,paddingRight:A?6:void 0,color:"#fff",borderColor:dn.accent,background:dn.accent,boxShadow:A?"none":`0 4px 12px ${dn.accentShadow}`},ws=()=>k.jsx(Rl,{title:nl,placement:"bottomRight",children:k.jsx("span",{style:{display:"inline-block"},children:k.jsx(ln,{type:"primary",icon:k.jsx(Sl,{}),onClick:Po,loading:je,disabled:!v,className:"quick-resume-profile-primary-btn blue-save-all-btn quick-resume-save-all-btn",style:Jr,children:"ä¸é®å
¨é¨å
¥åº"})})});o.useEffect(()=>{const e=n=>{if(Qe()==="account")return;const r=n.target;if(!r?.closest||r.closest("[data-demo-allow-click], .demo-data-banner, .ant-modal-root, .ant-message, .ant-notification")||r.closest(".ant-tabs-nav, .ant-segmented"))return;const s=r.closest([".quick-resume-save-all-btn",".blue-save-all-btn",".asset-card-library-deposit-btn",".qr-wb-section-add-btn",".info-card-actions",".edu-card-actions",".intent-selection-chip .ant-btn"].join(", "));s&&s.closest(".quick-resume-stage2-workbench, .quick-resume-stage3-workbench, .qr-wb-token-scope, .quick-resume-session-data")&&(n.preventDefault(),n.stopPropagation(),Ko())};return document.addEventListener("click",e,!0),()=>document.removeEventListener("click",e,!0)},[]);const rl=(e="blue")=>{const n=e==="purple"?"quick-resume-stage3-workbench":"quick-resume-stage2-workbench",r=e==="purple"?Hr:We,s=e==="purple"?`linear-gradient(90deg, #52525b 0%, ${Hr} 100%)`:`linear-gradient(90deg, #52525b 0%, ${We} 100%)`,l=`
25 /* 左峿 Tabï¼å çåæ»¡å®½ï¼é卿»å¨åºå¤æ¶ç¨ relativeï¼å¿ sticky è·æ»ï¼ */ 26 .${n} .sub-tabs-skeleton > .ant-tabs-nav { 27 position: relative !important; 28 top: auto !important; 29 z-index: 20 !important; 30 margin: 0 0 16px 0 !important; 31 padding: 8px 0 12px 0 !important; 32 background: #ffffff !important; 33 background-color: #ffffff !important; 34 border-bottom: none !important; 35 display: flex !important; 36 width: 100% !important; 37 justify-content: stretch !important; 38 box-shadow: 0 8px 12px -8px rgba(15, 23, 42, 0.08); 39 } 40 .${n} .sub-tabs-skeleton > .ant-tabs-nav::before { display: none; } 41 .${n} .sub-tabs-skeleton .ant-tabs-nav-wrap { 42 flex: 1 1 auto !important; 43 width: 100% !important; 44 max-width: 100% !important; 45 justify-content: stretch !important; 46 background: #ffffff !important; 47 border: none !important; 48 padding: 0 !important; 49 overflow: visible !important; 50 } 51 .${n} .sub-tabs-skeleton .ant-tabs-nav-list { 52 display: flex !important; 53 width: 100% !important; 54 justify-content: stretch !important; 55 } 56 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab { 57 flex: 1 1 0 !important; 58 min-width: 0 !important; 59 justify-content: center !important; 60 padding: 4px 1px !important; 61 font-size: ${qt.tab}px !important; 62 font-weight: 400 !important; 63 color: #64748b !important; 64 margin: 0 !important; 65 border-radius: 0 !important; 66 border: none !important; 67 background: transparent !important; 68 transition: all 0.2s ease !important; 69 border-bottom: 2px solid transparent !important; 70 text-align: center !important; 71 } 72 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab + .ant-tabs-tab { 73 margin-left: 0 !important; 74 } 75 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-btn { 76 width: 100% !important; 77 text-align: center !important; 78 white-space: nowrap !important; 79 overflow: hidden !important; 80 text-overflow: ellipsis !important; 81 letter-spacing: -0.02em !important; 82 font-size: ${qt.tab}px !important; 83 line-height: 1.3 !important; 84 color: inherit !important; 85 } 86 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab:hover { 87 color: #1d1d1f !important; 88 background: transparent !important; 89 } 90 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active { 91 color: ${r} !important; 92 border-bottom: 2px solid transparent !important; 93 border-image: ${s} 1 !important; 94 background: transparent !important; 95 box-shadow: none !important; 96 } 97 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn { 98 color: ${r} !important; 99 font-weight: 600 !important; 100 } 101 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-ink-bar { display: none !important; } 102 .${n} .quick-resume-match-tabs { 103 /* å 容已å¤ç½®å° .qr-profile-tab-bodyï¼Tabs åªç导èªï¼ç¦æ¢åå 360px ç½æ¿ */ 104 flex: 0 0 auto; 105 min-height: 0 !important; 106 height: auto !important; 107 display: flex; 108 flex-direction: column; 109 } 110 .${n} .quick-resume-match-tabs > .ant-tabs-nav { 111 flex: 0 0 auto; 112 width: 100% !important; 113 background: #ffffff !important; 114 background-color: #ffffff !important; 115 } 116 /* æ¨¡åæ é¢éå 容ä¸èµ·æ»å¨ï¼ç¦æ¢å¸é¡¶å¯¼è´æ é¢ä¸å¡çå离 */ 117 .${n} .qr-wb-sticky-section-head, 118 .${n} .qr-wb-section-head { 119 position: relative !important; 120 top: auto !important; 121 z-index: auto !important; 122 background: transparent !important; 123 padding-top: 0 !important; 124 padding-bottom: 8px !important; 125 margin-bottom: 8px !important; 126 box-shadow: none !important; 127 } 128 .${n} .quick-resume-profile-nav-pin { 129 flex: 0 0 auto !important; 130 width: 100% !important; 131 background: #ffffff !important; 132 } 133 /* 颿¿å 容已å¤ç½®å° .qr-profile-tab-bodyï¼ç©º holder ç¦æ¢åå 360px ç½æ¿ */ 134 .${n} .quick-resume-match-tabs > .ant-tabs-content-holder { 135 display: none !important; 136 flex: 0 0 0 !important; 137 height: 0 !important; 138 min-height: 0 !important; 139 margin: 0 !important; 140 padding: 0 !important; 141 overflow: hidden !important; 142 } 143 .${n} .quick-resume-match-tabs > .ant-tabs-content-holder::-webkit-scrollbar {
144 display: none; 145 width: 0; 146 height: 0; 147 } 148 .${n} .quick-resume-decision-nav-tabs { 149 flex: none !important; 150 min-height: auto !important; 151 overflow: visible !important; 152 width: 100% !important; 153 } 154 /* å³ç / æ¡£æ¡ Tab å ±ç¨åä¸å¥ nav paddingï¼ä¿è¯å·¦å³æ°´å¹³çº¿ä¸è´ */ 155 .${n} .quick-resume-decision-nav-tabs > .ant-tabs-nav, 156 .${n} .quick-resume-profile-nav-pin .sub-tabs-skeleton > .ant-tabs-nav { 157 position: relative !important; 158 top: auto !important; 159 z-index: auto !important; 160 width: 100% !important; 161 margin: 0 0 16px 0 !important; 162 padding: 8px 0 12px 0 !important; 163 justify-content: stretch !important; 164 align-items: center !important; 165 background: #ffffff !important; 166 } 167 .${n} .quick-resume-decision-report-scroll { 168 scrollbar-width: none; 169 -ms-overflow-style: none; 170 } 171 .${n} .quick-resume-decision-report-scroll::-webkit-scrollbar {
172 display: none !important; 173 width: 0 !important; 174 height: 0 !important; 175 } 176 .${n} .quick-resume-decision-nav-tabs .ant-tabs-nav-wrap, 177 .${n} .quick-resume-profile-nav-pin .ant-tabs-nav-wrap { 178 flex: 1 1 auto !important; 179 width: 100% !important; 180 } 181 .${n} .quick-resume-decision-nav-tabs .ant-tabs-extra-content { 182 margin-left: auto !important; 183 flex-shrink: 0 !important; 184 } 185 .${n} .quick-resume-decision-nav-tabs > .ant-tabs-content-holder { 186 display: none !important; 187 height: 0 !important; 188 min-height: 0 !important; 189 margin: 0 !important; 190 padding: 0 !important; 191 overflow: hidden !important; 192 } 193 .${n} .quick-resume-match-panel-scroll { 194 scrollbar-width: none; 195 -ms-overflow-style: none; 196 } 197 .${n} .quick-resume-match-panel-scroll::-webkit-scrollbar {
198 display: none !important; 199 width: 0 !important; 200 height: 0 !important; 201 } 202 /* åæ å æ»å¨ï¼å¯æ»ï¼ä¸æ¾ç¤ºæ»å¨æ¡ï¼çè¿å ¨å± 5px ç°æ¡ï¼ */ 203 .${n} .qr-match-panel-body, 204 .${n} .qr-preview-pane-scroll, 205 .${n} .qr-profile-tab-body { 206 scrollbar-width: none; 207 -ms-overflow-style: none; 208 } 209 .${n} .qr-match-panel-body::-webkit-scrollbar, 210 .${n} .qr-preview-pane-scroll::-webkit-scrollbar, 211 .${n} .qr-profile-tab-body::-webkit-scrollbar { 212 display: none !important; 213 width: 0 !important; 214 height: 0 !important; 215 } 216 .${n} .quick-resume-match-tabs > .ant-tabs-content-holder > .ant-tabs-content, 217 .${n} .quick-resume-match-tabs > .ant-tabs-content, 218 .${n} .quick-resume-match-tabs .ant-tabs-tabpane, 219 .${n} .quick-resume-match-tabs .ant-tabs-tabpane-active { 220 display: none !important; 221 height: 0 !important; 222 min-height: 0 !important; 223 margin: 0 !important; 224 padding: 0 !important; 225 overflow: hidden !important; 226 } 227 /* æ¡é¢ï¼åæ å¡çåå·é¶æ¢¯ï¼å¡å¤´ 15 / Tab·åºå 14 / æ£æ 13ï¼ */ 228 @media (min-width: 901px) { 229 .${n} .qr-wb-token-scope .qr-match-panel-body, 230 .${n} .qr-wb-token-scope .quick-resume-match-panel-scroll { 231 font-size: ${qt.body}px; 232 line-height: 1.55; 233 color: #334155; 234 } 235 .${n} .qr-wb-token-scope .qr-wb-section-head { 236 font-size: ${qt.sectionTitle}px; 237 } 238 } 239 /* ææºï¼å ¨ç§° Tab 横æ»ï¼ç¦æ¢å ç忤æçç¥å· */ 240 @media (max-width: 900px) { 241 .${n} .sub-tabs-skeleton .ant-tabs-nav-wrap, 242 .${n} .quick-resume-decision-nav-tabs .ant-tabs-nav-wrap, 243 .${n} .quick-resume-profile-nav-pin .ant-tabs-nav-wrap { 244 overflow-x: auto !important; 245 overflow-y: hidden !important; 246 justify-content: flex-start !important; 247 -webkit-overflow-scrolling: touch; 248 scrollbar-width: none; 249 } 250 .${n} .sub-tabs-skeleton .ant-tabs-nav-wrap::-webkit-scrollbar {
251 display: none; 252 width: 0; 253 height: 0; 254 } 255 .${n} .sub-tabs-skeleton .ant-tabs-nav-list { 256 width: max-content !important; 257 justify-content: flex-start !important; 258 } 259 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab { 260 flex: 0 0 auto !important; 261 min-width: auto !important; 262 padding: 4px 8px !important; 263 font-size: 13px !important; 264 } 265 .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-btn { 266 width: auto !important; 267 font-size: 13px !important; 268 overflow: visible !important; 269 text-overflow: clip !important; 270 } 271 .${n} .sub-tabs-skeleton .ant-tabs-nav-operations { 272 display: none !important; 273 } 274 /* å¡å¤´ + 模å Tab + æ£æåå±åæ¯ä¾ï¼é¿å 红æ¡/黿¡ç¼©æ¾ä¸ä¸è´ */ 275 .${n} .qr-wb-token-scope:has(.qr-match-panel-body) { 276 zoom: 0.86; 277 } 278 /* 279 * åæä»¶é¢è§ / ç®åé¢è§æ 没æ .qr-match-panel-bodyï¼åä¸å°ä¸é¢æ´æ zoomï¼ 280 * å¡å¤´ä¼æ¯ãJD å®å¶å³çæ¥åã大约 1/0.86ãåªç¼©å¡å¤´ï¼ä¸ç¼©çº¸é¢é¢è§ã 281 */ 282 .${n} .qr-wb-token-scope:not(:has(.qr-match-panel-body)) .quick-resume-split-panel-header { 283 zoom: 0.86; 284 } 285 /* æ¡£æ¡å¡çåºåç¼©ä¸æ¡£ï¼å§å/é®ç®±ç info-card + åºå头ï¼ï¼Tab æ¡ä¸è·çå缩 */ 286 .${n} .qr-match-panel-body .qr-profile-tab-body { 287 zoom: 0.82; 288 } 289 } 290 /* æ¡é¢ææºæ¡ viewport 常 >900ï¼media ä¸çæï¼æ ·æºå å¿ zoomï¼å¦åå¡å¤´/Tab 被åæãå³çâ¦/ç¥è¯â¦ã */ 291 .zc-mobile-shell .${n} .qr-wb-token-scope:has(.qr-match-panel-body) { 292 zoom: 1; 293 } 294 .zc-mobile-shell .${n} .qr-wb-token-scope:not(:has(.qr-match-panel-body)) .quick-resume-split-panel-header { 295 zoom: 1; 296 } 297 .zc-mobile-shell .${n} .sub-tabs-skeleton .ant-tabs-nav-wrap, 298 .zc-mobile-shell .${n} .quick-resume-decision-nav-tabs .ant-tabs-nav-wrap, 299 .zc-mobile-shell .${n} .quick-resume-profile-nav-pin .ant-tabs-nav-wrap { 300 overflow-x: auto !important; 301 overflow-y: hidden !important; 302 justify-content: flex-start !important; 303 -webkit-overflow-scrolling: touch; 304 scrollbar-width: none; 305 } 306 .zc-mobile-shell .${n} .sub-tabs-skeleton .ant-tabs-nav-list { 307 width: max-content !important; 308 justify-content: flex-start !important; 309 } 310 .zc-mobile-shell .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab { 311 flex: 0 0 auto !important; 312 min-width: auto !important; 313 padding: 4px 8px !important; 314 font-size: 13px !important; 315 } 316 .zc-mobile-shell .${n} .sub-tabs-skeleton > .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-btn { 317 width: auto !important; 318 font-size: 13px !important; 319 overflow: visible !important; 320 text-overflow: clip !important; 321 } 322 .zc-mobile-shell .${n} .sub-tabs-skeleton .ant-tabs-nav-operations { 323 display: none !important; 324 } 325 /* æ ·æºï¼æ¡£æ¡å Tab ç»ä¸åå·/æ§ä»¶è§ mobileShell.cssï¼.zc-mobile-shell ⦠qr-profile-tab-bodyï¼ */ 326 .zc-mobile-shell .${n} .qr-match-panel-body .qr-profile-tab-body { 327 zoom: 1; 328 } 329 /* å³çå¡å¤´ä¸é®ï¼æ»¡å®½ååãç¥ç¼©å°ï¼ä¿çè¯åè§å/æ´ä½åæ/æ¬æ¨¡ååæå ¨ç§°ï¼ */ 330 .zc-mobile-shell .${n} .quick-resume-split-panel-header__actions .ant-space { 331 width: 100% !important; 332 display: flex !important; 333 gap: 6px !important; 334 } 335 .zc-mobile-shell .${n} .quick-resume-split-panel-header__actions .ant-space-item { 336 flex: 1 1 0 !important; 337 min-width: 0 !important; 338 } 339 .zc-mobile-shell .${n} .quick-resume-split-panel-header__actions .ant-btn { 340 width: 100% !important; 341 } 342 .zc-mobile-shell .${n} .qr-header-btn-short { 343 display: none !important; 344 } 345 .zc-mobile-shell .${n} .qr-header-btn-full { 346 display: inline !important; 347 } 348 `;return k.jsx("style",{children:l})},qo=()=>k.jsx("style",{children:` 349 ${Lu(We,ji,Oo)} 350 /* åæ å æ»å¨å¯æ»ï¼ä¸æ¾ç¤ºæ»å¨æ¡ï¼çè¿å ¨å± 5px ç°æ¡ï¼ */ 351 .quick-resume-stage2-workbench .quick-resume-decision-report-scroll, 352 .quick-resume-stage2-workbench .quick-resume-match-panel-scroll, 353 .quick-resume-stage2-workbench .qr-match-panel-body, 354 .quick-resume-stage2-workbench .qr-preview-pane-scroll, 355 .quick-resume-stage2-workbench .qr-profile-tab-body, 356 .quick-resume-stage3-workbench .quick-resume-match-panel-scroll, 357 .quick-resume-stage3-workbench .qr-match-panel-body, 358 .quick-resume-stage3-workbench .qr-preview-pane-scroll, 359 .quick-resume-stage3-workbench .qr-profile-tab-body { 360 scrollbar-width: none; 361 -ms-overflow-style: none; 362 } 363 .quick-resume-stage2-workbench .quick-resume-decision-report-scroll::-webkit-scrollbar, 364 .quick-resume-stage2-workbench .quick-resume-match-panel-scroll::-webkit-scrollbar, 365 .quick-resume-stage2-workbench .qr-match-panel-body::-webkit-scrollbar, 366 .quick-resume-stage2-workbench .qr-preview-pane-scroll::-webkit-scrollbar, 367 .quick-resume-stage2-workbench .qr-preview-pane-scroll *::-webkit-scrollbar, 368 .quick-resume-stage2-workbench .qr-profile-tab-body::-webkit-scrollbar, 369 .quick-resume-stage3-workbench .quick-resume-match-panel-scroll::-webkit-scrollbar, 370 .quick-resume-stage3-workbench .qr-match-panel-body::-webkit-scrollbar, 371 .quick-resume-stage3-workbench .qr-preview-pane-scroll::-webkit-scrollbar, 372 .quick-resume-stage3-workbench .qr-preview-pane-scroll *::-webkit-scrollbar, 373 .quick-resume-stage3-workbench .qr-profile-tab-body::-webkit-scrollbar {
374 display: none !important; 375 width: 0 !important; 376 height: 0 !important; 377 background: transparent !important; 378 } 379 .quick-resume-stage2-workbench .qr-preview-pane-scroll *, 380 .quick-resume-stage3-workbench .qr-preview-pane-scroll * { 381 scrollbar-width: none; 382 -ms-overflow-style: none; 383 } 384 /* token ä» å¨ .qr-wb-token-scope å ï¼ç¦æ¢åæå°é¢æ¿æ ¹ï¼ä¼æ´æ å®å¿ç´«ï¼ */ 385 /* æ¡£æ¡å¡ï¼ç¦æ¢æ¸²æè²æ´åºï¼çº¯ç½ + ç»æè¾¹ + è½»é´å½±ï¼å¯¹é½æ±èæ¡£æ¡å¾2ï¼ */ 386 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card:not(.is-uploaded), 387 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card:not(.is-uploaded), 388 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card:not(.is-uploaded), 389 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card:not(.is-uploaded), 390 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card.is-selected:not(.is-uploaded), 391 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card.is-selected:not(.is-uploaded), 392 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card.is-selected:not(.is-uploaded), 393 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card.is-selected:not(.is-uploaded), 394 .quick-resume-stage2-workbench .skill-knowledge-card, 395 .quick-resume-stage2-workbench .info-card, 396 .quick-resume-stage2-workbench .edu-card, 397 .quick-resume-stage2-workbench .split-view-work-card, 398 .quick-resume-stage2-workbench .intent-selection-chip, 399 .quick-resume-stage2-workbench .job-intent-card, 400 .quick-resume-stage2-workbench .profile-data-card, 401 .quick-resume-stage2-workbench .ai-exp-entity-card, 402 .quick-resume-stage3-workbench .skill-knowledge-card, 403 .quick-resume-stage3-workbench .info-card, 404 .quick-resume-stage3-workbench .edu-card, 405 .quick-resume-stage3-workbench .split-view-work-card, 406 .quick-resume-stage3-workbench .intent-selection-chip, 407 .quick-resume-stage3-workbench .job-intent-card, 408 .quick-resume-stage3-workbench .profile-data-card, 409 .quick-resume-stage3-workbench .ai-exp-entity-card, 410 .quick-resume-stage2-workbench .skill-knowledge-card.is-selected, 411 .quick-resume-stage2-workbench .info-card.is-selected, 412 .quick-resume-stage2-workbench .edu-card.is-selected, 413 .quick-resume-stage2-workbench .split-view-work-card.is-selected, 414 .quick-resume-stage2-workbench .intent-selection-chip.is-selected, 415 .quick-resume-stage3-workbench .skill-knowledge-card.is-selected, 416 .quick-resume-stage3-workbench .info-card.is-selected, 417 .quick-resume-stage3-workbench .edu-card.is-selected, 418 .quick-resume-stage3-workbench .split-view-work-card.is-selected, 419 .quick-resume-stage3-workbench .intent-selection-chip.is-selected { 420 background: #ffffff !important; 421 background-image: none !important; 422 border: 1px solid rgba(0, 0, 0, 0.08) !important; 423 box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04) !important; 424 transform: none !important; 425 } 426 .quick-resume-stage2-workbench .info-card.is-selected, 427 .quick-resume-stage2-workbench .profile-data-card.is-selected, 428 .quick-resume-stage2-workbench .skill-knowledge-card.is-selected, 429 .quick-resume-stage2-workbench .edu-card.is-selected, 430 .quick-resume-stage2-workbench .split-view-work-card.is-selected, 431 .quick-resume-stage2-workbench .intent-selection-chip.is-selected, 432 .quick-resume-stage3-workbench .info-card.is-selected, 433 .quick-resume-stage3-workbench .profile-data-card.is-selected, 434 .quick-resume-stage3-workbench .skill-knowledge-card.is-selected, 435 .quick-resume-stage3-workbench .edu-card.is-selected, 436 .quick-resume-stage3-workbench .split-view-work-card.is-selected, 437 .quick-resume-stage3-workbench .intent-selection-chip.is-selected { 438 border: 1px solid rgba(0, 0, 0, 0.12) !important; 439 box-shadow: 0 4px 18px rgba(0, 0, 0, 0.1), 0 1px 4px rgba(0, 0, 0, 0.06) !important; 440 } 441 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle, 442 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle-filled, 443 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle svg, 444 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle-filled svg, 445 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card .anticon-cloud-upload, 446 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card .anticon-cloud-upload svg, 447 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle, 448 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle-filled, 449 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle svg, 450 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card.is-selected .anticon-check-circle-filled svg, 451 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card .anticon-cloud-upload, 452 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card .anticon-cloud-upload svg, 453 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle, 454 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle-filled, 455 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle svg, 456 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle-filled svg, 457 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card .anticon-cloud-upload, 458 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card .anticon-cloud-upload svg, 459 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle, 460 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle-filled, 461 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle svg, 462 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card.is-selected .anticon-check-circle-filled svg, 463 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card .anticon-cloud-upload, 464 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card .anticon-cloud-upload svg { 465 color: ${We} !important; 466 } 467 .quick-resume-stage2-workbench .intent-selection-chip.is-selected:not(.profile-ai-action-card) .anticon-check-circle-filled, 468 .quick-resume-stage2-workbench .skill-knowledge-card.is-selected .anticon-check-circle-filled, 469 .quick-resume-stage2-workbench .info-card.is-selected .anticon-check-circle-filled, 470 .quick-resume-stage2-workbench .edu-card.is-selected .anticon-check-circle-filled, 471 .quick-resume-stage2-workbench .split-view-work-card.is-selected .anticon-check-circle-filled, 472 .quick-resume-stage3-workbench .intent-selection-chip.is-selected:not(.profile-ai-action-card) .anticon-check-circle-filled, 473 .quick-resume-stage3-workbench .skill-knowledge-card.is-selected .anticon-check-circle-filled, 474 .quick-resume-stage3-workbench .info-card.is-selected .anticon-check-circle-filled { 475 color: ${We} !important; 476 } 477 /* å ¬å¸å表 / å·¥ä½å¡å¾éï¼é»è®¤é»ç½ä¸»è²ï¼æ°å»º/ä¿®æ¹å¡ä»ç±ä¸æ¹ is-new/is-edit è§åè¦çï¼ */ 478 .quick-resume-stage2-workbench .anticon-check-circle-filled, 479 .quick-resume-stage2-workbench .anticon-check-circle-filled svg, 480 .quick-resume-stage2-workbench .split-view-work-card .anticon-check-circle-filled, 481 .quick-resume-stage2-workbench .split-view-work-card .anticon-check-circle-filled svg, 482 .quick-resume-stage2-workbench .info-card.is-selected .anticon-check-circle-filled, 483 .quick-resume-stage2-workbench .info-card.is-selected .anticon-check-circle-filled svg, 484 .quick-resume-stage2-workbench .split-view-work-card.info-card.is-selected:not(.is-edit-card):not(.is-new-card):not(.is-paired-original) .anticon-check-circle-filled, 485 .quick-resume-stage2-workbench .split-view-work-card.info-card.is-selected:not(.is-edit-card):not(.is-new-card):not(.is-paired-original) .anticon-check-circle-filled svg, 486 .quick-resume-stage2-workbench .profile-ai-action-card.is-selected:not(.is-edit-card):not(.is-new-card):not(.is-paired-original) .anticon-check-circle-filled, 487 .quick-resume-stage3-workbench .anticon-check-circle-filled, 488 .quick-resume-stage3-workbench .anticon-check-circle-filled svg, 489 .quick-resume-stage3-workbench .split-view-work-card .anticon-check-circle-filled, 490 .quick-resume-stage3-workbench .split-view-work-card .anticon-check-circle-filled svg, 491 .quick-resume-stage3-workbench .split-view-work-card.info-card.is-selected:not(.is-edit-card):not(.is-new-card):not(.is-paired-original) .anticon-check-circle-filled, 492 .quick-resume-stage3-workbench .split-view-work-card.info-card.is-selected:not(.is-edit-card):not(.is-new-card):not(.is-paired-original) .anticon-check-circle-filled svg { 493 color: ${We} !important; 494 fill: ${We} !important; 495 } 496 .quick-resume-stage2-workbench .profile-ai-action-card.is-new-card .anticon-check-circle-filled, 497 .quick-resume-stage3-workbench .profile-ai-action-card.is-new-card .anticon-check-circle-filled { 498 color: #e11d48 !important; 499 } 500 .quick-resume-stage2-workbench .profile-ai-action-card.is-edit-card .anticon-check-circle-filled, 501 .quick-resume-stage3-workbench .profile-ai-action-card.is-edit-card .anticon-check-circle-filled { 502 color: #be185d !important; 503 } 504 /* å Tab ååºæ é¢å¾æ ï¼ç»ä¸ç½åºæè¾¹ï¼å¿æ anticon ååå·æµ åºï¼å¦å bulb çä¸ build ä¸ä¸è´ï¼ */ 505 .quick-resume-stage2-workbench .profile-subtitle-icon, 506 .quick-resume-stage3-workbench .profile-subtitle-icon, 507 .quick-resume-stage2-workbench .resume-section-icon, 508 .quick-resume-stage3-workbench .resume-section-icon, 509 .qr-archive-match-embed .profile-subtitle-icon, 510 .qr-archive-match-embed .resume-section-icon { 511 background: #ffffff !important; 512 border: 1px solid rgba(0, 0, 0, 0.08) !important; 513 box-shadow: none !important; 514 } 515 .quick-resume-stage3-workbench .edu-degree-badge { 516 background: ${We} !important; 517 } 518 `}),_o=()=>k.jsx(uu,{activeStep:L,onStepChange:e=>jo(e)}),Is=()=>k.jsxs(ln,{type:"primary",size:"small",className:"quick-resume-profile-primary-btn",onClick:()=>oo("overall"),style:Jr,children:[k.jsx("span",{className:"qr-header-btn-full",children:"è¯åè§å"}),k.jsx("span",{className:"qr-header-btn-short",children:"è§å"})]}),No=G.useRef(Ss);No.current=Ss;const Ts=e=>
518{const n=!$.trim(),r=it&&!Ir;return k.jsx(ln,{type:"primary",size:"small",className:"quick-resume-profile-primary-btn",loading:Ir,title:n?"请å
æåæå½å
¥ JD å
容":r?"æ¬æ¨¡ååæè¿è¡ä¸ï¼è¯·ç¨ååè¯":!Ir&&Ln==="loading"&&!Qi?"æ£å¨åå°åå¤ JD è·¯ç±ï¼ä¸å½±åæ¬æé®ï¼ç¹æ¤æä¼è·æ´ä½åæï¼":void 0,onClick:()=>{if(r){z.warning("æ¬æ¨¡ååæè¿è¡ä¸ï¼è¯·ç¨ååè¯");return}n&&z.warning({content:"请å
æåæå½å
¥ JD å
容ååç¹ãæ´ä½åæã",duration:4,key:"qr-overall-analysis-need-jd"}),No.current()},"data-qr-overall-analysis-btn":"true",style:Jr,children:Ir?"åæä¸â¦":k.jsxs(k.Fragment,{children:[k.jsx("span",{className:"qr-header-btn-full",children:e}),k.jsx("span",{className:"qr-header-btn-short",children:e==="æ´ä½åæ"?"æ´ä½":e==="éæ°æ´ä½åæ"?"éåæ":e})]})})},il=()=>si==="overall"?k.jsxs(Do,{size:8,children:[Is(),k.jsxs(ln,{type:"primary",size:"small",className:"quick-resume-profile-primary-btn",onClick:()=>{oi("sectional")},style:Jr,children:[k.jsx("span",{className:"qr-header-btn-full",children:"è¿ååé¨å³ç"}),k.jsx("span",{className:"qr-header-btn-short",children:"è¿å"})]}),Ts("éæ°æ´ä½åæ")]}):k.jsxs(Do,{size:8,children:[Is(),Ts("æ´ä½åæ"),k.jsx(ln,{type:"primary",size:"small",className:"quick-resume-profile-primary-btn",loading:!!Xn?.loading,title:it&&!Xn?.loading?"æ¬æ¨¡ååæè¿è¡ä¸ï¼è¯·ç¨ååè¯":void 0,onClick:()=>{if(it&&!Xn?.loading){z.warning("æ¬æ¨¡ååæè¿è¡ä¸ï¼è¯·ç¨ååè¯");return}if(Xn?.onClick){Xn.onClick();return}Ys(_t)},style:Jr,children:(()=>{const e=Xn?.label||"æ¬æ¨¡ååæ",n=e==="æ¬æ¨¡ååæ"?"æ¬æ¨¡å":e==="éæ°æ¬æ¨¡ååæ"?"éåæ":e.length>4?e.slice(0,3):e;return k.jsxs(k.Fragment,{children:[k.jsx("span",{className:"qr-header-btn-full",children:e}),k.jsx("span",{className:"qr-header-btn-short",children:n})]})})()})]}),sl=()=>null,xs=(e,n,r,s,l=We,u)=>{const p=!!u&&!u.disabled,b=u?k.jsx(ln,{type:"text",size:"small",icon:u.expanded?k.jsx(kl,{}):k.jsx(wl,{}),disabled:u.disabled,onClick:()=>{u.disabled||u.onToggle()},style:{color:"#86868b",width:28,height:28,minWidth:28,padding:0,flexShrink:0,borderRadius:"50%",background:"rgba(0, 0, 0, 0.04)"},"aria-label":u.expanded?`æ¶èµ·${n}`:`å±å¼${n}`}):null;return k.jsxs("div",{className:"quick-resume-split-panel-header",style:{display:"flex",alignItems:A?"stretch":"center",justifyContent:A?"flex-start":"space-between",gap:A?8:12,padding:A?"8px 6px 10px":Jo,background:"#ffffff",flexShrink:0,height:A?"auto":Ns,minHeight:A?0:Ns,maxHeight:A?"none":Ns,boxSizing:"border-box",overflow:A?"visible":"hidden",flexWrap:A?"wrap":void 0},children:[k.jsxs("div",{style:{display:"flex",alignItems:"center",gap:A?8:12,minWidth:0,flex:A?"1 1 100%":"1 1 auto",cursor:p?"pointer":void 0},onClick:p?u.onToggle:void 0,role:u?"button":void 0,"aria-expanded":u?.expanded,children:[k.jsx("div",{className:"qr-panel-header-icon",style:{width:A?28:qt.panelIconBox,height:A?28:qt.panelIconBox,borderRadius:A?8:10,background:"#1d1d1f",display:"flex",alignItems:"center",justifyContent:"center",fontSize:A?13:qt.panelIconFont,color:"#ffffff",flexShrink:0},children:e}),k.jsx("div",{className:"qr-panel-header-title",style:{minWidth:0,flexShrink:1,overflow:"hidden"},children:!u||u.expanded?k.jsx(Uu,{title:n,hint:r,titleStyle:{fontSize:A?14:qt.panelTitle,fontWeight:A?650:qt.panelTitleWeight,color:"#1d1d1f",lineHeight:1.25,whiteSpace:"nowrap"}}):k.jsx("div",{style:{fontSize:A?14:qt.panelTitle,fontWeight:A?650:qt.panelTitleWeight,color:"#1d1d1f",lineHeight:1.25,whiteSpace:"nowrap"},children:n})})]}),s||b?k.jsxs("div",{className:"quick-resume-split-panel-header__actions",style:{display:"flex",alignItems:"center",gap:A?6:8,flexShrink:A?1:0,flexWrap:"nowrap",justifyContent:A?"stretch":"flex-end",flex:A?"1 1 100%":void 0,width:A?"100%":void 0},onClick:m=>m.stopPropagation(),children:[s,b]}):null]})},ol=e=>xs(k.jsx(Lo,{}),"å¹é
æçæ±èæ¡£æ¡",e,void 0,Hr),Es=e=>xs(k.jsx(Lo,{}),"å¹é
æçæ±èæ¡£æ¡",e,ws()),al=Es,cl=Es,ll=(e="step0")=>{const n=bd(v),r=!!n&&!ks,l=e==="step2"?"select":r?"extract":!r&&ne?"select":"archive",u=m=>(m||[]).map(a=>{const c=String(a??"").trim();if(!c)return null;const R=Number(c);return Number.isFinite(R)&&String(R)===c?R:c}).filter(a=>a!=null),p={names:yt,emails:Rt,phones:St,photo:Et,cities:At,links:vt,skills:u(Tt).map(m=>Number(m)).filter(m=>!Number.isNaN(m)),educations:u(nn).map(m=>Number(m)).filter(m=>!Number.isNaN(m)),workExperiences:u(Lt),selfIntros:u(lr).map(m=>Number(m)).filter(m=>!Number.isNaN(m)),detailCardIds:os},b=m=>{rr(m.names||[]),ir(m.emails||[]),sr(m.phones||[]),or(m.photo??null),ar(m.cities||[]),cr(m.links||[]),Ft(m.skills||[]),Bn(m.educations||[]),xt(u(m.workExperiences)),Un(m.selfIntros||[]),as(m.detailCardIds||[])};return k.jsx(hd,{mode:l,fullData:ke,sessionExtract:l==="extract"?n:null,onSessionExtractUpdate:m=>{Ct(a=>{const c={...a||{}};return m.basicInfo!==void 0&&(c.basicInfo=m.basicInfo),m.skills!==void 0&&(c.skills=m.skills),m.education!==void 0&&(c.education=m.education),m.selfIntro!==void 0&&(c.selfIntro=m.selfIntro,c.selfIntros=m.selfIntro),m.intent!==void 0&&(c.intent=m.intent),m.experience!==void 0&&(c.experience
518=m.experience,c.companies=m.experience?.companies,c.projects=m.experience?.projects,c.workExps=m.experience?.workExps,c.experiences=m.experience?.workExps),c})},selection:l==="select"?p:void 0,onSelectionChange:l==="select"?b:void 0,headerExtraActions:ws(),headerTitle:e==="step2"?"å¹é
æçæ±èæ¡£æ¡":void 0,contentKey:`${e}-${l}-${Qe()}`,onRecognize:()=>{}})},ul=()=>k.jsx("div",{style:{position:"sticky",top:8,zIndex:10,display:"flex",justifyContent:"center",alignSelf:"stretch",width:"100%",pointerEvents:"none",marginBottom:12},children:k.jsxs("div",{style:{pointerEvents:$n?"auto":"none",opacity:$n?1:.45,...Nu,padding:"4px 10px",borderRadius:24,display:"flex",alignItems:"center",gap:2},children:[k.jsx(ln,{size:"small",type:"text",icon:k.jsx(Il,{}),disabled:!$n||kt<=.5,onClick:()=>at(e=>Math.max(.5,+(e-.1).toFixed(2))),style:{color:"#555",width:28,height:28,borderRadius:"50%"}}),k.jsxs("span",{style:{fontSize:13,color:"#1d1d1f",fontWeight:600,minWidth:44,textAlign:"center",cursor:$n?"pointer":"default",userSelect:"none"},onClick:()=>{if(!$n)return;const e=typeof window<"u"&&window.matchMedia("(max-width: 900px)").matches;at(e?.5:1)},title:"æ¢å¤é»è®¤ç¼©æ¾",children:[Math.round(kt*100),"%"]}),k.jsx(ln,{size:"small",type:"text",icon:k.jsx(Tl,{}),disabled:!$n||kt>=2,onClick:()=>at(e=>Math.min(2,+(e+.1).toFixed(2))),style:{color:"#555",width:28,height:28,borderRadius:"50%"}})]})}),dl=pn(ss),ml=o.useCallback((e,n,r)=>L===e&&pn(nr.current)===n?r():null,[L]),pl=o.useCallback(e=>{we(e.name),X(e),Oe(null),_e(null),N(!1)},[]),fl=o.useCallback(()=>{Xe(!0),rt(()=>import("./ResumeLibraryPage-XT37F_qb.js"),__vite__mapDeps([78,2,1,79,55,56,57,13,80,22,23,81,82,51,52,53,54,75])).catch(e=>{console.error("[qr] ResumeLibraryPage chunk failed",e),Xe(!1),z.error("ç®ååºå 载失败ï¼è¯·éè¯ææ¹ç¨æ¬å°ä¸ä¼ ")})},[]),Cs=he(),gl={normalizeQuickResumeActiveTab:pn,applyExtractedDefaultSelections:ki,activeDecisionReportTab:Oc,activeScopeRef:ze,activeTab:ss,getActiveTab:qc,writeActiveTabRef:bi,adaptAbortController:bn,adoptedCardsBySection:tt,adoptedEducationSuggestionCards:mi,adoptedExperienceSuggestionCards:ht,adoptedItemKeys:Rr,adoptedPersonalSuggestionCards:fo,adoptedSectionKeys:Nt,adoptedSelfIntroSuggestionCards:di,adoptedSkillsSuggestionCards:tr,aiEducationCards:Yi,aiEngineProgress:lt,aiExperienceMockData:yn,aiExtractedData:v,aiExtractedDataRef:an,aiJobIntentCards:Zi,aiJobIntentCardsByKind:er,aiReportActiveTab:_t,aiSelfIntroCards:Xi,aiSelfIntroPlanCards:es,aiSkillsCards:Cc,aiSuggestions:ni,appliedAiExperienceSelectionSignatureRef:_c,appliedAiJobIntentSelectionSignatureRef:Nc,applyDemoWorkbenchMode:Ao,applyDemoWorkbenchModeRef:Ii,applyResumeFile:pl,openResumeLibrary:fl,bodySwapParked:F,bodySwapParkedRef:Ht,buildEffectiveQuickResumeProfileData:Eo,buildQuickResumeSnapshot:jt,buildQuickResumeSnapshotRef:fs,captureActiveSessionToCache:Ei,clearQuickResumeAiSessionForJdChange:Ha,clearQuickResumeWorkbenchState:us,clearQuickResumeWorkbenchStateRef:Ti,currentParseSession:P,currentParseSessionRef:ms,currentStep:L,decisionDimensionWeightsByTab:ec,decisionProfileCards:wo,decisionReportSections:Lc,decisionRuntimeReady:re,decisionSectionalRulesOpen:tc,demoBusyHeldRef:Fn,demoSwitchGenRef:Ot,demoWorkbenchApplyTimerRef:In,demoWorkbenchIdleRef:wn,demoWorkbenchResumeWarmTimerRef:kn,deriveQuickResumeJdMeta:Ge,displayAiReport:Rc,displayAiSelfIntroCards:ts,displayExperienceMockData:Rn,displayRoutingPlan:ge,educationModuleHasModifyAction:fc,educationSuggestionMapped:Tc,experiencePolishSignatureRef:pi,extractedOnlyBasicInfo:xr,extractedSectionPersonalInfoCards:pc,extractSelectionSeedRef:Nr,fileInputRef:ut,finalSelectedExpIds:zt,getPersonalHcpSelection:Pc,getQuickResumeTabGenerationState:po,getRoutingPlanValidationErrors:Sr,handleAddScreenshot:Ac,handleAdoptDecisionItem:wc,handleAdoptDecisionSection:kc,handleAiAdaptation:Na,handleAiAdaptationForTab:Ma,handleDecisionDimensionWeightsChange:$c,handleDemoBodySwap:bs,handleDemoBodySwapBridgeRef:ys,handleFetchDecisionTabCardRewrite:Qc,handleGenerateTabWithRoutingGate:Da,handleGenerateTabWithRoutingGateRef:La,handleJdRoutingPlanQuickResume:zi,handleJdRoutingPlanQuickResumeRef:$a,handleOverallAnalysis:Ss,handleRemoveScreenshot:vc,handleSaveAll:Po,handleStage2ExperienceMockDataUpdate:Ec,handleStepCh
518ange:jo,hasAdoptedEducationSuggestion:Ic,hasAdoptedExperienceSection:xc,hasAdoptedSelfIntroSuggestion:hc,hydrateDemoQuickResumeShowcase:ds,hydrateDemoQuickResumeShowcaseRef:xi,inputMode:Pe,intentSelectionHandlers:Uc,isAdapting:it,isExtracted:ls,isExtracting:Ae,isLibraryModalOpen:ot,isModuleMatchedByAi:jc,isPausedRef:Vs,isQuickResumeLibraryImported:ks,isRoutingPlanReady:Qi,isShowingDemoQuickResumeWorkbench:Yc,jdAnalysisPanelExpanded:Ka,jdMappingRows:Ut,jdSourceTableRows:uo,jobRequirementRoutingPlan:ye,jobRequirementRoutingPlanRef:to,leftReportView:si,libraryMountReady:_,localJdText:H,mountedSteps:ce,navParkedRef:It,normalizedLocalJdText:$,normalizedModulePlans:hn,ocring:Ji,ocrProgress:oe,overallAnalysisError:Ga,overallAnalysisFingerprintRef:Zn,overallAnalysisLoading:Ir,overallAnalysisResult:kr,overallAnalysisStale:Wa,pageMountedRef:Gn,parsedAiReport:Ie,pendingDemoScopeRef:Dr,pendingDemoWorkbenchModeRef:mr,performBackendLogicRef:Rs,persistQuickResumeSnapshot:Mr,personalInfoRawCards:Vi,personalInfoSelectionHandlers:Dc,personalInfoSelectionInitRef:dr,polishedExperienceMap:ns,polishedSkillCardMap:Cr,previewUrl:Be,previewZoom:kt,prevJdFingerprintRef:Ua,profileData:ue,qrActiveTabKey:dl,qrTabBody:ml,QUICK_RESUME_BRAND_RGB:Oo,QUICK_RESUME_GLACIER_VIOLET:ou,QUICK_RESUME_JD_ANALYSIS_PANEL_MAX_HEIGHT:su,QUICK_RESUME_JD_STATE_KEY:_i,QUICK_RESUME_KNOWN_CITIES:ka,QUICK_RESUME_LIBRARY_PERSONAL_INFO_CARD_BASE:zn,QUICK_RESUME_LIBRARY_REFERENCE_PROPS:Kr,QUICK_RESUME_LIBRARY_SELECTABLE_PROPS:$d,QUICK_RESUME_LOCAL_LITE_STORAGE_MODE:Qr,QUICK_RESUME_MATCH_PANEL_BODY_PADDING:iu,QUICK_RESUME_MATCH_PANEL_HEADER_PADDING:Jo,QUICK_RESUME_PANEL_COLLAPSE_TRANSITION:ru,QUICK_RESUME_PARSED_STATE_KEY:Us,QUICK_RESUME_PERSONAL_INFO_CREATE_SUBTABS:Cs.QUICK_RESUME_PERSONAL_INFO_CREATE_SUBTABS,QUICK_RESUME_PERSONAL_INFO_SUB_TABS:Cs.QUICK_RESUME_PERSONAL_INFO_SUB_TABS,QUICK_RESUME_PROFILE_BLUE:We,QUICK_RESUME_PROFILE_TAB_KEYS:Aa,QUICK_RESUME_ROUTING_PLAN_KEY:Zr,QUICK_RESUME_ROUTING_SOURCE_MODE:Ws,QUICK_RESUME_SINGLETON_JOB_INTENT_SUB_TABS:Cs.QUICK_RESUME_SINGLETON_JOB_INTENT_SUB_TABS,QUICK_RESUME_SNAPSHOT_VERSION:Ps,QUICK_RESUME_SPLIT_COLUMN_GAP:nu,QUICK_RESUME_STAGE3_PURPLE:Hr,QUICK_RESUME_STAGE3_PURPLE_BORDER:tu,QUICK_RESUME_STAGE3_PURPLE_DARK:ji,QUICK_RESUME_STAGE3_PURPLE_GRADIENT:eu,QUICK_RESUME_STAGE3_PURPLE_SOFT:Zl,QUICK_RESUME_STAGE3_SELECTABLE_PROPS:gr,QUICK_RESUME_STEP0_INPUT_PANEL_HEIGHT:Xl,QUICK_RESUME_STEP0_PANEL_HEIGHT:Yl,QUICK_RESUME_STEP1_SPLIT_HEIGHT:vi,QUICK_RESUME_MOBILE_SPLIT_HEIGHT:_s,QUICK_RESUME_MOBILE_SPLIT_MIN_HEIGHT:qs,QUICK_RESUME_STEP_CHIPS:Vl,quickExperiencePrefetched:st,quickExperienceSource:He,quickResumeAdaptationExperiences:gc,quickResumeAdaptationSkills:dt,quickResumeExperienceLibrary:gt,quickResumeExtractedProfileContext:Dt,quickResumeExtractedSelfIntros:ui,quickResumeExtractedSkills:Qn,quickResumeJobIntentSourceIdBySubTab:Gi,quickResumeLibraryExperiencePrefetch:bc,quickResumeLibraryProfileData:ke,quickResumeLivePreviewRef:Mc,quickResumeRoutingSourceIdBySubTab:Wi,quickResumeRoutingSourceIdLookup:Ki,quickResumeSelectionState:Bc,quickResumeTargetCompanyName:Jc,rawAiSkillsCards:Er,renderModuleAnalysisBlocks:Sc,renderOriginalJdNode:mc,renderQuickResumeExtractedPersonalInfoBlock:Qd,renderQuickResumeExtractedSectionHeader:Bd,renderQuickResumeIntentLibrary:(e,n=!1)=>Kd(e,n,xo),renderQuickResumeIntentLibrarySelectable:(e,n=jn)=>ja(e,n,xo),renderQuickResumeLibrarySheet:Od,renderQuickResumeLibraryHeader:Fd,renderQuickResumeMatchCardStyles:qo,renderQuickResumeMatchProfilePanelHeader:Es,renderQuickResumeMatchProfilePaneHeader:al,renderQuickResumeMatchProfileRowHeader:cl,renderQuickResumeArchiveMatchPanel:ll,renderQuickResumeOverallAnalysisBtn:Ts,renderQuickResumeOverallAnalysisHeaderBtn:il,renderQuickResumeOverallScoringRulesBtn:Is,renderQuickResumePanelHeader:xs,renderQuickResumePersonalInfoLibrary:Hd,renderQuickResumePersonalInfoSelectable:Gs,renderQuickResumeReportTabBarExtra:sl,renderQuickResumeSaveAllActions:ws,renderQuickResumeStageThreePanelHeader:ol,renderQuickResumeStepChips:_o,renderResumePreviewZoomControl:ul,renderTabStyle:rl,resetQuickResumeAiArtifactsForNewJd:io,restoreQu
518ickResumeSnapshot:wi,restoreQuickResumeSnapshotRef:cn,resumeLayoutConfig:Ri,resumeOriginalPreview:$n,resumeParsePollRef:Dn,resumeResolverRef:qa,resumeSections:Si,routingOverviewTotalCount:ci,routingPlanErrorDetails:eo,routingPlanStatus:Ln,routingPlanStatusRef:no,routingPlanTableRows:ft,routingRequestInFlightRef:Ui,routingTabFilter:Vn,routingTabStats:li,savingAll:je,scoringConfig:Hi,scoringRulesEditorOpen:Ya,scoringRulesHubTab:Za,openScoringRulesHub:oo,screenshots:Zt,selectedCityIds:At,selectedEduIds:nn,selectedEmailIds:Rt,selectedExpIds:Lt,selectedIntendedCityIds:sn,selectedIntendedJobTypeIds:on,selectedJobIntentIds:Jt,selectedJobStatusIds:rn,selectedLibraryResume:me,selectedLibraryResumeName:ie,selectedLinkIds:vt,selectedNameIds:yt,selectedPhoneIds:St,selectedPhotoId:Et,selectedSelfIntroIds:lr,selectedSkillIds:Tt,selfIntroSuggestionMapped:yc,sessionCacheRef:xe,setActiveTab:Ar,setAdoptedCardsBySection:_n,setAdoptedItemKeys:qn,setAdoptedSectionKeys:Wn,setAiExtractedData:Ct,setAiReportActiveTab:Oi,setAiSuggestions:Kn,setBodySwapParked:D,setCurrentParseSession:ve,setCurrentStep:se,setDecisionDimensionWeightsByTab:ao,setDecisionSectionalRulesOpen:nc,setInputMode:qe,setIsAdapting:Nn,setIsExtracted:Sn,setIsExtracting:le,setIsLibraryModalOpen:Xe,setJdAnalysisPanelExpanded:so,setJobRequirementRoutingPlan:Bt,setLeftReportView:oi,setModuleAnalysisControlsStable:rc,setLibraryMountReady:M,setLocalJdText:Ze,setMountedSteps:be,setOcring:et,setOcrProgress:Le,setOverallAnalysisError:On,setOverallAnalysisLoading:Tr,setOverallAnalysisResult:wr,setOverallAnalysisStale:ii,setPolishedExperienceMap:rs,setPolishedSkillCardMap:is,setPreviewUrl:Ue,setPreviewZoom:at,setProfileData:Se,setResumeLayoutConfig:So,setResumeSections:ko,setRoutingPlanErrorDetails:Jn,setRoutingPlanStatus:Mt,setRoutingTabFilter:Yn,setSavingAll:De,setScoringConfig:Va,setScoringRulesEditorOpen:Xa,setScreenshots:en,setSelectedCityIds:ar,setSelectedEduIds:Bn,setSelectedEmailIds:ir,setSelectedExpIds:xt,setSelectedIntendedCityIds:qr,setSelectedIntendedJobTypeIds:_r,setSelectedJobIntentIds:ur,setSelectedJobStatusIds:Pr,setSelectedLibraryResume:_e,setSelectedLibraryResumeName:Oe,setSelectedLinkIds:cr,setSelectedNameIds:rr,setSelectedPhoneIds:sr,setSelectedPhotoId:or,setSelectedSelfIntroIds:Un,setSelectedSkillIds:Ft,setShellOnly:N,setShowLibrary:Je,setStreamStatus:Mn,setTabReports:ct,settleParkedDemoSwap:vo,settleParkedDemoSwapRef:ps,setUploadedFile:X,setUploadedResumeName:we,setUrlInput:wt,shellOnly:g,shouldShowQuickResumeLibrary:ne,showLibrary:Ce,silentRoutingAttemptsRef:Qa,silentRoutingJdKeyRef:Ba,skillCardPolishSignatureRef:gi,stableGenerateTabWithRoutingGate:Ys,stage3AdoptedEducationAiCards:Fc,stage3AdoptedJobIntentCardsByKind:Gc,stage3AdoptedPersonalInfoAiCards:Kc,stage3AdoptedSelfIntroAiCards:Hc,stage3AdoptedSkillAiCards:zc,stage3DisplayExperienceMockData:Wc,staleRoutingValidationErrors:Bi,step1ExperienceMockData:tn,streamStatus:Pa,syncProfileTabForReportTab:Ai,tabReports:ee,uploadedFile:fe,uploadedResumeName:V,urlInput:pt,validateRoutingPlan:Fa};return k.jsx(Du,{host:gl,children:k.jsxs("div",{className:"page-container",style:{padding:t?"0 0 24px":"36px 64px 24px 64px",minHeight:t?void 0:"calc(100vh - 64px)",boxSizing:"border-box",display:"flex",flexDirection:"column"},children:[qo(),k.jsx("style",{children:` 519 .quick-resume-step-confirm-btn.ant-btn-primary { 520 background: ${We} !important; 521 border-color: ${We} !important; 522 color: #fff !important; 523 box-shadow: 0 4px 12px rgba(29, 29, 31, 0.28) !important; 524 } 525 .quick-resume-step-confirm-btn.ant-btn-primary:hover, 526 .quick-resume-step-confirm-btn.ant-btn-primary:focus { 527 background: ${ji} !important; 528 border-color: ${ji} !important; 529 color: #fff !important; 530 } 531 .quick-resume-step-confirm-btn.ant-btn-primary .anticon, 532 .quick-resume-step-confirm-btn.ant-btn-primary.ant-btn-loading .ant-btn-loading-icon .anticon { 533 color: #fff !important; 534 } 535 .quick-resume-jd-decompose-outline-btn { 536 border-radius: 6px !important; 537 font-weight: 600 !important; 538 color: ${We} !important; 539 border-color: rgba(29, 29, 31, 0.35) !important; 540 background: rgba(29, 29, 31, 0.06) !important; 541 } 542 .quick-resume-jd-decompose-outline-btn.is-active, 543 .quick-resume-jd-decompose-outline-btn:hover, 544 .quick-resume-jd-decompose-outline-btn:focus { 545 color: ${We} !important; 546 border-color: ${We} !important; 547 background: rgba(29, 29, 31, 0.12) !important; 548 } 549 .quick-resume-profile-primary-btn.ant-btn-primary, 550 .blue-save-all-btn.ant-btn-primary, 551 .quick-resume-split-panel-header__actions .ant-btn, 552 .quick-resume-split-panel-header__actions .ant-btn-default, 553 .quick-resume-split-panel-header__actions .ant-btn-primary { 554 background: ${dn.accent} !important; 555 border: 1px solid ${dn.accent} !important; 556 color: #fff !important; 557 box-shadow: 0 4px 12px ${dn.accentShadow} !important; 558 } 559 .quick-resume-profile-primary-btn.ant-btn-primary:hover, 560 .quick-resume-profile-primary-btn.ant-btn-primary:focus, 561 .blue-save-all-btn.ant-btn-primary:hover, 562 .blue-save-all-btn.ant-btn-primary:focus, 563 .quick-resume-split-panel-header__actions .ant-btn:hover, 564 .quick-resume-split-panel-header__actions .ant-btn:focus, 565 .quick-resume-split-panel-header__actions .ant-btn-primary:hover, 566 .quick-resume-split-panel-header__actions .ant-btn-primary:focus { 567 background: #000000 !important; 568 border-color: #000000 !important; 569 color: #fff !important; 570 filter: brightness(1.08); 571 } 572 /* !important 主è²ä¼çæ ant disabled ç°æï¼æ¾å¼ééæï¼é¿å ãççè½ç¹å ¶å®ç¹ä¸å¨ã */ 573 .quick-resume-profile-primary-btn.ant-btn-primary:disabled, 574 .quick-resume-profile-primary-btn.ant-btn-primary.ant-btn-disabled, 575 .blue-save-all-btn.ant-btn-primary:disabled, 576 .blue-save-all-btn.ant-btn-primary.ant-btn-disabled, 577 .quick-resume-split-panel-header__actions .ant-btn:disabled, 578 .quick-resume-split-panel-header__actions .ant-btn.ant-btn-disabled { 579 opacity: 0.45 !important; 580 color: #fff !important; 581 border-color: ${dn.accent} !important; 582 background: ${dn.accent} !important;
583 cursor: not-allowed !important; 584 filter: none !important; 585 } 586 .quick-resume-profile-primary-btn.ant-btn-primary .anticon, 587 .blue-save-all-btn.ant-btn-primary .anticon, 588 .quick-resume-split-panel-header__actions .ant-btn .anticon { 589 color: #fff !important; 590 } 591 .quick-resume-intent-workbench { 592 display: flex; 593 flex-direction: column; 594 gap: 16px; 595 } 596 .quick-resume-intent-workbench .intent-selection-chip-row { 597 display: block !important; 598 width: 100%; 599 padding: 4px; 600 line-height: 0; 601 } 602 .quick-resume-intent-workbench .intent-selection-chip-row > * { 603 line-height: normal; 604 } 605 .quick-resume-intent-workbench .intent-selection-chip-row > .intent-selection-chip, 606 .quick-resume-intent-workbench .intent-selection-chip-row > .info-card { 607 display: inline-flex !important; 608 width: fit-content !important; 609 max-width: 100%; 610 flex: none !important; 611 flex-grow: 0 !important; 612 flex-shrink: 0 !important; 613 vertical-align: top; 614 margin: 0 12px 12px 0; 615 } 616 .quick-resume-intent-workbench .intent-section-compact { 617 min-height: 0 !important; 618 } 619 .quick-resume-intent-workbench .intent-section-compact .intent-section-body { 620 flex: 0 0 auto !important; 621 overflow: visible !important; 622 } 623 .quick-resume-stage2-workbench .quick-resume-intent-workbench .profile-ai-action-card.is-new-card:not(.is-uploaded) { 624 background: linear-gradient(135deg, rgba(225, 29, 72, 0.09) 0%, rgba(255, 255, 255, 0.98) 100%) !important; 625 border: 2px solid rgba(225, 29, 72, 0.30) !important; 626 box-shadow: 0 4px 14px rgba(225, 29, 72, 0.10) !important; 627 } 628 .quick-resume-stage2-workbench .quick-resume-intent-workbench .profile-ai-action-card.is-edit-card:not(.is-uploaded) { 629 background: linear-gradient(135deg, rgba(219, 39, 119, 0.09) 0%, rgba(255, 255, 255, 0.98) 100%) !important; 630 border: 2px solid rgba(219, 39, 119, 0.26) !important; 631 box-shadow: 0 4px 14px rgba(219, 39, 119, 0.10) !important; 632 } 633 `}),t?null:k.jsxs(k.Fragment,{children:[k.jsx(au,{}),k.jsx(cu,{jdContent:H,onJdSaved:e=>{e.trim()?hs(e):(Ze(""),Sn(!1),Bt(null),Mt("idle"),Jn([]),pr(null),Yt())},uploadedResumeName:V,selectedLibraryResumeName:ie,onResumeFileSelect:e=>{we(e.name),X(e),Oe(null),_e(null),N(!1)},onOpenResumeLibrary:()=>Xe(!0)})]}),g?k.jsx("div",{style:{marginTop:t?0:24},children:k.jsx(lu,{label:"å·¥ä½å°å è½½ä¸â¦"})}):F?k.jsxs("div",{style:{marginTop:24,padding:"56px 24px",textAlign:"center",background:"#fff",borderRadius:16,boxShadow:"0 4px 16px rgba(0,0,0,0.02)"},children:[k.jsx(Mo,{size:"large"}),k.jsx("div",{style:{marginTop:14,color:"#86868b",fontSize:13},children:"æ£å¨åæ¢æ°æ®è§å¾ â é¡¶é¨çéå¯ç»§ç»ç¹ï¼åæåèªå¨å®æ"})]}):k.jsx(k.Fragment,{children:k.jsxs("div",{style:{display:"flex",flexDirection:"column",width:"100%",minHeight:"calc(100vh - 220px)"},children:[t?null:_o(),(()=>{const e=Qo(pe,L,!!t),n=Array.from(new Set([...ce.map(s=>xn(s,0)),e,xn(L,0)])),r=(s,l,u)=>k.jsx("div",{className:e===s?"qr-step-shell qr-step-shell--active":"qr-step-shell",style:{display:e===s?"flex":"none",flexDirection:"column",flex:e===s?"0 0 auto":1,width:"100%",height:e===s?vi:void 0,minHeight:e===s?vi:0,maxHeight:e===s?vi:void 0},"aria-hidden":e!==s,"data-qr-paint-step":e===s?e:void 0,children:k.jsx($o,{title:u,children:l})});return k.jsxs(k.Fragment,{children:[k.jsx("style",{children:` 634 .qr-step-shell:not(.qr-step-shell--active) { 635 content-visibility: hidden; 636 contain: layout style paint; 637 pointer-events: none; 638 } 639 @media (max-width: 900px) { 640 .qr-step-shell--active { 641 height: ${_s} !important; 642 min-height: ${qs} !important; 643 max-height: none !important; 644 } 645 } 646 .zc-mobile-shell .qr-step-shell--active { 647 height: ${_s} !important; 648 min-height: ${qs} !important; 649 max-height: none !important; 650 } 651 `}),n.includes(0)?r(0,k.jsx(Mu,{}),"ç®å转档æ¡"):null,n.includes(1)?r(1,k.jsx(Nl,{}),"æ¡£æ¡å¹é JD"):null,n.includes(2)?r(2,k.jsx($u,{}),"æ¡£æ¡è½¬ç®å"):null]})})()]})}),k.jsxs(hl,{title:null,open:ot,onCancel:()=>
651Xe(!1),footer:null,width:1200,style:{top:20},bodyStyle:{padding:"24px 32px",background:"#ffffff",minHeight:600},destroyOnClose:!0,children:[k.jsx("div",{style:{fontSize:20,fontWeight:600,color:"#1d1d1f",marginBottom:20,fontFamily:'-apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif'},children:"ä»ç®ååºä¸éæ©"}),k.jsx($o,{title:"ç®ååº",children:k.jsx(o.Suspense,{fallback:k.jsxs("div",{style:{padding:48,textAlign:"center"},children:[k.jsx(Mo,{}),k.jsx("div",{style:{marginTop:12,color:"#86868b",fontSize:13},children:"ç®ååºå è½½ä¸â¦"})]}),children:k.jsx(jd,{mode:"select",accentColor:dn.accent,onSelect:e=>{if(Oe(e.resumeName),_e(e),we(null),X(null),Ue(null),Xe(!1),N(!1),Eu(e))try{const n=Cu(e);Ct(n.aiExtractedData),ve(n.currentParseSession),ki(n.aiExtractedData,String(n.currentParseSession?.id||"extract")),Kn(n.aiSuggestions),bi("profile"),mt.current?.({resumeName:e.resumeName,resumeSource:"library"}),z.success("å·²è½½å ¥ç¤ºä¾ç®åæ¡£æ¡ï¼å¯ç´æ¥æ ¸å¯¹å¹¶ç»§ç»å®å¶")}catch(n){console.warn("[qr] demo library auto-extract failed",n),z.success(`å·²å ³èç®å: ${e.resumeName}`)}else mt.current?.({resumeName:e.resumeName,resumeSource:"library"}),z.success(`å·²å ³èç®å: ${e.resumeName}`)}})})})]}),k.jsx("style",{children:` 652 .resume-upload-wrapper { 653 width: 100% !important; 654 display: flex !important; 655 } 656 .resume-upload-wrapper .ant-upload { 657 width: 100% !important; 658 display: flex !important; 659 flex: 1; 660 } 661 .resume-upload-wrapper .ant-upload > div { 662 width: 100%; 663 } 664 `})]})})}const Im=Object.freeze(Object.defineProperty({__proto__:null,default:Wd},Symbol.toStringTag,{value:"Module"}));export{Im as Q,Vt as a,Y as g};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.