@jerryc05/hi-tools 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,9 +1,13 @@
1
1
  # Installation
2
+
2
3
  ```sh
3
- pnpm add -g @jerryc05/hi-tools
4
+ alias hi='pnpm dlx @jerryc05/hi-tools'
5
+
6
+ hi --help
4
7
  ```
5
8
 
6
9
  # Help
10
+
7
11
  ```
8
12
  hi [command]
9
13
 
package/bin/cli.mjs CHANGED
File without changes
package/dist/index.js CHANGED
@@ -1,20 +1,23 @@
1
1
  #!/usr/bin/env node
2
- typeof globalThis.CustomEvent>"u"&&(globalThis.CustomEvent=class extends Event{constructor(n,t={}){super(n,t),this.detail=t.detail}});import{readFile as ve}from"node:fs/promises";import{join as Ce}from"node:path";import{intro as ke}from"@clack/prompts";import xe from"yargs";import{hideBin as Se}from"yargs/helpers";import{networkInterfaces as te}from"node:os";var ne={"only-ipv4":{alias:"4",desc:"IPv4 only",boolean:!0},"only-ipv6":{alias:"6",desc:"IPv6 only",boolean:!0}},k=[{command:"ips",describe:"Show current machine's IP addrs",builder:ne,handler(e){let n=te(),t={};for(let[o,r]of Object.entries(n))r=r?.filter(s=>e["only-ipv4"]?s.family==="IPv4":e["only-ipv6"]?s.family==="IPv6":!0),r?.length&&(t[o]=r.map(s=>s.address));console.log(t)}}];import{hostname as re}from"node:os";var x=[{command:"mdns",describe:"Show mdns [hostname].local",handler(){let e=re();console.log(e.toLowerCase().endsWith(".local")?e:`${e}.local`)}}];import{spinner as ie}from"@clack/prompts";async function S(){let{execa:e}=await import("execa");try{let{stdout:n}=await e`git rev-parse --abbrev-ref --symbolic-full-name @{u}`;return n.split("/")[0]||"origin"}catch{return"origin"}}async function _({updBranch:e,branch:n,verbose:t}){let o=ie();o.start(`${e?"Updating":"Fetching"} ${n}...`);let{execa:r}=await import("execa");await r({stdio:"inherit",env:t?{GIT_TRACE:"1"}:{}})`git fetch ${await S()} ${n}${e?`:${n}`:""}`,o.message("Merging ..."),await r({stdio:"inherit",env:t?{GIT_TRACE:"1"}:{}})`git merge ${await S()}/${n} --no-verify --no-edit ${t?"":"-q"}`,o.stop("Done")}var w={branch:{alias:"b",default:"master",desc:'Default=master, or "main" if you wish'}},P=[{command:"mm",describe:"[M]erge [M]aster: Update local master to remote's, then merge into current branch",builder:w,handler(e){let{branch:n=w.branch.default,verbose:t}=e;_({updBranch:!0,branch:n,verbose:t})}},{command:"mmm",describe:"[M]erge [M]aster (don't [M]odify local master): Merge remote's master into current branch, without updating local master",builder:w,handler(e){let{branch:n=w.branch.default,verbose:t}=e;_({updBranch:!1,branch:n,verbose:t})}}];import{log as D,spinner as oe}from"@clack/prompts";var T=[{command:"tschk",describe:"My ts-check rules",handler:async()=>{let e=oe();e.start("Running custom tsc type-check...");let n=["2322","2339","2551","6133","6192","18048"],{execa:t}=await import("execa");try{let{stdout:o}=await t({reject:!1,stderr:"ignore"})`npx tsc --noEmit --emitDeclarationOnly false`,r=o.split(`
3
- `).filter(s=>{if(s.includes("/node_modules/"))return!1;let i=s.match(/error TS(\d+):/);return!(!i?.[1]||n.includes(i[1]))});r.length>0?(e.stop("Type-check failed"),r.map(s=>console.log(s)),D.error("Type-check failed"),process.exit(1)):e.stop("Type-check passed")}catch(o){e.stop("Type-check failed"),console.error(o),D.error("Type-check failed"),process.exit(1)}}}];var A=[{command:"bam",describe:"Update BAM code-gen",handler:async()=>{let{execa:e}=await import("execa");await e({stdio:"inherit"})`pnpm dlx @byted-arch-fe/bam-code-generator update`}}];import{cancel as L,isCancel as j,log as g,note as O,select as G}from"@clack/prompts";import m from"picocolors";var E="https://bits.bytedance.net";async function C(e,n,t,o){let r={...e,pageNum:e.pageNum??1},s=`${E}/api/v1/pipelines/runs?${new URLSearchParams(r).toString()}`,i=await fetch(s,{method:"GET",headers:{"Content-Type":"application/json","X-jwt-token":n,Username:t.username},signal:o??null});return{response:i,getJson:async()=>await i.json()}}async function N(e,n,t){let o=`${E}/api/v1/pipelines/runs/${e}`,r=await fetch(o,{method:"GET",headers:{"Content-Type":"application/json","X-jwt-token":n,Username:t.username}});return{response:r,getJson:async()=>await r.json()}}var b={RUNNING:2,CANCELLED:7,SUCCESS:8,FAIL:9};function y(e){let n=new Date(e),t=new Intl.DateTimeFormat("en-US",{timeZoneName:"longOffset"}).formatToParts(n).find(o=>o.type==="timeZoneName")?.value.replace("GMT","");return`${n.toLocaleDateString("zh-CN")} ${n.toTimeString().split(" ")[0]} ${t??""}`}import{log as se,spinner as ae}from"@clack/prompts";import U from"picocolors";var I;async function J(){let e=ae();if(e.start("Logging in..."),!I){let{AIPaaSAuth:o}=await import("@byted/aipaas-auth");I=new o("cn")}let n=await I.getJwt(),t=await I.getUserInfo();return e.stop(`Hi ${U.magenta(t.username)} from ${U.blue(`${t.scope} ${t.work_country}`)}`),se.info(`Login will expire on ${y(t.exp*1e3)}`),{jwtStr:n,jwtObj:t}}async function ce({pipelineId:e,url:n,region:t,verbose:o}){let{jwtStr:r,jwtObj:s}=await J(),i=(()=>{if(e==null&&!n)throw new Error("pipelineId or url is required");return e??q(n??"")})(),c=await B(i,r,s,t);if(c.length<=0){g.error(`No Gecko info found${t?` matching region [${t}]`:""} in latest run`);return}let{default:p}=await import("qrcode");for(let a=0;a<c.length;a++){let l=c[a];try{let u=await p.toString(l?.qrCodeScheme??"",{type:"terminal",small:!0,errorCorrectionLevel:"L"});console.log(`
2
+ var me=Object.defineProperty;var I=(e,s)=>()=>(e&&(s=e(e=0)),s);var fe=(e,s)=>{for(var t in s)me(e,t,{get:s[t],enumerable:!0})};var l=I(()=>{"use strict";typeof globalThis.CustomEvent>"u"&&(globalThis.CustomEvent=class extends Event{constructor(s,t={}){super(s,t),this.detail=t.detail}})});import x from"base62";var h,F=I(()=>{"use strict";l();(o=>{let e=0;o.RAX_WEBPAGE=`/${x.encode(e++)}`,o.RAX_DEVICE_INFO=`/${x.encode(e++)}`,o.RAX_SCRSHOT=`/${x.encode(e++)}`,o.RAX_OPEN_SCHEMA=`/${x.encode(e++)}`})(h||={})});var ee={};fe(ee,{mockData:()=>Ee});var Ee,te=I(()=>{"use strict";l();F();Ee={[h.RAX_DEVICE_INFO]:{deviceInfo:{ipAddress:"10.0.0.196",uuid:"A55D7B2C-CF1D-41A4-B187-49BF49D1381D",deviceName:"iPhone",deviceSystemVersion:"iOS 26.5",deviceRole:"Rax Server",deviceType:"iOS \u771F\u673A(Physical device)",macAddress:"02:00:00:00:00:00"},appInfo:{appInfo:{appName:"TikTok M-Staff",bundleIdentifier:"com.zhiliaoapp.musically.ep",detailInfo:{"Install ID":"7631371245699106574","Device ID":"7627029517815023118","Store region":"US","User ID":"7568648745521906701","Current region":"US"},appVersion:"45.0.0",appBuildJob:"https://bits.bytedance.net/bytebus/build/log?jobId=682910355"},appSettings:{language:{current:{localizedDisplayName:"\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09",displayName:"Chinese (Simplified)"},supportList:[{localizedDisplayName:"translate to key",displayName:"dd"},{localizedDisplayName:"Az\u0259rbaycan",displayName:"Azerbaijani"},{localizedDisplayName:"Bahasa Indonesia",displayName:"Indonesian"},{localizedDisplayName:"Bahasa Melayu",displayName:"Malay"},{localizedDisplayName:"Basa Jawa",displayName:"Javanese"},{localizedDisplayName:"Catal\xE0",displayName:"Catalan"},{localizedDisplayName:"Cebuano",displayName:"Cebuano"},{localizedDisplayName:"\u010Ce\u0161tina",displayName:"Czech"},{localizedDisplayName:"Dansk",displayName:"Danish"},{localizedDisplayName:"Deutsch",displayName:"German"},{localizedDisplayName:"Eesti",displayName:"Estonian"},{localizedDisplayName:"English (UK)",displayName:"English (UK)"},{localizedDisplayName:"English (US)",displayName:"English (US)"},{localizedDisplayName:"Espa\xF1ol",displayName:"Spanish"},{localizedDisplayName:"Espa\xF1ol (Latinoam\xE9rica)",displayName:"Spanish (Latin America)"},{localizedDisplayName:"Filipino",displayName:"Filipino"},{localizedDisplayName:"Fran\xE7ais",displayName:"French"},{localizedDisplayName:"Fran\xE7ais (Canada)",displayName:"French (Canada)"},{localizedDisplayName:"Gaeilge",displayName:"Irish"},{localizedDisplayName:"Hrvatski",displayName:"Croatian"},{localizedDisplayName:"\xCDslenska",displayName:"Icelandic"},{localizedDisplayName:"Italiano",displayName:"Italian"},{localizedDisplayName:"Kiswahili",displayName:"Swahili"},{localizedDisplayName:"Latvie\u0161u",displayName:"Latvian"},{localizedDisplayName:"Lietuvi\u0173",displayName:"Lithuanian"},{localizedDisplayName:"Magyar",displayName:"Hungarian"},{localizedDisplayName:"Nederlands",displayName:"Dutch"},{localizedDisplayName:"norsk (bokm\xE5l)",displayName:"Norwegian (Bokm\xE5l)"},{localizedDisplayName:"O\u02BBzbek",displayName:"Uzbek"},{localizedDisplayName:"Polski",displayName:"Polish"},{localizedDisplayName:"Portugu\xEAs",displayName:"Portuguese"},{localizedDisplayName:"Portugu\xEAs (Brasil)",displayName:"Portuguese (Brazil)"},{localizedDisplayName:"Rom\xE2n\u0103",displayName:"Romanian"},{localizedDisplayName:"Shqip",displayName:"Albanian"},{localizedDisplayName:"Sloven\u010Dina",displayName:"Slovak"},{localizedDisplayName:"Sloven\u0161\u010Dina",displayName:"Slovenian"},{localizedDisplayName:"Suomi",displayName:"Finnish"},{localizedDisplayName:"Svenska",displayName:"Swedish"},{localizedDisplayName:"Ti\u1EBFng Vi\u1EC7t",displayName:"Vietnamese"},{localizedDisplayName:"T\xFCrk\xE7e",displayName:"Turkish"},{localizedDisplayName:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC",displayName:"Greek"},{localizedDisplayName:"\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438",displayName:"Bulgarian"},{localizedDisplayName:"\u049A\u0430\u0437\u0430\u049B\u0448\u0430",displayName:"Kazakh"},{localizedDisplayName:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",displayName:"Russian"},{localizedDisplayName:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",displayName:"Ukrainian"},{localizedDisplayName:"\u05E2\u05D1\u05E8\u05D9\u05EA",displayName:"Hebrew"},{localizedDisplayName:"\u0627\u0631\uFFFD\uFFFD\u0648",displayName:"Urdu"},{localizedDisplayName:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",displayName:"Arabic"},{localizedDisplayName:"\u0641\u0627\u0631\u0633\u06CC",displayName:"Persian"},{localizedDisplayName:"\u0939\u093F\u0902\u0926\u0940",displayName:"Hindi"},{localizedDisplayName:"\u09AC\u09BE\u0982\u09B2\u09BE",displayName:"Bengali"},{localizedDisplayName:"\u0E20\u0E32\u0E29\u0E32\u0E44\u0E17\u0E22",displayName:"Thai"},{localizedDisplayName:"\u1019\u103C\u1014\u103A\u1019\u102C",displayName:"Burmese"},{localizedDisplayName:"\u1781\u17D2\u1798\u17C2\u179A",displayName:"Khmer"},{localizedDisplayName:"\u65E5\u672C\u8A9E",displayName:"Japanese"},{localizedDisplayName:"\u4E2D\u6587\uFF08\u7E41\u9AD4\uFF09",displayName:"Chinese (Traditional)"},{localizedDisplayName:"\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09",displayName:"Chinese (Simplified)"},{localizedDisplayName:"\uD55C\uAD6D\uC5B4",displayName:"Korean"}]},account:{current:{isPendingUnblockRequest:!1,favoritingCount:1,advancedFeatureOrder:[81],verifyInfo:"",customID:"test_ca_whitney",isFindFBFriends:!1,socialInfoModel:{socialPlatformSettings:[{syncStatus:!1,shouldExplicitlyAskSyncConsent:!0,onboardingUserSuggestionFlowABValue:4,socialPlatformType:1},{socialPlatformAccessInfo:{tokenStatus:0},syncStatus:!1,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:3},{tokenStatus:0,accessTokenApp:1},{tokenStatus:0,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!0,onboardingUserSuggestionFlowABValue:4,socialPlatformType:2},{socialPlatformAccessInfo:{tokenStatus:0},syncStatus:!1,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!1,onboardingUserSuggestionFlowABValue:0,socialPlatformType:6}]},pushCommentOff:!1,postDefaultDownloadSetting:!0,schoolVisibleType:0,potentialBizAccountInfo:{isPotentialBA:!1},hasShownInFYP:!1,postCount:0,selfPronounsModel:{enableEditPronouns:!0},avatarNeedUpdate:!1,recommendReasonHeight:0,userInactive:!1,hasHighlightBefore:!1,nickname:"test_ca_whitney",blockStatus:0,multiAccountBlockingByType:0,hasDouPlusEntry:!1,withStarAtlasEntrance:!1,hasTwitterToken:!1,hasAwemeGoodsEntry:!1,friendsTabInfo:{enableFriendsTab:!0},hideShootButton:!1,calculatedHeight:0,enableSubscription:!1,liveStreamWidth:0,aliasPermission:0,stitchSetting:0,nicknameModifyTime:1762213591,isAuthorMissing:!1,skipConfigureContactBasedSuggestionReason:!1,blockingByType:0,postNotificationStatus:0,verificationType:0,shoutoutWrapperStatus:0,shadowAccountType:0,followStatus:0,searchMatchBy:0,shouldShowCompanyHomepageTab:!1,isPrivateAccount:!1,nicknameNeedUpdate:!1,youtubeLastRefreshTime:0,isInvited:!1,commentFilterStatus:0,friendCount:0,audienceControlViewerMode:0,isCalculateHeight:!1,collectCount:0,signature:"",historyMaxfansCount:0,isViewer:!1,uniqueIdModifyTime:"1969-12-31T16:00:00-0800",showTipEntry:!1,tagSearchIsBA:!1,sprintModel:{sprintNumber:0},isDisciplineMember:!1,inboxShowPosotion:0,musicComplianceAccount:0,youtubeRefreshToken:"",hasInsights:!1,profileDefaultTab:0,tabSettings:{repostTab:{showRepostTabSelf:2},privateTab:{privateTabStyle:2,showPrivateTab:!0}},allFollowersCount:0,liveAgreement:!1,isStar:!1,cancelType:0,youtubeChannelId:"",favoritedCount:0,isBusinessAccount:!1,enterpriseVerifyInfo:"",isVideoViewAuthorized:!1,showFollowButtonOnFeed:!1,secUserID:"MS4wLjABAAAAXlS2u20JUwdcAZ__SDpPrjhcMqi30gXkYxoRDB6lh2N0bZFh1DHtGNunZcbdGh16",twitterName:"",enableEditAlias:!1,forcePrivateAccount:!1,skylightRelationType:0,followerCount:0,messageConfig:0,isFromRelatedFriends:!1,userAgeGateAction:0,isFollowerCountPreload:!1,liveCommerce:!1,category:"",showFavoriteList:!1,isFreeFlowCardUser:!1,withNewGoods:!1,hasYoutubeToken:!1,visibleVideosCount:0,followingCount:5,commerceUserLevel:0,pushFollowOff:!1,showFirstAvatarDecoration:!1,hasInvited:!1,isNoAccountAd:!1,hasShownInFriends:!1,commerceUserInfo:{adRevenueSharing:!1,adAuthorizationEnabled:!1,TCMType:0,adsFeedbackEntry:!0,hasPromote:!0,CLFType:0,hasAdsEntry:!1,canAuthAuctionAdVideo:!1,notificationConfig:!1,isAdPartner:!1,hasTCMEntry:!1,authVideoSettingType:0,adExperienceEntry:!1,promoteType:0,showStarAtlasGuide:!1},twitterId:"",shouldShowMessageEntry:!0,completeProfileGuideStrategy:5,userID:"7568648745521906701",specialAccount:{accountList:[2]},shouldDisplayWhiteValantineEntry:!1,youtubeChannelTitle:"",accountType:0,profileViewsEntrance:{canShowEntrance:!0,unreadViewerCount:0},avatar168:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=0c8bd2f7&x-expires=1778292000&x-signature=scG8ewl0ujAN3XMfbIBMhE%2FQ3HI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=82736305&x-expires=1778292000&x-signature=CJ0f7trWqbbPucQPk53qMNO6IyA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.jpeg?dr=9638&refresh_token=18e39837&x-expires=1778292000&x-signature=7caEe7iugTywd9m9c4do797VKiw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},avatarMedium:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=9d4159ab&x-expires=1778292000&x-signature=YQ46s%2BumoyNuPmmhgsNFe5CQUGo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=2be64f44&x-expires=1778292000&x-signature=mqGcBfbS8kUe3QXFe7sbRebDUmk%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=ec22fa24&x-expires=1778292000&x-signature=NjRURlkgREEZqUT1Sszwm9Klgag%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},isGeoBlockedProfile:!1,invitationStatus:0,avatarThumb:{originURLList:["https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=30798d4f&x-expires=1778292000&x-signature=dQdoc%2F2w0%2F9NebkZrEoKf%2BKw2fQ%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=1887bfe5&x-expires=1778292000&x-signature=jvlSqVZVQi%2By%2B1j0ug3HnkcEKzA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=e0c8d351&x-expires=1778292000&x-signature=UCYxWDGJrPcrG6M7duySgKiEH80%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},storyState:0,ageGateTime:0,isSkeleton:!1,contentLanguageAlreadyPopup:!1,customVerifyInfo:"",canModifySchoolInfo:!1,insId:"",hasGoodsNewbieTask:!1,youtubeRawRefreshToken:"",duetSetting:0,isAISummaryShow:!1,liveStreamHeight:0,iterateCount:0,isPicked:!1,isAdVirtual:!1,forwardCount:0,activityStatusSetting:0,videoGiftStatus:0,contactsSyncStatus:!1,liveNotificationStatus:0,commercePermission:{enterpriseHeadImage:-1,videoTopPermission:-1,linkAdPermission:-1,enterpriseAccount:-1,businessPortalPermission:!1,starAtlasPermission:-1},commentSetting:0,isContactFriends:!1,isVerifiedTako:0,videoViewType:0,isMutePost:!1,isInDeactivateBufferPeriod:!1,showArtistPlaylist:!1,isProAccount:!1,roomID:0,matchedFriendCount:40,isInviteFriendsOnRecommendCell:!1,registStatus:0,followerStatus:0,realNameVerifyStatus:0,isMuteLive:!1,muteStatus:0,isAcceptPrivatePolicy:!0,shouldShowPhotoIntroductionBubble:!1,accountRegion:"",isInviteFriends:!1,showUserBanDialog:!1,storyStateTimeStamp:44949,followBtnShouldShowSendMsgText:!1,boldFieldsDict:{nickname:1},enabledFilterAllComments:!1,profilePV:0,friendsStatus:0,isEmailVerified:!1,hasCert:!1,isDouplusOldUser:!1,educationType:0,downloadSetting:0,userRate:1,isPreload:!1,userProfileGuideList:[{guideText:"\u5206\u4EAB\u4E00\u5F20\u56DE\u5FC6\u7167",guideKey:"add_profile_info_empty_title_02"},{guideText:"\u4F60\u6700\u8FD1\u62CD\u4E86\u54EA\u4E9B\u597D\u770B\u7684\u7167\u7247\uFF1F",guideKey:"add_profile_info_empty_title_04"},{guideText:"\u5206\u4EAB\u4F60\u6700\u53D7\u6B22\u8FCE\u7684\u7167\u7247",guideKey:"add_profile_info_empty_title_05"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u56DE\u5FC6\u89C6\u9891",guideKey:"add_profile_info_empty_title_09"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u6700\u8FD1\u5F55\u5236\u7684\u6709\u8DA3\u89C6\u9891",guideKey:"add_profile_info_empty_title_10"},{guideText:"\u5206\u4EAB\u4F60\u7684\u65E5\u5E38\u751F\u6D3B",guideKey:"add_profile_info_empty_title_13"}],registerTime:"2025-11-03T15:42:51-0800",needAddrCard:!1,latestGenericOrderTime:0,pushDiggOff:!1,isMocked:!1,shareInfo:{shareURL:"https://www.tiktok.com/@test_ca_whitney?_r=1&_d=f30hjm5k89i3kh&sec_uid=MS4wLjABAAAAXlS2u20JUwdcAZ__SDpPrjhcMqi30gXkYxoRDB6lh2N0bZFh1DHtGNunZcbdGh16&share_author_id=7568648745521906701&sharer_language=zh&source=h5_m&u_code=f08bdm2ec944h0",shareDescription:"\u5FEB\u6765\u770B\u770B test_ca_whitney\uFF01#TikTok",shareTitle:"\u52A0\u5165 TikTok\uFF0C\u4E86\u89E3\u6211\u7684\u8FD1\u51B5\uFF01",isPersist:!1,shareWeiboDescription:"TikTok \u8FF7 - \u6211\u5728\u4F7F\u7528 TikTok\uFF01"},lastActiveTime:0,disableSearch:!1,privateAccount:!1,imprId:"",avatar300:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=5f8a19d3&x-expires=1778292000&x-signature=lkDVSS%2B9x4GyaJmgpU4%2F%2FeYqghY%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=a91fb800&x-expires=1778292000&x-signature=ZBDLdcv%2Bjl0EUIolsLJNp9%2BVLyE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.jpeg?dr=9638&refresh_token=ebb4af65&x-expires=1778292000&x-signature=yC0LgdgkljG6Cy9yxL4b6bCYs0c%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},qaStatus:0,isEffectArtist:!1,bioLinkClickAction:0,shouldShowMinorPrivatePolicy:!1,canSetGeofencing:!1,postPushNotificationStatus:0,showRelationLabelOnFeed:!1,mallTabUserInfo:{enableMallTab:!0},userAccountMode:0,userLoginPlatform:0,versionCode:0,isFromLocalDB:!1,dspProfile:{collectCount:0},fbExpireTime:0,isMuteStory:!1,supportingNGO:{},showMessagingEntranceOnProfile:!1,followerCountNew:0,bonusGiftStatus:0,privateAwemeCount:0,mutualUserBlockStatus:0,userLaunchedAgeGate:!1,awemeCount:0,verificationBadgeType:0,proAccountRedDot:0,ytExpireTime:0,impressionIndex:0,predictAgeGroup:"",preventDownload:!1,showCommerceEntry:!1,advancedFeatureInfo:[{red_dot_count:0,order_center_icon_dark_url:"https://p16-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/5e9017a07cf45dc74388f29b71fdc20f.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast8&from=3345091750",feature_id:81,order_center_icon_url:"https://p16-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/e7797f84932d5839a0dd24e60cb7c415.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast8&from=3345091750",order_center_title:"\u4F60\u7684\u8BA2\u5355",order_center_title_en:"Your orders",order_center_schema:"sslocal://webcast_lynxview?url=https%3A%2F%2Flf16-gecko-source.tiktokcdn.com%2Fobj%2Fbyte-gurd-source-sg%2Ftiktok%2Ffe%2Flive%2Ftiktok_live_ecommerce_tts_shop_center%2Fpages%2Fshop-center%2Ftemplate.js&hide_nav_bar=1&trans_status_bar=1&use_new_container=1&use_schema_sdk=1&experiment=order_center_v2&experiment_version=3"}],blockedStatus:0,hasFacebookToken:!1,postNewCount:0,enableDirectMessage:!1,proAccountMigrateType:0,originalMusician:{musicCount:0,musicUsedCount:0,mainArtistNewReleaseCount:0,diggCount:0},signatureModifyTime:0,order:0,musicTabInfo:{showGhostMusicTab:!1,showFanSpotlight:!0},analyticsMetrics:!1,twExpireTime:0,isFavoritedCountPreload:!1,isFollowingCountPreload:!1,boldFields:["nickname"],bioPermission:{enableBioEmail:!1,enableDownloadAppLink:!1,enableBioURL:!1},userMode:1,userPeriod:0},loginAccountList:[{isPendingUnblockRequest:!1,favoritingCount:1,advancedFeatureOrder:[81],verifyInfo:"",customID:"test_ca_whitney",isFindFBFriends:!1,socialInfoModel:{socialPlatformSettings:[{syncStatus:!1,shouldExplicitlyAskSyncConsent:!0,onboardingUserSuggestionFlowABValue:4,socialPlatformType:1},{socialPlatformAccessInfo:{tokenStatus:0},syncStatus:!1,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:3},{tokenStatus:0,accessTokenApp:1},{tokenStatus:0,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!0,onboardingUserSuggestionFlowABValue:4,socialPlatformType:2},{socialPlatformAccessInfo:{tokenStatus:0},syncStatus:!1,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!1,onboardingUserSuggestionFlowABValue:0,socialPlatformType:6}]},pushCommentOff:!1,postDefaultDownloadSetting:!0,schoolVisibleType:0,potentialBizAccountInfo:{isPotentialBA:!1},hasShownInFYP:!1,postCount:0,selfPronounsModel:{enableEditPronouns:!0},avatarNeedUpdate:!1,recommendReasonHeight:0,userInactive:!1,hasHighlightBefore:!1,nickname:"test_ca_whitney",blockStatus:0,multiAccountBlockingByType:0,hasDouPlusEntry:!1,withStarAtlasEntrance:!1,hasTwitterToken:!1,hasAwemeGoodsEntry:!1,friendsTabInfo:{enableFriendsTab:!0},hideShootButton:!1,calculatedHeight:0,enableSubscription:!1,liveStreamWidth:0,aliasPermission:0,stitchSetting:0,nicknameModifyTime:1762213591,isAuthorMissing:!1,skipConfigureContactBasedSuggestionReason:!1,blockingByType:0,postNotificationStatus:0,verificationType:0,shoutoutWrapperStatus:0,shadowAccountType:0,followStatus:0,searchMatchBy:0,shouldShowCompanyHomepageTab:!1,isPrivateAccount:!1,nicknameNeedUpdate:!1,youtubeLastRefreshTime:0,isInvited:!1,commentFilterStatus:0,friendCount:0,audienceControlViewerMode:0,isCalculateHeight:!1,collectCount:0,signature:"",historyMaxfansCount:0,isViewer:!1,uniqueIdModifyTime:"1969-12-31T16:00:00-0800",showTipEntry:!1,tagSearchIsBA:!1,sprintModel:{sprintNumber:0},isDisciplineMember:!1,inboxShowPosotion:0,musicComplianceAccount:0,youtubeRefreshToken:"",hasInsights:!1,profileDefaultTab:0,tabSettings:{repostTab:{showRepostTabSelf:2},privateTab:{privateTabStyle:2,showPrivateTab:!0}},allFollowersCount:0,liveAgreement:!1,isStar:!1,cancelType:0,youtubeChannelId:"",favoritedCount:0,isBusinessAccount:!1,enterpriseVerifyInfo:"",isVideoViewAuthorized:!1,showFollowButtonOnFeed:!1,secUserID:"MS4wLjABAAAAXlS2u20JUwdcAZ__SDpPrjhcMqi30gXkYxoRDB6lh2N0bZFh1DHtGNunZcbdGh16",twitterName:"",enableEditAlias:!1,forcePrivateAccount:!1,skylightRelationType:0,followerCount:0,messageConfig:0,isFromRelatedFriends:!1,userAgeGateAction:0,isFollowerCountPreload:!1,liveCommerce:!1,category:"",showFavoriteList:!1,isFreeFlowCardUser:!1,withNewGoods:!1,hasYoutubeToken:!1,visibleVideosCount:0,followingCount:5,commerceUserLevel:0,pushFollowOff:!1,showFirstAvatarDecoration:!1,hasInvited:!1,isNoAccountAd:!1,hasShownInFriends:!1,commerceUserInfo:{adRevenueSharing:!1,adAuthorizationEnabled:!1,TCMType:0,adsFeedbackEntry:!0,hasPromote:!0,CLFType:0,hasAdsEntry:!1,canAuthAuctionAdVideo:!1,notificationConfig:!1,isAdPartner:!1,hasTCMEntry:!1,authVideoSettingType:0,adExperienceEntry:!1,promoteType:0,showStarAtlasGuide:!1},twitterId:"",shouldShowMessageEntry:!0,completeProfileGuideStrategy:5,userID:"7568648745521906701",specialAccount:{accountList:[2]},shouldDisplayWhiteValantineEntry:!1,youtubeChannelTitle:"",accountType:0,profileViewsEntrance:{canShowEntrance:!0,unreadViewerCount:0},avatar168:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=0c8bd2f7&x-expires=1778292000&x-signature=scG8ewl0ujAN3XMfbIBMhE%2FQ3HI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=82736305&x-expires=1778292000&x-signature=CJ0f7trWqbbPucQPk53qMNO6IyA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.jpeg?dr=9638&refresh_token=18e39837&x-expires=1778292000&x-signature=7caEe7iugTywd9m9c4do797VKiw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},avatarMedium:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=9d4159ab&x-expires=1778292000&x-signature=YQ46s%2BumoyNuPmmhgsNFe5CQUGo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=2be64f44&x-expires=1778292000&x-signature=mqGcBfbS8kUe3QXFe7sbRebDUmk%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=ec22fa24&x-expires=1778292000&x-signature=NjRURlkgREEZqUT1Sszwm9Klgag%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},isGeoBlockedProfile:!1,invitationStatus:0,avatarThumb:{originURLList:["https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=30798d4f&x-expires=1778292000&x-signature=dQdoc%2F2w0%2F9NebkZrEoKf%2BKw2fQ%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=1887bfe5&x-expires=1778292000&x-signature=jvlSqVZVQi%2By%2B1j0ug3HnkcEKzA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=e0c8d351&x-expires=1778292000&x-signature=UCYxWDGJrPcrG6M7duySgKiEH80%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},storyState:0,ageGateTime:0,isSkeleton:!1,contentLanguageAlreadyPopup:!1,customVerifyInfo:"",canModifySchoolInfo:!1,insId:"",hasGoodsNewbieTask:!1,youtubeRawRefreshToken:"",duetSetting:0,isAISummaryShow:!1,liveStreamHeight:0,iterateCount:0,isPicked:!1,isAdVirtual:!1,forwardCount:0,activityStatusSetting:0,videoGiftStatus:0,contactsSyncStatus:!1,liveNotificationStatus:0,commercePermission:{enterpriseHeadImage:-1,videoTopPermission:-1,linkAdPermission:-1,enterpriseAccount:-1,businessPortalPermission:!1,starAtlasPermission:-1},commentSetting:0,isContactFriends:!1,isVerifiedTako:0,videoViewType:0,isMutePost:!1,isInDeactivateBufferPeriod:!1,showArtistPlaylist:!1,isProAccount:!1,roomID:0,matchedFriendCount:40,isInviteFriendsOnRecommendCell:!1,registStatus:0,followerStatus:0,realNameVerifyStatus:0,isMuteLive:!1,muteStatus:0,isAcceptPrivatePolicy:!0,shouldShowPhotoIntroductionBubble:!1,accountRegion:"",isInviteFriends:!1,showUserBanDialog:!1,storyStateTimeStamp:44949,followBtnShouldShowSendMsgText:!1,boldFieldsDict:{nickname:1},enabledFilterAllComments:!1,profilePV:0,friendsStatus:0,isEmailVerified:!1,hasCert:!1,isDouplusOldUser:!1,educationType:0,downloadSetting:0,userRate:1,isPreload:!1,userProfileGuideList:[{guideText:"\u5206\u4EAB\u4E00\u5F20\u56DE\u5FC6\u7167",guideKey:"add_profile_info_empty_title_02"},{guideText:"\u4F60\u6700\u8FD1\u62CD\u4E86\u54EA\u4E9B\u597D\u770B\u7684\u7167\u7247\uFF1F",guideKey:"add_profile_info_empty_title_04"},{guideText:"\u5206\u4EAB\u4F60\u6700\u53D7\u6B22\u8FCE\u7684\u7167\u7247",guideKey:"add_profile_info_empty_title_05"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u56DE\u5FC6\u89C6\u9891",guideKey:"add_profile_info_empty_title_09"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u6700\u8FD1\u5F55\u5236\u7684\u6709\u8DA3\u89C6\u9891",guideKey:"add_profile_info_empty_title_10"},{guideText:"\u5206\u4EAB\u4F60\u7684\u65E5\u5E38\u751F\u6D3B",guideKey:"add_profile_info_empty_title_13"}],registerTime:"2025-11-03T15:42:51-0800",needAddrCard:!1,latestGenericOrderTime:0,pushDiggOff:!1,isMocked:!1,shareInfo:{shareURL:"https://www.tiktok.com/@test_ca_whitney?_r=1&_d=f30hjm5k89i3kh&sec_uid=MS4wLjABAAAAXlS2u20JUwdcAZ__SDpPrjhcMqi30gXkYxoRDB6lh2N0bZFh1DHtGNunZcbdGh16&share_author_id=7568648745521906701&sharer_language=zh&source=h5_m&u_code=f08bdm2ec944h0",shareDescription:"\u5FEB\u6765\u770B\u770B test_ca_whitney\uFF01#TikTok",shareTitle:"\u52A0\u5165 TikTok\uFF0C\u4E86\u89E3\u6211\u7684\u8FD1\u51B5\uFF01",isPersist:!1,shareWeiboDescription:"TikTok \u8FF7 - \u6211\u5728\u4F7F\u7528 TikTok\uFF01"},lastActiveTime:0,disableSearch:!1,privateAccount:!1,imprId:"",avatar300:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=5f8a19d3&x-expires=1778292000&x-signature=lkDVSS%2B9x4GyaJmgpU4%2F%2FeYqghY%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=a91fb800&x-expires=1778292000&x-signature=ZBDLdcv%2Bjl0EUIolsLJNp9%2BVLyE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.jpeg?dr=9638&refresh_token=ebb4af65&x-expires=1778292000&x-signature=yC0LgdgkljG6Cy9yxL4b6bCYs0c%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},qaStatus:0,isEffectArtist:!1,bioLinkClickAction:0,shouldShowMinorPrivatePolicy:!1,canSetGeofencing:!1,postPushNotificationStatus:0,showRelationLabelOnFeed:!1,mallTabUserInfo:{enableMallTab:!0},userAccountMode:0,userLoginPlatform:0,versionCode:0,isFromLocalDB:!1,dspProfile:{collectCount:0},fbExpireTime:0,isMuteStory:!1,supportingNGO:{},showMessagingEntranceOnProfile:!1,followerCountNew:0,bonusGiftStatus:0,privateAwemeCount:0,mutualUserBlockStatus:0,userLaunchedAgeGate:!1,awemeCount:0,verificationBadgeType:0,proAccountRedDot:0,ytExpireTime:0,impressionIndex:0,predictAgeGroup:"",preventDownload:!1,showCommerceEntry:!1,advancedFeatureInfo:[{red_dot_count:0,order_center_icon_dark_url:"https://p16-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/5e9017a07cf45dc74388f29b71fdc20f.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast8&from=3345091750",feature_id:81,order_center_icon_url:"https://p16-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/e7797f84932d5839a0dd24e60cb7c415.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast8&from=3345091750",order_center_title:"\u4F60\u7684\u8BA2\u5355",order_center_title_en:"Your orders",order_center_schema:"sslocal://webcast_lynxview?url=https%3A%2F%2Flf16-gecko-source.tiktokcdn.com%2Fobj%2Fbyte-gurd-source-sg%2Ftiktok%2Ffe%2Flive%2Ftiktok_live_ecommerce_tts_shop_center%2Fpages%2Fshop-center%2Ftemplate.js&hide_nav_bar=1&trans_status_bar=1&use_new_container=1&use_schema_sdk=1&experiment=order_center_v2&experiment_version=3"}],blockedStatus:0,hasFacebookToken:!1,postNewCount:0,enableDirectMessage:!1,proAccountMigrateType:0,originalMusician:{musicCount:0,musicUsedCount:0,mainArtistNewReleaseCount:0,diggCount:0},signatureModifyTime:0,order:0,musicTabInfo:{showGhostMusicTab:!1,showFanSpotlight:!0},analyticsMetrics:!1,twExpireTime:0,isFavoritedCountPreload:!1,isFollowingCountPreload:!1,boldFields:["nickname"],bioPermission:{enableBioEmail:!1,enableDownloadAppLink:!1,enableBioURL:!1},userMode:1,userPeriod:0},{isPendingUnblockRequest:!1,favoritingCount:95,advancedFeatureOrder:[81,82,11],verifyInfo:"",customID:"uk_cs_003",isFindFBFriends:!1,socialInfoModel:{socialPlatformSettings:[{syncStatus:!0,shouldExplicitlyAskSyncConsent:!0,onboardingUserSuggestionFlowABValue:4,socialPlatformType:1},{socialPlatformAccessInfo:{tokenStatus:1},syncStatus:!0,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:3},{tokenStatus:0,accessTokenApp:1},{tokenStatus:1,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!1,onboardingUserSuggestionFlowABValue:4,socialPlatformType:2},{socialPlatformAccessInfo:{tokenStatus:0},syncStatus:!1,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!1,onboardingUserSuggestionFlowABValue:0,socialPlatformType:6}]},pushCommentOff:!1,postDefaultDownloadSetting:!0,schoolVisibleType:0,hasShownInFYP:!1,postCount:0,selfPronounsModel:{enableEditPronouns:!0},avatarNeedUpdate:!1,recommendReasonHeight:0,userInactive:!1,hasHighlightBefore:!1,nickname:"tangzhibo.pro+ttp13",blockStatus:0,multiAccountBlockingByType:0,hasDouPlusEntry:!1,withStarAtlasEntrance:!1,hasTwitterToken:!1,hasAwemeGoodsEntry:!1,friendsTabInfo:{enableFriendsTab:!0},hideShootButton:!1,calculatedHeight:0,enableSubscription:!0,liveStreamWidth:0,aliasPermission:0,stitchSetting:0,nicknameModifyTime:0,isAuthorMissing:!1,skipConfigureContactBasedSuggestionReason:!1,blockingByType:0,postNotificationStatus:0,verificationType:0,shoutoutWrapperStatus:0,shadowAccountType:0,followStatus:0,searchMatchBy:0,shouldShowCompanyHomepageTab:!1,isPrivateAccount:!1,nicknameNeedUpdate:!1,youtubeLastRefreshTime:0,isInvited:!1,commentFilterStatus:0,friendCount:32,audienceControlViewerMode:0,isCalculateHeight:!1,collectCount:0,signature:"",historyMaxfansCount:122,isViewer:!1,uniqueIdModifyTime:"1969-12-31T16:00:00-0800",showTipEntry:!1,tagSearchIsBA:!1,sprintModel:{sprintNumber:0},isDisciplineMember:!1,inboxShowPosotion:0,musicComplianceAccount:1,youtubeRefreshToken:"",hasInsights:!0,profileDefaultTab:0,tabSettings:{repostTab:{showRepostTabSelf:1},ttUserShopTab:{shouldShowShopTab:!0,shopSchema:"",shopSchemaV2:"",showRedDot:!1},privateTab:{privateTabStyle:2,showPrivateTab:!0}},allFollowersCount:0,liveAgreement:!1,isStar:!1,cancelType:0,youtubeChannelId:"",favoritedCount:34,isBusinessAccount:!1,enterpriseVerifyInfo:"",isVideoViewAuthorized:!1,showFollowButtonOnFeed:!1,secUserID:"MS4wLjABAAAANSM6M9oy-IEQK7kXcH5zo7KLQKXm1OiMbPG4IAWL6wrUPAtrLoy1XO8XbD4jNrMp",twitterName:"",enableEditAlias:!1,forcePrivateAccount:!1,skylightRelationType:0,followerCount:122,messageConfig:0,isFromRelatedFriends:!1,userAgeGateAction:0,isFollowerCountPreload:!1,liveCommerce:!1,category:"\u8D2D\u7269\u4E0E\u96F6\u552E",showFavoriteList:!1,isFreeFlowCardUser:!1,withNewGoods:!1,hasYoutubeToken:!1,visibleVideosCount:243,followingCount:216,commerceUserLevel:0,pushFollowOff:!1,showFirstAvatarDecoration:!1,hasInvited:!1,isNoAccountAd:!1,hasShownInFriends:!1,commerceUserInfo:{adRevenueSharing:!1,adAuthorizationEnabled:!0,TCMType:0,adsFeedbackEntry:!0,hasPromote:!0,CLFType:0,hasAdsEntry:!1,canAuthAuctionAdVideo:!1,notificationConfig:!1,isAdPartner:!1,hasTCMEntry:!1,authVideoSettingType:0,adExperienceEntry:!1,promoteType:0,showStarAtlasGuide:!1},twitterId:"",shouldShowMessageEntry:!0,completeProfileGuideStrategy:5,userID:"7114126837401420846",specialAccount:{accountList:[2],seller:{isAllowListSeller:!1,sellerAccountType:0}},shouldDisplayWhiteValantineEntry:!1,youtubeChannelTitle:"",accountType:3,profileViewsEntrance:{canShowEntrance:!0,unreadViewerCount:1,avatarThumbList:[{originURLList:["https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter-q:100:100:q70.webp?dr=8835&idc=useast5&ps=87d6e48a&refresh_token=5738fcce&s=TIKTOK_PROFILE_VIEWER&sc=avatar&shcp=2472a6c6&shp=30310797&t=223449c4&x-expires=1777687200&x-signature=MnnfhIiKTPNmJARVha0Qtn0pEUw%3D","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter-q:100:100:q70.webp?dr=8835&idc=useast5&ps=87d6e48a&refresh_token=a116187f&s=TIKTOK_PROFILE_VIEWER&sc=avatar&shcp=2472a6c6&shp=30310797&t=223449c4&x-expires=1777687200&x-signature=bxw3XPaY5GkpxGBTB140yJcx3OQ%3D","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter-q:100:100:q70.jpeg?dr=8835&idc=useast5&ps=87d6e48a&refresh_token=658809ab&s=TIKTOK_PROFILE_VIEWER&sc=avatar&shcp=2472a6c6&shp=30310797&t=223449c4&x-expires=1777687200&x-signature=peZzoPTm%2Brm7x3jIDMLgGRWhXkw%3D"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1}]},avatar168:{originURLList:["https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=142994ec&x-expires=1777773600&x-signature=d7%2BliV%2BQszaSqdkX5GRJSfO8qcI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=7535fd83&x-expires=1777773600&x-signature=7506SvS60Znfo5v5Fao0CNwIdUU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:168:168.jpeg?dr=9638&refresh_token=9e84dbdd&x-expires=1777773600&x-signature=h4sdMr9%2BnkcTm%2BNaD0FXtIMlbw8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"tos-useast5-avt-0068-tx/7352308655956361262",imageWidth:0,needReplaceVVICFormat:!1},avatarMedium:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=e6fc3ca8&x-expires=1777773600&x-signature=Jafft1SDNbQss5MVnaElpl5TT%2Bk%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=340fcc43&x-expires=1777773600&x-signature=FuTYFCs3BuU3YSd1fdUWyEuqHtg%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=881ba29d&x-expires=1777773600&x-signature=1dSof9DYbhHr2StbmRRcl533aKw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"tos-useast5-avt-0068-tx/7352308655956361262",imageWidth:0,needReplaceVVICFormat:!1},isGeoBlockedProfile:!1,invitationStatus:0,avatarThumb:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=f3e392a4&x-expires=1777773600&x-signature=0SzJywqV4kRIQG8zMUYRwkT5bLs%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=61dcb2e9&x-expires=1777773600&x-signature=id0wF0G%2BXmbdSz50LAbBB9d1aQ4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=92219290&x-expires=1777773600&x-signature=qmxOEdnhNFNhShmcB%2FIKIqsf72I%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"tos-useast5-avt-0068-tx/7352308655956361262",imageWidth:0,needReplaceVVICFormat:!1},storyState:0,ageGateTime:0,isSkeleton:!1,contentLanguageAlreadyPopup:!0,customVerifyInfo:"",canModifySchoolInfo:!1,insId:"",hasGoodsNewbieTask:!1,youtubeRawRefreshToken:"",duetSetting:0,isAISummaryShow:!1,liveStreamHeight:0,iterateCount:0,isPicked:!1,isAdVirtual:!1,forwardCount:0,activityStatusSetting:0,videoGiftStatus:0,contactsSyncStatus:!0,liveNotificationStatus:0,commercePermission:{enterpriseHeadImage:-1,videoTopPermission:-1,linkAdPermission:-1,enterpriseAccount:-1,businessPortalPermission:!1,starAtlasPermission:-1},commentSetting:0,isContactFriends:!1,isVerifiedTako:0,videoViewType:0,isMutePost:!1,isInDeactivateBufferPeriod:!1,showArtistPlaylist:!1,isProAccount:!1,roomID:0,matchedFriendCount:40,isInviteFriendsOnRecommendCell:!1,registStatus:0,followerStatus:0,realNameVerifyStatus:0,isMuteLive:!1,muteStatus:0,isAcceptPrivatePolicy:!0,shouldShowPhotoIntroductionBubble:!1,accountRegion:"",isInviteFriends:!1,showUserBanDialog:!1,storyStateTimeStamp:221405,followBtnShouldShowSendMsgText:!1,boldFieldsDict:{photo:1},enabledFilterAllComments:!1,profilePV:0,friendsStatus:0,isEmailVerified:!1,hasCert:!1,isDouplusOldUser:!1,educationType:0,downloadSetting:0,userRate:1,isPreload:!1,userProfileGuideList:[{guideText:"\u5206\u4EAB\u4E00\u5F20\u56DE\u5FC6\u7167",guideKey:"add_profile_info_empty_title_02"},{guideText:"\u4F60\u6700\u8FD1\u62CD\u4E86\u54EA\u4E9B\u597D\u770B\u7684\u7167\u7247\uFF1F",guideKey:"add_profile_info_empty_title_04"},{guideText:"\u5206\u4EAB\u4F60\u6700\u53D7\u6B22\u8FCE\u7684\u7167\u7247",guideKey:"add_profile_info_empty_title_05"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u56DE\u5FC6\u89C6\u9891",guideKey:"add_profile_info_empty_title_09"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u6700\u8FD1\u5F55\u5236\u7684\u6709\u8DA3\u89C6\u9891",guideKey:"add_profile_info_empty_title_10"},{guideText:"\u5206\u4EAB\u4F60\u7684\u65E5\u5E38\u751F\u6D3B",guideKey:"add_profile_info_empty_title_13"},{guideText:"\u8FC7\u53BB 30 \u5929\u5185\u6709 1 \u4F4D\u7528\u6237\u67E5\u770B\u4E86\u4F60\u7684\u4E3B\u9875\uFF0C\u5FEB\u6765\u5206\u4EAB\u6700\u65B0\u4E2A\u4EBA\u52A8\u6001",guideKey:"add_profile_info_title_n_visitor"}],registerTime:"2022-06-27T20:27:27-0700",needAddrCard:!1,latestGenericOrderTime:0,pushDiggOff:!1,isMocked:!1,shareInfo:{shareURL:"https://www.tiktok.com/@uk_cs_003?_r=1&_d=f30hjm5k89i3kh&sec_uid=MS4wLjABAAAANSM6M9oy-IEQK7kXcH5zo7KLQKXm1OiMbPG4IAWL6wrUPAtrLoy1XO8XbD4jNrMp&share_author_id=7114126837401420846&sharer_language=zh&source=h5_m&u_code=e2eaj8klh2hfij",shareDescription:"\u5FEB\u6765\u770B\u770B tangzhibo.pro+ttp13\uFF01#TikTok",shareTitle:"\u52A0\u5165 TikTok\uFF0C\u4E86\u89E3\u6211\u7684\u8FD1\u51B5\uFF01",isPersist:!1,shareWeiboDescription:"TikTok \u8FF7 - \u6211\u5728\u4F7F\u7528 TikTok\uFF01"},lastActiveTime:0,disableSearch:!1,privateAccount:!1,imprId:"",avatar300:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=dfa2d2e2&x-expires=1777773600&x-signature=%2Fd6JEpB%2FR8YsisNR5X%2FycYCqmh8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=9c2f2e48&x-expires=1777773600&x-signature=BroA%2Fot1JYHX9oTQnWAqJrE3Guo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5","https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7352308655956361262~tplv-tiktokx-cropcenter:300:300.jpeg?dr=9638&refresh_token=bc25c078&x-expires=1777773600&x-signature=fxlIXC%2BP5tleEA1ZWhQ7rTwE4uo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast5"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"tos-useast5-avt-0068-tx/7352308655956361262",imageWidth:0,needReplaceVVICFormat:!1},qaStatus:0,isEffectArtist:!1,bioLinkClickAction:0,shouldShowMinorPrivatePolicy:!1,canSetGeofencing:!1,postPushNotificationStatus:0,showRelationLabelOnFeed:!1,mallTabUserInfo:{enableMallTab:!0},userAccountMode:0,userLoginPlatform:0,versionCode:0,isFromLocalDB:!1,dspProfile:{collectCount:0},fbExpireTime:0,isMuteStory:!1,supportingNGO:{},showMessagingEntranceOnProfile:!1,followerCountNew:3,bonusGiftStatus:0,privateAwemeCount:0,mutualUserBlockStatus:0,bizAccountInfo:{suggestedAccountsEntranceTipType:0,permissionList:["001002","001003","001004","001005","001013","002001","002002","002005","002008","004001","004006","004012","004013","004014","004015","004016","007001","007004","007005","008001","010001","010001","010005","012001","013001","015001","015002","015003","016003","018003","021001","023001","024001","025004","001012","018001"],downloadLinkAuditStatus:0,leadsGen:{hasLeadsGen:!1,pageId:0,actionName:"",businessData:"",schemaUrl:""}},userLaunchedAgeGate:!1,awemeCount:248,verificationBadgeType:0,proAccountRedDot:0,ytExpireTime:0,impressionIndex:0,predictAgeGroup:"-1",preventDownload:!1,showCommerceEntry:!1,advancedFeatureInfo:[{red_dot_count:0,order_center_icon_dark_url:"https://p19-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/5e9017a07cf45dc74388f29b71fdc20f.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast5&from=3345091750",feature_id:81,order_center_icon_url:"https://p16-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/e7797f84932d5839a0dd24e60cb7c415.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast5&from=3345091750",order_center_title:"\u4F60\u7684\u8BA2\u5355",order_center_title_en:"Your orders",order_center_schema:"sslocal://webcast_lynxview?url=https%3A%2F%2Flf16-gecko-source.tiktokcdn.com%2Fobj%2Fbyte-gurd-source-sg%2Ftiktok%2Ffe%2Flive%2Ftiktok_live_ecommerce_tts_shop_center%2Fpages%2Fshop-center%2Ftemplate.js&hide_nav_bar=1&trans_status_bar=1&use_new_container=1&use_schema_sdk=1&experiment=order_center_v2&experiment_version=3"},{feature_id:82,shop_schema:"aweme://ec/showcase?url=https%3A%2F%2Flf16-gecko-source.tiktokcdn.com%2Fobj%2Fbyte-gurd-source-sg%2Ftiktok%2Ffe%2Flive%2Ftiktok_live_ecommerce_seller_showcase%2Fpages%2Fseller-showcase-page.js&hide_nav_bar=1&hide_status_bar=0&trans_status_bar=1&use_new_container=1&loading_bg_color_dark=121212FF&ab_params=showcase_product_list_switch,shop_card_optimize_us,showcase_dynamic_card,shop_card_optimize_in_showcase,roma_schema_group_shop_dynamic_pages,product_protocol_version,recommend_v2_product_protocol_version,store_showcase_double_column_product_card_loose,enable_show_follow_list,ec_showcase_skeleton,showcase_show_sold_num,ec_showcase_new_follow_btn,offline_creator_caching,enable_window_search_mix&author_id=7114126837401420846&filter_tab=2"},{feature_id:11,sub_info:{creator_sub_info:{is_revoke:!1,has_optin:!0},url:"sslocal://webcast_subscribe/settings?enter_from=personal_homepage"}}],blockedStatus:0,hasFacebookToken:!1,postNewCount:0,enableDirectMessage:!1,proAccountMigrateType:0,originalMusician:{musicCount:0,musicUsedCount:0,mainArtistNewReleaseCount:0,diggCount:0},signatureModifyTime:0,order:0,musicTabInfo:{showGhostMusicTab:!1,showFanSpotlight:!0},analyticsMetrics:!0,twExpireTime:0,isFavoritedCountPreload:!1,isFollowingCountPreload:!1,boldFields:["photo"],bioPermission:{enableBioEmail:!0,enableDownloadAppLink:!1,enableBioURL:!1},userMode:1,userPeriod:0},{isPendingUnblockRequest:!1,favoritingCount:4,advancedFeatureOrder:[81],verifyInfo:"",customID:"us_qa_account_2_us",isFindFBFriends:!1,socialInfoModel:{socialPlatformSettings:[{syncStatus:!0,shouldExplicitlyAskSyncConsent:!0,onboardingUserSuggestionFlowABValue:4,socialPlatformType:1},{socialPlatformAccessInfo:{tokenStatus:0},syncStatus:!1,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:3},{tokenStatus:0,accessTokenApp:1},{tokenStatus:0,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!0,onboardingUserSuggestionFlowABValue:4,socialPlatformType:2},{socialPlatformAccessInfo:{tokenStatus:0},syncStatus:!1,platformAccessInfoList:[{tokenStatus:0,accessTokenApp:2}],shouldExplicitlyAskSyncConsent:!1,onboardingUserSuggestionFlowABValue:0,socialPlatformType:6}]},pushCommentOff:!1,postDefaultDownloadSetting:!0,schoolVisibleType:0,potentialBizAccountInfo:{isPotentialBA:!1},hasShownInFYP:!1,postCount:0,selfPronounsModel:{enableEditPronouns:!0},avatarNeedUpdate:!1,recommendReasonHeight:0,userInactive:!1,hasHighlightBefore:!1,nickname:"us_qa_account_2_us",blockStatus:0,multiAccountBlockingByType:0,hasDouPlusEntry:!1,withStarAtlasEntrance:!1,hasTwitterToken:!1,hasAwemeGoodsEntry:!1,friendsTabInfo:{enableFriendsTab:!0},hideShootButton:!1,calculatedHeight:0,enableSubscription:!1,liveStreamWidth:0,aliasPermission:0,stitchSetting:0,nicknameModifyTime:1720051983,isAuthorMissing:!1,skipConfigureContactBasedSuggestionReason:!1,blockingByType:0,postNotificationStatus:0,verificationType:0,shoutoutWrapperStatus:0,shadowAccountType:0,followStatus:0,searchMatchBy:0,shouldShowCompanyHomepageTab:!1,isPrivateAccount:!1,nicknameNeedUpdate:!1,youtubeLastRefreshTime:0,isInvited:!1,commentFilterStatus:0,friendCount:0,audienceControlViewerMode:0,isCalculateHeight:!1,collectCount:0,signature:"",historyMaxfansCount:0,isViewer:!1,uniqueIdModifyTime:"1969-12-31T16:00:00-0800",showTipEntry:!1,tagSearchIsBA:!1,sprintModel:{sprintNumber:0},isDisciplineMember:!1,inboxShowPosotion:0,musicComplianceAccount:0,youtubeRefreshToken:"",hasInsights:!1,profileDefaultTab:0,tabSettings:{repostTab:{showRepostTabSelf:2},privateTab:{privateTabStyle:2,showPrivateTab:!0}},allFollowersCount:0,liveAgreement:!1,isStar:!1,cancelType:0,youtubeChannelId:"",favoritedCount:0,isBusinessAccount:!1,enterpriseVerifyInfo:"",isVideoViewAuthorized:!1,showFollowButtonOnFeed:!1,secUserID:"MS4wLjABAAAAqppD4U_jMkAnWZ4uNQOVfYQvsa4Fb_cQyH3PyuzTZcbVMUWGEXQmprCflxGDflsg",twitterName:"",enableEditAlias:!1,forcePrivateAccount:!1,skylightRelationType:0,followerCount:0,messageConfig:0,isFromRelatedFriends:!1,userAgeGateAction:0,isFollowerCountPreload:!1,liveCommerce:!1,category:"",showFavoriteList:!1,isFreeFlowCardUser:!1,withNewGoods:!1,hasYoutubeToken:!1,visibleVideosCount:1,followingCount:5,commerceUserLevel:0,pushFollowOff:!1,showFirstAvatarDecoration:!1,hasInvited:!1,isNoAccountAd:!1,hasShownInFriends:!1,commerceUserInfo:{adRevenueSharing:!1,adAuthorizationEnabled:!1,TCMType:0,adsFeedbackEntry:!0,hasPromote:!0,CLFType:0,hasAdsEntry:!1,canAuthAuctionAdVideo:!1,notificationConfig:!1,isAdPartner:!1,hasTCMEntry:!1,authVideoSettingType:0,adExperienceEntry:!1,promoteType:0,showStarAtlasGuide:!1},twitterId:"",shouldShowMessageEntry:!0,completeProfileGuideStrategy:5,userID:"7387565625491293227",specialAccount:{accountList:[2]},shouldDisplayWhiteValantineEntry:!1,youtubeChannelTitle:"",accountType:0,profileViewsEntrance:{canShowEntrance:!0,unreadViewerCount:0},avatar168:{originURLList:["https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=e01e4aba&x-expires=1776985200&x-signature=XrvFoz6cELD7RRpA5wPh0zELNTU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.webp?dr=9638&refresh_token=58db91db&x-expires=1776985200&x-signature=KvTTKEztd67dG%2FM9kS15INzXEeU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:168:168.jpeg?dr=9638&refresh_token=febc9896&x-expires=1776985200&x-signature=lrLsMHZYd1P8AYr2%2Fb8FEVSMB2I%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},avatarMedium:{originURLList:["https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=086baf83&x-expires=1776985200&x-signature=3VKZ%2FsmUPQdz%2BDbmH0uvWJmxlas%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=53bcfa0e&x-expires=1776985200&x-signature=cwAF2J6u14Qda6AFrNaUUyZMOnc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=0d7e309b&x-expires=1776985200&x-signature=ir4Ycmn3FoxtY%2BJDtVJD74qm26s%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},isGeoBlockedProfile:!1,invitationStatus:0,avatarThumb:{originURLList:["https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=4ceea5bd&x-expires=1776985200&x-signature=J3E5DIy87zY5AfE%2BkIKsHg%2BOWxc%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.webp?dr=9640&refresh_token=5835d549&x-expires=1776985200&x-signature=sK56CbfZmGjWKH2GTBv2hQMIWTA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=d0a6c4c4&x-expires=1776985200&x-signature=HPlECoUFnRHBFPVkbz74w1Wh5Vk%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},storyState:0,ageGateTime:0,isSkeleton:!1,contentLanguageAlreadyPopup:!1,customVerifyInfo:"",canModifySchoolInfo:!1,insId:"",hasGoodsNewbieTask:!1,youtubeRawRefreshToken:"",duetSetting:0,isAISummaryShow:!1,liveStreamHeight:0,iterateCount:0,isPicked:!1,isAdVirtual:!1,forwardCount:0,activityStatusSetting:0,videoGiftStatus:0,contactsSyncStatus:!0,liveNotificationStatus:0,commercePermission:{enterpriseHeadImage:-1,videoTopPermission:-1,linkAdPermission:-1,enterpriseAccount:-1,businessPortalPermission:!1,starAtlasPermission:-1},commentSetting:0,isContactFriends:!1,isVerifiedTako:0,videoViewType:0,isMutePost:!1,isInDeactivateBufferPeriod:!1,showArtistPlaylist:!1,isProAccount:!1,roomID:0,matchedFriendCount:40,isInviteFriendsOnRecommendCell:!1,registStatus:0,followerStatus:0,realNameVerifyStatus:0,isMuteLive:!1,muteStatus:0,isAcceptPrivatePolicy:!1,shouldShowPhotoIntroductionBubble:!1,accountRegion:"",isInviteFriends:!1,showUserBanDialog:!1,storyStateTimeStamp:192246,followBtnShouldShowSendMsgText:!1,boldFieldsDict:{nickname:1},enabledFilterAllComments:!1,profilePV:0,friendsStatus:0,isEmailVerified:!0,hasCert:!1,isDouplusOldUser:!1,educationType:0,downloadSetting:0,userRate:1,isPreload:!1,userProfileGuideList:[{guideText:"\u5206\u4EAB\u4E00\u5F20\u56DE\u5FC6\u7167",guideKey:"add_profile_info_empty_title_02"},{guideText:"\u4F60\u6700\u8FD1\u62CD\u4E86\u54EA\u4E9B\u597D\u770B\u7684\u7167\u7247\uFF1F",guideKey:"add_profile_info_empty_title_04"},{guideText:"\u5206\u4EAB\u4F60\u6700\u53D7\u6B22\u8FCE\u7684\u7167\u7247",guideKey:"add_profile_info_empty_title_05"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u56DE\u5FC6\u89C6\u9891",guideKey:"add_profile_info_empty_title_09"},{guideText:"\u5206\u4EAB\u4E00\u6BB5\u6700\u8FD1\u5F55\u5236\u7684\u6709\u8DA3\u89C6\u9891",guideKey:"add_profile_info_empty_title_10"},{guideText:"\u5206\u4EAB\u4F60\u7684\u65E5\u5E38\u751F\u6D3B",guideKey:"add_profile_info_empty_title_13"}],registerTime:"2024-07-03T17:09:16-0700",needAddrCard:!1,latestGenericOrderTime:0,pushDiggOff:!1,isMocked:!1,shareInfo:{shareURL:"https://www.tiktok.com/@us_qa_account_2_us?_r=1&_d=f30hjm5k89i3kh&sec_uid=MS4wLjABAAAAqppD4U_jMkAnWZ4uNQOVfYQvsa4Fb_cQyH3PyuzTZcbVMUWGEXQmprCflxGDflsg&share_author_id=7387565625491293227&sharer_language=zh&source=h5_m&u_code=ef2a9e03fed93i",shareDescription:"\u5FEB\u6765\u770B\u770B us_qa_account_2_us\uFF01#TikTok",shareTitle:"\u52A0\u5165 TikTok\uFF0C\u4E86\u89E3\u6211\u7684\u8FD1\u51B5\uFF01",isPersist:!1,shareWeiboDescription:"TikTok \u8FF7 - \u6211\u5728\u4F7F\u7528 TikTok\uFF01"},lastActiveTime:0,disableSearch:!1,privateAccount:!1,imprId:"",avatar300:{originURLList:["https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=793e7ba8&x-expires=1776985200&x-signature=SgvWvg4XxO72aHgQg3uwf78wUTs%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p19-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.webp?dr=9638&refresh_token=4882f424&x-expires=1776985200&x-signature=rol3PE8wn%2FzDBMSE4FF1b5ssgF8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8","https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcenter:300:300.jpeg?dr=9638&refresh_token=1130e98d&x-expires=1776985200&x-signature=TXagzA1%2FgjmgWFN0%2BlSORaWKMGw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=useast8"],ttk_photoModeHasPreload:!1,remoteFileSize:0,imageHeight:0,sizeByte:0,currentLanguage:"zh",URI:"musically-maliva-obj/1594805258216454",imageWidth:0,needReplaceVVICFormat:!1},qaStatus:0,isEffectArtist:!1,bioLinkClickAction:0,shouldShowMinorPrivatePolicy:!1,canSetGeofencing:!1,postPushNotificationStatus:0,showRelationLabelOnFeed:!1,mallTabUserInfo:{enableMallTab:!0},userAccountMode:0,userLoginPlatform:0,versionCode:0,isFromLocalDB:!1,dspProfile:{collectCount:0},fbExpireTime:0,isMuteStory:!1,supportingNGO:{},showMessagingEntranceOnProfile:!1,followerCountNew:0,bonusGiftStatus:0,privateAwemeCount:0,mutualUserBlockStatus:0,userLaunchedAgeGate:!1,awemeCount:1,verificationBadgeType:0,proAccountRedDot:0,ytExpireTime:0,impressionIndex:0,predictAgeGroup:"",preventDownload:!1,showCommerceEntry:!1,advancedFeatureInfo:[{red_dot_count:0,order_center_icon_dark_url:"https://p16-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/5e9017a07cf45dc74388f29b71fdc20f.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast8&from=3345091750",feature_id:81,order_center_icon_url:"https://p19-oec-general.ttcdn-us.com/tos-maliva-i-acgf4d7es9-us/e7797f84932d5839a0dd24e60cb7c415.png~tplv-fhlh96nyum-resize-png:48:48.png?dr=12184&t=555f072d&ps=933b5bde&shp=c7620ca6&shcp=2472a6c6&idc=useast8&from=3345091750",order_center_title:"\u4F60\u7684\u8BA2\u5355",order_center_title_en:"Your orders",order_center_schema:"sslocal://webcast_lynxview?url=https%3A%2F%2Flf16-gecko-source.tiktokcdn.com%2Fobj%2Fbyte-gurd-source-sg%2Ftiktok%2Ffe%2Flive%2Ftiktok_live_ecommerce_tts_shop_center%2Fpages%2Fshop-center%2Ftemplate.js&hide_nav_bar=1&trans_status_bar=1&use_new_container=1&use_schema_sdk=1&experiment=order_center_v2&experiment_version=3"}],blockedStatus:0,hasFacebookToken:!1,postNewCount:0,enableDirectMessage:!1,proAccountMigrateType:0,originalMusician:{musicCount:0,musicUsedCount:0,mainArtistNewReleaseCount:0,diggCount:0},signatureModifyTime:0,order:0,musicTabInfo:{showGhostMusicTab:!1,showFanSpotlight:!0},analyticsMetrics:!1,twExpireTime:0,isFavoritedCountPreload:!1,isFollowingCountPreload:!1,boldFields:["nickname"],bioPermission:{enableBioEmail:!1,enableDownloadAppLink:!1,enableBioURL:!1},userMode:1,userPeriod:0}]},rtl:!1,theme:{error:"",current:"dark"}}}}}});l();import{readFile as Oe}from"node:fs/promises";import{join as $e}from"node:path";import{intro as Ke}from"@clack/prompts";import qe from"yargs";import{hideBin as We}from"yargs/helpers";l();import{networkInterfaces as he}from"node:os";function C(e){let s=he(),t={};for(let[n,a]of Object.entries(s))a=a?.filter(o=>e?.["only-ipv4"]?o.family==="IPv4":e?.["only-ipv6"]?o.family==="IPv6":!(o.family==="IPv6"&&ge(o.address))),a?.length&&(t[n]=a);return t}function ge(e){let s=e.toLowerCase().split("%")[0];return/^fe[89ab][0-9a-f](?::|$)/i.test(s??"")}var ye={"only-ipv4":{alias:"4",desc:"IPv4 only",boolean:!0},"only-ipv6":{alias:"6",desc:"IPv6 only",boolean:!0}},D=[{command:"ips",describe:"Show current machine's IP addrs",builder:ye,handler(e){let s=C(e),t={};for(let[n,a]of Object.entries(s))a&&(t[n]=e.verbose?a:a.map(o=>o.address));console.log(s)}}];l();import{hostname as be}from"node:os";var R=[{command:"mdns",describe:"Show mdns [hostname].local",handler(){let e=be();console.log(e.toLowerCase().endsWith(".local")?e:`${e}.local`)}}];l();import{spinner as ke}from"@clack/prompts";async function N(){let{execa:e}=await import("execa");try{let{stdout:s}=await e`git rev-parse --abbrev-ref --symbolic-full-name @{u}`;return s.split("/")[0]||"origin"}catch{return"origin"}}async function E({updBranch:e,branch:s,verbose:t}){let n=ke();n.start(`${e?"Updating":"Fetching"} ${s}...`);let{execa:a}=await import("execa");await a({stdio:"inherit",env:t?{GIT_TRACE:"1"}:{}})`git fetch ${await N()} ${s}${e?`:${s}`:""}`,n.message("Merging ..."),await a({stdio:"inherit",env:t?{GIT_TRACE:"1"}:{}})`git merge ${await N()}/${s} --no-verify --no-edit ${t?"":"-q"}`,n.stop("Done")}var w={branch:{alias:"b",default:"master",desc:'Default=master, or "main" if you wish'}},M=[{command:"mm",describe:"[M]erge [M]aster: Update local master to remote's, then merge into current branch",builder:w,handler(e){let{branch:s=w.branch.default,verbose:t}=e;E({updBranch:!0,branch:s,verbose:t})}},{command:"mmm",describe:"[M]erge [M]aster (don't [M]odify local master): Merge remote's master into current branch, without updating local master",builder:w,handler(e){let{branch:s=w.branch.default,verbose:t}=e;E({updBranch:!1,branch:s,verbose:t})}}];l();import{log as B,spinner as _e}from"@clack/prompts";var L=[{command:"tschk",describe:"My ts-check rules",handler:async()=>{let e=_e();e.start("Running custom tsc type-check...");let s=["2322","2551","6133","6192","18048"],{execa:t}=await import("execa");try{let{stdout:n}=await t({reject:!1,stderr:"ignore"})`npx tsc --build --noEmit --emitDeclarationOnly false`,a=n.split(`
3
+ `).filter(o=>{if(o.includes("/node_modules/"))return!1;let i=o.match(/error TS(\d+):/);return!(!i?.[1]||s.includes(i[1]))});a.length>0?(e.stop("Type-check failed"),a.map(o=>B.error(o)),process.exit(1)):e.stop("Type-check passed")}catch(n){e.stop("Type-check failed"),console.error(n),B.error("Type-check failed"),process.exit(1)}}}];l();l();var U=[{command:"bam",describe:"Update BAM code-gen",handler:async()=>{let{execa:e}=await import("execa");await e({stdio:"inherit"})`pnpm dlx @byted-arch-fe/bam-code-generator update`}}];l();import{cancel as H,isCancel as O,log as y,note as $,select as K}from"@clack/prompts";import m from"picocolors";l();var z="https://bits.bytedance.net";async function P(e,s,t,n){let a={...e,pageNum:e.pageNum??1},o=`${z}/api/v1/pipelines/runs?${new URLSearchParams(a).toString()}`,i=await fetch(o,{method:"GET",headers:{"Content-Type":"application/json","X-jwt-token":s,Username:t.username},signal:n??null});return{response:i,getJson:async()=>await i.json()}}async function V(e,s,t){let n=`${z}/api/v1/pipelines/runs/${e}`,a=await fetch(n,{method:"GET",headers:{"Content-Type":"application/json","X-jwt-token":s,Username:t.username}});return{response:a,getJson:async()=>await a.json()}}l();var b={RUNNING:2,CANCELLED:7,SUCCESS:8,FAIL:9};l();function k(e){let s=new Date(e),t=new Intl.DateTimeFormat("en-US",{timeZoneName:"longOffset"}).formatToParts(s).find(n=>n.type==="timeZoneName")?.value.replace("GMT","");return`${s.toLocaleDateString("zh-CN")} ${s.toTimeString().split(" ")[0]} ${t??""}`}l();import{log as we,spinner as Se}from"@clack/prompts";import j from"picocolors";var S;async function G(){let e=Se();if(e.start("Logging in..."),!S){let{AIPaaSAuth:n}=await import("@byted/aipaas-auth");S=new n("cn")}let s=await S.getJwt(),t=await S.getUserInfo();return e.stop(`Hi ${j.magenta(t.username)} from ${j.blue(`${t.scope} ${t.work_country}`)}`),we.info(`Login will expire on ${k(t.exp*1e3)}`),{jwtStr:s,jwtObj:t}}async function ve({pipelineId:e,url:s,region:t,verbose:n}){let{jwtStr:a,jwtObj:o}=await G(),i=(()=>{if(e==null&&!s)throw new Error("pipelineId or url is required");return e??X(s??"")})(),d=await W(i,a,o,t);if(d.length<=0){y.error(`No Gecko info found${t?` matching region [${t}]`:""} in latest run`);return}let{default:c}=await import("qrcode");for(let r=0;r<d.length;r++){let u=d[r];try{let p=await c.toString(u?.qrCodeScheme??"",{type:"terminal",small:!0,errorCorrectionLevel:"L"});console.log(`
4
4
 
5
- ${u}`),console.dir(l),a<c.length-1&&console.log(`
5
+ ${p}`),console.dir(u),r<d.length-1&&console.log(`
6
6
 
7
7
  -----------------
8
8
 
9
- `)}catch(u){console.error("Failed to generate QR:",u)}}}var pe={url:{alias:"u",desc:"Bits URL",string:!0,conflicts:["pipeline-id"]},"pipeline-id":{alias:"p",desc:"Pipeline ID (Overrides URL)",string:!0,conflicts:["url"]},region:{alias:"r",desc:"String-match based region filter",string:!0}},H=[{command:"gecko",describe:"Show gecko info by bits URL",builder:e=>e.options(pe).example("$0 tt-gecko -r us -u 'https://b??.net/devops/??/develop/detail/??/flow?devops_space_type=server_fe&pipelineId=1139212901634&stage=dev_gatekeeper_stage'","Example of URL mode, filtering us region"),handler(e){let{url:n,pipelineId:t,region:o,verbose:r}=e;ce({url:n,pipelineId:t,region:o,verbose:r})}}];async function B(e,n,t,o){let{response:r,getJson:s}=await C({pipelineId:e,pageSize:1,withoutJob:!1},n,t);r.ok||(g.error(`[getRunInfoByPipelineID] failed: ${r.status} ${r.statusText}
10
- ${await r.text()}`),process.exit(1));let i=await s();i.pipelineRuns[0]?.runStatus!==b.SUCCESS&&g.warn(`Latest run (runId=${i.pipelineRuns[0]?.runId}) status=${F(i.pipelineRuns[0]?.runStatus)}. Gecko info may be unavailable.`);let c=M(i.pipelineRuns,o);if(c.length)return c;let p=await le(e,i.pipelineRuns);if(p)return B(p,n,t,o);let a=await ue(e,n,t);return await me(a,n,t)}function M(e,n){return e.flatMap(t=>t.jobs.map(o=>{try{let r=o.jobAtom.output;if(!r)return null;let s=r.GECKO_packageInfo;if(!s)return null;let i=r.GECKO_region;if(n&&!i?.includes(n))return null;let c=JSON.parse(s),{qrCodeScheme:p,candidatePackage:a,channel:l,updatedAt:u,creator:f,distributeRule:R}=c.package,{scmVersion:v}=a,Z=y(Number.parseInt(u,10)*1e3),Y=R.envLaneList.flatMap(ee=>ee.values);return{qrCodeScheme:p,region:i,scmVersion:v,channel:l,updatedDate:Z,creator:f,envs:Y,runId:t.runId,runSeq:t.runSeq}}catch(r){return console.error(r),null}}).filter(o=>o!=null)).filter(t=>!!t)}async function le(e,n){let t=n.flatMap(s=>s.jobs.map(i=>i.jobAtom.inputs?.trigger_params).filter(i=>!!i).filter(i=>i.detail_url.length));if(!t.length)return;O(`Found ${t.length} possible alternative pipeline(s) you may want to try instead.`,"Mistyped the pipeline ID?");let o=[{value:"",label:`(Keep current pipeline id=${e})`}].concat(t.map(s=>({value:q(s.detail_url),label:`${m.underline(s.development_task_name)} by ${s.developer.join(",")}`,hint:s.detail_url}))),r=await G({message:"Select a pipeline to change, or cancel [ESC] to use the current pipeline.",options:o});if(j(r)||!r){L("Keep using current pipeline");return}return g.success(`Using new pipeline id=${r}`),r}async function ue(e,n,t){let{response:r,getJson:s}=await C({pipelineId:e,pageSize:10,withoutJob:!0},n,t);r.ok||(g.error(`[getRunInfoByPipelineID] failed: ${r.status} ${r.statusText}
11
- ${await r.text()}`),process.exit(1));let i=await s();i.pipelineRuns.length<=0&&(g.error(`No pipeline runs found in the most recent 10 runs
12
- ${JSON.stringify(i,null,1)}`),process.exit(1)),O("The latest pipeline run may be ongoing/failed. Try a previous run to inspect.","Select a previous run");let c=i.pipelineRuns.map(a=>{let l=F(a.runStatus),u=de(a),f=a.triggerInfo?.triggeredBy||a.createdBy||"?";return{value:a.runId,label:`#${a.runSeq} runId=${a.runId} ${l}`,hint:`${u} by ${f}`}}),p=await G({message:"Select the run ID to inspect",options:c});return j(p)&&(L("Run selection cancelled"),process.exit(0)),p}async function me(e,n,t){let{response:o,getJson:r}=await N(e,n,t);o.ok||(g.error(`[getRunDetailByRunID] failed: ${o.status} ${o.statusText}
13
- ${await o.text()}`),process.exit(1));let s=await r();return M([s.pipelineRun])}function q(e){let n=/\bpipelineId=(\d+)\b/,o=e.match(n)?.[1]?.trim();if(o){if(!/^\d+$/.test(o))throw new Error("Invalid pipelineId query from URL. Expecting a pipelineId query value with all numbers");return o}throw new Error(`Invalid URL. Expecting a url containing ${m.bold(m.yellow("pipelineId"))} query param. E.g. `+m.underline(m.gray(`https://b??.net/devops/??/develop/detail/??/flow?devops_space_type=server_fe&${m.bold(m.magenta("pipelineId=1139212901634"))}&stage=dev_gatekeeper_stage`)))}function F(e){switch(e){case b.RUNNING:return m.blue("RUNNING");case b.CANCELLED:return m.gray("CANCELLED");case b.SUCCESS:return m.green("SUCCESS");case b.FAIL:return m.red("FAIL")}return`status=${e}`}function de(e){return e.startedAt?`started @ ${y(e.startedAt)}`:e.createdAt?`created @ ${y(e.createdAt)}`:"time=?"}import{access as fe,constants as ge}from"node:fs/promises";var K=[{command:"i18n",describe:"I18n scan and sort",handler:async()=>{let e="starling.config.js",n="combine-lang.js";for(let r of[e,n])try{await fe(r,ge.R_OK)}catch(s){console.error(`tt i18n: Failed to read ${r}
14
- `,s),process.exit(1)}let{execa:t,execaNode:o}=await import("execa");await t({stdio:"inherit"})`pnpm dlx @ies/starling-cli scan -c ${e} --fallback --disable-browser`,await o({stdio:"inherit"})`${e}`,await t({stdio:"inherit"})`pnpm --package=json-sort-cli dlx sortjson ./src/lang`.catch(r=>console.error("tt i18n sortjson error:",r))}}];import{log as $,note as be}from"@clack/prompts";async function ye({repoId:e,hash:n,branch:t}){let o="SCM_USERNAME",r="SCM_PASSWORD",s=process.env[o],i=process.env[r];(!s||!i)&&($.error(`Missing ${s?r:o} in env var.
15
- Go to https://luban.bytedance.net/npm/publish and get your personal SCM username+password.`),process.exit(1));let{execa:c}=await import("execa");try{let p=c`git log -1 --pretty=%s`,a,l;n||!n&&!t?n?a=n:a=(await c`git rev-parse HEAD`).stdout.trim():t?l=t:l=(await c`git branch --show-current`).stdout.trim();let u={repos:e,create_user:s,pub_base:a?"commit_base":"branch_base",base_commit_hash:a??"",branch_name:l??"",desc:`[${d?.version}] ${(await p).stdout.trim()}`,has_version_stage:!1};be(`\u2139\uFE0F ${u.create_user} is publishing ${d?.name}@${d?.version} to repoId=${u.repos}
16
- ${a?`hash=${a}`:`brch=${l}`}
17
- desc=${u.desc}`);let f=await fetch("https://scm.byted.org/api/v2/npm_versions/",{method:"POST",headers:{Authorization:`Basic ${Buffer.from(`${s}:${i}`).toString("base64")}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(u)});if(!f.ok){let v=await f.text();$.error(`HTTP ${f.status} Error: ${v}`),process.exit(1)}let R=await f.json();$.success("\u{1F389} Successfully published:",R)}catch(p){$.error("Execution Failed:"),console.error(p),process.exit(1)}}var he={"by-hash":{alias:"h",desc:"Publish pkg by hash (default)",string:!0,conflicts:["by-branch"]},"by-branch":{alias:"b",desc:"Publish pkg by branch",string:!0,conflicts:["by-hash"]}},W=[{command:"luban <repoId>",describe:"Publish current repo pkg to Luban",builder:he,handler(e){let{byHash:n,byBranch:t}=e,o=Number(e.repoId);ye({repoId:o,hash:n,branch:t})}}];var z=[{command:"tt",describe:"TT/BD internal toolset",builder:e=>e.command([...A,...H,...K,...W]).demandCommand(1),handler(){}}];import{lstatSync as we}from"node:fs";import{log as V,note as Ie,spinner as h}from"@clack/prompts";var $e=e=>new Promise(n=>setTimeout(n,e));async function Re(e){let n=d.version,t=`${d.name}@${n}`,o=1e4,r=[...e.installCmdPrefix.split(" "),t];Ie(`\u{1F680} Monitoring ${t}...
9
+ `)}catch(p){console.error("Failed to generate QR:",p)}}}var xe={url:{alias:"u",desc:"Bits URL",string:!0,conflicts:["pipeline-id"]},"pipeline-id":{alias:"p",desc:"Pipeline ID (Overrides URL)",string:!0,conflicts:["url"]},region:{alias:"r",desc:"String-match based region filter",string:!0}},q=[{command:"gecko",describe:"Show gecko info by bits URL",builder:e=>e.options(xe).example("$0 tt-gecko -r us -u 'https://b??.net/devops/??/develop/detail/??/flow?devops_space_type=server_fe&pipelineId=1139212901634&stage=dev_gatekeeper_stage'","Example of URL mode, filtering us region"),handler(e){let{url:s,pipelineId:t,region:n,verbose:a}=e;ve({url:s,pipelineId:t,region:n,verbose:a})}}];async function W(e,s,t,n){let{response:a,getJson:o}=await P({pipelineId:e,pageSize:1,withoutJob:!1},s,t);a.ok||(y.error(`[getRunInfoByPipelineID] failed: ${a.status} ${a.statusText}
10
+ ${await a.text()}`),process.exit(1));let i=await o();i.pipelineRuns[0]?.runStatus!==b.SUCCESS&&y.warn(`Latest run (runId=${i.pipelineRuns[0]?.runId}) status=${Q(i.pipelineRuns[0]?.runStatus)}. Gecko info may be unavailable.`);let d=J(i.pipelineRuns,n);if(d.length)return d;let c=await Te(e,i.pipelineRuns);if(c)return W(c,s,t,n);let r=await Ae(e,s,t);return await Ie(r,s,t)}function J(e,s){return e.flatMap(t=>t.jobs.map(n=>{try{let a=n.jobAtom.output;if(!a)return null;let o=a.GECKO_packageInfo;if(!o)return null;let i=a.GECKO_region;if(s&&!i?.includes(s))return null;let d=JSON.parse(o),{qrCodeScheme:c,candidatePackage:r,channel:u,updatedAt:p,creator:g,distributeRule:T}=d.package,{scmVersion:A}=r,de=k(Number.parseInt(p,10)*1e3),ue=T.envLaneList.flatMap(pe=>pe.values);return{qrCodeScheme:c,region:i,scmVersion:A,channel:u,updatedDate:de,creator:g,envs:ue,runId:t.runId,runSeq:t.runSeq}}catch(a){return console.error(a),null}}).filter(n=>n!=null)).filter(t=>!!t)}async function Te(e,s){let t=s.flatMap(o=>o.jobs.map(i=>i.jobAtom.inputs?.trigger_params).filter(i=>!!i).filter(i=>i.detail_url.length));if(!t.length)return;$(`Found ${t.length} possible alternative pipeline(s) you may want to try instead.`,"Mistyped the pipeline ID?");let n=[{value:"",label:`(Keep current pipeline id=${e})`}].concat(t.map(o=>({value:X(o.detail_url),label:`${m.underline(o.development_task_name)} by ${o.developer.join(",")}`,hint:o.detail_url}))),a=await K({message:"Select a pipeline to change, or cancel [ESC] to use the current pipeline.",options:n});if(O(a)||!a){H("Keep using current pipeline");return}return y.success(`Using new pipeline id=${a}`),a}async function Ae(e,s,t){let{response:a,getJson:o}=await P({pipelineId:e,pageSize:10,withoutJob:!0},s,t);a.ok||(y.error(`[getRunInfoByPipelineID] failed: ${a.status} ${a.statusText}
11
+ ${await a.text()}`),process.exit(1));let i=await o();i.pipelineRuns.length<=0&&(y.error(`No pipeline runs found in the most recent 10 runs
12
+ ${JSON.stringify(i,null,1)}`),process.exit(1)),$("The latest pipeline run may be ongoing/failed. Try a previous run to inspect.","Select a previous run");let d=i.pipelineRuns.map(r=>{let u=Q(r.runStatus),p=Ce(r),g=r.triggerInfo?.triggeredBy||r.createdBy||"?";return{value:r.runId,label:`#${r.runSeq} runId=${r.runId} ${u}`,hint:`${p} by ${g}`}}),c=await K({message:"Select the run ID to inspect",options:d});return O(c)&&(H("Run selection cancelled"),process.exit(0)),c}async function Ie(e,s,t){let{response:n,getJson:a}=await V(e,s,t);n.ok||(y.error(`[getRunDetailByRunID] failed: ${n.status} ${n.statusText}
13
+ ${await n.text()}`),process.exit(1));let o=await a();return J([o.pipelineRun])}function X(e){let s=/\bpipelineId=(\d+)\b/,n=e.match(s)?.[1]?.trim();if(n){if(!/^\d+$/.test(n))throw new Error("Invalid pipelineId query from URL. Expecting a pipelineId query value with all numbers");return n}throw new Error(`Invalid URL. Expecting a url containing ${m.bold(m.yellow("pipelineId"))} query param. E.g. `+m.underline(m.gray(`https://b??.net/devops/??/develop/detail/??/flow?devops_space_type=server_fe&${m.bold(m.magenta("pipelineId=1139212901634"))}&stage=dev_gatekeeper_stage`)))}function Q(e){switch(e){case b.RUNNING:return m.blue("RUNNING");case b.CANCELLED:return m.gray("CANCELLED");case b.SUCCESS:return m.green("SUCCESS");case b.FAIL:return m.red("FAIL")}return`status=${e}`}function Ce(e){return e.startedAt?`started @ ${k(e.startedAt)}`:e.createdAt?`created @ ${k(e.createdAt)}`:"time=?"}l();import{access as Pe,constants as Fe}from"node:fs/promises";var Y=[{command:"i18n",describe:"I18n scan and sort",handler:async()=>{let e="starling.config.js",s="combine-lang.js";for(let a of[e,s])try{await Pe(a,Fe.R_OK)}catch(o){console.error(`tt i18n: Failed to read ${a}
14
+ `,o),process.exit(1)}let{execa:t,execaNode:n}=await import("execa");await t({stdio:"inherit"})`pnpm dlx @ies/starling-cli scan -c ${e} --fallback --disable-browser`,await n({stdio:"inherit"})`${e}`,await t({stdio:"inherit"})`pnpm --package=json-sort-cli dlx sortjson ./src/lang`.catch(a=>console.error("tt i18n sortjson error:",a))}}];l();import{log as v,note as De}from"@clack/prompts";async function Re({repoId:e,hash:s,branch:t}){let n="SCM_USERNAME",a="SCM_PASSWORD",o=process.env[n],i=process.env[a];(!o||!i)&&(v.error(`Missing ${o?a:n} in env var.
15
+ Go to https://luban.bytedance.net/npm/publish and get your personal SCM username+password.`),process.exit(1));let{execa:d}=await import("execa");try{let c=d`git log -1 --pretty=%s`,r,u;s||!s&&!t?s?r=s:r=(await d`git rev-parse HEAD`).stdout.trim():t?u=t:u=(await d`git branch --show-current`).stdout.trim();let p={repos:e,create_user:o,pub_base:r?"commit_base":"branch_base",base_commit_hash:r??"",branch_name:u??"",desc:`[${f?.version}] ${(await c).stdout.trim()}`,has_version_stage:!1};De(`\u2139\uFE0F ${p.create_user} is publishing ${f?.name}@${f?.version} to repoId=${p.repos}
16
+ ${r?`hash=${r}`:`brch=${u}`}
17
+ desc=${p.desc}`);let g=await fetch("https://scm.byted.org/api/v2/npm_versions/",{method:"POST",headers:{Authorization:`Basic ${Buffer.from(`${o}:${i}`).toString("base64")}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(p)});if(!g.ok){let A=await g.text();v.error(`HTTP ${g.status} Error: ${A}`),process.exit(1)}let T=await g.json();v.success("\u{1F389} Successfully published:",T)}catch(c){v.error("Execution Failed:"),console.error(c),process.exit(1)}}var Ne={"by-hash":{alias:"h",desc:"Publish pkg by hash (default)",string:!0,conflicts:["by-branch"]},"by-branch":{alias:"b",desc:"Publish pkg by branch",string:!0,conflicts:["by-hash"]}},Z=[{command:"luban <repoId>",describe:"Publish current repo pkg to Luban",builder:Ne,handler(e){let{byHash:s,byBranch:t}=e,n=Number(e.repoId);Re({repoId:n,hash:s,branch:t})}}];l();F();import{unlink as Me}from"node:fs/promises";import{join as Be}from"node:path";import{log as se,note as Le}from"@clack/prompts";import ae from"picocolors";var ie=["pnpm","dlx","--silent","--allow-build=better-sqlite3,sharp","@tiktok-fe/rax-cli"];async function Ue(e){let{execa:s}=await import("execa"),{default:t}=await import("express"),n=t();n.get(h.RAX_WEBPAGE,(o,i)=>{i.sendFile(Be(import.meta.dirname,"index.html"))}),n.get(h.RAX_DEVICE_INFO,async(o,i)=>{let d=JSON.stringify((await Promise.resolve().then(()=>(te(),ee))).mockData[h.RAX_DEVICE_INFO]);if(d.trim().startsWith("Error:")){i.status(400).send(d);return}let c=JSON.parse(d);delete c.appInfo.appInfo.appIconBase64,delete c.appInfo.appSettings.language;let{account:r}=c.appInfo.appSettings;r.current={customID:r.current.customID,nickname:r.current.nickname,userID:r.current.userID};for(let u=0;u<(r.loginAccountList?.length??0);u++){if(!r.loginAccountList)continue;let p=r.loginAccountList[u];p&&(r.loginAccountList[u]={customID:p.customID,nickname:p.nickname,userID:p.userID})}i.json(c)}),n.get(h.RAX_SCRSHOT,async(o,i)=>{let{execa:d}=await import("execa"),{default:c}=await import("sharp"),{temporaryFile:r}=await import("tempy"),u=r({extension:"png"});await d`${ie} device screenshot --output ${u}`;let p=r({extension:"webp"});await c(u).webp({quality:70,effort:5,smartSubsample:!0}).toFile(p),Me(u).catch(),i.sendFile(p)}),n.post(h.RAX_OPEN_SCHEMA,async(o,i)=>{let{execa:d}=await import("execa"),{schema:c}=o.body,{stdout:r}=await d`${ie} device open-schema ${c}`;i.send(r)});let a=n.listen(e.port??0,()=>{let o=a.address(),i=typeof o!="string"?o?.port:void 0;i||(se.error(`Failed to get port from addr [${o}]`),process.exit(1));let d=Object.values(C()??{"":["localhost"]}).flat().sort((c,r)=>c.internal&&!r.internal?-1:!c.internal&&r.internal?1:c.family==="IPv4"&&r.family==="IPv6"?-1:c.family==="IPv6"&&r.family==="IPv4"?1:c.address.localeCompare(r.address)).map(c=>` ${c.internal?ae.green("[LOCAL]"):ae.yellow("[ LAN ]")} http://${c.family==="IPv6"?`[${c.address}]`:c.address}:${i}
18
+ `);Le(`Server running at
19
+ ${d.join("")}`),se.info(`\u{1F680} Try ${d[0]}`)})}var ze={port:{alias:"p",desc:"Port for helper",number:!0}},oe=[{command:"rax",describe:"Start rax helper (web)",builder:ze,handler:Ue}];var ne=[{command:"tt",describe:"TT/BD internal toolset",builder:e=>e.command([...U,...q,...Y,...Z,...oe]).demandCommand(1),handler(){}}];l();import{lstatSync as Ve}from"node:fs";import{log as re,note as je,spinner as _}from"@clack/prompts";var Ge=e=>new Promise(s=>setTimeout(s,e));async function He(e){let s=f.version,t=`${f.name}@${s}`,n=1e4,a=[...e.installCmdPrefix.split(" "),t];je(`\u{1F680} Monitoring ${t}...
18
20
  \u{1F4C2} Target: ${e.target}
19
- \u{1F6E0} Install cmd: ${r.join(" ")}`);let{execa:s}=await import("execa");try{let i=h();i.start("Pulling latest changes in target repo..."),await s({cwd:e.target,stdio:"inherit",env:{GIT_TRACE:"1"}})`git pull`,i.stop("Latest commit pulled"),i=h();let c=Date.now();for(let p=1;;p++){i.start(`Waiting for ${t}, attempt ${p}`);let{exitCode:a}=await s({reject:!1,stdio:"inherit"})`npm view ${t} version`;if(a===0){i.stop(`${t} is live! Found it \u2705`);try{i=h(),i.start(`Installing ${t} via ${r}`),await s({cwd:e.target,stdio:"inherit"})`${r}`,i.stop(`${t} installed! \u2705`);break}catch{i.stop(`${t} not installed`),V.error("Registry updated but failed to install")}}(Date.now()-c)/1e3>=e.timeout&&(i.stop(`Didn't find ${t} in ${e.timeout} sec(s)`),process.exit(1)),await $e(o)}i=h(),i.start("Committing changes..."),await s({stdio:"inherit"})`git commit -am 'chore: upd ${t}`,i.stop("Committed \u2705"),i=h(),i.start("Pushing to remote..."),await s({stdio:"inherit"})`git push`,i.stop("Pushed \u2705"),V.success("\u{1F389} DONE!")}catch(i){console.error(`
20
- \u274C Task failed:`,i),process.exit(1)}}var Q={target:{alias:"t",desc:"Target repository path",demandOption:!0,normalize:!0},"install-cmd-prefix":{alias:"cmd",desc:"Pkg install command prefix",default:"pnpm add"},timeout:{desc:"Timeout checking new pkg version in sec",default:300}},X=[{command:"wup",describe:"[W]ait for pkg publish, [U]pdate target repo, and [P]ush",builder:e=>e.options(Q).example('$0 wup -t "/tmp/..." -c "emo add"',"Install w/ eden-mono").example('$0 wup -t "/tmp/..." -c "rush add --make-consistent -p"',"Install w/ @microsoft/rush"),handler(e){let{target:n,installCmdPrefix:t=Q["install-cmd-prefix"].default,verbose:o}=e,r=Number(e.timeout),s=`Path ${n} is not a directory.`;try{if(!n||!we(n).isDirectory())throw new Error(s);Re({target:n,installCmdPrefix:t,timeout:r,verbose:o})}catch(i){throw new Error(s,{cause:i})}}}];var d=JSON.parse(await ve(Ce(import.meta.dirname,"../package.json"),"utf8"));ke(`\u{1F44B} ${d.name} v${d.version}`);var _e=[...P,...T,...X,...k,...x,...z];xe().scriptName("hi").version(d.version).option("verbose",{type:"boolean",description:"Run with verbose logging",global:!0}).command(_e).help().parse(Se(process.argv));export{d as PKG};
21
+ \u{1F6E0} Install cmd: ${a.join(" ")}`);let{execa:o}=await import("execa");try{let i=_();i.start("Pulling latest changes in target repo..."),await o({cwd:e.target,stdio:"inherit",env:{GIT_TRACE:"1"}})`git pull`,i.stop("Latest commit pulled"),i=_();let d=Date.now();for(let c=1;;c++){i.start(`Waiting for ${t}, attempt ${c}`);let{exitCode:r}=await o({reject:!1,stdio:"inherit"})`npm view ${t} version`;if(r===0){i.stop(`${t} is live! Found it \u2705`);try{i=_(),i.start(`Installing ${t} via ${a}`),await o({cwd:e.target,stdio:"inherit"})`${a}`,i.stop(`${t} installed! \u2705`);break}catch{i.stop(`${t} not installed`),re.error("Registry updated but failed to install")}}(Date.now()-d)/1e3>=e.timeout&&(i.stop(`Didn't find ${t} in ${e.timeout} sec(s)`),process.exit(1)),await Ge(n)}i=_(),i.start("Committing changes..."),await o({stdio:"inherit"})`git commit -am 'chore: upd ${t}`,i.stop("Committed \u2705"),i=_(),i.start("Pushing to remote..."),await o({stdio:"inherit"})`git push`,i.stop("Pushed \u2705"),re.success("\u{1F389} DONE!")}catch(i){console.error(`
22
+ \u274C Task failed:`,i),process.exit(1)}}var le={target:{alias:"t",desc:"Target repository path",demandOption:!0,normalize:!0},"install-cmd-prefix":{alias:"cmd",desc:"Pkg install command prefix",default:"pnpm add"},timeout:{desc:"Timeout checking new pkg version in sec",default:300}},ce=[{command:"wup",describe:"[W]ait for pkg publish, [U]pdate target repo, and [P]ush",builder:e=>e.options(le).example('$0 wup -t "/tmp/..." -c "emo add"',"Install w/ eden-mono").example('$0 wup -t "/tmp/..." -c "rush add --make-consistent -p"',"Install w/ @microsoft/rush"),handler(e){let{target:s,installCmdPrefix:t=le["install-cmd-prefix"].default,verbose:n}=e,a=Number(e.timeout),o=`Path ${s} is not a directory.`;try{if(!s||!Ve(s).isDirectory())throw new Error(o);He({target:s,installCmdPrefix:t,timeout:a,verbose:n})}catch(i){throw new Error(o,{cause:i})}}}];var f=JSON.parse(await Oe($e(import.meta.dirname,"../package.json"),"utf8"));Ke(`\u{1F44B} ${f.name} v${f.version}`);var Je=[...M,...L,...ce,...D,...R,...ne];qe().scriptName("hi").version(f.version).option("verbose",{type:"boolean",description:"Run with verbose logging",global:!0}).strict().recommendCommands().command(Je).help().parse(We(process.argv));export{f as PKG};
23
+ //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@jerryc05/hi-tools",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "A collection of my everyday SDE tools.",
5
5
  "scripts": {
6
- "pub": "npm run build && npm version patch && export NPM_CONFIG_REGISTRY=https://registry.npmjs.org &&{ npm whoami || npm login; } && npm publish --access public && git push",
6
+ "pub": "npm run build && npm version patch && export NPM_CONFIG_REGISTRY=https://registry.npmjs.org &&{ npm whoami || npm login ;} && npm publish --access public && git push",
7
7
  "build": "node build.js"
8
8
  },
9
9
  "repository": {
@@ -26,11 +26,19 @@
26
26
  "optionalDependencies": {
27
27
  "@byted/aipaas-auth": "^0.1.0",
28
28
  "@clack/prompts": "^1.3.0",
29
+ "base62": "^2.0.2",
30
+ "bignumber.js": "^9.3.1",
29
31
  "execa": "^9.6.1",
30
- "qrcode": "^1.5.4"
32
+ "express": "^5.2.1",
33
+ "json-bigint": "^1.0.0",
34
+ "qrcode": "^1.5.4",
35
+ "sharp": "^0.34.5",
36
+ "tempy": "^3.2.0"
31
37
  },
32
38
  "devDependencies": {
33
39
  "@types/cli-progress": "^3.11.6",
40
+ "@types/express": "^5.0.6",
41
+ "@types/json-bigint": "^1.0.4",
34
42
  "@types/node": "^25.6.0",
35
43
  "@types/qrcode": "^1.5.6",
36
44
  "@types/yargs": "^17.0.35",
@@ -53,6 +61,12 @@
53
61
  "execa": "$execa",
54
62
  "jsonwebtoken": "^9",
55
63
  "yargs": "$yargs"
56
- }
64
+ },
65
+ "onlyBuiltDependencies": [
66
+ "esbuild",
67
+ "protobufjs",
68
+ "sharp",
69
+ "skills"
70
+ ]
57
71
  }
58
72
  }