1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,674843,568540,e=>{"use strict";var t=e.i(651221),r=e.i(497915),a=e.i(566376);function s(e){var t,r;return{promptText:e.promptText,modelId:e.modelId,modelName:e.modelName??e.modelId,generationMode:e.generationMode,style:e.style?{styleKey:(t=e.style).styleKey,styleName:t.styleName,styleDefinitionPrompt:t.styleDefinitionPrompt,...void 0!==t.thumbnailUrl?{thumbnailUrl:t.thumbnailUrl}:{},...void 0!==t.category?{category:t.category}:{}}:null,watermark:"watermark"in e&&e.watermark?{enabled:(r=e.watermark).enabled,text:r.text}:null,references:e.references.map(i),generatedAt:e.createdAt}}function i(e){let t={...e.role?{role:e.role}:{},index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,mimeType:e.mimeType,sizeBytes:e.sizeBytes};switch(e.sourceType){case"uploaded_image":return{...t,sourceType:e.sourceType,previewUrl:e.previewUrl};case"user_image_asset":return{...t,sourceType:e.sourceType,generationId:e.generationId,genType:e.genType,url:e.url};case"character_preset":return{...t,sourceType:e.sourceType,characterId:e.characterId,previewUrl:e.previewUrl};case"showcase_image":return{...t,sourceType:e.sourceType,showcaseId:e.showcaseId,...e.previewUrl?{previewUrl:e.previewUrl}:{}}}}var n=e.i(231383),o=e.i(402980);function u(e,t){return"video"===e?`video:${t}`:`image:${e}:${t}`}function d(e){return"number"==typeof e&&Number.isFinite(e)?Math.min(100,Math.max(0,Math.round(e))):null}function c(e,t=null){let r=d(e),a=d(t);return null===r?a:null===a?r:Math.max(a,r)}function l(e){return"submitting"===e||"processing"===e}function p(e){return"completed"===e||"failed"===e}e.s(["GENERATION_TASK_INITIAL_PROGRESS_PERCENT",0,10,"GENERATION_TASK_TERMINAL_LIMIT_PER_VIEW",0,50,"buildGenerationTaskId",0,u,"isActiveGenerationTaskStatus",0,l,"isTerminalGenerationTaskStatus",0,p,"normalizeGenerationTaskProgressPercent",0,d,"resolveGenerationTaskProgressPercent",0,c],568540);let m={activeTasks:[],terminalTasks:[]};function g(e,t){switch(t.type){case"TASK_CREATED":return{activeTasks:y(e.activeTasks.filter(e=>e.id!==t.task.id),t.task),terminalTasks:e.terminalTasks.filter(e=>e.id!==t.task.id)};case"TASK_SUBMITTED":return{...e,activeTasks:e.activeTasks.map(e=>e.id!==t.taskId?e:{...e,status:"processing",generationId:t.generationId,submittedRequest:t.submittedRequest??e.submittedRequest,progressPercent:c(t.progressPercent,e.progressPercent),updatedAt:t.updatedAt})};case"TASK_COMPLETED":{var r,a,s;let i=e.activeTasks.find(e=>e.id===t.taskId);if(!i)return e;let n=(r=i,a=t.result,s=t.updatedAt,"image"===r.kind&&"image"===a.kind||"character"===r.kind&&"character"===a.kind||"video"===r.kind&&"video"===a.kind?{...r,status:"completed",generationId:a.generationId,result:a,error:null,progressPercent:100,updatedAt:s}:null);if(!n)return e;return{activeTasks:e.activeTasks.filter(e=>e.id!==t.taskId),terminalTasks:f(y(e.terminalTasks,n))}}case"TASK_FAILED":{let r=e.activeTasks.find(e=>e.id===t.taskId);if(!r)return e;let a={...r,status:"failed",error:t.error,updatedAt:t.updatedAt};return{activeTasks:e.activeTasks.filter(e=>e.id!==t.taskId),terminalTasks:f(y(e.terminalTasks,a))}}case"TASK_POLLING_CONTINUED":{let r=e.terminalTasks.find(e=>e.id===t.taskId);if(!r||"failed"!==r.status||r.error?.code!=="pollTimeout"||!r.generationId)return e;let a={...r,status:"processing",error:null,updatedAt:t.updatedAt};return{activeTasks:y(e.activeTasks,a),terminalTasks:e.terminalTasks.filter(e=>e.id!==t.taskId)}}case"TASK_RESTORED":return{activeTasks:t.tasks.filter(e=>l(e.status)),terminalTasks:f(t.tasks.filter(e=>p(e.status)))};case"POLL_PROCESSING":return{...e,activeTasks:e.activeTasks.map(e=>e.id!==t.taskId?e:{...e,progressPercent:c(t.progressPercent,e.progressPercent),updatedAt:t.updatedAt})}}}function y(e,t){let r=e.findIndex(e=>e.id===t.id);return -1===r?[t,...e]:e.map((e,a)=>a===r?t:e)}function f(e){let t=0,r=0,a=0;return[...e].sort((e,t)=>T(t)-T(e)).filter(e=>"image"===e.kind?(t+=1)<=50:"character"===e.kind?(r+=1)<=50:(a+=1)<=50)}function T(e){let t=new Date(e.updatedAt).getTime();return Number.isFinite(t)?t:new Date(e.createdAt).getTime()}var h=e.i(345403);let I="comikai:generation-tasks:v3";function k(e){return{id:e.id,kind:e.kind,status:e.status,surface:e.surface,..."video"===e.kind?{videoComposerKind:e.videoComposerKind}:{},clientRequestId:e.clientRequestId,generationId:e.generationId,snapshot:e.snapshot,progressPercent:e.progressPercent,createdAt:e.createdAt,updatedAt:e.updatedAt}}function v(e){if("processing"!==e.status||!e.generationId)return null;let t=c(e.progressPercent,10);return"image"===e.kind&&"image"===e.snapshot.kind?{id:e.id,kind:"image",status:"processing",surface:e.surface,clientRequestId:e.clientRequestId,generationId:e.generationId,snapshot:e.snapshot,submittedRequest:null,result:null,error:null,progressPercent:t,createdAt:e.createdAt,updatedAt:e.updatedAt}:"character"===e.kind&&"character"===e.snapshot.kind?{id:e.id,kind:"character",status:"processing",surface:e.surface,clientRequestId:e.clientRequestId,generationId:e.generationId,snapshot:e.snapshot,submittedRequest:null,result:null,error:null,progressPercent:t,createdAt:e.createdAt,updatedAt:e.updatedAt}:"video"===e.kind&&"video"===e.snapshot.kind?{id:e.id,kind:"video",videoComposerKind:e.videoComposerKind??"general",status:"processing",surface:e.surface,clientRequestId:e.clientRequestId,generationId:e.generationId,snapshot:e.snapshot,submittedRequest:null,result:null,error:null,progressPercent:t,createdAt:e.createdAt,updatedAt:e.updatedAt}:null}function A(e){var t,r,a,s,i,n,o,u,d,c,l,p,m;return!!E(e)&&("image"===(t=e.kind)||"character"===t||"video"===t)&&"string"==typeof e.id&&("submitting"===(r=e.status)||"processing"===r||"completed"===r||"failed"===r)&&("overlay"===(a=e.surface)||"create"===a||"drama-studio"===a)&&("video"===e.kind?void 0===e.videoComposerKind||"general"===(s=e.videoComposerKind)||"motion-comic"===s:void 0===e.videoComposerKind)&&"string"==typeof e.clientRequestId&&(null===e.generationId||"string"==typeof e.generationId)&&(i=e.kind,!!E(n=e.snapshot)&&n.kind===i&&!!("string"==typeof(o=n).promptText&&"string"==typeof o.modelId&&"string"==typeof o.modelName&&"string"==typeof o.generationMode&&(null===o.style||E(u=o.style)&&"string"==typeof u.styleKey&&u.styleKey.trim().length>0&&"string"==typeof u.styleName&&u.styleName.trim().length>0&&(null===u.styleDefinitionPrompt||"string"==typeof u.styleDefinitionPrompt)&&(void 0===u.thumbnailUrl||null===u.thumbnailUrl||"string"==typeof u.thumbnailUrl)&&(void 0===u.category||null===u.category||"string"==typeof u.category))&&(null===o.watermark||E(d=o.watermark)&&"boolean"==typeof d.enabled&&"string"==typeof d.text)&&Array.isArray(o.references)&&o.references.every(_)&&"string"==typeof o.generatedAt)&&("image"===i?b((c=n).params)&&(void 0===c.comic||null===c.comic||(0,h.isComicGenerationSpec)(c.comic)):"character"===i?b((l=n).params)&&E(l.character)&&"string"==typeof l.character.name&&"boolean"==typeof l.character.detailsEnabled&&"string"==typeof l.character.personality&&"string"==typeof l.character.outfit&&"string"==typeof l.character.action&&"string"==typeof l.character.scene:!!E((p=n).params)&&"string"==typeof p.params.aspectRatio&&R(p.params.quality)&&R(p.params.resolution)&&"number"==typeof p.params.durationSeconds&&Number.isFinite(p.params.durationSeconds)&&"boolean"==typeof p.params.generateAudio&&(void 0===p.params.pricingVersion||"string"==typeof p.params.pricingVersion)&&(void 0===p.referenceAudios||Array.isArray(p.referenceAudios)&&p.referenceAudios.every(h.isVideoAudioReferenceAssetRef))&&(void 0===p.referenceVideos||Array.isArray(p.referenceVideos)&&p.referenceVideos.every(h.isVideoReferenceVideoAssetRef))))&&(null==(m=e.progressPercent)||"number"==typeof m&&Number.isFinite(m))&&"string"==typeof e.createdAt&&"string"==typeof e.updatedAt}function b(e){return!!E(e)&&"string"==typeof e.aspectRatio&&R(e.quality)&&R(e.resolution)&&"string"==typeof e.outputFormat&&"number"==typeof e.count&&Number.isFinite(e.count)}function R(e){return null===e||"string"==typeof e}function _(e){var t;return!!E(e)&&!!(("uploaded_image"===(t=e).sourceType||"user_image_asset"===t.sourceType||"character_preset"===t.sourceType||"showcase_image"===t.sourceType)&&(void 0===t.role||"first_frame"===t.role||"last_frame"===t.role||"asset_reference"===t.role)&&"number"==typeof t.index&&Number.isFinite(t.index)&&"image"===t.storageBucketType&&"string"==typeof t.storageKey&&"string"==typeof t.mimeType&&"number"==typeof t.sizeBytes&&Number.isFinite(t.sizeBytes)&&t.sizeBytes>0)&&("uploaded_image"===e.sourceType?"string"==typeof e.previewUrl:"user_image_asset"===e.sourceType?"string"==typeof e.generationId&&("image"===e.genType||"character"===e.genType)&&"string"==typeof e.url:"character_preset"===e.sourceType?"string"==typeof e.characterId&&e.characterId.trim().length>0&&"string"==typeof e.previewUrl&&e.previewUrl.trim().length>0:"showcase_image"===e.sourceType&&"string"==typeof e.showcaseId&&(void 0===e.previewUrl||"string"==typeof e.previewUrl))}function w(e,t){let r=new Date(e).getTime();return Number.isFinite(r)&&t-r<=864e5}function S(){try{return window.sessionStorage}catch{return null}}function E(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}var C=e.i(822560);function P(e){switch(e.sourceType){case"uploaded_image":return{sourceType:e.sourceType,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,mimeType:e.mimeType,sizeBytes:e.sizeBytes};case"user_image_asset":return{sourceType:e.sourceType,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,generationId:e.generationId,mimeType:e.mimeType,sizeBytes:e.sizeBytes};case"character_preset":return{sourceType:e.sourceType,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,mimeType:e.mimeType,sizeBytes:e.sizeBytes,characterId:e.characterId};case"showcase_image":return{sourceType:e.sourceType,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,mimeType:e.mimeType,sizeBytes:e.sizeBytes,showcaseId:e.showcaseId};default:return(0,C.assertNever)(e)}}function K(e){let t=e.role?{role:e.role}:{};switch(e.sourceType){case"uploaded_image":return{sourceType:e.sourceType,...t,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,mimeType:e.mimeType,sizeBytes:e.sizeBytes};case"user_image_asset":return{sourceType:e.sourceType,...t,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,generationId:e.generationId,mimeType:e.mimeType,sizeBytes:e.sizeBytes};case"character_preset":return{sourceType:e.sourceType,...t,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,mimeType:e.mimeType,sizeBytes:e.sizeBytes,characterId:e.characterId};case"showcase_image":return{sourceType:e.sourceType,...t,index:e.index,storageBucketType:e.storageBucketType,storageKey:e.storageKey,mimeType:e.mimeType,sizeBytes:e.sizeBytes,showcaseId:e.showcaseId};default:return(0,C.assertNever)(e)}}var M=e.i(997600),q=e.i(480434),B=e.i(264148),N=e.i(777671),x=e.i(250150);let D="The official image generation API is currently busy. Please try again later.",F=new Set(["completed","failed","expired"]);async function U(e,t,r={}){let a={..."character"===e.kind?{genType:"character"}:{},prompt:(0,M.buildImageSubmitPrompt)(e),promptMeta:(0,M.buildImageSubmitPromptMeta)(e),modelId:e.modelId,...e.modelName?{modelName:e.modelName}:{},generationMode:e.generationMode,aspectRatio:e.params.aspectRatio,quality:e.params.quality,resolution:e.params.resolution,count:e.params.count,outputFormat:e.params.outputFormat,referenceImages:e.references.map(P),..."character"===e.kind?{subMetadata:{name:e.character.name,categoryKey:null,
1styleKey:e.style?.styleKey??null,attributes:(0,M.buildCharacterAttributes)(e)}}:{}},s=new Date().toISOString();try{let e=JSON.stringify({gen_type:a.genType??"image",model_id:a.modelId,generation_mode:a.generationMode,prompt:a.prompt,prompt_meta:a.promptMeta,aspect_ratio:a.aspectRatio,quality:a.quality,resolution:a.resolution,count:a.count,output_format:a.outputFormat,reference_images:(a.referenceImages??[]).map((e,t)=>({source_type:e.sourceType,index:e.index??t,storage_bucket_type:e.storageBucketType,storage_key:e.storageKey,generation_id:e.generationId,character_id:e.characterId,showcase_id:e.showcaseId,mime_type:e.mimeType,size_bytes:e.sizeBytes})),...a.subMetadata?{sub_metadata:{name:a.subMetadata.name,category_key:a.subMetadata.categoryKey??null,style_key:a.subMetadata.styleKey??null,attributes:a.subMetadata.attributes}}:{}}),i=await B.httpClient.authenticatedFetch("/api/ai/gen-image",()=>({method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":t},signal:AbortSignal.timeout(6e4),body:e}),{maxRetries:1});if(401===i.status)return{status:"failed",error:z("unauthorized",await (0,q.parseApiErrorResponse)(i,"Please sign in to generate images."))};if(402===i.status)return{status:"failed",error:z("insufficientCredits",await (0,q.parseApiErrorResponse)(i,"Insufficient credits. Please upgrade your plan."))};if(429===i.status)return{status:"failed",error:z("rateLimited",await (0,q.parseApiErrorResponse)(i,D))};if(!i.ok){let e=await i.json().catch(()=>({})),t=(0,q.parseApiErrorPayload)(e,"Failed to submit image generation.");return G(t.inputAssetErrorCode,t.storageKeys,r),{status:"failed",error:z((0,N.isInputAssetErrorCode)(t.inputAssetErrorCode)?"invalidReferenceImage":"submitFailed",t)}}let n=await i.json(),o=V(n,"generation_id");if(!o)return{status:"failed",error:{code:"submitFailed",message:"Image generation response did not include a generation id."}};return{status:"submitted",generationId:o,submittedRequest:{prompt:a.prompt,submittedAt:s}}}catch(e){return{status:"failed",error:{code:(0,q.isRequestTimeoutError)(e)?"timeout":"network",message:(0,q.isRequestTimeoutError)(e)?"Image generation request timed out. Please try again.":"Network error. Please check your connection and try again."}}}}async function O(e,t,r,a={}){try{let d=await B.httpClient.authenticatedFetch(`/api/ai/gen-image/${encodeURIComponent(e)}`,()=>({method:"GET",signal:AbortSignal.timeout(6e4)}),{maxRetries:1});if(429===d.status)return{status:"failed",error:z("rateLimited",await (0,q.parseApiErrorResponse)(d,D))};if(!d.ok){if(d.status>=400&&d.status<500)return{status:"failed",error:z("generationFailed",await (0,q.parseApiErrorResponse)(d,"Image generation failed. Please try again."))};return{status:"retry"}}let c=await d.json(),l=V(c,"status")??"";if("completed"===l){var s,i,n,o,u;let a,d,l,p,m;return{status:"completed",result:(s=e,i=c,n=t,o=r,p=j(i)?i:{},m={generationId:s,imageUrls:(a=p.image_urls,Array.isArray(a)?a.filter(e=>"string"==typeof e):[]),imageReferences:(u=p,d=Array.isArray(u.image_references)?u.image_references:[],l=[],d.forEach(e=>{if(!j(e))return;let t=V(e,"image_url"),r=(0,x.normalizeReferenceInput)(e.reference_input);t&&r?.sourceType==="user_image_asset"&&l.push({imageUrl:t,referenceInput:r})}),l),creditsConsumed:L(p,"actual_credits")??0,prompt:o?.prompt??n.promptText,modelId:n.modelId,modelName:n.modelName,aspectRatio:n.params.aspectRatio,quality:n.params.quality,resolution:n.params.resolution,generatedAt:n.generatedAt},"character"===n.kind?{...m,kind:"character",generationMode:n.generationMode}:{...m,kind:"image",generationMode:n.generationMode})}}if(F.has(l)){let e=(0,q.parseApiErrorPayload)(c,"Image generation failed. Please try again.");return G(e.inputAssetErrorCode,e.storageKeys,a),{status:"failed",error:z((0,N.isInputAssetErrorCode)(e.inputAssetErrorCode)?"invalidReferenceImage":"generationFailed",e)}}return{status:"processing",progressPercent:L(j(c)?c:{},"progress_percent")??null}}catch{return{status:"retry"}}}function z(e,t){return{code:e,message:t.message,...t.storageKeys&&t.storageKeys.length>0?{storageKeys:t.storageKeys}:{}}}function G(e,t,r){(0,N.isInputAssetErrorCode)(e)&&0!==t.length&&r.onReferenceImageCacheInvalid?.(t)}function V(e,t){if(!j(e))return;let r=e[t];return"string"==typeof r&&r.length>0?r:void 0}function L(e,t){let r=e[t];return"number"==typeof r&&Number.isFinite(r)?r:void 0}function j(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}let $=new Set(["completed","failed","expired"]);async function J(e,t,r={}){let a={prompt:(0,M.buildVideoSubmitPrompt)(e),promptMeta:(0,M.buildVideoSubmitPromptMeta)(e),modelId:e.modelId,...e.modelName?{modelName:e.modelName}:{},generationMode:e.generationMode,aspectRatio:e.params.aspectRatio,quality:e.params.quality,resolution:e.params.resolution,durationSeconds:e.params.durationSeconds,generateAudio:e.params.generateAudio,...e.params.pricingVersion?{pricingVersion:e.params.pricingVersion}:{},referenceImages:e.references.map(K),referenceAudios:(e.audioReferences??[]).map(e=>({...e})),referenceVideos:(e.videoReferences??[]).map(e=>({...e}))},s=new Date().toISOString();try{let i=JSON.stringify({model_id:a.modelId,generation_mode:a.generationMode,prompt:a.prompt,prompt_meta:a.promptMeta,duration_seconds:a.durationSeconds,aspect_ratio:a.aspectRatio,quality:a.quality,resolution:a.resolution,generate_audio:a.generateAudio,pricing_version:a.pricingVersion,reference_images:(a.referenceImages??[]).map((e,t)=>({source_type:e.sourceType,role:e.role,index:e.index??t,storage_bucket_type:e.storageBucketType,storage_key:e.storageKey,generation_id:e.generationId,character_id:e.characterId,showcase_id:e.showcaseId,mime_type:e.mimeType,size_bytes:e.sizeBytes})),reference_audios:(a.referenceAudios??[]).map((e,t)=>({source_type:e.sourceType,role:e.role,index:e.index??t,storage_bucket_type:e.storageBucketType,storage_key:e.storageKey,mime_type:e.mimeType,size_bytes:e.sizeBytes,duration_ms:e.durationMs,voice_audio_id:e.voiceAudioId})),reference_videos:(a.referenceVideos??[]).map((e,t)=>({source_type:e.sourceType,role:e.role,index:e.index??t,storage_bucket_type:e.storageBucketType,storage_key:e.storageKey,mime_type:e.mimeType,size_bytes:e.sizeBytes,duration_ms:e.durationMs}))}),n=await B.httpClient.authenticatedFetch("/api/ai/gen-video",()=>({method:"POST",headers:{"Content-Type":"application/json","Idempotency-Key":t},signal:AbortSignal.timeout(6e4),body:i}),{maxRetries:1});if(401===n.status)return{status:"failed",error:H("unauthorized",await (0,q.parseApiErrorResponse)(n,"Please sign in to generate videos."))};if(402===n.status)return{status:"failed",error:H("insufficientCredits",await (0,q.parseApiErrorResponse)(n,"Insufficient credits. Please upgrade your plan."))};if(429===n.status)return{status:"failed",error:H("rateLimited",await (0,q.parseApiErrorResponse)(n,"Video generation is currently busy. Please try again later."))};if(!n.ok){let t=await n.json().catch(()=>({})),a=(0,q.parseApiErrorPayload)(t,"Failed to submit video generation."),s=X(a,e);return Q(a.inputAssetErrorCode,s,r),{status:"failed",error:H((0,N.isInputAssetErrorCode)(a.inputAssetErrorCode)?"invali
1dReferenceMedia":"submitFailed",a,s)}}let o=await n.json(),u=ee(o,"generation_id");if(!u)return{status:"failed",error:{code:"submitFailed",message:"Video generation response did not include a generation id."}};return{status:"submitted",generationId:u,submittedRequest:{prompt:a.prompt,submittedAt:s}}}catch(e){return{status:"failed",error:{code:(0,q.isRequestTimeoutError)(e)?"timeout":"network",message:(0,q.isRequestTimeoutError)(e)?"Video generation request timed out. Please try again.":"Network error. Please check your connection and try again."}}}}async function W(e,t,r,a={}){try{let r,s=await B.httpClient.authenticatedFetch(`/api/ai/gen-video/${encodeURIComponent(e)}`,()=>({method:"GET",signal:AbortSignal.timeout(6e4)}),{maxRetries:1});if(!s.ok){if(s.status>=400&&s.status<500){let e=429===s.status?"rateLimited":"generationFailed";return{status:"failed",error:H(e,await (0,q.parseApiErrorResponse)(s,"Video generation failed. Please try again."))}}return{status:"retry"}}let i=await s.json(),n=ee(i,"status")??"";if("completed"===n)return{status:"completed",result:{kind:"video",generationId:e,videoUrl:ee(i,"video_url")??null,thumbnailUrl:ee(i,"thumbnail_url")??null,aspectRatio:t.params.aspectRatio,createdAt:ee(i,"created_at")??null,completedAt:ee(i,"completed_at")??null,generatedAt:t.generatedAt,status:"completed",errorMessage:null}};if($.has(n)){let e=(0,q.parseApiErrorPayload)(i,"Video generation failed."),r=X(e,t);return Q(e.inputAssetErrorCode,r,a),{status:"failed",error:H((0,N.isInputAssetErrorCode)(e.inputAssetErrorCode)?"invalidReferenceMedia":"generationFailed",e,r)}}return{status:"processing",progressPercent:(r=(et(i)?i:{}).progress_percent,("number"==typeof r&&Number.isFinite(r)?r:void 0)??null)}}catch{return{status:"retry"}}}function H(e,t,r=[]){return{code:e,message:t.message,...t.storageKeys&&t.storageKeys.length>0?{storageKeys:t.storageKeys}:{},...r.length>0?{invalidReferenceAssets:[...r]}:{}}}function Q(e,t,r){if((0,N.isInputAssetErrorCode)(e)&&0!==t.length)try{r.onReferenceMediaInvalid?.(t)}catch{}}function X(e,t){var r;let a,s,i=(a="audioReferences"in(r=t)?r.audioReferences:r.referenceAudios??[],s="videoReferences"in r?r.videoReferences:r.referenceVideos??[],[...r.references.map(({storageBucketType:e,storageKey:t})=>({storageBucketType:e,storageKey:t})),...a.map(({storageBucketType:e,storageKey:t})=>({storageBucketType:e,storageKey:t})),...s.map(({storageBucketType:e,storageKey:t})=>({storageBucketType:e,storageKey:t}))]),n=new Set(i.map(Z));if(e.invalidReferenceAssets&&e.invalidReferenceAssets.length>0)return Y(e.invalidReferenceAssets.filter(e=>n.has(Z(e))));let o=new Map;i.forEach(({storageBucketType:e,storageKey:t})=>{let r=o.get(t)??new Set;r.add(e),o.set(t,r)});let u=[];return e.storageKeys.forEach(e=>{let t=o.get(e);if(!t||1!==t.size)return;let[r]=t;r&&u.push({storageBucketType:r,storageKey:e})}),Y(u)}function Y(e){let t=new Set;return e.filter(e=>{let r=Z(e);return!t.has(r)&&(t.add(r),!0)})}function Z(e){return`${e.storageBucketType}\u0000${e.storageKey}`}function ee(e,t){if(!et(e))return;let r=e[t];return"string"==typeof r&&r.length>0?r:void 0}function et(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}let er=(0,r.createContext)(null),ea=(0,r.createContext)(null);function es(){return{activeTasks:function(e=Date.now()){let t=S();if(!t)return[];try{var r;let a=t.getItem(I);if(!a)return[];let s=JSON.parse(a);if(r=s,!(E(r)&&1===r.version&&"string"==typeof r.savedAt&&Array.isArray(r.tasks)&&r.tasks.every(A)))return t.removeItem(I),[];let i=s.tasks.filter(t=>w(t.updatedAt,e)||w(t.createdAt,e)).map(v).filter(e=>null!==e);return 0===i.length&&t.removeItem(I),i}catch{try{t.removeItem(I)}catch{}return[]}}(),terminalTasks:[]}}function ei(e){var t;return{ok:!1,error:{type:"snapshot_error",error:{code:"mapping_failed",message:(t=e)instanceof Error?t.message:"Failed to build generation task snapshot."}}}}function en(){let e=()=>{};return{promise:new Promise(t=>{e=t}),resolve:e}}function eo(e){return{code:"unknown",message:"video"===e?"Video generation request failed. Please try again.":"Image generation request failed. Please try again."}}function eu(e){if(void 0===e)return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}:${Math.random().toString(36).slice(2)}`;let t=e.trim();return t.length>0&&t.length<=128?t:null}function ed(){return{ok:!1,error:{type:"runtime_not_ready",message:"The generation request cannot be resumed."}}}e.s(["GenerationTasksProvider",0,function({children:e}){let[i,d]=(0,r.useReducer)(g,m,es),c=(0,r.useRef)(new Map),l=(0,r.useRef)(new Map),p=(0,r.useRef)(new Map),y=(0,r.useRef)(i),f=(0,r.useRef)(!1),T=(0,r.useRef)(!1);(0,r.useEffect)(()=>{y.current=i},[i]),(0,r.useEffect)(()=>{let e=new Set;i.activeTasks.forEach(t=>{e.add(t.id)}),i.terminalTasks.forEach(t=>{"failed"===t.status&&t.error?.code==="pollTimeout"&&e.add(t.id)}),p.current.forEach((t,r)=>{e.has(r)||p.current.delete(r)})},[i.activeTasks,i.terminalTasks]);let h=(0,r.useCallback)(e=>{f.current||d(e)},[]),v=(0,r.useCallback)(e=>{let t=c.current.get(e);t&&clearTimeout(t),c.current.delete(e),l.current.delete(e)},[]),A=(0,r.useCallback)(()=>
1{c.current.forEach(e=>clearTimeout(e)),c.current.clear(),l.current.clear(),p.current.clear()},[]),b=(0,r.useCallback)(()=>{n.jwtAuthService.refreshToken().catch(e=>{console.warn("[GenerationTasksProvider] Balance refresh failed:",e)})},[]),R=(0,r.useCallback)((e,t)=>{v(e),"pollTimeout"!==t.code&&p.current.delete(e),h({type:"TASK_FAILED",taskId:e,error:t,updatedAt:new Date().toISOString()})},[v,h]),_=(0,r.useCallback)((e,t,r,a,s={})=>{v(e),l.current.set(e,{startedAt:Date.now(),intervalMs:2e3});let i=async()=>{let n=l.current.get(e);if(!n||f.current)return;if(Date.now()-n.startedAt>48e4)return void R(e,{code:"pollTimeout",message:"Generation is still processing. Continue waiting for the result."});let u=await O(t,r,a,{onReferenceImageCacheInvalid:s.onReferenceImageCacheInvalid});if("completed"===u.status){var d,m;let t=new Date().toISOString();v(e),p.current.delete(e),h({type:"TASK_COMPLETED",taskId:e,result:u.result,updatedAt:t}),d=u.result,m=t,(0,o.emitUserImageAssetsChanged)({generationId:d.generationId,genType:d.kind,reason:"generation_completed",occurredAt:m}),b();return}if("failed"===u.status)return void R(e,u.error);"processing"===u.status&&h({type:"POLL_PROCESSING",taskId:e,progressPercent:u.progressPercent,updatedAt:new Date().toISOString()});let g=l.current.get(e);g&&!f.current&&(c.current.set(e,setTimeout(i,g.intervalMs)),l.current.set(e,{...g,intervalMs:Math.min(g.intervalMs+2e3,5e3)}))};i()},[v,h,R,b]),w=(0,r.useCallback)((e,t,r,a,s={})=>{v(e),l.current.set(e,{startedAt:Date.now(),intervalMs:3e3});let i=async()=>{let n=l.current.get(e);if(!n||f.current)return;if(Date.now()-n.startedAt>6e5)return void R(e,{code:"pollTimeout",message:"Generation is still processing. Continue waiting for the result."});let o=await W(t,r,a,{onReferenceMediaInvalid:s.onReferenceMediaInvalid});if("completed"===o.status){v(e),p.current.delete(e),h({type:"TASK_COMPLETED",taskId:e,result:o.result,updatedAt:new Date().toISOString()}),b();return}if("failed"===o.status)return void R(e,o.error);"processing"===o.status&&h({type:"POLL_PROCESSING",taskId:e,progressPercent:o.progressPercent,updatedAt:new Date().toISOString()});let u=l.current.get(e);u&&!f.current&&(c.current.set(e,setTimeout(i,u.intervalMs)),l.current.set(e,{...u,intervalMs:Math.min(u.intervalMs+2e3,1e4)}))};i()},[v,h,R,b]),E=(0,r.useCallback)(async(e,t,r={},a)=>{p.current.set(e.id,r);try{let s=await U(t,e.clientRequestId,{onReferenceImageCacheInvalid:r.onReferenceImageCacheInvalid});if("failed"===s.status){R(e.id,s.error),a.resolve({status:"failed",error:s.error});return}h({type:"TASK_SUBMITTED",taskId:e.id,generationId:s.generationId,submittedRequest:s.submittedRequest,progressPercent:10,updatedAt:s.submittedRequest.submittedAt}),a.resolve({status:"submitted",generationId:s.generationId,submittedRequest:s.submittedRequest}),_(e.id,s.generationId,e.snapshot,s.submittedRequest,r)}catch{let t=eo("image");R(e.id,t),a.resolve({status:"failed",error:t})}},[h,R,_]),C=(0,r.useCallback)(async(e,t,r={},a)=>{p.current.set(e.id,r);try{let s=await J(t,e.clientRequestId,{onReferenceMediaInvalid:r.onReferenceMediaInvalid});if("failed"===s.status){R(e.id,s.error),a.resolve({status:"failed",error:s.error});return}h({type:"TASK_SUBMITTED",taskId:e.id,generationId:s.generationId,submittedRequest:s.submittedRequest,progressPercent:10,updatedAt:s.submittedRequest.submittedAt}),a.resolve({status:"submitted",generationId:s.generationId,submittedRequest:s.submittedRequest}),w(e.id,s.generationId,e.snapshot,s.submittedRequest,r)}catch{let t=eo("video");R(e.id,t),a.resolve({status:"failed",error:t})}},[h,R,w]),P=(0,r.useCallback)(e=>{let t=y.current.terminalTasks.find(t=>t.id===e);return!(!t||"failed"!==t.status||t.error?.code!=="pollTimeout"||!t.generationId||l.current.has(e))&&(h({type:"TASK_POLLING_CONTINUED",taskId:e,updatedAt:new Date().toISOString()}),"video"===t.kind?w(t.id,t.generationId,t.snapshot,t.submittedRequest,p.current.get(t.id)):_(t.id,t.generationId,t.snapshot,t.submittedRequest,p.current.get(t.id)),!0)},[h,_,w]),K=(0,r.useMemo)(()=>({async startImageTask(e,t={}){let r;try{r={...s(e),kind:"image",generationMode:e.generationMode,comic:(0,a.normalizeComicGenerationSpec)(e.comic),params:{aspectRatio:e.params.aspectRatio,quality:e.params.quality,resolution:e.params.resolution,outputFormat:e.params.outputFormat,count:e.params.count}}}catch(e){return ei(e)}let i=eu(t.resumeClientRequestId);if(!i)return ed();let n=en(),o=new Date().toISOString(),d={id:u("image",i),kind:"image",status:"submitting",surface:t.surface??"overlay",clientRequestId:i,generationId:null,
1snapshot:r,submittedRequest:null,result:null,error:null,progressPercent:10,createdAt:o,updatedAt:o};return h({type:"TASK_CREATED",task:d}),E(d,e,t,n),{ok:!0,value:{taskId:d.id,clientRequestId:i,submission:n.promise}}},async startCharacterTask(e,t={}){let r;try{r={...s(e),kind:"character",generationMode:e.generationMode,params:{aspectRatio:e.params.aspectRatio,quality:e.params.quality,resolution:e.params.resolution,outputFormat:e.params.outputFormat,count:e.params.count},character:{name:e.character.name,detailsEnabled:e.character.detailsEnabled,personality:e.character.personality,outfit:e.character.outfit,action:e.character.action,scene:e.character.scene}}}catch(e){return ei(e)}let a=eu(t.resumeClientRequestId);if(!a)return ed();let i=en(),n=new Date().toISOString(),o={id:u("character",a),kind:"character",status:"submitting",surface:t.surface??"overlay",clientRequestId:a,generationId:null,snapshot:r,submittedRequest:null,result:null,error:null,progressPercent:10,createdAt:n,updatedAt:n};return h({type:"TASK_CREATED",task:o}),E(o,e,t,i),{ok:!0,value:{taskId:o.id,clientRequestId:a,submission:i.promise}}},async startVideoTask(e,t={}){let r;try{r={...s(e),kind:"video",generationMode:e.generationMode,watermark:null,referenceAudios:(e.audioReferences??[]).map(e=>({...e})),referenceVideos:(e.videoReferences??[]).map(e=>({...e})),params:{aspectRatio:e.params.aspectRatio,quality:e.params.quality,resolution:e.params.resolution,durationSeconds:e.params.durationSeconds,generateAudio:e.params.generateAudio,...e.params.pricingVersion?{pricingVersion:e.params.pricingVersion}:{}}}}catch(e){return ei(e)}let a=eu(t.resumeClientRequestId);if(!a)return ed();let i=en(),n=new Date().toISOString(),o={id:u("video",a),kind:"video",videoComposerKind:t.videoComposerKind??"general",status:"submitting",surface:t.surface??"overlay",clientRequestId:a,generationId:null,snapshot:r,submittedRequest:null,result:null,error:null,progressPercent:10,createdAt:n,updatedAt:n};return h({type:"TASK_CREATED",task:o}),C(o,e,t,i),{ok:!0,value:{taskId:o.id,clientRequestId:a,submission:i.promise}}},continueTaskPolling:P}),[P,h,E,C]);return(0,r.useEffect)(()=>{T.current||(T.current=!0,i.activeTasks.forEach(e=>{"processing"===e.status&&e.generationId&&("video"===e.kind?w(e.id,e.generationId,e.snapshot,e.submittedRequest):_(e.id,e.generationId,e.snapshot,e.submittedRequest))}))},[_,w,i.activeTasks]),(0,r.useEffect)(()=>{!function(e){let t=S();if(!t)return;let r=e.activeTasks.filter(e=>"processing"===e.status&&!!e.generationId).map(k);try{if(0===r.length)return void t.removeItem(I);let e={version:1,savedAt:new Date().toISOString(),tasks:r};t.setItem(I,JSON.stringify(e))}catch{}}(i)},[i]),(0,r.useEffect)(()=>(f.current=!1,()=>{f.current=!0,A()}),[A]),(0,t.jsx)(er.Provider,{value:i,children:(0,t.jsx)(ea.Provider,{value:K,children:e})})},"useGenerationTaskActions",0,function(){let e=(0,r.useContext)(ea);if(!e)throw Error("useGenerationTaskActions must be used within GenerationTasksProvider.");return e},"useGenerationTasksState",0,function(){let e=(0,r.useContext)(er);if(!e)throw Error("useGenerationTasksState must be used within GenerationTasksProvider.");return e}],674843)},295656,449166,e=>{"use strict";var t=e.i(497915);function r(e){return{activeItems:u(e.activeTasks).map(o),items:d(e.terminalTasks).map(o)}}function a(e){return n(e,"image")}function s(e){return n(e,"character")}function i(e){return n(e,"video")}function n(e,t){return{activeItems:u(e.activeTasks.filter(e=>e.kind===t)).map(o),items:d(e.terminalTasks.filter(e=>e.kind===t)).map(o)}}function o(e){let t="failed"===e.status&&e.error?.code==="pollTimeout"&&!!e.generationId;return{id:e.id,taskId:e.id,kind:e.kind,surface:e.surface,status:e.status,generationId:e.generationId,generatedAt:e.snapshot.generatedAt,promptText:e.snapshot.promptText,modelId:e.snapshot.modelId,modelName:e.snapshot.modelName,generationMode:e.snapshot.generationMode,progressPercent:e.progressPercent,result:e.result,errorMessage:e.error?.message??null,errorCode:e.error?.code??null,canContinuePolling:t,snapshot:e.snapshot,..."video"===e.kind?{videoComposerKind:e.videoComposerKind}:{}}}function u(e){return[...e].sort((e,t)=>
1c(t)-c(e))}function d(e){return[...e].sort((e,t)=>l(t)-l(e))}function c(e){let t=new Date(e.createdAt).getTime();return Number.isFinite(t)?t:new Date(e.snapshot.generatedAt).getTime()}function l(e){let t=new Date(e.updatedAt).getTime();return Number.isFinite(t)?t:new Date(e.createdAt).getTime()}e.s(["selectAllGenerationTaskFeedState",0,r,"selectCharacterGenerationTaskFeedState",0,s,"selectImageGenerationTaskFeedState",0,a,"selectVideoGenerationTaskFeedState",0,i],449166);var p=e.i(674843);e.s(["useGenerationTaskFeed",0,function(){let e=(0,p.useGenerationTasksState)();return(0,t.useMemo)(()=>({imageFeed:a(e),characterFeed:s(e),videoFeed:i(e),allFeed:r(e)}),[e])}],295656)},402980,e=>{"use strict";let t=0,r=null,a=new Set;e.s(["emitUserImageAssetsChanged",0,function(e){let s=e.generationId.trim();if(!s)return null;t+=1;let i={generationId:s,genType:e.genType,reason:e.reason,occurredAt:e.occurredAt,sequence:t};return r=i,Array.from(a).forEach(e=>{try{e(i)}catch(e){console.warn("[user-assets-events] User image assets listener failed:",e)}}),i},"getLastUserImageAssetsChangedEvent",0,function(){return r},"getUserImageAssetsChangedVersion",0,function(){return t},"subscribeUserImageAssetsChanged",0,function(e){return a.add(e),()=>{a.delete(e)}}])}]);
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.