1import{bI as H,r as o,j as e,a as u,bK as J,g as p,Y as K,_ as M,$ as f,a0 as b,b as x,e as L,f as I,c as h,B as a,a9 as Q,am as W,C as X,J as Z,cd as ee,s as d}from"./index-D3v-3Oo3.js";const se={solid:"bg-emerald-500/15 text-emerald-700 dark:text-emerald-400 border-emerald-500/30",mixed:"bg-amber-500/15 text-amber-700 dark:text-amber-400 border-amber-500/30",to_challenge:"bg-orange-500/15 text-orange-700 dark:text-orange-400 border-orange-500/30",unreliable:"bg-red-500/15 text-red-700 dark:text-red-400 border-red-500/30"},te={S:"bg-purple-500/15 text-purple-700 dark:text-purple-400 border-purple-500/40",A:"bg-blue-500/15 text-blue-700 dark:text-blue-400 border-blue-500/40",B:"bg-slate-500/15 text-slate-700 dark:text-slate-400 border-slate-500/40",C:"bg-zinc-500/15 text-zinc-700 dark:text-zinc-400 border-zinc-500/40"};function ie(){var S,T,B;const{toast:r}=H(),[v,_]=o.useState(!0),[l,n]=o.useState(null),[y,R]=o.useState([]),[N,$]=o.useState([]),[w,D]=o.useState([]),[i,P]=o.useState(null),[g,C]=o.useState(""),[k,V]=o.useState("B"),m=async()=>{_(!0);const[s,t,c,j]=await Promise.all([d.from("intelligence_sources").select("*").order("tier").order("name"),d.from("intelligence_insights").select("*, video:intelligence_videos(title, channel_name, url)").order("created_at",{ascending:!1}).limit(50),d.from("intelligence_videos").select("id, title, status, status_message, channel_name, published_at, total_cost_eur").order("created_at",{ascending:!1}).limit(30),d.from("intelligence_briefs").select("*").order("brief_date",{ascending:!1}).limit(1).maybeSingle()]);R(s.data??[]),$(t.data??[]),D(c.data??[]),P(j.data??null),_(!1)};o.useEffect(()=>{m()},[]);const O=async()=>{var c;n("discover");const{data:s,error:t}=await d.functions.invoke("intelligence-discover",{body:{all_enabled:!0,max_per_source:5}});n(null),r(t?{title:"Erreur",description:t.message,variant:"destructive"}:{title:"Découverte lancée",description:`${((c=s==null?void 0:s.results)==null?void 0:c.length)??0} sources scannées`}),m()},q=async()=>{n("cron");const{data:s,error:t}=await d.functions.invoke("intelligence-cron-ingest",{body:{}});n(null),r(t?{title:"Erreur",description:t.message,variant:"destructive"}:{title:"Pipeline complet lancé",description:`${(s==null?void 0:s.processed_count)??0} vidéos traitées`}),m()},U=async()=>{n("brief");const{error:s}=await d.functions.invoke("intelligence-morning-brief",{body:{}});n(null),r(s?{title:"Erreur",description:s.message,variant:"destructive"}:{title:"Brief généré"}),m()},F=async s=>{n(`v-${s}`);const{error:t}=await d.functions.invoke("intelligence-process-video",{body:{video_id:s}});n(null),r(t?{title:"Erreur",description:t.message,variant:"destructive"}:{title:"Vidéo traitée"}),m()},G=async()=>{if(!g)return;n("add");const{error:s}=await d.functions.invoke("intelligence-add-source",{body:{url:g,tier:k}});n(null),s?r({title:"Erreur",description:s.message,variant:"destructive"}):(r({title:"Source ajoutée"}),C(""),m())},Y=async(s,t)=>{await d.from("intelligence_sources").update({enabled:!t}).eq("id",s),m()};return e.jsxs("div",{className:"container mx-auto p-6 space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:"Intelligence â Cellule de veille IA"}),e.jsx("p",{className:"text-muted-foreground",children:"Pipeline journalistique : ingestion â claims â fact-check â synthèse"})]}),e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.jsx(u,{variant:"outline",onClick:m,disabled:v,children:e.jsx(J,{className:`h-4 w-4 ${v?"animate-spin":""}`})}),e.jsxs(u,{variant:"outline",onClick:O,disabled:l==="discover",children:[l==="discover"?e.jsx(p,{className:"h-4 w-4 animate-spin mr-2"}):null,"Découvrir nouvelles vidéos"]}),e.jsxs(u,{onClick:q,disabled:l==="cron",children:[l==="cron"?e.jsx(p,{className:"h-4 w-4 animate-spin mr-2"}):null,"Lancer pipeline complet"]}),e.jsxs(u,{variant:"secondary",onClick:U,disabled:l==="brief",children:[l==="brief"?e.jsx(p,{className:"h-4 w-4 animate-spin mr-2"}):null,"Générer brief du jour"]})]})]}),e.jsxs(K,{defaultValue:"brief",children:[e.jsxs(M,{children:[e.jsx(f,{value:"brief",children:"Brief matin"}),e.jsxs(f,{value:"insights",children:["Insights (",N.length,")"]}),e.jsxs(f,{value:"videos",children:["Pipeline (",w.length,")"]}),e.jsxs(f,{value:"sources",children:["Sources (",y.length,")"]})]}),e.jsx(b,{value:"brief",className:"space-y-4",children:i?e.jsxs(x,{children:[e.jsxs(L,{children:[e.jsx(I,{children:i.title}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[i.brief_date," ⢠",i.insights_count," insights ⢠",i.flagged_warnings_count," alertes"]})]}),e.jsxs(h,{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold mb-2",children:"Résumé exécutif"}),e.jsx("p",{className:"text-sm whitespace-pre-line",children:i.executive_summary})]}),((S=i.business_opportunities)==null?void 0:S.length)>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold mb-2",children:"ð¯ Opportunités business"}),e.jsx("div",{className:"space-y-2",children:i.business_opportunities.map((s,t)=>e.jsxs("div",{className:"border-l-2 border-primary pl-3 py-1",children:[e.jsx("p",{className:"font-medium text-sm",children:s.opportunity}),s.urgency&&e.jsx(a,{variant:"outline",className:"mt-1",children:s.urgency}),s.why_now&&e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:s.why_now})]},t))})]}),((T=i.dev_signals)==null?void 0:T.length)>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold mb-2",children:"âï¸ Signaux dev"}),e.jsx("div",{className:"space-y-2",children:i.dev_signals.map((s,t)=>e.jsxs("div",{className:"border-l-2 border-blue-500 pl-3 py-1",children:[e.jsx("p",{className:"font-medium text-sm",children:s.signal}),s.tech&&e.jsx(a,{variant:"outline",className:"mt-1 mr-1",children:s.tech}),s.action&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["â ",s.action]})]},t))})]}),((B=i.market_movements)==null?void 0:B.length)>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold mb-2",children:"ð Mouvements marché"}),e.jsx("div",{className:"space-y-2",children:i.market_movements.map((s,t)=>e.jsxs("div",{className:"border-l-2 border-purple-500 pl-3 py-1",children:[e.jsxs("p",{className:"font-medium text-sm",children:[s.sector," â ",s.movement]}
1),s.implication&&e.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:s.implication})]},t))})]})]})]}):e.jsx(x,{children:e.jsx(h,{className:"p-8 text-center text-muted-foreground",children:`Aucun brief généré aujourd'hui. Cliquez "Générer brief du jour" après avoir ingéré des vidéos.`})})}),e.jsxs(b,{value:"insights",className:"space-y-3",children:[N.map(s=>{var t,c,j,A,E;return e.jsx(x,{children:e.jsx(h,{className:"p-4 space-y-2",children:e.jsxs("div",{className:"flex items-start justify-between gap-3 flex-wrap",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx(a,{className:se[s.verdict]??"",children:s.verdict}),e.jsxs(a,{variant:"outline",children:["Crédibilité ",s.credibility_score,"/100"]}),e.jsxs(a,{variant:"outline",children:["Valeur ",s.estimated_business_value,"/100"]}),((t=s.warning_flags)==null?void 0:t.length)>0&&e.jsxs(a,{variant:"destructive",children:[e.jsx(Q,{className:"h-3 w-3 mr-1"}),s.warning_flags.length]})]}),e.jsx("h3",{className:"font-semibold",children:s.title}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[(c=s.video)==null?void 0:c.channel_name," â ",(j=s.video)==null?void 0:j.title]}),e.jsx("p",{className:"text-sm mt-2",children:s.summary}),((A=s.topics)==null?void 0:A.length)>0&&e.jsx("div",{className:"flex gap-1 mt-2 flex-wrap",children:s.topics.slice(0,6).map(z=>e.jsx(a,{variant:"secondary",className:"text-xs",children:z},z))})]}),((E=s.video)==null?void 0:E.url)&&e.jsx(u,{variant:"ghost",size:"sm",asChild:!0,children:e.jsx("a",{href:s.video.url,target:"_blank",rel:"noreferrer",children:e.jsx(W,{className:"h-4 w-4"})})})]})})},s.id)}),N.length===0&&!v&&e.jsx(x,{children:e.jsx(h,{className:"p-8 text-center text-muted-foreground",children:"Aucun insight encore. Lancez le pipeline."})})]}),e.jsx(b,{value:"videos",className:"space-y-2",children:w.map(s=>e.jsx(x,{children:e.jsxs(h,{className:"p-3 flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxs(a,{variant:s.status==="completed"?"default":s.status==="failed"?"destructive":"secondary",children:[s.status==="completed"&&e.jsx(X,{className:"h-3 w-3 mr-1"}),s.status]}),e.jsx("span",{className:"text-xs text-muted-foreground",children:s.channel_name}),s.total_cost_eur>0&&e.jsxs("span",{className:"text-xs text-muted-foreground",children:[s.total_cost_eur.toFixed(3),"â¬"]})]}),e.jsx("p",{className:"text-sm font-medium truncate",children:s.title}),s.status_message&&e.jsx("p",{className:"text-xs text-muted-foreground",children:s.status_message})]}),(s.status==="discovered"||s.status==="failed")&&e.jsx(u,{size:"sm",variant:"outline",onClick:()=>F(s.id),disabled:l===`v-${s.id}`,children:l===`v-${s.id}`?e.jsx(p,{className:"h-3 w-3 animate-spin"}):"Analyser"})]})},s.id))}),e.jsxs(b,{value:"sources",className:"space-y-3",children:[e.jsxs(x,{children:[e.jsx(L,{children:e.jsx(I,{className:"text-base",children:"Ajouter une chaîne YouTube"})}),e.jsxs(h,{className:"flex gap-2 flex-wrap",children:[e.jsx(Z,{placeholder:"https://youtube.com/@chaine ou /channel/UC...",value:g,onChange:s=>C(s.target.value),className:"flex-1 min-w-[300px]"}),e.jsxs("select",{value:k,onChange:s=>V(s.target.value),className:"px-3 rounded border bg-background",children:[e.jsx("option",{value:"S",children:"Tier S"}),e.jsx("option",{value:"A",children:"Tier A"}),e.jsx("option",{value:"B",children:"Tier B"}),e.jsx("option",{value:"C",children:"Tier C"})]}),e.jsxs(u,{onClick:G,disabled:l==="add"||!g,children:[l==="add"?e.jsx(p,{className:"h-4 w-4 animate-spin mr-2"}):e.jsx(ee,{className:"h-4 w-4 mr-2"}),"Ajouter"]})]})]}),y.map(s=>{var t;return e.jsx(x,{children:e.jsxs(h,{className:"p-3 flex items-center justify-between gap-3 flex-wrap",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[e.jsx(a,{className:te[s.tier]??"",children:s.tier}),e.jsx("span",{className:"font-semibold",children:s.name}),e.jsx(a,{variant:"outline",children:s.language}),e.jsxs(a,{variant:"outline",children:["Ã",s.trust_multiplier]}),!s.enabled&&e.jsx(a,{variant:"destructive",children:"Désactivée"})]}),e.jsx("div",{className:"flex gap-1 flex-wrap",children:(t=s.themes)==null?void 0:t.slice(0,5).map(c=>e.jsx(a,{variant:"secondary",className:"text-xs",children:c},c))}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[s.total_videos_ingested," vidéos ingérées",s.last_checked_at&&` ⢠dernier scan ${new Date(s.last_checked_at).toLocaleStr
1ing("fr-FR")}`]})]}),e.jsx(u,{variant:"outline",size:"sm",onClick:()=>Y(s.id,s.enabled),children:s.enabled?"Désactiver":"Activer"})]})},s.id)})]})]})]})}export{ie as default};
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.