1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1289,3670,8039],{28943:(e,t,r)=>{r.d(t,{u:()=>i});var a=r(12769);function i(e,t){let r=e.trim();if(!r||!(0,a.bt)(r)||!r.startsWith("http://")&&!r.startsWith("https://"))return r;try{let e=new URL(r),a=t.replace(/\/$/,"");return`${a}${e.pathname}${e.search}${e.hash}`}catch{return r}}},33670:(e,t,r)=>{r.d(t,{applyPoolLifecycleWithBrandFreeze:()=>u});var a=r(38039),i=r(55821),n=r(30293),o=r(83047),l=r(27747),d=r(10143);async function s(e,t){if(0===t.poolIds.length)return{ok:!1,code:"empty_batch",error:"pool ids required"};if(t.bases.length!==t.poolIds.length)return{ok:!1,code:"length_mismatch",error:"pool ids and bases length mismatch"};let r=[];for(let e=0;e<t.bases.length;e++){let a=t.bases[e];if(!a){r.push(null);continue}let i=(0,n.Hc)(a,{expectedTemplateId:a.frozen_template_id});if(!i.ok)return{ok:!1,code:i.errors[0]?.code??"invalid_base",error:i.errors.map(e=>e.message).join("; ")};r.push(i.base)}let{data:a,error:i}=await e.rpc("rpc_apply_pool_lifecycle_with_brand_freeze",{p_pool_ids:t.poolIds,p_bases:r,p_patch:t.patch});if(i)return{ok:!1,code:"rpc_error",error:i.message};let o=a&&"object"==typeof a&&!Array.isArray(a)?a:{ok:!1,code:"invalid_rpc_response",error:"RPC returned non-object"};return!0===o.ok?{ok:!0,code:"applied",updated_count:Number(o.updated_count??t.poolIds.length),applied_at:String(o.applied_at??"")}:{ok:!1,code:String(o.code??"brand-freeze-transaction-failed"),error:String(o.error??"lifecycle freeze failed")}}function c(e){let t={};return void 0!==e.approved&&(t.approved=e.approved),void 0!==e.status&&(t.status=e.status),Object.prototype.hasOwnProperty.call(e,"queue_position")&&(t.queue_position=e.queue_position??null),Object.prototype.hasOwnProperty.call(e,"queued_at")&&(t.queued_at=e.queued_at??null),void 0!==e.content_text&&(t.content_text=e.content_text),t}async function p(e,t,r,a){let{error:i}=await e.from("generated_content_pool").update(c(a)).in("id",r).eq("brand_id",t);if(i)throw i}async function u(e,t){let r=[...new Set(t.poolIds.filter(Boolean))];if(0===r.length)return;if(!(0,l.PV)(t.env)||!function(e){if(!0===e.approved)return!0;let t=String(e.status??"").toLowerCase();return"approved"===t||"queued"===t||"scheduled"===t}(t.patch))return void await p(e,t.brandId,r,t.patch);let{data:u,error:f}=await e.from("generated_content_pool").select("id, brand_id, platform, blueprint_id, variant_group_id, effective_media_type, effective_layout_id, visual_copy, content_text, creatomate_template_id, creatomate_modifications, creatomate_modification_overrides, generation_trace, brand_propagation_frozen_at, creative_brand_base, brand_base_applied_at, status, approved").in("id",r).eq("brand_id",t.brandId);if(f)throw f;let m=u??[];if(m.length!==r.length)throw new o.c9({poolIds:r,rpcCode:"missing_row",reason:"one or more pool ids not found for brand"});let _=new Map(m.map(e=>[e.id,e])),h=r.map(e=>_.get(e)),y=[];for(let t of h){let r=t.brand_propagation_frozen_at,l=(0,i.m6)(t.effective_media_type);if(r){let e=(0,n.Hc)(t.creative_brand_base,{expectedTemplateId:String(t.creatomate_template_id??"")});if(!e.ok)throw new d.u4({poolId:t.id,frozenAt:"string"==typeof r?r:String(r),errors:e.errors});y.push(null);continue}if(!l){y.push(null);continue}try{let{base:r}=await (0,i.Ac)(e,t);y.push(r)}catch(e){if(e instanceof a.TemplateRemapRequiredError||e instanceof o.e6)throw e;throw new o.e6({poolId:t.id,reason:e instanceof Error?e.message.slice(0,200):"build failed"})}}let g=await s(e,{poolIds:r,bases:y,patch:c(t.patch)});if(!g.ok)throw(0,o.Qu)(r,g.code,g.error)}},38039:(e,t,r)=>{r.d(t,{TemplateRemapRequiredError:()=>p,ep:()=>c,resolvePoolTemplateIdentity:()=>s});var a=r(30943),i=r(21803),n=r(64256),o=r(27087);function l(e,t,r){let a={ok:!1,reason:"template-remap-required",staleTemplateId:t,poolId:e,affectedKeys:function(e){let t=[],r=e.creatomate_modification_overrides;r&&"object"==typeof r&&!Array.isArray(r)&&t.push(...Object.keys((0,i.e)(r)));let a=e.generation_trace&&"object"==typeof e.generation_trace&&!Array.isArray(e.generation_trace)?e.generation_trace:null;a?.video_edit!=null&&"object"==typeof a.video_edit&&t.push("generation_trace.video_edit");let o=(0,n.ni)(e.carousel_deck);if(o)for(let e of o.slides)t.push(`carousel_deck.slides[${e.id}
1].creatomate_template_id`),t.push(...Object.keys(e.modifications??{}).map(t=>`carousel_deck.slides[${e.id}].${t}`));return t}(r)};return console.warn("[template-identity] template-remap-required",{poolId:a.poolId,staleTemplateId:a.staleTemplateId,affectedKeyCount:a.affectedKeys.length,affectedKeys:a.affectedKeys.slice(0,40)}),a}async function d(e,t,r,i){let o=(0,n.ni)(t.carousel_deck);if(!o?.slides.length)return null;let l=o.slides.find(e=>"cover"===e.slide_role)??o.slides.slice().sort((e,t)=>e.sort_order-t.sort_order)[0];return l?.creatomate_template_id?.trim()?(0,a.Z3)(e,l.creatomate_template_id,r,i):null}async function s(e,t,r){let s=String(t.id??"").trim(),c=String(t.platform??"instagram").trim()||"instagram",p=t.effective_media_type??null,u=t.effective_layout_id??null,f="string"==typeof t.creatomate_template_id?t.creatomate_template_id.trim():"",m=function(e){let t=e.creatomate_modification_overrides;if(t&&"object"==typeof t&&!Array.isArray(t)&&Object.keys((0,i.e)(t)).length>0)return!0;let r=e.generation_trace&&"object"==typeof e.generation_trace&&!Array.isArray(e.generation_trace)?e.generation_trace:null,a=r?.video_edit;if(null!=a&&"object"==typeof a&&!Array.isArray(a))return!0;let o=(0,n.ni)(e.carousel_deck);return!!(o&&o.slides.length>0)}(t),_=r?.rotationSeed?.trim()||(0,o.G_)({brandId:t.brand_id,blueprintId:t.blueprint_id??t.variant_group_id??t.id,platform:c,layoutId:u,mediaType:p});if(f){let r=await (0,a.Z3)(e,f,c,p);if(r?.creatomateTemplateId)return{ok:!0,kind:"authoritative-stored",template:r,shouldPersistId:!1};if(m)return l(s,f,t);let i=await (0,a.eg)(e,c,p,u,_);return i?.creatomateTemplateId?{ok:!0,kind:"matched-replacement",template:i,shouldPersistId:!0}:l(s,f,t)}if(m){if(r?.allowCarouselIdRecovery!==!1){let r=await d(e,t,c,p);if(r?.creatomateTemplateId)return{ok:!0,kind:"matched-replacement",template:r,shouldPersistId:!0}}return l(s,null,t)}let h=await (0,a.eg)(e,c,p,u,_);return h?.creatomateTemplateId?{ok:!0,kind:"matched-replacement",template:h,shouldPersistId:!0}:l(s,null,t)}function c(e){return`template-remap-required:pool=${e.poolId}:stale=${e.staleTemplateId??"null"}`}
1class p extends Error{constructor(e){super(c(e)),this.code="template-remap-required",this.name="TemplateRemapRequiredError",this.result=e}}},55821:(e,t,r)=>{r.d(t,{Ac:()=>v,m6:()=>b});var a=r(63784),i=r(30943),n=r(44968),o=r(92071),l=r(10952);let d=["pending","in_progress","synced","blocked"];async function s(e,t,r=14400){let{data:a,error:i}=await e.from("brand_media_library").select("id, storage_path, filename, metadata").eq("brand_id",t).eq("media_type","font").order("created_at",{ascending:!0});if(i||!a?.length)return[];let n=[];for(let t of a){let a=String(t.storage_path||"").trim();if(!a)continue;let i=t.metadata&&"object"==typeof t.metadata?t.metadata:{};if("blocked"===function(e){let t=e&&"object"==typeof e?e.creatomate_sync_status:void 0;return"string"==typeof t&&d.includes(t)?t:"pending"}(i))continue;let o=String(i.bucket||"brand-fonts"),l=String(i.font_family||"").trim();if(!l)continue;let s=i.font_weight,c=String("number"==typeof s?s:Number(s??400)||400),p="italic"===i.font_style?"italic":"normal",{data:u,error:f}=await e.storage.from(o).createSignedUrl(a,r);if(f)continue;let m=u&&"object"==typeof u&&"signedUrl"in u?String(u.signedUrl??"").trim():"";m&&n.push({family:l,weight:c,style:p,source:m})}return n}var c=r(71544),p=r(69070),u=r(66957),f=r(84235),m=r(31498),_=r(24667),h=r(38039),y=r(30293),g=r(83047);function b(e){return!(0,p.rP)(e)&&!(0,p.R0)(e)}async function v(e,t){let r=t.id;if(!b(t.effective_media_type))throw new g.e6({poolId:r,reason:`not a still media type (${String(t.effective_media_type??"")})`});let d=String(t.brand_id??"").trim();if(!d)throw new g.e6({poolId:r,reason:"missing brand_id"});let p=await (0,h.resolvePoolTemplateIdentity)(e,t);if(!p.ok)throw new h.TemplateRemapRequiredError(p);let v=p.template;if(!v?.creatomateTemplateId)throw new g.e6({poolId:r,reason:"no Creatomate template on resolved identity"});let w=String(t.platform??"instagram"),I=String(t.effective_media_type??"single_image"),k=await (0,i.x2)(e,d),T=k?.tokens??{},j=(0,l.c2)(k),[{data:S},$,A]=await Promise.all([e.from("brands").select("name, website").eq("id",d).maybeSingle(),(0,i.w$)(e,d),s(e,d).catch(()=>void 0)]),C=t.visual_copy,q=(0,o.M)(C),z=String(t.content_text??"").split(/\r?\n/)[0]?.trim()??"",E=(0,i.i9)($,w),x=(0,_.xd)((0,_.jr)(E,String(S?.name??""))),P=function(e,t){let r=e.generation_trace??{},a="string"!=typeof r.hero_url||(0,m.jW)(r.hero_url)?null:r.hero_url.trim();if(a)return a;let i=e.creatomate_modifications??{},n="string"!=typeof i[t]||(0,m.jW)(String(i[t]))?null:String(i[t]).trim(),o=e.creatomate_modification_overrides??{};return!n||t in o?null:n}(t,(0,c.F)(v.bindingPayload)),R=v.renderCanvas??null;if(v.injectRenderCanvas&&!R&&v.internalTemplateId)try{R=await (0,u.SY)(e,{internalTemplateId:v.internalTemplateId,platform:w,mediaType:I,injectRenderCanvas:!0})}catch{R=null}let K=await (0,f.Hn)(v.creatomateTemplateId),O=(0,l.fB)({brandTokens:T,content:{...q,...x,website:(0,n.Z)(S?.website),headline:q.headline||z||String(t.content_text??"").trim(),badge:q.badge||(0,a.J)(String(t.content_text??"")),...P?{heroImageUrl:P}:{}},bindingPayload:v.bindingPayload,userOverrides:{},platform:w,fontAdd:A,injectRenderCanvas:v.injectRenderCanvas,renderCanvas:R,brandColourPalette:j,templateSource:K,templateName:v.templateName??null,creatomateTemplateId:v.creatomateTemplateId,structuralVisibilityLayers:v.structuralVisibilityLayers,layerVisibility:v.layerVisibility,legibilityTreatment:v.legibilityTreatment??null}),F=t.creatomate_modification_overrides??{},L=(0,y.Fz)({mediaKind:"still",frozenTemplateId:v.creatomateTemplateId,modifications:O,userOverrides:F});if(!L.ok)throw new g.e6({poolId:r,reason:L.errors.map(e=>e.code).slice(0,6).join(",")});return{base:L.base,expectedTemplateId:v.creatomateTemplateId}}},83047:(e,t,r)=>{r.d(t,{Qu:()=>n,c9:()=>i,e6:()=>a});class a extends Error{constructor(e){super(`brand-freeze-build-failed pool=${e.poolId}: ${e.reason}`),this.code="brand-freeze-build-failed",this.name="BrandFreezeBuildFailedError",this.poolId=e.poolId,this.reason=e.reason}}class i extends Error{constructor(e){super(`brand-freeze-transaction-failed pools=[${e.poolIds.slice(0,8).join(",")}] code=${e.rpcCode}: ${e.reason}`),this.code="brand-freeze-transaction-failed",this.name="BrandFreezeTransactionFailedError",this.poolIds=e.poolIds,this.rpcCode=e.rpcCode,this.reason=e.reason}}function n(e,t,r){let a=`${t} ${r}`.toLowerCase();return new i(a.includes("invalid_existing_frozen_base")||a.includes("invalid_existing_schema")||a.includes("template_mismatch")||a.includes("existing_template_mismatch")?{poolIds:e,rpcCode:"invalid-frozen-brand-base",reason:r.slice(0,240)}:{poolIds:e,rpcCode:t||"brand-freeze-transaction-failed",reason:r.slice(0,240)})}},84235:(e,t,r)=>{r.d(t,{Hn:()=>c});var a=r(12769),i=r(88590),n=r(42906);let o=new Map,l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function d(e,t){let r=await fetch(`https://api.creatomate.com/v1/templates/${t}`,{headers:{Authorization:`Bearer ${e}`}});if(!r.ok)throw Error((await r.text()).slice(0,300)||`Creatomate template fetch failed (${r.status})`);let a=await r.json();if(!a.source||"object"!=typeof a.source)throw Error("Creatomate template has no source");return a.source}async function s(e,t,r){let n=(r??(0,a.HL)()).replace(/\/$/,""),l=`${t}::${n}`,s=o.get(l);if(s)return structuredClone(s);let c=await d(e,t),p=(0,i.K)(c,n);return o.set(l,p),structuredClone(p)}async function c(e,t){let r=String(e??"").trim(),a=void 0!==n?n.env.CREATOMATE_API_KEY?.trim():"",i=globalThis.Deno?.env,o="function"==typeof i?.get?i.get("CREATOMATE_API_KEY")?.trim():"",d=a||o||"";if(!r||!d||!l.test(r))return null;try{return await s(d,r,t)}catch{return null}}},88590:(e,t,r)=>{r.d(t,{K:()=>o});var a=r(27870),i=r(12769),n=r(28943);function o(e,t){if(!e||"object"!=typeof e)return e??{};let r=(t??(0,i.HL)()).trim();if(!r)return e;let o=structuredClone(e);return!function e(t,r){if(Array.isArray(t))for(let a of t)r(a),Array.isArray(a.elements)&&e(a.elements,r)}(o.elements,e=>{let t=e.source;if("string"!=typeof t||!t.trim())return;let i=function(e,t){let r=e.trim();if(!r)return r;let i=(0,n.u)(r,t);if(i!==r)return i;if(!r.startsWith("/"))return r;if(r.startsWith("/brand-flourish-presets/"))return(0,a.FF)(r,t);let o=t.replace(/\/$/,"");return`${o}${r}`}(t,r);i!==t.trim()&&(e.source=i)}),o}}}]);
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.