1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4323],{63128:(e,r,t)=>{function a(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return void 0===e.paginationExpiresAt||Number.isFinite(e.paginationExpiresAt)&&e.paginationExpiresAt>r}function o(e,r,t,o){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Date.now();return(!("overall_rank"===r&&t.trim()&&!o.trim())||void 0!==e.paginationExpiresAt)&&a(e,i)}t.d(r,{I:()=>o,k:()=>a})},64323:(e,r,t)=>{let a;t.d(r,{x5:()=>k,Ay:()=>C,ZV:()=>h,vl:()=>y,jp:()=>v,Y$:()=>_});var o=t(8779),i=t(65229),n=t(63128);let s={recommended_guest:3e5};class l{constructor(){this.cache=new Map}generateKey(e,r,t,a){return`v3-${a}-${e}-${r}-${t}`}get(e,r,t){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",o=this.generateKey(e,r,t,a),i=this.cache.get(o);if(!i)return null;if(i.data&&"object"==typeof i.data&&"paginationExpiresAt"in i.data&&("number"!=typeof i.data.paginationExpiresAt||!(0,n.k)({paginationExpiresAt:i.data.paginationExpiresAt})))return this.cache.delete(o),null;let l=Date.now(),c=s[e]??3e5;return l-i.timestamp>c?(this.cache.delete(o),null):i.data}set(e,r,t,a,o){let i=this.generateKey(e,r,t,a);this.cache.set(i,{data:o,timestamp:Date.now()})}clear(){this.cache.clear()}clearType(e){let r=[];for(let t of this.cache.keys())t.includes(`-${e}-`)&&r.push(t);r.forEach(e=>this.cache.delete(e))}}let c=new l;var d=t(77571);let u={overall_rank:"all_time",latest_rank:"latest",daily_rank:"daily",weekly_rank:"weekly",monthly_rank:"monthly",recommended_rank:"recommended",contest:"contest"},g={all_time:i.API_ENDPOINTS.leaderboard.allTime,latest:i.API_ENDPOINTS.leaderboard.latest,daily:i.API_ENDPOINTS.leaderboard.daily,weekly:i.API_ENDPOINTS.leaderboard.weekly,monthly:i.API_ENDPOINTS.leaderboard.monthly,recommended:i.API_ENDPOINTS.leaderboard.recommended,contest:""};function m(e){return"all_time"===e?"all-time":"daily"===e||"weekly"===e||"monthly"===e||"latest"===e?e:null}function _(e){return u[e]||null}function h(e){return e>=1e8?`${(e/1e8).toFixed(1)}亿`:e>=1e4?`${(e/1e4).toFixed(1)}ä¸`:e.toString()}function f(e,r){let t=e.character_id||e.characterId||"";if(!t)return"";if(!r)return t;let a=(e.leaderboard_type??e.leaderboardType??"")||`r${e.rank??0}`;return`${t}\0${a}`}function y(e,r){if(!Array.isArray(e))return console.warn("Invalid leaderboard items provided to mapLeaderboardToCharacters:",e),[];let t=(null==r?void 0:r.exploreMergedDailyWeekly)===!0,a=new Set;return e.filter(e=>{if(null===e||"object"!=typeof e)return!1;let r=f(e,t);return!(r&&a.has(r))&&(r&&a.add(r),!0)}).map(e=>{try{let r=e.character_id||e.characterId||"",a=e.leaderboard_type??e.leaderboardType??"",o=t?`${r}\0${a||`r${e.rank??0}`}`:void 0;r||console.warn("Missing character_id in leaderboard item:",{rank:e.rank,character_name:e.character_name||e.characterName,item:e}),r&&!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)&&console.warn("Invalid UUID format for character_id:",{characterId:r,rank:e.rank,character_name:e.character_name||e.characterName});let i=e.character_cover_url||e.cover||e.characterCoverUrl||"",n=e.cover_w640??e.coverW640??null,s=e.cover_w1280??e.coverW1280??null,l=e.character_summary||e.summary||e.characterSummary||"",c=[];e.character_tags&&Array.isArray(e.character_tags)?c=e.character_tags:e.tags&&Array.isArray(e.tags)?c=e.tags:e.characterTags&&Array.isArray(e.characterTags)&&(c=e.characterTags);let d=[];if(e.character_categories)if("string"==typeof e.character_categories)try{let r=JSON.parse(e.character_categories);Array.isArray(r)&&(d=r.filter(e=>"string"==typeof e&&""!==e.trim()))}catch{}else Array.isArray(e.character_categories)&&(d=e.character_categories);else e.categories&&Array.isArray(e.categories)?d=e.categories:e.characterCategories&&Array.isArray(e.characterCategories)&&(d=e.characterCategories);let u=e.author_id||e.authorId||"unknown",g=e.author_name||e.authorName||"Unknown",m=e.total_tokens_consumed||e.totalTokensConsumed||e.total_points_consumed||e.totalPointsConsumed||0;return{id:r,title:e.character_name||e.characterName||"Unknown Character",summary:l,thumbnail:i,coverW640:n,coverW1280:s,viewCount:m,viewCountDisplay:h(m),author:{name:g,id:u,image:e.author_image??e.authorImage??null},rating:0,tags:c,categories:d,rank:e.rank||0,userCount:e.user_count||e.userCount||0,sessionCount:e.session_count||e.sessionCount||0,messageCount:e.message_count??e.messageCount??0,avgPointsConsumed:Number(e.avg_points_consumed??e.avgPointsConsumed??0)||0,avgMessageCount:Number(e.avg_message_count??e.avgMessageCount??0)||0,maxMessageCount:Number(e.max_message_count??e.maxMessageCount??0)||0,promptWordCount:Number(e.prompt_word_count??e.promptWordCount??0)||0,worldbookWordCount:Number(e.worldbook_word_count??e.worldbookWordCount??0)||0,favoriteCount:Number(e.favorite_count??e.favoriteCount??0)||0,is_
1in_contest:!!e.is_in_contest,contest_name:e.contest_name??null,...o?{listRowKey:o}:{}}}catch(r){return console.error("Error mapping leaderboard item:",e,r),{id:"",title:"Error",thumbnail:"",viewCount:0,viewCountDisplay:"0",author:{name:"Unknown",id:"unknown",image:null},rating:0,tags:[],categories:[],rank:0,userCount:0,sessionCount:0,messageCount:0,avgPointsConsumed:0,avgMessageCount:0,maxMessageCount:0,promptWordCount:0,worldbookWordCount:0,favoriteCount:0}}})}function v(e,r){if(!Array.isArray(e))return[];let t=(null==r?void 0:r.exploreMergedDailyWeekly)===!0,a=new Set;return e.filter(e=>{if(null===e||"object"!=typeof e)return!1;let r=f(e,t);return!(r&&a.has(r))&&(r&&a.add(r),!0)}).map(e=>{try{let r=e.character_id||e.characterId||"",a=e.leaderboard_type??e.leaderboardType??"",o=t?`${r}\0${a||`r${e.rank??0}`}`:void 0,i=e.character_cover_url||e.cover||e.characterCoverUrl||"",n=e.cover_w640??e.coverW640??null,s=e.cover_w1280??e.coverW1280??null,l=e.character_summary||e.summary||e.characterSummary||"",c=[];if(e.character_categories)if("string"==typeof e.character_categories)try{let r=JSON.parse(e.character_categories);Array.isArray(r)&&(c=r.filter(e=>"string"==typeof e&&""!==e.trim()))}catch{}else Array.isArray(e.character_categories)&&(c=e.character_categories);else e.categories&&Array.isArray(e.categories)&&(c=e.categories);let d=e.total_tokens_consumed||e.totalTokensConsumed||e.total_points_consumed||e.totalPointsConsumed||0;return{id:r,title:e.character_name||e.characterName||"Unknown Character",summary:l,thumbnail:i,coverW640:n,coverW1280:s,viewCountDisplay:h(d),author:{name:e.author_name||e.authorName||"Unknown",id:e.author_id||e.authorId||"unknown",image:e.author_image??e.authorImage??null},categories:c,is_in_contest:!!e.is_in_contest,contest_name:e.contest_name??null,userCount:e.user_count||e.userCount||0,avgPointsConsumed:Number(e.avg_points_consumed??e.avgPointsConsumed??0)||0,avgMessageCount:Number(e.avg_message_count??e.avgMessageCount??0)||0,maxMessageCount:Number(e.max_message_count??e.maxMessageCount??0)||0,promptWordCount:Number(e.prompt_word_count??e.promptWordCount??0)||0,worldbookWordCount:Number(e.worldbook_word_count??e.worldbookWordCount??0)||0,favoriteCount:Number(e.favorite_count??e.favoriteCount??0)||0,...o?{listRowKey:o}:{},..."comfy_app"===e.item_type?{itemType:"comfy_app",comfyAppId:e.comfy_app_id??"",bizId:e.biz_id??null,promoBadge:e.promo_badge??null}:{},...e.is_newbie_pick?{isNewbiePick:!0}:{},...e.is_partner_custom_pick?{isPartnerCustomPick:!0,partnerBadgeLabel:e.partner_badge_label??null}:{},...e.card_badge?{cardBadge:e.card_badge}:{}}}catch{return{id:"",title:"Error",thumbnail:"",viewCountDisplay:"0",author:{name:"Unknown",id:"unknown",image:null},categories:[]}}})}let p="recommended_guest",b=new Map;function w(e){if(!e)return null;let r=e.trim().toLowerCase();return r&&/^[a-z0-9_-]{1,32}$/.test(r)?r:null}class k{static async getLeaderboard(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var t,s;let l;if(!e||!g[e])throw Error(`Invalid leaderboard type: ${e}`);let{page:u=1,pageSize:_=30}=r;if(u<1)throw Error("Page must be a positive integer");if(_<1||_>100)throw Error("PageSize must be between 1 and 100");let h=r.search??"",f=r.category??"",y="all_time"!==e||h?void 0:r.overallRotationDay,v=r.tags??"",k=r.extags??"",C=!!(v||k),A=m(e);if(C&&!A)throw Error("Tag v2 filters are unavailable for this leaderboard");let S="daily"===e&&!0===r.exploreVirtualDailyWeekly,N=S?"daily_explore":e,I=r.fields??"full",P=(t=r.lbAfter,l=!!(0,d.getSessionToken)()||function(){try{let e=localStorage.getItem("user-storage");if(!e)return!1;let r=JSON.parse(e);if(!r||"object"!=typeof r)return!1;let t=r.state;if(!t||"object"!=typeof t)return!1;return!0===t.isAuthenticated&&null!==t.user&&void 0!==t.user}catch{return!1}}(),"recommended"===e&&!h&&!f&&!t&&!l),E="recommended"===e?w(r.refCode):null,$="recommended"===e?r.visitorSegmentHint:void 0,x=I;if(r.snapshotVersion&&(x+=`|snapshot:${r.snapshotVersion}`),void 0!==y&&(x+=`|rotation:${y}`),E&&(x+=`|ref:${E}`),$&&(x+=`|seg:${$}`),P&&!0!==r.forceRefresh){let e=c.get(p,u,_,x);if(e&&"object"==typeof e&&"items"in e)return e}else if(!h&&!f&&!C&&"recommended"!==e&&!r.lbAfter&&!0!==r.forceRefresh){let e=c.get(N,u,_,x);if(e&&"object"==typeof e&&"items"in e)return e}let T=P&&!0!==r.forceRefresh?(s=x,`${u}:${_}:${s}`):null;if(T){let e=b.get(T);if(e)return e}let D=(async()=>{let t=C&&A?i.API_ENDPOINTS.leaderboard.tagV2(A):g[e],s={page:String(u),pageSize:String(_)};h&&(s.search=h),f&&(s.category=f),v&&(s.tags=v),k&&(s.extags=k),!f||h||"all_time"!==e&&("daily"!==e||S)||(s.paginationVersion="v1"),S&&(s.exploreVirtualDailyWeekly="true"),r.lbAfter&&(s.lbAfter=r.lbAfter),r.snapshotVersion&&(s.snapshotVersion=r.snapshotVersion);let l=function(){try{let e=sessionStorage.getItem("leaderboard-read-bucket-v1");if(e&&/^\d{1,2}$/.test(e))return e}catch{}a??=crypto.getRandomValues(new Uint32Array(1))[0]%100;
1try{sessionStorage.setItem("leaderboard-read-bucket-v1",String(a))}catch{}return String(a)}();if(void 0!==l&&(s.lbBucket=l),r.fields&&(s.fields=r.fields),void 0!==y&&(s.rotation_day=String(y)),E&&(s.ref_code=E),"recommended"===e&&r.visitor){let e=r.visitor;e.visitor_id&&(s.visitor_id=e.visitor_id),s.visitor_seen=String(e.visitor_seen),s.visitor_sessions=String(e.visitor_sessions),s.visitor_visit_days=String(e.visitor_visit_days),s.visitor_first_seen=String(e.visitor_first_seen),s.visitor_last_login=e.visitor_last_login?"true":"false",s.visitor_tool_clicks=String(e.visitor_tool_clicks)}let d=(await o.default.get(t,s)).data.data;if(!(0,n.k)(d))throw Error("Leaderboard pagination expired in transit");return P?c.set(p,u,_,x,d):h||f||C||"recommended"===e||r.lbAfter||c.set(N,u,_,x,d),d})();if(T){b.set(T,D);try{return await D}finally{b.delete(T)}}return await D}catch(e){throw console.error("LeaderboardService.getLeaderboard error:",e),e}}static async getRecommendedShelves(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r={};e.fields&&(r.fields=e.fields);let t=w(e.refCode);if(t&&(r.ref_code=t),e.visitor){let t=e.visitor;t.visitor_id&&(r.visitor_id=t.visitor_id),r.visitor_seen=String(t.visitor_seen),r.visitor_sessions=String(t.visitor_sessions),r.visitor_visit_days=String(t.visitor_visit_days),r.visitor_first_seen=String(t.visitor_first_seen),r.visitor_last_login=t.visitor_last_login?"true":"false",r.visitor_tool_clicks=String(t.visitor_tool_clicks)}var a=(await o.default.get(i.API_ENDPOINTS.leaderboard.recommendedShelves,r)).data.data;if(!a||"object"!=typeof a)throw Error("Invalid recommended shelves payload");return{forYou:a.forYou??{type:"recommended",items:[],page:1,pageSize:30,total:0,totalPages:0},shelves:Array.isArray(a.shelves)?a.shelves:[]}}static async getLeaderboardServer(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var t;let a;if(!e||!g[e])throw Error(`Invalid leaderboard type: ${e}`);let{page:o=1,pageSize:s=30}=r;if(o<1)throw Error("Page must be a positive integer");if(s<1||s>100)throw Error("PageSize must be between 1 and 100");let l=r.search??"",c=r.category??"",d=r.tags??"",u=r.extags??"",_=!!(d||u),h="daily"===e&&!0===r.exploreVirtualDailyWeekly,f=m(e);if(_&&!f)throw Error("Tag v2 filters are unavailable for this leaderboard");let y=_&&f?i.API_ENDPOINTS.leaderboard.tagV2(f):g[e],v=new URLSearchParams({page:String(o),pageSize:String(s)});l&&v.set("search",l),c&&v.set("category",c),d&&v.set("tags",d),u&&v.set("extags",u),!c||l||"all_time"!==e&&("daily"!==e||h)||v.set("paginationVersion","v1"),h&&v.set("exploreVirtualDailyWeekly","true"),r.lbAfter&&v.set("lbAfter",r.lbAfter),r.snapshotVersion&&v.set("snapshotVersion",r.snapshotVersion),r.fields&&v.set("fields",r.fields);let p="recommended"===e?w(r.refCode):null;p&&v.set("ref_code",p);let b=`${(0,i.KB)(y)}?${v.toString()}`,k={};(null==(t=r.cookieHeader)?void 0:t.trim())&&(k.Cookie=r.cookieHeader.trim());let C=new AbortController,A=setTimeout(()=>C.abort(),2500);try{a=await fetch(b,{credentials:"include",headers:k,signal:C.signal})}finally{clearTimeout(A)}if(!a.ok)throw Error(`Backend API error: ${a.status} ${a.statusText}`);let S=await a.json(),N=S.data||S;if(!(0,n.k)(N))throw Error("Leaderboard pagination expired in transit");return N}catch(e){throw console.error("LeaderboardService.getLeaderboardServer error:",e),Error(`Failed to fetch leaderboard on server: ${e.message}`)}}static async getLeaderboardHistoryPeriods(e){return(await o.default.get(i.API_ENDPOINTS.leaderboard.historyPeriods,{period_type:e})).data.data}static async getLeaderboardHistory(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{page:a=1,pageSize:n=20}=t;return(await o.default.get(i.API_ENDPOINTS.leaderboard.history,{period_type:e,period:r,page:String(a),pageSize:String(n)})).data.data}}let C=k}}]);
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.