1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[83660],{61279:(e,r,t)=>{t.d(r,{resumePersonaOverClipFromRunId:()=>f,tryRenderPersonaOverClipViaWorker:()=>p});var o=t(55570),i=t(35010),n=t(7402),a=t(48342),l=t(17423),u=t(64788),c=t(89897),s=t(55907);async function d(e){if(!e)return{workspace:null,profile:null};let r=null,t=null;try{r=await (0,a.getWorkspaceIdentity)(e)}catch{}try{let r=await (0,l.listCreatorProfiles)(e),o=r.find(e=>e.isDefault)||r[0];t=o?.config??null}catch{}return{workspace:r,profile:t}}async function p(e){try{let r,{itemId:t,personaId:a,sourceUrl:l,layoutMode:p,clipMaxSec:f,clipAudioVolume:k,workspaceId:m,sourceContent:v,preferEngine:g,onStage:h,onRunId:b}=e;if(!t)return{ok:!1,error:"Missing itemId for Persona Reaction render"};if(!a)return{ok:!1,error:"Pick a persona to react to the clip."};if(!l||!l.trim())return{ok:!1,error:"Paste a TikTok, Instagram, YouTube, or X link to react to."};if(!m)return{ok:!1,error:"No workspace selected â pick a workspace and try again."};let w=await (0,o.getPersona)(a);if(!w)return{ok:!1,error:`Persona ${a} not found`};let P=!!w.lipsyncVideoStoragePath&&!!w.elevenlabsVoiceId&&"heygen"!==g,S=function(){let e=(0,i.GA)();if("enterprise"===e.source)return e.videoPrimary?.key||"";try{let e=(0,n.getApiKeys)();return e?.videoPrimary?.key||""}catch{return""}}(),T=function(){let e=(0,i.GA)();if("enterprise"===e.source){let r=e.genVideoPrimary;return r?.key&&"fal"===String(r.provider||"").toLowerCase()?r.key:""}try{let e=(0,n.getApiKeys)(),r=e?.genVideo;if(!r?.key||"fal"!==String(r.providerType||"").toLowerCase())return"";return r.key}catch{return""}}(),A=function(){let e=(0,i.GA)();if("enterprise"===e.source)return e.audioPrimary?.key||"";try{let e=(0,n.getApiKeys)(),r=e?.audioPrimary;if(!r?.key||"elevenlabs"!==r.providerType)return"";return r.key}catch{return""}}(),C=function(){let e=e=>{if(!e)return"";for(let r of Object.values(e))if(r&&"object"==typeof r&&("openai"===r.providerType||"openai"===r.provider)&&r.key)return r.key;return""};try{let r=(0,i.GA)();if("enterprise"===r.source){let t=e(r);if(t)return t}}catch{}try{let r=e((0,n.getApiKeys)());if(r)return r}catch{}return""}(),I=(0,s.resolveTextProviders)(),K=(0,s.pickTextProvider)(I,["anthropic","openai"]),G=[I.primary,I.fallback].find(e=>e&&K&&e.provider!==K.provider)||null,{workspace:M,profile:U}=await d(m);h?.("Dispatching render job");let j=new AbortController,N=setTimeout(()=>j.abort(),9e4);try{r=await fetch("/api/render/persona-over-clip",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({itemId:t,personaName:w.name,workspaceId:m,personaId:a,sourceUrl:l,layoutMode:p,clipMaxSec:f,clipAudioVolume:k,heygenApiKey:S||void 0,useAvatarIv:"avatar-iv"===w.heygenModel,preferEngine:g,falApiKey:T||void 0,elevenlabsApiKey:A||void 0,openaiKey:C||void 0,primary:K??void 0,fallback:G??void 0,workspace:M??null,profile:U??null,rawContent:v||void 0}),signal:j.signal})}catch(r){let e=r?.name==="AbortError"?"dispatch timed out after 90s":`dispatch threw: ${r?.message||String(r)}`;return{ok:!1,error:e}}finally{clearTimeout(N)}if(!r.ok)return await (0,c.S)(r,"persona-over-clip");let O=await r.json();if(!O.runId)return{ok:!1,error:O.error||"dispatch returned no runId"};try{b?.(O.runId)}catch{}h?.(P?"Transcribing + reacting with Lip-sync Pro":"Transcribing + reacting with HeyGen");let V=await (0,u.G)(O.runId,{onStage:h,maxWallTimeMs:45e5});if(!V.ok)return{ok:!1,error:V.error};return y(V.output,p)}catch(t){let e=t?.name||"",r=t?.message||String(t);return{ok:!1,error:e&&!r.startsWith(e)?`${e}: ${r}`:r}}}function y(e,r){return e&&e.mediaUrl&&e.mediaStoragePath?{ok:!0,data:{mediaUrl:e.mediaUrl,mediaStoragePath:e.mediaStoragePath,mediaMime:"video/mp4",layoutMode:e.layoutMode||r,durationSec:"number"==typeof e.durationSec?e.durationSec:0,beatCount:"number"==typeof e.beatCount?e.beatCount:void 0,title:"string"==typeof e.title?e.title:void 0,copy:"string"==typeof e.copy?e.copy:void 0,script:"string"==typeof e.script?e.script:void 0,thumbnailUrl:"string"==typeof e.thumbnailUrl?e.thumbnailUrl:void 0,provider:"string"==typeof e.provider?e.provider:void 0,model:"string"==typeof e.model?e.model:void 0,fallback:"boolean"==typeof e.fallback?e.fallback:void 0}}:{ok:!1,error:"worker returned no media handle"}}async function f(e){let r=await (0,u.G)(e.runId,{onStage:e.onStage,maxWallTimeMs:45e5});return r.ok?y(r.output,"corner"):{ok:!1,error:r.error}}}}]);
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.