1 2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7128527f-cf7e-54af-9a37-13cd8e39bb07")}catch(e){}}(); 3import{cH as S,fb as vt,fj as kt,dK as je,fx as Ze,eX as Et,e_ as Kt,dR as Mt,d$ as Rt,eZ as a,eR as et,cF as lt,et as pe,aQ as wt,gA as ut,g7 as Lt,fT as Ft,fL as Ut,fW as ct,g2 as dt,dL as Tt,A as xt,fp as Re,eJ as tt,cJ as Pe,fm as Ot,e8 as Dt,ez as Nt,da as qt,fk as Ne,cG as jt,fz as B,cC as Vt,ej as Ve,gy as Bt,fS as Gt,fV as zt,gr as $t,dI as Ht,e5 as Jt,dJ as Yt,dS as rt,gb as Qt,e6 as Wt,fg as nt,ff as at,di as Xt,gH as Zt,c_ as er,eO as tr,fh as rr,bS as nr,cQ as st,ee as ar,aU as sr,cq as ir}from"./index-t3CSh71F.js";import{u as or,a as lr}from"./studio-layout-shell-CUUn7jr4.js";const ur="imageUrl",cr=4,dr=e=>{const t=e?.trim();if(!t)return null;try{const r=new URL(t);return r.protocol!=="http:"&&r.protocol!=="https:"?null:r.toString()}catch{return null}},mr=e=>{const t=new Set,r=[];for(const i of e.getAll(ur)){const o=dr(i);if(!(!o||t.has(o))&&(t.add(o),r.push(o),r.length>=cr))break}return r},fr=async(e,t)=>{switch(e.kind){case"ready":return!0;case"session-pending":return await t.onSessionPending(),!1;case"model-unavailable":return await t.onModelUnavailable(e),!1;case"validation-error":return await t.onValidationError(e),!1;case"login-required":return await t.onLoginRequired(),!1;case"safety-blocked":return await t.onSafetyBlocked(),!1;case"insufficient-credits":return await t.onInsufficientCredits(),!1;default:return e}},pr=e=>(e.kind==="model-unavailable"||e.kind==="validation-error")&&!!e.message,gr=(e,t)=>{e.kind!=="ready"&&S("generation_submit_blocked",{...t,blockedReason:e.kind,hasDecisionMessage:pr(e)})},br=({modelKey:e,modelFamilyKey:t,params:r})=>{const i=e||(t?kt({modelFamilyKey:t,params:r}).modelKey:void 0),o=i?je(i):null;return o?Ze(Et({model:o,input:r,keepCanonical:!1})):Ze(r)},yr=({modelKey:e,modelFamilyKey:t,outputType:r,params:i})=>({actionId:vt(r),...t?{modelFamilyKey:t}:{modelKey:e},...br({modelKey:e,modelFamilyKey:t,params:i})}),it=(e,t)=>{const r=Kt(e);return r?Mt(r,t):Rt(e,t)};function hr({defaultPrepareCallbackPath:e,modelKey:t,onPrepareError:r,outputLabel:i,outputType:o,surface:_}){const[g,P]=a.useState(null),[v,x]=a.useState(!1),ie=a.useCallback(()=>{et()},[]),ge=a.useCallback(async b=>{x(!0),et();try{const O=b.prepareCallbackPath??e,J=b.callbackPath??(O?await O():void 0);return P({...b,callbackPath:J}),!0}catch(O){return S("checkout_context_persist_failed",{actionId:b.actionId,availableCredits:b.availableCredits,gateReason:"credits",modelKey:b.modelKey??t,outputType:b.outputType??o,requiredCredits:b.requiredCredits,source:b.source,surface:_}),lt(O,{action:"prepare_purchase_launch_intent",contexts:{checkout:{actionId:b.actionId,availableCredits:b.availableCredits,gateReason:"credits",modelKey:b.modelKey??t,outputType:b.outputType??o,requiredCredits:b.requiredCredits,source:b.source,surface:_}},fingerprint:["ai-media-client-billing",_,"credits"],message:"Purchase launch intent preparation failed",surface:`${_}_purchase_gate`}),r?.(O),!1}finally{x(!1)}},[e,t,r,o,_]);a.useEffect(()=>{g&&S("purchase_modal_open",{actionId:g.actionId,availableCredits:g.availableCredits,gateReason:"credits",modelKey:g.modelKey??t,outputType:g.outputType??o,requiredCredits:g.requiredCredits,source:g.source,surface:_})},[t,o,g,_]);const be=a.useMemo(()=>g?pe.jsx(wt,{open:!0,onOpenChange:b=>{b||P(null)},outputLabel:g.outputLabel??i,source:g.source,availableCredits:g.availableCredits,requiredCredits:g.requiredCredits,gateReason:"credits",modelLabel:g.modelLabel,callbackPath:g.callbackPath}):null,[i,g]);return{isPreparingPurchaseContext:v,openCreditsPurchaseModal:ge,preloadCreditsPurchaseModal:ie,purchaseModal:be}}const _r=["minor","minors","child","children","kid","kids","teen","teenager","underage","schoolgirl","schoolboy"],qe=["18+","sexual","sex","sexy","nude","nake","nakked","naked","nsfw","erotic","porn","explicit","lingerie","semi-nude","semi nude","topless","suggestive","twerking","undressing"],Cr=["bathing suit","bikini","swimsuit","underwear"],Pr=["change outfit","change clothes","outfit swap","swap outfit"],Ir=["bigger breasts","larger breasts","breast enlargement","make breasts bigger"],Ar=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Sr=(e,t)=>
3/^[a-z0-9]+(?:[ -][a-z0-9]+)*$/.test(t)?new RegExp(`\\b${Ar(t)}\\b`).test(e):e.includes(t),te=(e,t)=>t.some(r=>Sr(e,r)),vr=e=>{const t=e?.trim().toLowerCase()??"";if(!t)return{reasons:[],matchedRules:[]};const r=new Set;return te(t,qe)&&r.add("sexual_content"),te(t,_r)&&te(t,qe)&&r.add("minor_sexual_content"),(t.includes("deepfake")||t.includes("deep fake"))&&r.add("deepfake"),(t.includes("face swap")||t.includes("faceswap")||t.includes("face-swap"))&&r.add("face_swap"),(t.includes("celebrity")||t.includes("public figure"))&&te(t,qe)&&r.add("public_figure_sexual_content"),(t.includes("undress")||t.includes("remove clothes")||t.includes("take off clothes"))&&r.add("undress"),te(t,Pr)&&te(t,Cr)&&r.add("sexualized_outfit_edit"),(te(t,Ir)||t.includes("seductive")&&te(t,["breast","breasts"]))&&r.add("sexualized_body_edit"),(t.includes("revenge porn")||t.includes("non-consensual porn"))&&r.add("revenge_porn"),(t.includes("sexual exploitation")||t.includes("rape porn")||t.includes("rape scene"))&&r.add("illegal_sexual_exploitation"),{reasons:[...r],matchedRules:[...r]}},kr=e=>e[0]?.message??null,Er=e=>vr(e).matchedRules.length>0,Kr=e=>{if(!e.modelKey)return{kind:"model-unavailable"};if(e.isSessionPending)return{kind:"session-pending"};const t=kr(e.validationErrors);return t?{kind:"validation-error",message:t}:e.isAuthenticated?Er(e.prompt)?{kind:"safety-blocked"}:e.hasEnoughCredits?{kind:"ready"}:{kind:"insufficient-credits"}:{kind:"login-required"}};function Mr(){return{resolveSubmitDecision:a.useCallback(t=>Kr(t),[])}}const ot=({allModels:e,fallbackModels:t,queryModel:r,initialModel:i,preferredModelType:o})=>{const _=P=>{if(!P)return!1;const v=e.find(x=>x.id===P);return!(!v||o&&v.type!==o)};if(_(r))return r;if(_(i))return i;const g=t&&t.length>0?t:e;if(o){const P=g.find(v=>v.type===o);if(P)return P.id}return g[0]?.id||e[0]?.id||""},Rr=e=>e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:!1,wr=e=>{const t=Object.entries(e.model.schema||{}).filter(([o,_])=>_.required&&Rr(e.canonicalParams[o])).map(([o])=>o),r=e.validation.errors.length>0,i=t.length>0&&t.every(o=>o==="prompt");return{canRestore:!r||i,canSubmit:!r}},Be=(e,t)=>{if(Object.is(e,t))return!0;if(Array.isArray(e)||Array.isArray(t))return!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length?!1:e.every((r,i)=>Be(r,t[i]));if(typeof e=="object"&&e!==null&&typeof t=="object"&&t!==null){const r=Object.entries(e),i=Object.entries(t);return r.length!==i.length?!1:r.every(([o,_])=>Be(_,t[o]))}return!1};function Lr({outputType:e,initialModel:t,modelFamilyKey:r,initialParams:i,preferredModelType:o,onRestoredFamilyKey:_,onLaunchIntentRestored:g}){const P=ut(),v=Lt(),{data:x}=Ft(),ie=Ut(),ge=ie.isRegistered,be=ie.isPending,{data:b,isLoading:O}=ct(),J=b?.viewerCapabilities,C=dt("studio"),D=a.useMemo(()=>Tt(e),[e]),G=P.get("model"),re=P.get(xt),Ie=ot({allModels:D,fallbackModels:D,queryM
3odel:G,initialModel:t,preferredModelType:o}),[w,L]=a.useState(Ie),ye=P.get("prompt")||"",u=a.useMemo(()=>mr(P),[P]),[k,F]=a.useState(()=>{let l={...i||{}};return ye.trim().length>0&&(l.prompt=ye.trim()),u.length>0&&(l=Re(l,u)),tt(l)}),Y=a.useMemo(()=>{try{return r?C({modelFamilyKey:r,params:k}):w?C({modelKey:w,params:k}):null}catch{return null}},[w,r,k,C]),E=Y?.model||je(w),ne=E?.modelKey||w,oe=a.useRef(!1),he=a.useRef(null),c=a.useRef(je(t||Ie)),Q=a.useRef(null),y=a.useRef(!1),[N,le]=a.useState(null),K=a.useCallback(()=>{le(null),y.current&&(Pe(),y.current=!1)},[]),q=a.useCallback(()=>{le(null)},[]),Ae=a.useCallback(l=>{K(),L(l)},[K]);a.useEffect(()=>{if(r)return;const l=D.find(d=>d.id===w);if(!!l&&(!o||l.type===o))return;const h=ot({allModels:D,fallbackModels:D,initialModel:w,preferredModelType:o});h&&h!==w&&L(h)},[D,w,r,o]);const W=a.useCallback(async l=>{try{const s=await Ot(l.params||{});if(!s||typeof s!="object"||Array.isArray(s))return{ok:!1,reason:"LAUNCH_INTENT_RESTORE_FAILED"};const h=tt(Dt(s));if(!y.current)return{ok:!1,reason:"LAUNCH_INTENT_DISCARDED"};const d=C({...l.modelFamilyKey?{modelFamilyKey:l.modelFamilyKey}:{modelKey:l.modelKey},params:h}),U=wr(d);return U.canRestore?y.current?(F(d.canonicalParams),{ok:!0,canSubmit:U.canSubmit}):{ok:!1,reason:"LAUNCH_INTENT_DISCARDED"}:{ok:!1,reason:"LAUNCH_INTENT_INVALID"}}catch{return{ok:!1,reason:"LAUNCH_INTENT_RESTORE_FAILED"}}},[C]);a.useEffect(()=>{if(!E?.schema)return;const l=r||E.modelKey;if(he.current===l)return;he.current=l;const s=c.current,h=r?{modelFamilyKey:r}:{modelKey:E.modelKey};if(oe.current){oe.current=!1,c.current=E;return}F(d=>{const U=C({...h,params:{}}).defaultValues,Ce=s?C({modelKey:s.modelKey,params:{}}).defaultValues:{},X=Object.fromEntries(Object.entries(d).filter(([M,Z])=>{if(Z===void 0)return!1;const R=Ce[M];return R===void 0?!0:!Be(Z,R)})),ce=C({...h,params:{...U,...X}}),T=new Set(ce.validation.errors.map(M=>M.field).filter(M=>!!M));if(T.size===0)return ce.canonicalParams;const de={...ce.canonicalParams};return T.forEach(M=>{const Z=U[M];if(Z===void 0){delete de[M];return}de[M]=Z}),C({...h,params:de}).canonicalParams}),c.current=E},[E,r,C]),a.useEffect(()=>{if(typeof window>"u")return;const l=re?`${e}:${v}:${re}`:null;if(Q.current===l)return;const s=Nt();if(!s||s.outputType!==e)return;const h=qt({intent:s,currentPath:v,resumeToken:re});if(!h.matches){h.shouldClear&&Pe();return}if(G&&s.modelKey&&s.modelKey!==G){Pe(),l&&(Q.current=l),y.current=!1,le(null);return}l&&(Q.current=l),y.current=!0,oe.current=!0,s.modelFamilyKey&&_?.(s.modelFamilyKey),s.modelKey&&L(s.modelKey),W(s).then(d=>{if(d.ok){S("ai_action_launch_intent_restored",{surface:"studio",outputType:e,modelKey:s.modelKey,submissionAttemptId:s.submissionAttemptId,returnSurface:Ne(s.targetPath)}),g?.(s);const U=s.commitment==="submit"&&d.canSubmit;le(U?[s.createdAt,s.modelKey,s.submissionAttemptId||"missing-submission-attempt"].join(":"):null),Pe(),y.current=!1;return}if(d.reason!=="LAUNCH_INTENT_DISCARDED"){if(d.reason==="LAUNCH_INTENT_INVALID"){S("ai_action_launch_intent_restore_failed",{surface:"studio",outputType:e,modelKey:s.modelKey,submissionAttemptId:s.submissionAttemptId,returnSurface:Ne(s.targetPath),reason:d.reason}),Pe(),y.current=!1;return}S("ai_action_launch_intent_restore_failed",{surface:"studio",outputType:e,modelKey:s.modelKey,submissionAttemptId:s.submissionAttemptId,returnSurface:Ne(s.targetPath),reason:d.reason}),jt("AI action launch intent restore failed",{action:"restore_ai_action_launch_intent",contexts:{aiActionLaunchIntent:{commitment:s.commitment,currentPath:v,modelFamilyKey:s.modelFamilyKey,modelKey:s.modelKey,outputType:s.outputType,paramsKeys:Object.keys(s.params||{}).sort(),restoreReason:d.reason,resumeMatchReason:h.reason,targetPath:s.targetPath}},fingerprint:["ai-media-client-studio","ai_action_launch_intent_restore",d.reason],level:"warning",surface:"studio",tags:{model_family_key:s.modelFamilyKey,model_key:s.modelKey,output_type:s.outputType,reason:d.reason,resume_match_reason:h.reason}}),B.error("Some reference images need to be uploaded again before creating.")}}).finally(()=>{oe.current=!1})},[W,_,g,e,v,G,re]);const z=Vt(ne,k),ue=J?.creditsAvailable===void 0?x===void 0||(x||0)>=z:J.creditsAvailable>=z,_e=a.useCallback((l,s)=>{K(),F(h=>{if(!E)return Ve(l)?Re(h,s):{...h,[l]:s};const d=Ve(l)?Re(h,s):{...h,[l]:s};return C({...r?{modelFamilyKey:r}:{modelKey:E.modelKey},params:d}).canonicalParams})},[K,E,r,C]),ae=Y?.constrainedOptions??{},Se=Y?.validation.errors??[];return{model:ne,setModel:Ae,params:k,allModels:D,modelConfig:E,constrainedOptions:ae,requiredCredits:z,creditBalance:x,hasEnoughCredits:ue,isAuthenticated:ge,isSessionPending:be,launchIntentSubmitToken:N,isPlanPending:O,validationErrors:Se,handleParamChange:_e,clearLaunchIntentSubmit:q}}const Fr=e=>e==null?!1:Array.isArray(e)?e.length>0:typeof e=="string"?e.trim().length>0:typeof e=="object"?!0:!!e,Ur=ir("post-submit-free-pricing-prompt.v1"),Tr=15e3,mt=e=>`${Ur}:${e}`,xr=e=>{if(!e||typeof window>"u")return!0;try{return!!window.localStorage.getItem(mt(e))}catch{return!0}},Or=e=>{if(!(!e||typeof window>"u"))try{window.localStorage.setItem(mt(e),new Date().toISOString())}catch{}};function jr({action:e,allowedFamilyKeys:t,analyticsSurface:r="studio",effectSlug:i,fieldPrefix:o,headingLevel:_="h2",initialModel:g,initialFamilyKey:P,initialParams:v,excludedModelParamKeys:x=[],icon:ie,generateLabel:ge,generatingLabel:be,startSingleToast:b,startMultiToast:O,submitErrorToast:J,requireReferenceImage:C=!1,referenceImageHelperText:D,referenceImageLabel:G,referenceImageMaxImages:re,resumeTargetPath:Ie,showModelSelector:w=!0}
3){const L=Bt("Common.aiStudio"),ye=ut(),u=e.outputType,k=ye.get("modelFamily")||ye.get("family"),[F,Y]=a.useState(k||P),{activeMobilePanel:E,setActiveMobilePanel:ne}=or(),oe=a.useCallback(()=>{ne("create"),requestAnimationFrame(()=>{document.querySelector("[data-app-scroll-container]")?.scrollTo({top:0}),document.querySelector("#studio-mobile-panel-create [data-panel-scroll]")?.scrollTo({top:0})})},[ne]),he=a.useRef(null),{model:c,setModel:Q,params:y,modelConfig:N,constrainedOptions:le,requiredCredits:K,creditBalance:q,hasEnoughCredits:Ae,isAuthenticated:W,isSessionPending:z,launchIntentSubmitToken:ue,isPlanPending:_e,validationErrors:ae,handleParamChange:Se,clearLaunchIntentSubmit:l}=Lr({outputType:u,initialModel:g,initialParams:v,modelFamilyKey:F,onLaunchIntentRestored:n=>{he.current=n,n.commitment==="draft"&&oe()},onRestoredFamilyKey:Y}),{resolveSubmitDecision:s}=Mr(),h=dt("studio"),d=Gt(),U=zt(),{data:Ce}=$t(),{data:X}=ct(),ce=a.useRef(null),T=a.useRef(null),[de,M]=a.useState(null),[Z,R]=a.useState(null),[Ge,ze]=a.useState(!1),[$e,ft]=a.useState(!1),j=a.useRef(y),A=a.useMemo(()=>{const n=Ht(u);if(!t?.length)return n;const f=new Set(t);return n.filter(I=>f.has(I.familyKey))},[t,u]),pt=a.useMemo(()=>Jt(A),[A]),m=a.useMemo(()=>A.find(n=>n.familyKey===F)??A[0],[A,F]),me=a.useMemo(()=>Yt(m,m?.assetModel),[m]),we=m?.assetModel||m?.textModel||m?.displayModel,Le=me?y[me]??rt(y):void 0,gt=a.useMemo(()=>{const n=rt(y);return Array.isArray(n)?n:n?[n]:[]},[y]);Qt(gt);const se=Fr(Le),bt=a.useMemo(()=>Wt(y),[y]),Fe=a.useCallback(n=>nt({family:n,params:y,profile:"studio"}).credits,[y]),yt=a.useMemo(()=>A.map(n=>({id:n.familyKey,name:n.displayName,description:n.description,coverImage:n.displayModel?.coverImage,tags:n.tags,badges:n.badges,brand:n.brand,credits:Fe(n)})),[A,Fe]);a.useEffect(()=>{j.current=y},[y]),a.useEffect(()=>()=>{T.current?.abort(),T.current=null},[]),a.useEffect(()=>{if(A.length){if(k&&A.some(n=>n.familyKey===k)){F!==k&&Y(k);const n=A.find(I=>I.familyKey===k),f=at(n,se);f?.modelKey&&f.modelKey!==c&&Q(f.modelKey);return}F&&A.some(n=>n.familyKey===F)||Y(A[0].familyKey)}},[A,se,c,k,F,Q]);const ht=ae.length===0,He=Ie||Xt(u),fe=a.useCallback(async()=>{await Zt({readValue:()=>j.current,setWaiting:ft})},[]),ve=a.useCallback(async n=>{if(!c)throw er("generation_model_unavailable");return tr({outputType:u,actionId:e.id,modelFamilyKey:m?.familyKey,modelKey:c,params:n,targetPath:He,commitment:"submit",paramMode:"upload",requirePersistent:!0})},[e.id,He,c,u,m?.familyKey]),_t=a.useCallback(async()=>(await fe(),(await ve(j.current)).callbackPath),[ve,fe]),{isPreparingPurchaseContext:Je,openCreditsPurchaseModal:Ue,preloadCreditsPurchaseModal:Ye,purchaseModal:Ct}=hr({defaultPrepareCallbackPath:_t,modelKey:c,onPrepareError:()=>{B.error(L("prepareCheckoutFailed"))},outputLabel:u,outputType:u,surface:r==="effects"?"effects":"studio"}),Qe=a.useCallback(async()=>{ze(!0);try{await fe();const n=await ve(j.current);M({callbackPath:n.callbackPath})}catch(n){S("checkout_context_persist_failed",{surface:r,effectSlug:i,outputType:u,modelKey:c,requiredCredits:K,source:"submit",gateReason:"login"}),lt(n,{action:"prepare_studio_login_launch_intent",contexts:{auth:{outputType:u,modelKey:c,requiredCredits:K}},fingerprint:["ai-media-client-auth","prepare_studio_login_launch_intent",u],message:"Studio login launch intent preparation failed",surface:"studio_login_gate"}),B.error(L("prepareCheckoutFailed"))}finally{ze(!1)}},[r,i,c,u,ve,K,L,fe]),Te=a.useCallback(()=>{ne("history"),requestAnimationFrame(()=>{document.querySelector("[data-app-scroll-container]")?.scrollTo({top:0}),document.querySelector("#studio-mobile-panel-history [data-panel-scroll]")?.scrollTo({top:0})})},[ne]),ke=a.useCallback((n,f)=>{R(null),j.current=Ve(n)?Re(j.current,f):{...j.current,[n]:f},Se(n,f)},[Se]),Pt=a.useCallback(n=>{R(null),Y(n);const f=A.find(Ke=>Ke.familyKey===n),I=at(f,se);I?.modelKey&&Q(I.modelKey)},[A,se,Q]),V=a.useMemo(()=>{if(!we||!me)return;const n=rr(we,me,{maxImages:re,required:!m.textModel});if(n)return{key:me,label:G||n.label,helperText:D,required:C||!m.textModel,contract:n,value:Le,onChange:f=>ke(nr,f)}},[ke,me,D,Le,G,re,C,we,m]),xe=a.useCallback(async(n="manual")=>{if(R(null),C&&!se){const p=`${G||"Upload a reference image"} to continue.`;R(p),B.error(p);return}const f=n==="resume"?he.current?.submissionAttemptId||st():st();n==="manual"?S("studio_action_submit_click",{surface:r,effectSlug:i,outputType:u,modelKey:c,requiredCredits:K,submissionAttemptId:f}):S("resume_submit_started",{surface:r,effectSlug:i,outputType:u,modelKey:c,requiredCredits:K,submissionAttemptId:f});let I=j.current,Ke=ae,Me=c,$=K,We=Ae,ee=null;try{if(await fe(),I=j.current,N){const p=h({modelFamilyKey:m?.familyKey,modelKey:m?.familyKey?void 0:c,params:I});I=p.canonicalParams,j.current=I,Ke=p.validation.errors,Me=p.resolvedModelKey,m&&($=nt({family:m,params:I,profile:"studio"}).credits,We=q===void 0||q>=$)}}catch(p){const H=it(p,J);R(H),B.error(H);return}const Oe=s({surface:r,outputType:u,modelKey:N?Me:null,prompt:typeof I.prompt=="string"?I.prompt:void 0,isAuthenticated:W,isSessionPending:z,validationErrors:Ke,hasEnoughCredits:We,requiredCredits:$,availableCredits:q});if(gr(Oe,{availableCredits:q,modelFamilyKey:m?.familyKey,modelKey:m?.familyKey?void 0:c,outputType:u,requiredCredits:$,source:n==="manual"?"submit":"resume_submit",submissionAttemptId:f,surface:r,effectSlug:i}),!await fr(Oe,{onSessionPending:()=>{},onModelUnavailable:p=>{B.error(p.message||L("modelConfigNotFound"))},onValidationError:p=>{B.error(p.message)},onLoginRequired:async()=>{S("auth_entry_opened",{surface:"auth",entryPoint:"studio_submit",returnSurface:"studio",effectSlug:i,outputType:u,modelKey:c,submissionAttemptId:f}),await Qe()},onSafetyBlocked:()=>{const p=L("safetyBlockedPrompt");R(p),B.error(p)},onInsufficientCredits:async()=>{const p=n==="manual"?"submit":"resume_submit";S("insufficient_credits_hit",{surface:r,effectSlug:i,outputType:u,modelKey:c,requiredCredits:$,availableCredits:q,source:p,submissionAttemptId:f}),await Ue({requiredCredits:$,availableCredits:q,modelLabel:N?.displayName,source:p})}})){n==="resume"&&S("resume_submit_blocked",{surface:r,effectSlug:i,outputType:u,modelKey:c,requiredCredits:$,submissionAttemptId:f,blockedReason:Oe.kind});return}try{const p=Number(I.outputCount)||1,H=X?.currentPlan?.id==="free"&&!X.subscription,Xe=n==="resume"&&X?.currentPlan?.id==="free"&&!X.subscription&&!xr(Ce?.user?.id);Xe&&Ye();const At=p>1?O(p):b;B.success(At),H&&(T.current?.abort(),ee=new AbortController,T.current=ee);const St=d.mutateAsync({...yr({modelFamilyKey:m?.familyKey,modelKey:m?.familyKey?void 0:c,outputType:u,params:I}),submissionAttemptId:f,__clientObservability:{action:"studio_submit_generation",contexts:{studio:{effectSlug:i,modelFamilyKey:m?.familyKey,modelKey:m?.familyKey?void 0:c,outputType:u,submissionSource:n,submissionAttemptId:f}},surface:r,tags:{effect_slug:i,model_family_key:m?.familyKey,model_key:m?.familyKey?void 0:c,output_type:u,submission_source:n,submission_attempt_id:f}},...ee?{__clientPreSubmitDelay:{delayMs:Tr,signal:ee.signal}}:{}});H&&Te();const De=await St;ee&&T.current===ee&&(T.current=null),n==="resume"&&S("resume_submit_created_job",{surface:r,effectSlug:i,outputType:u,modelKey:Me,requiredCredits:$,submissionAttemptId:f,jobId:De.jobId}),H||Te(),n==="resume"&&S("resume_result_visible",{surface:r,effectSlug:i,outputType:u,modelKey:Me,submissionAttemptId:f,jobId:De.jobId}),R(null),Xe&&(Or(Ce?.user?.id),await Ue({availableCredits:De.creditBalance?.availableCredits??q,callbackPath:U,modelLabel:N?.displayName,requiredCredits:$,source:"post_submit_free_resume"}))}catch(p){if(ee&&T.current===ee&&(T.current=null),ar(p)){R(null);return}const H=it(p,J);n==="resume"&&S("resume_submit_blocked",{surface:r,effectSlug:i,outputType:u,modelKey:c,submissionAttemptId:f,blockedReason:p instanceof Error?p.name:"submission_failed"}),R(H),B.error(H)}},[r,d,q,U,i,se,Ae,W,z,c,N,Qe,Ue,u,X?.currentPlan?.id,X?.subscription,Ye,K,G,C,s,h,m,Ce?.user?.id,Te,O,b,J,L,ae,fe]);a.useEffect(()=>{ue&&(z||W&&_e||ce.current!==ue&&N&&(ae.length>0||(ce.current=ue,xe("resume").finally(()=>{l()}))))},[l,xe,ue,W,_e,z,N,ae.length]);const It=!ht||C&&!se||z||W&&_e,Ee=[];
3return w&&Ee.push({kind:"model-family",id:"model",label:"Model",brands:pt,getFamilyCredits:Fe,models:yt,selectedFamily:m,selectedModel:m?.familyKey??"",onModelChange:Pt,disabled:d.isPending}),V&&Ee.push({kind:"reference-image",id:V.key,label:V.label,helperText:V.helperText,required:V.required,contract:V.contract,value:V.value,onChange:V.onChange,disabled:d.isPending}),Ee.push({kind:"model-params",id:"model-params",modelConfig:N,values:y,constrainedOptions:le,excludedFieldKeys:Array.from(new Set([...x,...V?[V.key]:[]])),onChange:ke,disabled:d.isPending}),pe.jsxs(pe.Fragment,{children:[pe.jsx(lr,{action:e,fieldPrefix:o?.({disabled:d.isPending,params:y,onParamChange:ke})??null,fields:Ee,footer:{credits:K,isLoading:d.isPending||Ge||Je||$e,disabled:It,onSubmit:()=>xe("manual"),icon:ie,label:ge,loadingLabel:bt||Ge||Je||$e?L("uploadingImages"):be,notice:Z?pe.jsx("div",{className:"mb-3 rounded-md border border-amber-200/24 bg-amber-200/10 px-4 py-3 text-sm text-amber-50","data-testid":"ai-submission-error",role:"alert",children:Z}):null},headingLevel:_,mobilePanelIsActive:E==="create"}),Ct,pe.jsx(sr,{open:!!de,onOpenChange:n=>{n||M(null)},callbackUrl:de?.callbackPath,intent:"generation"})]})}export{jr as S,mr as g}; 4//# sourceMappingURL=studio-configured-action-C3TI0RDo.js.map 5 6//# debugId=7128527f-cf7e-54af-9a37-13cd8e39bb07
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.