PageSourceSearch

https://augmentable.ai/_app/immutable/nodes/46.DRowLv5g.js

js augmentable.ai collected 2026-10-05 12:57:57 UTC 20,523 bytes, 5 lines download raw bytes

1var Os=Object.defineProperty;var Ls=f=>{throw TypeError(f)};var Bs=(f,s,e)=>s in f?Os(f,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):f[s]=e;var Cs=(f,s,e)=>Bs(f,typeof s!="symbol"?s+"":s,e),$s=(f,s,e)=>s.has(f)||Ls("Cannot "+e);var x=(f,s,e)=>($s(f,s,"read from private field"),e?e.call(f):s.get(f)),P=(f,s,e)=>s.has(f)?Ls("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(f):s.set(f,e);import"../chunks/Bzak7iHL.js";import"../chunks/69_IOA4Y.js";import{o as Js}from"../chunks/CJJm2aAm.js";import{aP as D,J as t,L as R,K as bs,p as G,s as v,d as r,aR as ws,r as a,a as h,b as Y,t as j,c as u,f as Us,b4 as Ws,aQ as Ms,B as Ks,aS as Qs}from"../chunks/BhI9MKT_.js";import{h as zs}from"../chunks/C_jLOrY2.js";import{i as Gs}from"../chunks/CrPeIEli.js";import{g as Es}from"../chunks/z9roQYau.js";import{a as Ys,s as Vs}from"../chunks/gHn5olni.js";import{s as y,d as ms,a as xs}from"../chunks/rHeqisAH.js";import{i as C}from"../chunks/ByapEJz3.js";import{e as z,i as Xs}from"../chunks/Dxh3YFtJ.js";import{s as As}from"../chunks/bFYRkIxx.js";import{p as Zs}from"../chunks/Bfhe_mYg.js";import{c as st,A as tt}from"../chunks/BjAGmcKI.js";import"../chunks/BmyTUnmE.js";import"../chunks/T0Eepon_.js";import"../chunks/D__VnWkq.js";import{P as K}from"../chunks/NnV39TzZ.js";import{b as et}from"../chunks/D0oU3RRJ.js";import{r as Is,s as Ps}from"../chunks/ChB247JF.js";import{a as Ss}from"../chunks/cWrUQuM7.js";import{p as at}from"../chunks/BGQWFrtX.js";var as,rs,is,ns,ls,os,cs,vs,ds,hs,us,_s,fs,gs;class rt{constructor(s){Cs(this,"selection");P(this,as,D("bing_ads"));P(this,rs,D(bs([])));P(this,is,D(!1));P(this,ns,D(!1));P(this,ls,D(""));P(this,os,D(""));P(this,cs,D(""));P(this,vs,D(bs([])));P(this,ds,D(!1));P(this,hs,D(null));P(this,us,D(bs([])));P(this,_s,D(bs([])));P(this,fs,D(null));P(this,gs,D(!1));this.selection=s}get channel(){return t(x(this,as))}set channel(s){R(x(this,as),s,!0)}get channels(){return t(x(this,rs))}set channels(s){R(x(this,rs),s,!0)}get loadingChannels(){return t(x(this,is))}set loadingChannels(s){R(x(this,is),s,!0)}get busy(){return t(x(this,ns))}set busy(s){R(x(this,ns),s,!0)}get statusText(){return t(x(this,ls))}set statusText(s){R(x(this,ls),s,!0)}get errorMessage(){return t(x(this,os))}set errorMessage(s){R(x(this,os),s,!0)}get successMessage(){return t(x(this,cs))}set successMessage(s){R(x(this,cs),s,!0)}get jobs(){return t(x(this,vs))}set jobs(s){R(x(this,vs),s,!0)}get loadingJobs(){return t(x(this,ds))}set loadingJobs(s){R(x(this,ds),s,!0)}get activeDocId(){return t(x(this,hs))}set activeDocId(s){R(x(this,hs),s,!0)}get leads(){return t(x(this,us))}set leads(s){R(x(this,us),s,!0)}get analyses(){return t(x(this,_s))}set analyses(s){R(x(this,_s),s,!0)}get activeAnalysis(){return t(x(this,fs))}set activeAnalysis(s){R(x(this,fs),s,!0)}get loadingAnalyses(){return t(x(this,gs))}set loadingAnalyses(s){R(x(this,gs),s,!0)}get siteId(){const s=this.selection.selectedSiteId;return s&&s!=="__all_sites__"?s:null}async authedFetch(s,e={}){const c=async m=>{const b=await et({forceRefresh:m});return fetch(s,{...e,headers:{...b,...e.headers||{}}})};let w=await c(!1);return w.status===401&&(w=await c(!0)),w}clearMessages(){this.errorMessage="",this.successMessage=""}async init(){await Promise.all([this.loadChannels(),this.loadJobs(),this.loadAnalyses()])}async loadChannels(){this.loadingChannels=!0;try{const s=await this.authedFetch(`${K}/api/hifi-leads/channels`),e=await s.json().catch(()=>({}));if(!s.ok)throw new Error(e.detail||"Failed to load channels");this.channels=e.channels||[],this.channels.length&&!this.channels.some(c=>c.id===this.channel)&&(this.channel=this.channels[0].id)}catch(s){this.errorMessage=(s==null?void 0:s.message)||"Failed to load channels"}finally{this.loadingChannels=!1}}async runHarvest(){var s;this.busy=!0,this.clearMessages(),this.leads=[],this.activeDocId=null;try{this.statusText="Queuing harvest…";const e=await this.authedFetch(`${K}/api/hifi-leads/jobs/harvest`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channel:this.channel,site_id:this.siteId})}),c=await e.json().catch(()=>({}));if(!e.ok)throw new Error(c.detail||"Failed to start harvest");const w=c.harvest_job_id;if(!w)throw new Error("No harvest_job_id returned");this.statusText="Harvesting ads + probing sites on the worker…";const m=await this.pollHarvestJob(w),b=(s=m==null?void 0:m.result_ref)==null?void 0:s.doc_id;if(!b)throw new Error("Harvest completed but returned no result reference");this.statusText="Loading leads…",await this.loadJobResults(b),await this.loadJobs();const M=this.leads.filter(T=>(T.lead_score||0)>=70).length;this.successMessage=`${this.leads.length} leads found — ${M} hot.`}catch(e){this.errorMessage=(e==null?void 0:e.message)||"Harvest failed"}finally{this.busy=!1,this.statusText=""}}
1async pollHarvestJob(s,{intervalMs:e=3e3,timeoutMs:c=9e5}={}){const w=Date.now();for(;Date.now()-w<c;){const m=await this.authedFetch(`${K}/api/harvest-jobs/${s}`),b=await m.json().catch(()=>({}));if(!m.ok)throw new Error(b.detail||"Failed to check harvest status");if(b.status==="completed")return b;if(b.status==="failed")throw new Error(b.last_error||"Harvest failed on the worker");await new Promise(M=>setTimeout(M,e))}throw new Error("Harvest is taking longer than expected — check History shortly.")}async loadJobResults(s){const e=await this.authedFetch(`${K}/api/hifi-leads/jobs/${s}/results`),c=await e.json().catch(()=>({}));if(!e.ok)throw new Error(c.detail||"Failed to load results");return this.activeDocId=s,this.leads=c.leads||[],c}async loadJobs(){this.loadingJobs=!0;try{const s=await this.authedFetch(`${K}/api/hifi-leads/jobs`),e=await s.json().catch(()=>({}));if(!s.ok)throw new Error(e.detail||"Failed to load jobs");this.jobs=e.jobs||[]}catch(s){this.errorMessage=(s==null?void 0:s.message)||"Failed to load jobs"}finally{this.loadingJobs=!1}}async openHistoricalJob(s){this.busy=!0,this.clearMessages();try{await this.loadJobResults(s)}catch(e){this.errorMessage=(e==null?void 0:e.message)||"Failed to load job"}finally{this.busy=!1}}async runMineLeads(){var s;if(!this.activeDocId){this.errorMessage="Run a harvest (or open one from History) before mining leads.";return}this.busy=!0,this.clearMessages();try{this.statusText="Starting Mine Leads analysis…";const e=await this.authedFetch(`${K}/api/hifi-leads/analyses`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({doc_id:this.activeDocId})}),c=await e.json().catch(()=>({}));if(!e.ok)throw new Error(c.detail||"Failed to start analysis");const w=c.analysis_id;
1if(!w)throw new Error("No analysis_id returned");this.statusText="Mining leads (ICP judgment + outreach)…";const m=await this.pollAnalysis(w);this.activeAnalysis=m,await this.loadAnalyses();const b=(((s=m==null?void 0:m.structured_output)==null?void 0:s.leads)||[]).length;this.successMessage=`Mined ${b} lead(s).`}catch(e){this.errorMessage=(e==null?void 0:e.message)||"Mine Leads failed"}finally{this.busy=!1,this.statusText=""}}async pollAnalysis(s,{intervalMs:e=2500,timeoutMs:c=3e5}={}){const w=Date.now();for(;Date.now()-w<c;){const m=await this.authedFetch(`${K}/api/hifi-leads/analyses/${s}`),b=await m.json().catch(()=>({}));if(!m.ok)throw new Error(b.detail||"Failed to check analysis status");if(b.status==="completed")return b;if(b.status==="failed")throw new Error(b.error||"Mine Leads analysis failed");await new Promise(M=>setTimeout(M,e))}throw new Error("Analysis is taking longer than expected — check back shortly.")}async loadAnalyses(){this.loadingAnalyses=!0;try{const s=await this.authedFetch(`${K}/api/hifi-leads/analyses`),e=await s.json().catch(()=>({}));if(!s.ok)throw new Error(e.detail||"Failed to load analyses");this.analyses=e.analyses||[]}catch(s){this.errorMessage=(s==null?void 0:s.message)||"Failed to load analyses"}finally{this.loadingAnalyses=!1}}}as=new WeakMap,rs=new WeakMap,is=new WeakMap,ns=new WeakMap,ls=new WeakMap,os=new WeakMap,cs=new WeakMap,vs=new WeakMap,ds=new WeakMap,hs=new WeakMap,us=new WeakMap,_s=new WeakMap,fs=new WeakMap,gs=new WeakMap;function it(f){return new rt(f)}var nt=u('<p class="muted svelte-ifmw21">Loading channels…</p>'),lt=u('<label class="channel-row svelte-ifmw21"><input type="radio" name="channel" class="svelte-ifmw21"/> <span> </span></label>'),ot=u('<div class="channel-list svelte-ifmw21"><!> <label class="channel-row svelte-ifmw21"><input type="radio" name="channel" class="svelte-ifmw21"/> <span>All channels</span></label></div>'),ct=u(`<div class="channels svelte-ifmw21"><h2 class="svelte-ifmw21">Channels</h2> <p class="hint svelte-ifmw21">Ad-transparency libraries this account can harvest. A business running ads has proven
2    budget and buying intent — every advertiser found here is a candidate lead.</p> <!> <p class="hint svelte-ifmw21">Selected channel carries over to the Harvest tab.</p></div>`);function vt(f,s){G(s,!0);const e=[];let c=at(s,"ws",7);var w=ct(),m=v(r(w),4);{var b=T=>{var q=nt();h(T,q)},M=T=>{var q=ot(),B=r(q);z(B,17,()=>c().channels,g=>g.id,(g,l)=>{var n=lt(),i=r(n);Is(i);var d,k=v(i,2),L=r(k,!0);a(k),a(n),j(()=>{d!==(d=t(l).id)&&(i.value=(i.__value=t(l).id)??""),y(L,t(l).label)}),Ss(e,[],i,()=>(t(l).id,c().channel),A=>c().channel=A),h(g,n)});var $=v(B,2),o=r($);Is(o),o.value=o.__value="all",ws(2),a($),a(q),Ss(e,[],o,()=>c().channel,g=>c().channel=g),h(T,q)};C(m,T=>{c().loadingChannels?T(b):T(M,-1)})}ws(2),a(w),h(f,w),Y()}var dt=u('<div class="status svelte-1lq5ywy"><span class="spinner svelte-1lq5ywy"></span> </div>'),ht=u('<span class="affiliate-badge svelte-1lq5ywy"> </span>'),ut=u('<a target="_blank" rel="noopener noreferrer"> </a>'),_t=u('<tr><td class="svelte-1lq5ywy"><span> </span></td><td class="adv svelte-1lq5ywy"> <!></td><td class="svelte-1lq5ywy"><!></td><td class="svelte-1lq5ywy"> </td><td class="num svelte-1lq5ywy"> </td><td class="signals svelte-1lq5ywy"> </td><td class="pitch svelte-1lq5ywy"> </td></tr>'),ft=u('<div class="table-wrap svelte-1lq5ywy"><table class="svelte-1lq5ywy"><thead><tr><th class="svelte-1lq5ywy">Score</th><th class="svelte-1lq5ywy">Advertiser</th><th class="svelte-1lq5ywy">Domain</th><th class="svelte-1lq5ywy">Pitch</th><th class="svelte-1lq5ywy">Ad run</th><th class="svelte-1lq5ywy">Site</th><th class="svelte-1lq5ywy">Outreach opener</th></tr></thead><tbody></tbody></table></div> <p class="hint svelte-1lq5ywy">Want ICP-judged priorities + written openers? Head to the Mine tab.</p>',1),gt=u('<p class="empty svelte-1lq5ywy">No leads yet — run a harvest above, or open a past run from History.</p>'),pt=u('<div class="harvest svelte-1lq5ywy"><div class="controls svelte-1lq5ywy"><div class="channel-badge svelte-1lq5ywy">Channel: <strong> </strong> <span class="link svelte-1lq5ywy">(change in Channels tab)</span></div> <button class="run svelte-1lq5ywy"> </button></div> <!> <!></div>');function yt(f,s){G(s,!0);
2function e(i){const d=i||0;return d>=70?"hot":d>=45?"warm":"cold"}function c(i){return i.primary_product==="wp.hifibots"?"Content (wp.hifibots)":i.primary_product==="hifibots agents"?i.agent_angle==="upgrade_established"?"Agent — upgrade pitch":i.agent_angle==="displace_lightweight"?"Agent — easy swap":"Agent — greenfield":i.primary_product||"—"}var w=pt(),m=r(w),b=r(m),M=v(r(b)),T=r(M,!0);a(M),ws(2),a(b);var q=v(b,2),B=r(q,!0);a(q),a(m);var $=v(m,2);{var o=i=>{var d=dt(),k=v(r(d),1,!0);a(d),j(()=>y(k,s.ws.statusText)),h(i,d)};C($,i=>{s.ws.statusText&&i(o)})}var g=v($,2);{var l=i=>{var d=ft(),k=Us(d),L=r(k),A=v(r(L));z(A,21,()=>s.ws.leads,S=>S.clip_id||S.domain,(S,p)=>{var U=_t(),N=r(U),_=r(N),H=r(_,!0);a(_),a(N);var I=v(N),W=r(I),V=v(W);{var ps=O=>{var E=ht(),es=r(E);a(E),j(()=>{Ps(E,"title",`Also a known ${t(p).affiliate_match.network??""} offer: ${t(p).affiliate_match.title??""} (${t(p).affiliate_match.payout_label??""})`),y(es,`💰 ${t(p).affiliate_match.network??""}`)}),h(O,E)};C(V,O=>{t(p).affiliate_match&&O(ps)})}a(I);var X=v(I),ys=r(X);{var ks=O=>{var E=ut(),es=r(E,!0);a(E),j(()=>{Ps(E,"href",t(p).landing_url),y(es,t(p).domain)}),h(O,E)},J=O=>{var E=Ws();j(()=>y(E,t(p).domain)),h(O,E)};C(ys,O=>{t(p).landing_url?O(ks):O(J,-1)})}a(X);var F=v(X),Z=r(F,!0);a(F);var Q=v(F),ss=r(Q,!0);a(Q);var ts=v(Q),Ds=r(ts);a(ts);var qs=v(ts),Rs=r(qs,!0);a(qs),a(U),j((O,E,es,Ns)=>{var Hs,js,Ts,Fs;As(_,1,`score ${O??""}`,"svelte-1lq5ywy"),y(H,t(p).lead_score??"—"),y(W,`${t(p).advertiser??""} `),y(Z,E),y(ss,es),y(Ds,`${(((Hs=t(p).site_signals)==null?void 0:Hs.cms)||"—")??""}${(js=t(p).site_signals)!=null&&js.ecommerce?" · shop":""}${(Ts=t(p).site_signals)!=null&&Ts.has_blog?"":" · no-blog"}${(Fs=t(p).site_signals)!=null&&Fs.chat_vendor?` · ${t(p).site_signals.chat_vendor}`:" · no-chat"}`),y(Rs,Ns)},[()=>e(t(p).lead_score),()=>c(t(p)),()=>t(p).ad_longevity_days?`${Math.round(t(p).ad_longevity_days)}d`:"—",()=>t(p).outreach||(t(p).reasons||[]).join("; ")]),h(S,U)}),a(A),a(L),a(k),ws(2),h(i,d)},n=i=>{var d=gt();h(i,d)};C(g,i=>{s.ws.leads.length?i(l):s.ws.busy||i(n,1)})}a(w),j(()=>{y(T,s.ws.channel),q.disabled=s.ws.busy,y(B,s.ws.busy?"Harvesting…":"Run harvest")}),xs("click",q,()=>s.ws.runHarvest()),h(f,w),Y()}ms(["click"]);var bt=u('<p class="empty svelte-1f1cpg8">Run a harvest (or open one from History) first — Mine Leads needs a batch to judge.</p>'),wt=u('<button class="run svelte-1f1cpg8"> </button>'),mt=u('<div class="status svelte-1f1cpg8"><span class="spinner svelte-1f1cpg8"></span> </div>'),xt=u('<div class="summary svelte-1f1cpg8"><span class="pill p1 svelte-1f1cpg8"> </span> <span class="pill p2 svelte-1f1cpg8"> </span> <span class="pill p3 svelte-1f1cpg8"> </span></div>'),kt=u("<li> </li>"),Mt=u('<ul class="signals svelte-1f1cpg8"></ul>'),At=u('<div class="risks svelte-1f1cpg8"> </div>'),qt=u('<div class="card svelte-1f1cpg8"><div class="card-head svelte-1f1cpg8"><span> </span> <strong> </strong> <span class="domain svelte-1f1cpg8"> </span> <span class="product svelte-1f1cpg8"> </span></div> <!> <!> <p class="opener svelte-1f1cpg8"> </p></div>'),Ht=u('<div class="cards svelte-1f1cpg8"></div>'),jt=u(`<div class="mine svelte-1f1cpg8"><h2 class="svelte-1f1cpg8">Mine Leads</h2> <p class="hint svelte-1f1cpg8">The AI analyst reads the raw ad copy + deterministic site signals and ICP-judges each
3    advertiser — priority, buying signals, and a ready-to-send opener. Chatbot presence only
4    changes the pitch angle; nobody is excluded for already having one.</p> <!> <!> <!> <!></div>`);function Tt(f,s){G(s,!0);const e=Ms(()=>{var l,n;return((n=(l=s.ws.activeAnalysis)==null?void 0:l.structured_output)==null?void 0:n.leads)??[]}),c=Ms(()=>{var l,n;return((n=(l=s.ws.activeAnalysis)==null?void 0:l.structured_output)==null?void 0:n.summary)??null});var w=jt(),m=v(r(w),4);{var b=l=>{var n=bt();h(l,n)},M=l=>{var n=wt(),i=r(n,!0);a(n),j(()=>{n.disabled=s.ws.busy,y(i,s.ws.busy?"Mining…":"Mine leads from current batch")}),xs("click",n,()=>s.ws.runMineLeads()),h(l,n)};C(m,l=>{s.ws.activeDocId?l(M,-1):l(b)})}var T=v(m,2);{var q=l=>{var n=mt(),i=v(r(n),1,!0);a(n),j(()=>y(i,s.ws.statusText)),h(l,n)};C(T,l=>{s.ws.statusText&&l(q)})}var B=v(T,2);{var $=l=>{var n=xt(),i=r(n),d=r(i);a(i);var k=v(i,2),L=r(k);a(k);var A=v(k,2),S=r(A);a(A),a(n),j(()=>{y(d,`P1: ${t(c).p1_count??0??""}`),y(L,`P2: ${t(c).p2_count??0??""}`),y(S,`P3: ${t(c).p3_count??0??""}`)}),h(l,n)};C(B,l=>{t(c)&&l($)})}var o=v(B,2);{var g=l=>{var n=Ht();z(n,21,()=>t(e),i=>i.clip_id||i.advertiser,(i,d)=>{var k=qt(),L=r(k),A=r(L),S=r(A,!0);a(A);var p=v(A,2),U=r(p,!0);a(p);var N=v(p,2),_=r(N,!0);a(N);var H=v(N,2),I=r(H,!0);a(H),a(L);var W=v(L,2);{var V=J=>{var F=Mt();z(F,21,()=>t(d).buying_signals,Xs,(Z,Q)=>{var ss=kt(),ts=r(ss,!0);a(ss),j(()=>y(ts,t(Q))),h(Z,ss)}),a(F),h(J,F)};C(W,J=>{var F;(F=t(d).buying_signals)!=null&&F.length&&J(V)})}var ps=v(W,2);
4{var X=J=>{var F=At(),Z=r(F,!0);a(F),j(Q=>y(Z,Q),[()=>t(d).risk_flags.join(" · ")]),h(J,F)};C(ps,J=>{var F;(F=t(d).risk_flags)!=null&&F.length&&J(X)})}var ys=v(ps,2),ks=r(ys);a(ys),a(k),j(J=>{As(A,1,`pill ${J??""}`,"svelte-1f1cpg8"),y(S,t(d).priority),y(U,t(d).advertiser),y(_,t(d).domain),y(I,t(d).recommended_product),y(ks,`"${t(d).outreach_opener??""}"`)},[()=>{var J;return(J=t(d).priority)==null?void 0:J.toLowerCase()}]),h(i,k)}),a(n),h(l,n)};C(o,l=>{t(e).length&&l(g)})}a(w),h(f,w),Y()}ms(["click"]);var Ft=u('<p class="muted svelte-189bih3">Loading…</p>'),Lt=u('<p class="empty svelte-189bih3">No harvests yet — run one from the Harvest tab.</p>'),Ct=u('<div class="job-row svelte-189bih3"><div class="job-info svelte-189bih3"><strong> </strong> <span class="meta svelte-189bih3"> </span></div> <button class="svelte-189bih3">Open</button></div>'),It=u('<div class="job-list svelte-189bih3"></div>'),Pt=u('<p class="muted svelte-189bih3">Loading…</p>'),St=u('<p class="empty svelte-189bih3">No analyses yet.</p>'),Jt=u('<div class="job-row svelte-189bih3"><div class="job-info svelte-189bih3"><strong> </strong> <span class="meta svelte-189bih3"> </span></div></div>'),Et=u('<div class="job-list svelte-189bih3"></div>'),Dt=u('<div class="history svelte-189bih3"><h2 class="svelte-189bih3">Past harvests</h2> <!> <h2 class="analyses-head svelte-189bih3">Past Mine Leads runs</h2> <!></div>');function Rt(f,s){G(s,!0);function e(o){if(!o)return"—";try{return new Date(o).toLocaleString()}catch{return o}}var c=Dt(),w=v(r(c),2);{var m=o=>{var g=Ft();h(o,g)},b=o=>{var g=Lt();h(o,g)},M=o=>{var g=It();z(g,21,()=>s.ws.jobs,l=>l._id,(l,n)=>{var i=Ct(),d=r(i),k=r(d),L=r(k,!0);a(k);var A=v(k,2),S=r(A);a(A),a(d);var p=v(d,2);a(i),j(U=>{var N,_,H;y(L,t(n).title||t(n)._id),y(S,`${(((N=t(n).harvest_meta)==null?void 0:N.source)||"—")??""} · ${((_=t(n).harvest_meta)==null?void 0:_.count)??0??""} advertisers ·
5              ${((H=t(n).harvest_meta)==null?void 0:H.hot_leads)??0??""} hot · ${U??""}`)},[()=>e(t(n).created_at)]),xs("click",p,()=>s.ws.openHistoricalJob(t(n)._id)),h(l,i)}),a(g),h(o,g)};C(w,o=>{s.ws.loadingJobs?o(m):s.ws.jobs.length?o(M,-1):o(b,1)})}var T=v(w,4);{var q=o=>{var g=Pt();h(o,g)},B=o=>{var g=St();h(o,g)},$=o=>{var g=Et();z(g,21,()=>s.ws.analyses,l=>l._id,(l,n)=>{var i=Jt(),d=r(i),k=r(d),L=r(k,!0);a(k);var A=v(k,2),S=r(A);a(A),a(d),a(i),j(p=>{y(L,t(n).mode_key),y(S,`${t(n).status??""} · ${p??""}`)},[()=>e(t(n).created_at)]),h(l,i)}),a(g),h(o,g)};C(T,o=>{s.ws.loadingAnalyses?o(q):s.ws.analyses.length?o($,-1):o(B,1)})}a(c),h(f,c),Y()}ms(["click"]);var Nt=u('<button type="button"> </button>'),Ot=u('<div class="banner error svelte-mf22q1"> </div>'),Bt=u('<div class="banner success svelte-mf22q1"> </div>'),$t=u('<div class="hifi-leads-content svelte-mf22q1"><header class="content-header svelte-mf22q1"><h1 class="page-title svelte-mf22q1">HiFi Leads</h1> <p class="page-desc svelte-mf22q1">Find businesses spending on ads that need HiFiBots — content publishing or AI agents.</p></header> <nav class="tab-bar svelte-mf22q1" aria-label="HiFi Leads tabs"></nav> <!> <!> <!></div>');function Ut(f,s){G(s,!0);const e=()=>Vs(Zs,"$page",c),[c,w]=Ys(),m="hifi_leads",b=st(),M=it(b),T=["channels","harvest","mine","history"],q=Ms(()=>{const o=e().url.searchParams.get("tab");return o&&T.includes(o)?o:"channels"}),B=[{key:"channels",label:"Channels"},{key:"harvest",label:"Harvest"},{key:"mine",label:"Mine"},{key:"history",label:"History"}];function $(o){const g=new URL(e().url);o==="channels"?g.searchParams.delete("tab"):g.searchParams.set("tab",o);const l=g.searchParams.toString();Es(`${g.pathname}${l?`?${l}`:""}`,{replaceState:!0,keepFocus:!0,noScroll:!0})}Js(()=>{M.init()}),tt(f,{agentId:m,appLabel:"HiFi Leads",tabs:[],get selection(){return b},main:g=>{var l=$t(),n=v(r(l),2);z(n,21,()=>B,_=>_.key,(_,H)=>{var I=Nt();let W;var V=r(I,!0);a(I),j(()=>{W=As(I,1,"svelte-mf22q1",null,W,{active:t(q)===t(H).key}),y(V,t(H).label)}),xs("click",I,()=>$(t(H).key)),h(_,I)}),a(n);var i=v(n,2);{var d=_=>{var H=Ot(),I=r(H,!0);a(H),j(()=>y(I,M.errorMessage)),h(_,H)};C(i,_=>{M.errorMessage&&_(d)})}var k=v(i,2);{var L=_=>{var H=Bt(),I=r(H,!0);a(H),j(()=>y(I,M.successMessage)),h(_,H)};C(k,_=>{M.successMessage&&_(L)})}var A=v(k,2);{var S=_=>{vt(_,{get ws(){return M}})},p=_=>{yt(_,{get ws(){return M}})},U=_=>{Tt(_,{get ws(){return M}})},N=_=>{Rt(_,{get ws(){return M}})};C(A,_=>{t(q)==="channels"?_(S):t(q)==="harvest"?_(p,1):t(q)==="mine"?_(U,2):_(N,-1)})}a(l),h(g,l)},$$slots:{main:!0}}),Y(),w()}ms(["click"]);function _e(f,s){G(s,!1),Js(()=>{Es("/profile")}),Gs(),zs("11ddlzx",e=>{Ks(()=>{Qs.title="HiFi Leads"})}),Ut(f,{}),Y()}export{_e as component};

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.