PageSourceSearch

https://maieutic.ca/assets/InterviewReportPatternSandboxRoute-lvdcdgPG.js

js maieutic.ca collected 2026-09-24 11:41:02 UTC 39,745 bytes, 9 lines download raw bytes

1import{j as t,r as p,L as le}from"./index-Dg-VAw7j.js";import{P as Z,f as _e,I as ve,a as Ee}from"./PatternCitationModal-CT-blExJ.js";import{b3 as Ce}from"./index-MKzJjvX1.js";import{I as Me,R as ce,S as de,b as Te}from"./InterviewReportDocumentSurface-BrQhkEXP.js";import{r as $e,f as Y}from"./localSandboxAuth-Ynrn_J8Z.js";import"./clients-DL5kx_H1.js";import"./htmlPlainText-Wtwhqbo9.js";import"./Modal-CsTfrWHT.js";import"./careerListingDisplayTitle-C15yTJw8.js";import"./CandidateProfileQAModal-BP68eqLf.js";import"./GeminiVoiceInterviewPanel-xSokc4tq.js";import"./publicVoiceBrowserCapability-DRRtzk_Y.js";import"./liveCallTranscriptionControls-Dnd4k_OG.js";import"./FastTooltip-ILsRTwRo.js";import"./useMediaQuery-Dgl0xmKt.js";import"./icons-KCo4Tcp9.js";import"./iconRegistry-lIZ7EyCm.js";import"./jobColors-CfmKVWEF.js";const Re=({preset:e,presets:n,loading:i,modelHint:s,error:a,source:c,sandboxStylePick:x,onPresetChange:m,onLoadSource:l,onGenerateAll:h,onOpenStyleModal:g,onGenerateVariant:o})=>t.jsxs(t.Fragment,{children:[t.jsx("h1",{children:"Sandbox — séries A–Y"}),t.jsxs("p",{style:{color:"#555",marginBottom:12,fontSize:14},children:["Réservé au ",t.jsx("strong",{children:"localhost"}),". Les séries A–W documentent les étapes de calibration du rapport d’entrevue; la ",t.jsx("strong",{children:"série X"})," ","reprend W et devient la cible app : même conservation riche des unités source, plus une narration « compte rendu » centrée sur ce que la/le candidat(e) dit ou fait. La ",t.jsx("strong",{children:"série Y"})," (",t.jsx("code",{children:"pat25_*"}),") produit la même sortie que X mais lance la deuxième passe rich-typed en parallèle de la passe principale, ce qui divise le temps mur par environ deux sans toucher au prompt, au schéma ni à la passe de répare. Les séries à sources (",t.jsx("code",{children:"pat12_*"})," à ",t.jsx("code",{children:"pat15_*"}),", puis"," ",t.jsx("code",{children:"pat19_*"})," à ",t.jsx("code",{children:"pat25_*"}),") affichent les citations sous chaque question pour vérifier l’ancrage aux notes, à la transcription, au CV et à la fiche de poste."]}),s?t.jsxs("p",{style:{fontSize:13,color:"#666"},children:["Modèle cible (fallback interne) : ",t.jsx("code",{children:s})]}):null,a?t.jsx("div",{style:{padding:12,background:"#fee",borderRadius:8,marginBottom:16,whiteSpace:"pre-wrap"},children:a}):null,t.jsxs("div",{style:{marginBottom:16,display:"flex",flexWrap:"wrap",gap:8,alignItems:"center"},children:[t.jsxs("label",{children:["Candidat :"," ",t.jsx("select",{value:e,onChange:y=>m(y.target.value),style:{marginLeft:6},children:n.map(y=>t.jsx("option",{value:y.key,children:y.label},y.key))})]}),t.jsx("button",{type:"button",onClick:l,disabled:i,style:{padding:"8px 14px"},children:"Charger la source"}),t.jsx("button",{type:"button",onClick:h,disabled:i,style:{padding:"8px 14px"},children:i?"Génération…":"Générer toutes les variantes"}),t.jsx("button",{type:"button","aria-label":"Modifier le style de rapport (série + mode, bac à sable)",onClick:g,disabled:i,title:"Même flux que l’app + choix de série A–Y",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:40,height:36,padding:0,borderRadius:999,border:"1px solid #cbd5e1",background:"#fff",cursor:i?"not-allowed":"pointer",opacity:i?.6:1},children:t.jsx(Ce,{size:18,"aria-hidden":!0})})]}),x?t.jsxs("div",{style:{marginBottom:16,padding:12,background:"#f0fdf4",borderRadius:8,border:"1px solid #bbf7d0",fontSize:13},children:[t.jsxs("div",{style:{marginBottom:8},children:[t.jsx("strong",{children:"Choix modal (bac à sable)"})," — Série"," ",x.series," · ",x.modeLabel]}),t.jsx("code",{style:{fontSize:12,display:"block",marginBottom:8,wordBreak:"break-all"},children:x.variantId}),t.jsx("button",{type:"button",disabled:i||!c,onClick:()=>o(x.variantId),style:{padding:"8px 14px"},children:"Générer cette variante"}),c?null:t.jsx("p",{style:{margin:"8px 0 0",fontSize:12,color:"#166534"},children:"Chargez d’abord la source (bouton « Charger la source »)."})]}):null]}),K="/api/ai/interview-report-pattern-sandbox",ee=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y"],xe={A:"pat",B:"pat2",C:"pat3",D:"pat4",E:"pat5",F:"pat6",G:"pat7",H:"pat8",I:"pat9",J:"pat10",K:"pat11",L:"pat12",M:"pat13",N:"pat14",O:"pat15",P:"pat16",Q:"pat17",R:"pat18",S:"pat19",T:"pat20",U:"pat21",V:"pat22",W:"pat23",X:"pat24",Y:"pat25"},We=new Set(["K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y"]),Ae={A:"base",B:"sans « La personne » (réponses Q)",C:"comme B + prénom seul (réponses Q)",D:"comme C + prénom plus rare (réponses Q)",E:"comme C + surtout il/elle (réponses Q)",F:"comme A + fidélité & anti-méta renforcés",G:"comme F + stabilité / anti-repli abusif",H:"comme G + pas de reprise de l’intitulé dans answer",I:"comme H + plafond max par réponse (sans minimum)",J:"comme I + application proportionnelle renforcée",K:"c
1omme J + sous-tons (détail)",L:"comme K + sources citées",M:"comme L + profil référence candidat étendu",N:"comme M + tons Valérie, Maieutic & Maieutic 2",O:"comme N + ton Expert Maieutic haute fidélité",P:"comme O + détail intégral sous question",Q:"comme O + registre d’expériences complet",R:"comme O + détail proportionnel naturel",S:"comme O + questions typées localement",T:"comme S + détail renforcé",U:"comme S + niveau régénération ciblé",V:"comme S + unités source Gemini 3",W:"comme U + unités source Gemini 3",X:"comme W + narration compte rendu",Y:"comme X + génération parallèle (rapport identique, ~½ du temps)"},G=[{id:"high_detail",label:"Haute fidélité",description:"Pour réponses longues ou complexes où il faut préserver faits, contraintes, actions et résultats."},{id:"experience",label:"Expérience / parcours",description:"Pour postes, entreprises, responsabilités, équipements, raisons de départ si abordées."},{id:"examples",label:"Exemple(s) concret(s)",description:"Pour cas, incidents, projets ou situations à restituer avec contexte, actions et résultat."},{id:"standard",label:"Standard O",description:"Réponse naturelle O, sans directive locale."}];function he(e){return G.some(n=>n.id===e)}function fe(e){for(const n of ee.slice().reverse())if(n!=="A"&&e.id.startsWith(`${xe[n]}_`))return n;return"A"}function qe(e){return fe({id:e})}function we(e){return e.startsWith("pat12_")||e.startsWith("pat13_")||e.startsWith("pat14_")||e.startsWith("pat15_")||e.startsWith("pat19_")||e.startsWith("pat20_")||e.startsWith("pat21_")||e.startsWith("pat22_")||e.startsWith("pat23_")||e.startsWith("pat24_")||e.startsWith("pat25_")}function ke(e){return e==="Y"?"narration compte rendu parallèle (sortie identique à X, ~½ du temps) + sources sous les questions":e==="X"?"narration compte rendu + régénération source + sources sous les questions":e==="W"?"régénération source + sources sous les questions":e==="V"?"unités source Gemini 3 + sources sous les questions":e==="U"?"régénération ciblée + sources sous les questions":e==="T"?"détail renforcé + sources sous les questions":e==="S"?"questions typées localement + sources sous les questions":e==="O"?"Expert Maieutic + sources sous les questions":e==="N"?"tons Valérie / Maieutic / Maieutic 2 + sources sous les questions":e==="M"?"profil référence candidat étendu + sources sous les questions":"sources sous les questions"}function be(e){return`Série ${e}${e==="A"?"":` — ${Ae[e]}`}`}function ge(e){return xe[e]}function Ie(e){const n=s=>{var l;const a=e.label.indexOf(s);if(a===-1)return null;const c=e.label.slice(0,a).trim(),x=e.label.slice(a+s.length).trim(),m=((l=x.split(" — ")[0])==null?void 0:l.trim())??x;return`${c} · ${m}`},i=ee.map(s=>n(` — série ${s} — `)).find(Boolean)||(()=>{const a=e.label.indexOf(" — série ");return a===-1?e.label.trim():e.label.slice(0,a).trim()})();return ze(e.id,i)}function ze(e,n){const i=[["pat25_","Expert Maieutic narration compte rendu parallèle"],["pat24_","Expert Maieutic narration compte rendu"],["pat23_","Expert Maieutic typé régénération source"],["pat22_","Expert Maieutic typé unités source"],["pat21_","Expert Maieutic typé régénération"],["pat20_","Expert Maieutic typé détaillé"],["pat19_","Expert Maieutic typé"],["pat18_","Expert Maieutic proportionnel"],["pat17_","Expert Maieutic expériences"],["pat16_","Expert Maieutic détaillé"],["pat15_","Expert Maieutic"]];for(const[s,a]of i)if(e.startsWith(s)&&e.endsWith("_expert_maieutic"))return/expert maieutic/i.test(n)?n:`${n} · ${a}`;if(e.startsWith("pat14_")){if(e.endsWith("_valerie")&&!/valérie/i.test(n))return`${n} · ton Valérie`;if(e.endsWith("_maieutic_refined"))return/maieutic/i.test(n)?n.replace(/ton maieutic 2$/i,"ton Maieutic"):`${n} · ton Maieutic`;if(e.endsWith("_maieutic"))return/maieutic 2/i.test(n)?n:n.replace(/ton maieutic$/i,"ton Maieutic 2")}return n}function ue(e){let n=2166136261;for(let i=0;i<e.length;i++)n^=e.charCodeAt(i),n=Math.imul(n,16777619);return(n>>>0).toString(36)}function pe(e){return(e??[]).map(i=>
1String(i).trim()).filter(Boolean).map(i=>`- ${i}`).join(`
2`)}function Ne(e){return e.answers.map(n=>({id:n.id,question:n.question,type:"textarea"}))}function Oe(e){const n={appreciation_points_positifs:pe(e.highlights),appreciation_points_negatifs:pe(e.watchouts),appreciation_verdict:e.verdict??""};for(const i of e.answers)n[i.id]=i.answer;return n}const Be=["job_description","cv","transcript","recruiter_note"];function De(e){return Object.prototype.hasOwnProperty.call(Z,e)}function Se(e){if(!(e!=null&&e.length))return[];const n=new Map;for(const i of e)De(i.sourceKey)&&n.set(i.sourceKey,[...n.get(i.sourceKey)??[],...(Array.isArray(i.excerpts)?i.excerpts:[]).map(s=>String(s))]);return Be.filter(i=>n.has(i)).map(i=>({sourceKey:i,excerpts:n.get(i)??[]}))}function Le(e,n,i){var a;if(n==="job_description")return e.jobDescription??"";if(n==="cv")return e.cvText??"";if(n==="transcript")return e.rawTranscript??"";const s=(a=e.notesById)==null?void 0:a[i];return s==null?"":typeof s=="string"?s:String(s)}function Ve(e){const n=e;return(typeof n.question=="string"?n.question:typeof n.label=="string"?n.label:"").trim()||String(n.id||"")||"Question sans libellé"}const Pe=({source:e,questionTypesById:n,onQuestionTypesByIdChange:i})=>{var s;return(s=e==null?void 0:e.questionnaire)!=null&&s.length?t.jsxs("section",{"aria-label":"Typage des questions pour les séries S à X",style:{marginBottom:16,padding:14,borderRadius:10,border:"1px solid #cbd5e1",background:"#f8fafc"},children:[t.jsxs("div",{style:{marginBottom:10},children:[t.jsx("strong",{children:"Questions typées — séries S/T/U/V/W/X"}),t.jsxs("p",{style:{margin:"4px 0 0",color:"#475569",fontSize:12},children:["S utilise O avec haute fidélité par défaut; T reprend S avec un contrat de détail renforcé; U applique le niveau régénération seulement aux questions typées haute fidélité, expérience ou exemples. La ",t.jsx("strong",{children:"série V"})," teste la conservation d’unités source pour Gemini 3 sans cible mécanique. La ",t.jsx("strong",{children:"série W"})," combine U et V. La ",t.jsx("strong",{children:"série X"})," remplace le profil courant en ajoutant la narration « compte rendu »."]})]}),t.jsx("div",{style:{display:"grid",gap:8},children:e.questionnaire.map(a=>{var m;const c=String(a.id||"").trim();if(!c)return null;const x=n[c]??"high_detail";return t.jsxs("label",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(180px, 240px)",gap:10,alignItems:"start",fontSize:13},children:[t.jsxs("span",{children:[t.jsx("span",{style:{fontWeight:600},children:Ve(a)}),t.jsx("span",{style:{display:"block",marginTop:2,color:"#64748b",fontSize:11},children:((m=G.find(l=>l.id===x))==null?void 0:m.description)??""})]}),t.jsx("select",{value:x,onChange:l=>{const h=l.target.value;he(h)&&i(g=>({...g,[c]:h}))},style:{padding:"7px 8px",borderRadius:8},children:G.map(l=>t.jsx("option",{value:l.id,children:l.label},l.id))})]},c)})})]}):null},Xe=({results:e,source:n,onOpenCitation:i})=>e!=null&&e.length?t.jsx("div",{style:{display:"flex",flexDirection:"column",gap:24},children:e.slice().sort((s,a)=>s.label.localeCompare(a.label,"fr")).map(s=>{const a=n?{title:n.jobTitle,clientDisplayName:n.clientName||null,summary:null,decorativeIcon:null,decorativeColor:null}:void 0,c=s.headline||s.summary?{...s.headline?{headline:s.headline}:{},...s.summary?{summary:s.summary}:{}}:null,x=qe(s.variant),m=we(s.variant),l=m&&s.answers.some(h=>Se(h.citations).length>0);return t.jsxs("details",{open:!0,style:{border:"1px solid #e2e8f0",borderRadius:12,padding:12,background:"#f8fafc"},children:[t.jsxs("summary",{style:{cursor:"pointer",fontWeight:600},children:[s.label," ",t.jsxs("span",{style:{fontWeight:400,color:"#64748b"},children:["(",s.durationMs," ms · ",s.model,s.phaseTimingMs?t.jsxs(t.Fragment,{children:[" ","· synthèse"," ",Math.round(s.phaseTimingMs.mainGenerationMs)," ms",typeof s.phaseTimingMs.seriesRDetailExpansionMs=="number"?` · série R ${Math.round(s.phaseTimingMs.seriesRDetailExpansionMs)} ms`:"",typeof s.phaseTimingMs.richTypedAnswerExpansionMs=="number"?` · passe rich ${Math.round(s.phaseTimingMs.richTypedAnswerExpansionMs)} ms`:"",typeof s.phaseTimingMs.seriesYConcurrentExpansionMs=="number"?` · Y résiduel ${Math.round(s.phaseTimingMs.seriesYConcurrentExpansionMs)} ms`:"",typeof s.phaseTimingMs.seriesYSpeculativeWaveMs=="number"?` · spéculatif Y ${Math.round(s.phaseTimingMs.seriesYSpeculativeWaveMs)} ms (parallèle)`:""]}):null,")"]}),m?t.jsxs("span",{style:{fontWeight:500,color:"#b45309",fontSize:12,marginLeft:8},children:["· série ",x," :"," ",ke(x)]}):null]}),t.jsxs("div",{className:"mt-3 flex min-h-[560px] flex-col",style:{height:"min(70vh, 820px)"},children:[t.jsx(Qe,{series:x,source:n,showsSources:m,hasAnySourceCitations:l}),t.jsx(Me,{reportId:`pattern-sandbox-${s.variant}`,candidateName:(n==null?void 0:n.candidateName)??"Candidat",jobTitle:(n==null?void 0:n.jobTitle)??"",dis
2playProfile:a,sourceProfile:c,formSchema:Ne(s),answers:Oe(s),readOnly:!0,onChangeAnswer:()=>{},questionnaireFieldFooter:m?h=>t.jsx(Ue,{result:s,fieldId:h,onOpenCitation:i}):void 0,canEditScores:!1,isScoreEditing:!1,setIsScoreEditing:()=>{},mapleAxes:[],showIssueAnalysis:!1,isIssueAnalysisRunning:!1,unresolvedIssueCount:0,getIssue:()=>null,getPreviewState:()=>null,isRecentlyResolved:()=>!1,issuePopoverFieldId:null,setIssuePopoverFieldId:()=>{},onRunIssueAnalysis:()=>{},onStartSuggestionPreview:()=>{},onAcceptSuggestion:()=>{},onRejectSuggestion:()=>{},onResolveIssue:()=>{},onRevertIssue:()=>{},showFullscreenButton:!1,showScores:!1})]})]},s.slotId??s.variant)})}):null;function Qe({series:e,source:n,showsSources:i,hasAnySourceCitations:s}){return i?t.jsxs("div",{className:"mb-2 rounded-lg border border-amber-200 bg-amber-50/90 px-3 py-2 text-xs text-amber-950",role:"status",children:[t.jsxs("strong",{children:["Série ",e]})," : les boutons Sources ouvrent le texte d’origine avec les extraits surlignés.",n?null:t.jsx("span",{className:"mt-1 block font-medium text-amber-900",children:"Cliquez « Charger la source » pour afficher les sources complètes."}),n&&!s?t.jsxs("span",{className:"mt-1 block text-amber-900/90",children:["Aucune citation JSON reçue pour ce lot : le modèle n’a pas renvoyé de"," ",t.jsx("code",{children:"sourceCitations"})," ou elles étaient vides."]}):null,e==="W"||e==="X"?t.jsx("span",{className:"mt-1 block text-amber-900/85",children:"Séries W et X : les citations vérifient que chaque réponse riche reste ancrée aux notes, à la transcription, au CV ou à la fiche de poste."}):null]}):null}function Ue({result:e,fieldId:n,onOpenCitation:i}){const s=e.answers.find(c=>c.id===n),a=Se(s==null?void 0:s.citations);return t.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-t border-dashed border-amber-200/80 pt-2",children:[t.jsx("span",{className:"w-full text-[11px] font-semibold uppercase tracking-wide text-slate-500",children:"Sources"}),a.length===0?t.jsxs("span",{className:"text-[11px] italic text-slate-400",children:["Aucune citation pour cette question (",t.jsx("code",{children:"sourceCitations"})," vide ou absent)."]}):a.map(c=>t.jsx("button",{type:"button",className:"rounded-full border border-amber-200 bg-amber-50 px-2.5 py-1 text-[11px] font-semibold text-amber-950 hover:bg-amber-100",onClick:()=>i({sourceKey:c.sourceKey,fieldId:n,excerpts:c.excerpts}),children:Z[c.sourceKey]},c.sourceKey))]})}function Fe(e,n,i){const s=Array.isArray(e)?e:[],a=n&&typeof n=="object"?n:{},c=`Échantillon de formulation issu d’un rapport existant (imiter le style et le niveau de détail, pas les faits ; ne pas supposer que ces éléments s’appliquent au dossier courant) :
3
4`;let x=c.length;const m=[c];for(const h of s){const g=String((h==null?void 0:h.id)||"").trim();if(!g||g.startsWith("appreciation_"))continue;const o=String((h==null?void 0:h.question)||"").trim(),y=a[g],b=typeof y=="string"?y.trim():"";if(!b)continue;const _=`Q : ${o}
5R : ${b}
6
7`;if(x+_.length>i)break;m.push(_),x+=_.length}const l=m.join("").trim();return l.length>c.trim().length?l:""}const ye="rfai.patternSandbox.customKtones.v1",te=24,Ye=80,Ke=12e3;function He(e){if(!e)return[];try{const n=JSON.parse(e);return Array.isArray(n)?n.filter(i=>i&&typeof i=="object"&&typeof i.id=="string"&&typeof i.name=="string"&&typeof i.templateVariantId=="string"&&typeof i.instructions=="string").map(i=>i).slice(0,te):[]}catch{return[]}}function je(e){const n=new Date().toISOString();return{...e,name:e.name.trim().slice(0,Ye),templateVariantId:e.templateVariantId.trim(),instructions:e.instructions.slice(0,Ke),createdAt:e.createdAt||n,updatedAt:n}}function H(){return typeof window>"u"?[]:He(window.localStorage.getItem(ye))}function J(e){if(typeof window>"u")return;const n=e.map(je).slice(0,te);window.localStorage.setItem(ye,JSON.stringify(n))}function Ge(e){const n=H(),i=n.findIndex(c=>c.id===e.id),s=je(e);if(i>=0){const c=[...n];return c[i]={...s,createdAt:n[i].createdAt},J(c),c}const a=[s,...n].slice(0,te);return J(a),a}function Je(e){const n=H().filter(i=>i.id!==e);J(n)}function Ze(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`ct_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}function et(e,n,i,s){const a=`${e}_${n}_custom_base`;return s?a:i}const tt=({detailSuffix:e,variantIdPrefix:n="pat11",customBaseAvailable:i,jobId:s,loading:a,onGenerate:c})=>{const x=`${n}_${e}_custom_base`,[m,l]=p.useState(()=>H()),[h,g]=p.useState(null),[o,y]=p.useState(""),[b,_]=p.useState(""),[j,A]=p.useState([]),[k,q]=p.useState(!1),[I,z]=p.useState(null),[M,O]=p.useState(""),W=p.useCallback(()=>
7{l(H())},[]),T=p.useMemo(()=>m.filter(r=>r.templateVariantId.startsWith(`${n}_${e}_`)),[m,e,n]);p.useEffect(()=>{if(!s){A([]),z(null),O("");return}let r=!1;return q(!0),_e(s).then(f=>{if(r)return;const v=[...f||[]].sort((C,$)=>{const d=String(C.created_at||"");return String($.created_at||"").localeCompare(d)});A(v.slice(0,40)),z(null)}).catch(f=>{r||z(f instanceof Error?f.message:"Chargement des rapports impossible")}).finally(()=>{r||q(!1)}),()=>{r=!0}},[s]);const E=p.useCallback(()=>{g(null),y(""),_("")},[]),X=p.useCallback(r=>{g(r.id),y(r.name),_(r.instructions)},[]),w=p.useCallback(()=>{const r=o.trim(),f=b.trim();if(!r||!f||!i)return;const v=h||Ze(),C=m.find($=>$.id===v);Ge({id:v,name:r,templateVariantId:x,instructions:f,createdAt:(C==null?void 0:C.createdAt)||new Date().toISOString(),updatedAt:new Date().toISOString()}),W()},[i,h,b,o,W,x,m]),D=p.useCallback(r=>{Je(r),W(),h===r&&E()},[h,W,E]),B=p.useCallback(()=>{if(!M)return;const r=j.find(v=>String(v.id)===M);if(!r)return;const f=Fe(r.form_schema_snapshot,r.answers,6e3);f&&_(v=>v.trim()?`${v.trim()}
8
9${f}`:f)},[j,M]),u=p.useCallback(()=>{const r=b.trim(),f=o.trim();!r||!i||c(x,r,f||"Personnalisé")},[i,b,o,c,x]);return t.jsxs("div",{style:{marginTop:4,padding:10,borderRadius:8,border:"1px solid #e2e8f0",background:"#fafafa",maxWidth:720},children:[t.jsx("div",{style:{fontSize:12,fontWeight:600,marginBottom:6},children:"Ton personnalisé (sauvegardé dans ce navigateur)"}),t.jsxs("p",{style:{fontSize:11,color:"#475569",margin:"0 0 10px",lineHeight:1.45},children:["Le ",t.jsx("strong",{children:"palier de détail"})," (Léger à Exhaustif) est celui du bouton ouvert au-dessus. Ici, aucun sous-ton prédéfini (recruteur, naturel, etc.) n’est mélangé à votre texte : le modèle utilise les mêmes règles de fond que la ",t.jsx("strong",{children:"série J"})," pour ce palier, et le style vient uniquement de vos consignes / exemples ci-dessous."]}),i?null:t.jsxs("p",{style:{fontSize:12,color:"#b45309",marginBottom:8},children:["Variante ",t.jsx("code",{children:x})," absente de l’API. Redémarrez"," ",t.jsx("code",{children:"npm run dev:api"}),", rechargez la page ou recliquez"," ",t.jsx("strong",{children:"Charger la source"}),"."]}),T.length>0?t.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:10},children:T.map(r=>t.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:6,border:"1px solid #cbd5e1",background:"#fff",fontSize:11},children:[t.jsx("button",{type:"button",onClick:()=>X(r),style:{fontSize:11,border:"none",background:"none",cursor:"pointer",padding:0},children:r.name}),t.jsx("button",{type:"button","aria-label":`Générer ${r.name}`,title:"Générer",disabled:a||!i,onClick:()=>c(et(n,e,r.templateVariantId,i),r.instructions.trim(),r.name.trim()||"Personnalisé"),style:{fontSize:11,cursor:"pointer"},children:"▶"}),t.jsx("button",{type:"button","aria-label":`Supprimer ${r.name}`,title:"Supprimer",onClick:()=>D(r.id),style:{fontSize:11,color:"#b91c1c",cursor:"pointer",border:"none",background:"none"},children:"×"})]},r.id))}):null,t.jsx("div",{style:{marginBottom:8},children:t.jsxs("label",{style:{fontSize:11,display:"flex",flexDirection:"column",gap:2,maxWidth:320},children:["Nom du ton",t.jsx("input",{type:"text",value:o,onChange:r=>y(r.target.value),placeholder:"ex. Style équipe Marie",style:{fontSize:12,padding:"4px 8px"},maxLength:80})]})}),t.jsxs("label",{style:{fontSize:11,display:"block",marginBottom:6},children:["Consignes et exemples (collage libre ou extrait de rapport ci-dessous)",t.jsx("textarea",{value:b,onChange:r=>_(r.target.value),rows:8,style:{display:"block",width:"100%",maxWidth:680,marginTop:4,fontSize:12,fontFamily:"inherit",padding:8,maxHeight:220,overflow:"auto"},maxLength:12e3})]}),s?t.jsxs("div",{style:{marginBottom:10,fontSize:11},children:[t.jsx("span",{style:{fontWeight:600},children:"Référence rapport du mandat (préréglage)"}),k?t.jsx("span",{style:{marginLeft:8,color:"#64748b"},children:"Chargement…"}):null,I?t.jsx("span",{style:{marginLeft:8,color:"#b45309"},children:I}):null,t.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginTop:6,alignItems:"center"},children:[t.jsxs("select",{value:M,onChange:r=>O(r.target.value),style:{fontSize:12,padding:"4px 8px",minWidth:220},"aria-label":"Choisir un rapport du mandat",children:[t.jsx("option",{value:"",children:"— Rapport —"}),j.map(r=>
9t.jsxs("option",{value:String(r.id),children:[String(r.created_at||"").slice(0,10)," ·"," ",String(r.candidate_id||"").slice(0,8),"…"]},r.id))]}),t.jsx("button",{type:"button",onClick:B,disabled:!M||k,style:{fontSize:12,padding:"4px 10px"},children:"Ajouter les réponses Q/R comme exemple de style"})]})]}):t.jsx("p",{style:{fontSize:11,color:"#64748b",marginBottom:8},children:"Chargez la source du préréglage pour lister les rapports du mandat."}),t.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:[t.jsx("button",{type:"button",onClick:w,disabled:!o.trim()||!b.trim()||!i,style:{fontSize:12,padding:"6px 12px"},children:"Sauvegarder le ton"}),t.jsx("button",{type:"button",onClick:E,style:{fontSize:12,padding:"6px 12px"},children:"Nouveau"}),t.jsx("button",{type:"button",onClick:u,disabled:a||!b.trim()||!i,style:{fontSize:12,padding:"6px 12px",fontWeight:600},children:"Générer avec ce ton"})]})]})},nt=["client_ready","compact","detail_1","detail_2","detail_3","detail_4","detail_5","executive","risk_balanced","warm_professional"];function P(e){return/^detail_[1-5]$/.test(e)}const st=({seriesLetter:e,variantIdPrefix:n,group:i,loading:s,onGenerateVariant:a,expandedDetailSuffix:c,onExpandedDetailSuffixChange:x,customToneOpen:m,onCustomToneOpenChange:l,sourceJobId:h})=>{const g=new Map(i.map(u=>[u.id,u])),o=c,y=o&&P(o)&&ce[`pat_${o}`],b=e==="N",_=e==="O",j=e==="P",A=e==="Q",k=e==="R",q=e==="S",I=e==="T",z=e==="U",M=e==="V",O=e==="W",W=e==="X",T=e==="Y",E=_||j||A||k||q||I||z||M||O||W||T,w=(o&&P(o)?E?[`${n}_${o}_expert_maieutic`,`${n}_${o}_custom_base`]:b?[`${n}_${o}_valerie`,`${n}_${o}_maieutic_refined`,`${n}_${o}_maieutic`,`${n}_${o}_custom_base`]:de.map(u=>`${n}_${o}_${u}`):[]).filter(u=>g.has(u)).length,D=`${n}_${o}_custom_base`,B=g.has(D);return t.jsx("div",{style:{marginBottom:12},children:t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[t.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:nt.map(u=>{const r=`pat_${u}`,f=ce[r];if(P(u)){const $=o===u;return t.jsx("button",{type:"button",disabled:s,"aria-expanded":$,"aria-controls":`sandbox-${e}-tones-${u}`,onClick:()=>x($?null:u),style:{fontSize:12,padding:"4px 8px",border:$?"2px solid #64748b":"1px solid #cbd5e1",borderRadius:6,background:$?"#f1f5f9":"#fff"},children:f},u)}const v=(b||_)&&!P(u)?`${n}_${u}_maieutic_refined`:`${n}_${u}`,C=g.get(v);return C?t.jsx("button",{type:"button",onClick:()=>void a(C.id),disabled:s,style:{fontSize:12,padding:"4px 8px"},title:`${C.id} — ${C.label}`,children:f},u):null})}),o&&P(o)&&y?t.jsxs("div",{id:`sandbox-${e}-tones-${o}`,role:"group","aria-label":E?`Ton Expert Maieutic et ton perso pour ${y}`:b?`Ton Valérie, ton Maieutic, ton Maieutic 2 et ton perso pour ${y}`:`Sous-tons pour ${y}`,style:{display:"flex",flexDirection:"column",gap:8,paddingLeft:10,marginLeft:2,borderLeft:"3px solid #cbd5e1"},children:[t.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:w===0?t.jsxs("span",{style:{fontSize:12,color:"#b45309",maxWidth:520,lineHeight:1.4},children:["Aucune variante"," ",t.jsxs("code",{children:[n,"_",o,"_*"]})," ","dans la liste renvoyée par l’API (souvent le serveur local n’a pas les mêmes clés que l’interface). Redémarrez"," ",t.jsx("code",{children:"npm run dev:api"}),", puis rechargez la page ou recliquez ",t.jsx("strong",{children:"Charger la source"}),"."]}):E?t.jsxs(t.Fragment,{children:[(()=>{const u=`${n}_${o}_expert_maieutic`,r=g.get(u);return r?t.jsx("button",{type:"button",onClick:()=>void a(r.id),disabled:s,style:{fontSize:12,padding:"4px 8px",border:"2px solid #7c2d12",borderRadius:6,background:"#fff7ed",fontWeight:700},title:`${r.id} — ${r.label}`,children:T?"Expert Maieutic narration compte rendu parallèle":W?"Expert Maieutic narration compte rendu":O?"Expert Maieutic typé régénération source":M?"Expert Maieutic typé unités source":A?"Expert Maieutic expériences":j?"Expert Maieutic détaillé":k?"Expert Maieutic proportionnel":q?"Expert Maieutic typé":I?"Expert Maieutic typé détaillé":z?"Expert Maieutic typé régénération":"Expert Maieutic"},"expert_maieutic"):null})(),t.jsx("button",{type:"button","aria-expanded":m,"aria-controls":`sandbox-${e}-custom-tone-${o}`,onClick:()=>l(!m),disabled:s,style:{fontSize:12,padding:"4px 8px",border:m?"2px solid #0f766e":"1px solid #cbd5e1",borderRadius:6,background:m?"#ecfdf5":"#fff"},children:"Ton perso"})]}):b?t.jsxs(t.Fragment,{children:[(()=>{const u=`${n}_${o}_valerie`,r=g.get(u);return r?t.jsx("button",{type:"button",onClick:()=>void a(r.id),disabled:s,style:{fontSize:12,padding:"4px 8px",border:"2px s
9olid #b45309",borderRadius:6,background:"#fffbeb",fontWeight:600},title:`${r.id} — ${r.label}`,children:"Ton Valérie"},"valerie"):null})(),(()=>{const u=`${n}_${o}_maieutic_refined`,r=g.get(u);return r?t.jsx("button",{type:"button",onClick:()=>void a(r.id),disabled:s,style:{fontSize:12,padding:"4px 8px",border:"2px solid #0e7490",borderRadius:6,background:"#ecfeff",fontWeight:600},title:`${r.id} — ${r.label}`,children:"Ton Maieutic"},"maieutic"):null})(),(()=>{const u=`${n}_${o}_maieutic`,r=g.get(u);return r?t.jsx("button",{type:"button",onClick:()=>void a(r.id),disabled:s,style:{fontSize:12,padding:"4px 8px",border:"2px solid #475569",borderRadius:6,background:"#f8fafc",fontWeight:600},title:`${r.id} — ${r.label}`,children:"Ton Maieutic 2"},"maieutic2"):null})(),t.jsx("button",{type:"button","aria-expanded":m,"aria-controls":`sandbox-${e}-custom-tone-${o}`,onClick:()=>l(!m),disabled:s,style:{fontSize:12,padding:"4px 8px",border:m?"2px solid #0f766e":"1px solid #cbd5e1",borderRadius:6,background:m?"#ecfdf5":"#fff"},children:"Ton perso"})]}):t.jsxs(t.Fragment,{children:[de.map(u=>{const r=`${n}_${o}_${u}`,f=g.get(r);return f?t.jsx("button",{type:"button",onClick:()=>void a(f.id),disabled:s,style:{fontSize:12,padding:"4px 8px"},title:`${f.id} — ${f.label}`,children:Te[u]},u):null}),t.jsx("button",{type:"button","aria-expanded":m,"aria-controls":`sandbox-${e}-custom-tone-${o}`,onClick:()=>l(!m),disabled:s,style:{fontSize:12,padding:"4px 8px",border:m?"2px solid #0f766e":"1px solid #cbd5e1",borderRadius:6,background:m?"#ecfdf5":"#fff"},children:"Ton perso"})]})}),E&&w>0?t.jsxs("p",{style:{fontSize:11,color:"#64748b",margin:0,lineHeight:1.45,maxWidth:640},children:["Série ",e," :"," ",t.jsx("strong",{children:T?"Expert Maieutic narration compte rendu parallèle":W?"Expert Maieutic narration compte rendu":A?"Expert Maieutic expériences":j?"Expert Maieutic détaillé":"Expert Maieutic"})," ","(",t.jsxs("code",{children:[n,"_",o,"_expert_maieutic"]}),") reprend le ton Maieutic validé",T?" avec sortie identique à X et orchestration parallèle de la deuxième passe rich-typed (rapport divisé par ~2 sur le temps mur).":A?" avec une règle stricte de paragraphes par expérience lorsque le candidat déroule son parcours.":j?" avec une conservation plus exhaustive des épisodes sous chaque question.":" avec beaucoup plus de détails lorsque les sources sont riches."," ",t.jsx("strong",{children:"Ton perso"})," affine cette base via"," ",t.jsxs("code",{children:[n,"_",o,"_custom_base"]}),"."]}):b&&w>0?t.jsxs("p",{style:{fontSize:11,color:"#64748b",margin:0,lineHeight:1.45,maxWidth:640},children:["Série N : trois tons prédéfinis calibrés sur les rapports types sous ",t.jsx("code",{children:"docs/rapports type/"})," —"," ",t.jsx("strong",{children:"Ton Valérie"})," (",t.jsxs("code",{children:[n,"_",o,"_valerie"]}),"), ",t.jsx("strong",{children:"Ton Maieutic"})," (",t.jsxs("code",{children:[n,"_",o,"_maieutic_refined"]}),") et ",t.jsx("strong",{children:"Ton Maieutic 2"})," (",t.jsxs("code",{children:[n,"_",o,"_maieutic"]}),"). ",t.jsx("strong",{children:"Ton perso"})," affine la base Maieutic via"," ",t.jsxs("code",{children:[n,"_",o,"_custom_base"]}),"."]}):null,m&&w>0?t.jsx("div",{id:`sandbox-${e}-custom-tone-${o}`,children:t.jsx(tt,{detailSuffix:o,variantIdPrefix:n,customBaseAvailable:B,jobId:h,loading:s,onGenerate:(u,r,f)=>{a(u,{styleOverlay:r,customLabel:f})}})}):null]}):null]})})},it={N:"Série N propose Ton Valérie, Ton Maieutic, Ton Maieutic 2 et Ton perso sur les paliers de détail.",O:"Série O conserve le style Maieutic et réduit la compression des réponses riches.",P:"Série P pousse chaque réponse riche vers une restitution exhaustive des épisodes concrets.",Q:"Série Q impose un paragraphe développé par expérience ou sous-rôle quand le candidat déroule son parcours.",R:"Série R développe les réponses riches et laisse les réponses courtes courtes, sans format imposé.",S:"Série S applique uniquement aux questions typées les consignes locales choisies plus haut.",T:"Série T ajoute le niveau de détail du mode régénération pour les questions riches.",U:"Série U applique le niveau re-générer la réponse aux seules questions typées riches.",V:"Série V conserve les unités source sans nombre cible mécanique de paragraphes.",W:"Série W reprend U, ajoute les unités source de V et précise que deux paragraphes n’est pas un plafond.",X:"Série X remplace le profil courant : contrat W + narration compte rendu attribuée au propos du candidat.",Y:"Série Y : sortie identique à X, deuxième passe r
9ich-typed lancée en parallèle de la passe principale (temps mur divisé par ~2)."};function rt({series:e}){if(e==="A")return null;const n=ge(e);return t.jsxs("div",{style:{marginBottom:10},children:[t.jsxs("span",{style:{fontSize:12,fontWeight:700,color:"#64748b",marginRight:8},children:[be(e)," :"]}),t.jsxs("span",{style:{fontSize:12,color:"#b45309",display:"inline-block",maxWidth:520,verticalAlign:"top"},children:["Aucune variante ",t.jsxs("code",{children:[n,"_*"]})," reçue du serveur. Relancez"," ",t.jsx("code",{children:"npm run dev:api"}),", rechargez la page, puis"," ",t.jsx("strong",{children:"Charger la source"}),"."]})]})}function ot({series:e}){const n=it[e];return n?t.jsx("p",{style:{fontSize:11,color:"#475569",margin:"0 0 10px",maxWidth:720,lineHeight:1.5},children:n}):null}function at(e){return We.has(e)}const lt=({variants:e,loading:n,source:i,expandedDetailBySeries:s,customToneOpenBySeries:a,onGenerateVariant:c,onExpandedDetailChange:x,onCustomToneOpenChange:m})=>t.jsxs("div",{style:{marginBottom:16},children:[t.jsx("span",{style:{fontSize:13,color:"#444",display:"block",marginBottom:6},children:"Une variante :"}),ee.map(l=>{const h=e.filter(o=>fe(o)===l);if(h.length===0)return t.jsx(rt,{series:l},l);const g=t.jsxs("div",{style:{fontSize:12,fontWeight:700,color:"#64748b",marginBottom:6,lineHeight:1.35},children:[be(l)," :"]});return at(l)?t.jsxs("div",{style:{marginBottom:12},children:[g,t.jsx(ot,{series:l}),t.jsx(st,{seriesLetter:l,variantIdPrefix:ge(l),group:h,loading:n,onGenerateVariant:c,expandedDetailSuffix:s[l]??null,onExpandedDetailSuffixChange:o=>x(l,o),customToneOpen:a[l]??!1,onCustomToneOpenChange:o=>m(l,o),sourceJobId:(i==null?void 0:i.jobId)??null})]},l):t.jsxs("div",{style:{marginBottom:12},children:[g,t.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:h.map(o=>t.jsx("button",{type:"button",onClick:()=>c(o.id),disabled:n,style:{fontSize:12,padding:"4px 8px"},title:`${o.id} — ${o.label}`,children:Ie(o)},o.id))})]},l)})]});function Wt(e){return e.startsWith("pat12_")||e.startsWith("pat13_")||e.startsWith("pat14_")||e.startsWith("pat15_")||e.startsWith("pat19_")||e.startsWith("pat20_")||e.startsWith("pat21_")||e.startsWith("pat22_")||e.startsWith("pat23_")||e.startsWith("pat24_")||e.startsWith("pat25_")}const me=e=>e.startsWith("pat19_")||e.startsWith("pat20_")||e.startsWith("pat21_")||e.startsWith("pat22_")||e.startsWith("pat23_")||e.startsWith("pat24_")||e.startsWith("pat25_"),At=()=>{const[e,n]=p.useState("morasse"),[i,s]=p.useState([]),[a,c]=p.useState([]),[x,m]=p.useState(""),[l,h]=p.useState(null),[g,o]=p.useState(null),[y,b]=p.useState(!1),[_,j]=p.useState(null),[A,k]=p.useState(!1),[q,I]=p.useState(!1),[z,M]=p.useState(!1),[O,W]=p.useState(null),[T,E]=p.useState({}),[X,w]=p.useState({}),[D,B]=p.useState({}),[u,r]=p.useState(null);p.useEffect(()=>{w({}),B({})},[a]),p.useEffect(()=>{let d=!1;return $e().then(S=>{d||(I(S),k(!0))}).catch(()=>{d||(I(!1),k(!0))}),()=>{d=!0}},[]);const f=p.useCallback(async()=>{j(null),b(!0);try{const d=await Y(K,"GET");s(d.presets||[]),c(d.variants||[]),m(d.model||""),h(null),o(null),E({})}catch(d){j(String(d instanceof Error?d.message:d))}finally{b(!1)}},[]),v=p.useCallback(async()=>{j(null),b(!0);try{const d=new URLSearchParams({preset:e}),S=await Y(`${K}?${d.toString()}`,"GET"),R=S.source||null;h(R),c(S.variants||[]),m(S.model||""),o(null),E(ct(R))}catch(d){j(String(d instanceof Error?d.message:d))}finally{b(!1)}},[e]),C=p.useCallback(async()=>{j(null),b(!0),o(null);try{const d=await Y(K,"POST",{preset:e,runAll:!0});o(d.results||[])}catch(d){j(String(d instanceof Error?d.message:d))}finally{b(!1)}},[e]),$=p.useCallback(async(d,S)=>{var R,ne,se;j(null),b(!0);try{const N=((R=S==null?void 0:S.styleOverlay)==null?void 0:R.trim())??"",Q={preset:e,variant:d},U=Object.fromEntries(Object.entries(T));if(me(d)&&Object.keys(U).length>0&&(Q.questionAnswerTypes=U),N.length>0){Q.styleOverlay=N.slice(0,14e3);const L=(ne=S==null?void 0:S.customLabel)==null?void 0:ne.trim();L&&(Q.customLabel=L.slice(0,120))}const ie=(se=(await Y(K,"POST",Q)).results)==null?void 0:se[0],re=me(d)&&Object.keys(U).length?`::__types__::${ue(JSON.stringify(U))}`:"",oe=N.length>0?`${d}::__custom__::${ue(N+((S==null?void 0:S.customLabel)??""))}${re}`:`${d}${re}`;o(L=>{const F=L?[...L]:[],ae=F.findIndex(V=>(V.slotId??V.variant)===oe);if(ie){const V={...ie,slotId:oe};ae>=0?F[ae]=V:F.push(V)}return F})}catch(N){j(String(N instanceof Error?N.message:N))}finally{b(!1)}},[e,T]);return p.useEffect(()=>{q&&f()},[q,f]),A?q?t.jsxs("div",{style:{padding:24,maxWidth:1280},children:[t.jsx(ve,{isOpen:z,onClose:()=>M(!1),flow:"sandbox",title:"Modifier le style de rapport (bac à sable)",onApply:d=>W(d)}),t.jsx(Re,{preset:e,presets:i,loading:y,modelHint:x,error:_,source:l,sandboxStylePick:O,onPresetChange:n,onLoadSource:()=>void v(),onGenerateAll:()=>void C(),onOpenStyleModal:()=>M(!0),onGenerateVariant:d=>void $(d)}),t.jsx(Pe,{source:l,questionTypesById:T,onQuestionTypesByIdChange:E}),t.jsx(lt,{variants:a,loading:y,source:l,expandedDetailBySeries:X,customToneOpenBySeries:D,onGenerateVariant:(d,S)=>void $(d,S),onExpandedDetailChange:(d,S)=>{w(R=>({...R,[d]:S})),S||B(R=>({...R,[d]:!1}))},onCustomToneOpenChange:(d,S)=>B(R=>({...R,[d]:S}))}),t.jsx(dt,{source:l}),t.jsx(Xe,{results:g,source:l,onOpenCitation:r}),u?t.jsx(Ee,{open:!0,onClose:()=>r(null),sourceKey:u.sourceKey,title:Z[u.sourceKey],body:l?Le(l,u.sourceKey,u.fieldId):"",excerpts:u.excerpts,notice:l?null:"Chargez la source (bouton « Charger la source » en haut de page) pour afficher le texte complet et surligner les extraits dans ce document."}):null,t.jsx("div",{style:{marginTop:24},children:t.jsx(le,{to:"/tableau",children:"← Retour au tableau"})})]}):t.jsxs("div",{style:{padding:24,maxWidth:720},children:[t.jsx("h1",{children:"Sandbox — patterns de rapport d’entrevue"}),t.jsx("p",{children:"Connexion requise."}),t.jsx(le,{to:"/tableau",children:"Retour au tableau"})]}):t.jsxs("div",{style:{padding:24,maxWidth:720},children:[t.jsx("h1",{children:"Sandbox — patterns de rapport d’entrevue"}),t.jsx("p",{children:"Vérification de la session…"})]})};function ct(e){const n={};return(Array.isArray(e==null?void 0:e.questionnaire)?e.questionnaire:[]).forEac
9h(s=>{const a=s,c=String(a.id||"").trim(),x=String(a.answerType||a.questionType||a.reportAnswerType||"high_detail").trim();c&&he(x)&&(n[c]=x)}),n}function dt({source:e}){return e?t.jsxs("div",{style:{padding:12,background:"#f4f4f5",borderRadius:8,marginBottom:16,fontSize:14},children:[t.jsx("strong",{children:e.presetLabel}),t.jsx("br",{}),e.candidateName," — ",e.jobTitle," (",e.clientName,")",t.jsx("br",{}),"Questions: ",e.sourceStats.questionnaireCount,", notes:"," ",e.sourceStats.notesCount,", transcript:"," ",e.sourceStats.rawTranscriptChars," car., CV:"," ",e.sourceStats.cvChars," car.",t.jsx("br",{}),t.jsxs("span",{style:{fontSize:12,color:"#64748b"},children:["Brouillon entrevue: ",e.sourceStats.interviewDraftSource??"—"," · Questionnaire: ",e.sourceStats.questionnaireSource??"—"," · IDs:"," ",e.sourceStats.idsResolution??"—"]})]}):null}export{At as InterviewReportPatternSandboxRoute,Wt as patternSandboxVariantUsesSourceButtons};

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.