@codeflow-ai/cli 1.30.3 → 1.30.4

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.
Files changed (2) hide show
  1. package/dist/cli.js +1 -1
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{once as XR}from"events";import{createInterface as QR}from"readline/promises";import{parseArgs as ZR}from"util";var Pm={name:"@codeflow-ai/cli",version:"1.30.3",type:"module",description:"CodeFlow \u547D\u4EE4\u884C\u5BA2\u6237\u7AEF\uFF1A\u4E00\u952E\u914D\u7F6E AI \u5BA2\u6237\u7AEF",keywords:["codeflow","claude-code","codex","openclaw","hermes-agent","opencode","pi-coding-agent","cli"],license:"UNLICENSED",engines:{node:">=22"},bin:{codeflow:"dist/cli.js"},files:["dist"],publishConfig:{access:"public"},scripts:{dev:"tsx src/cli.ts",build:"tsup",typecheck:"tsc --noEmit"},dependencies:{"@decimalturn/toml-patch":"3.0.4",ink:"7.1.1",json5:"2.2.3","jsonc-parser":"3.3.1",marked:"18.0.9",qrcode:"1.5.4",react:"19.2.0","smol-toml":"1.9.0","string-width":"8.2.0",yaml:"2.9.1",zod:"4.4.3"},devDependencies:{"@codeflow/shared":"workspace:*","@types/node":"25.9.1","@types/qrcode":"1.5.6","@types/react":"19.2.2",tsup:"8.5.1",tsx:"4.22.3",typescript:"5.9.3"}};var Wt="codeflow",Vt=Pm.version,Pi="https://codeflow.sh",Fo="@codeflow-ai/cli",Rr=0,Uo=1,Ka=2,ro=3,Am=4;import{randomBytes as pS}from"crypto";import{mkdirSync as Nm,readFileSync as fS,rmSync as Lm,statSync as gS,writeFileSync as hS}from"fs";import{join as Om}from"path";import{setTimeout as yS}from"timers/promises";import{z as rn}from"zod";var F=class extends Error{exitCode;hint;constructor(t,n={}){super(t,{cause:n.cause}),this.name="CliError",this.exitCode=n.exitCode??Uo,this.hint=n.hint}};function Se(e){return e instanceof Error?e.message:String(e)}import{chmodSync as sS,existsSync as aS,mkdirSync as cS,readFileSync as lS,writeFileSync as mS}from"fs";import{dirname as uS}from"path";function Lt(e){return aS(e)?lS(e,"utf8"):null}function kn(e,t,n){cS(uS(e),{recursive:!0,mode:448});try{mS(e,t,{mode:n}),sS(e,n)}catch(o){throw new F(`\u5199\u5165 ${e} \u5931\u8D25\uFF1A${Se(o)}`,{cause:o})}}function Em(e,t,n){kn(e,`${JSON.stringify(t,null,2)}
2
+ import{once as XR}from"events";import{createInterface as QR}from"readline/promises";import{parseArgs as ZR}from"util";var Pm={name:"@codeflow-ai/cli",version:"1.30.4",type:"module",description:"CodeFlow \u547D\u4EE4\u884C\u5BA2\u6237\u7AEF\uFF1A\u4E00\u952E\u914D\u7F6E AI \u5BA2\u6237\u7AEF",keywords:["codeflow","claude-code","codex","openclaw","hermes-agent","opencode","pi-coding-agent","cli"],license:"UNLICENSED",engines:{node:">=22"},bin:{codeflow:"dist/cli.js"},files:["dist"],publishConfig:{access:"public"},scripts:{dev:"tsx src/cli.ts",build:"tsup",typecheck:"tsc --noEmit"},dependencies:{"@decimalturn/toml-patch":"3.0.4",ink:"7.1.1",json5:"2.2.3","jsonc-parser":"3.3.1",marked:"18.0.9",qrcode:"1.5.4",react:"19.2.0","smol-toml":"1.9.0","string-width":"8.2.0",yaml:"2.9.1",zod:"4.4.3"},devDependencies:{"@codeflow/shared":"workspace:*","@types/node":"25.9.1","@types/qrcode":"1.5.6","@types/react":"19.2.2",tsup:"8.5.1",tsx:"4.22.3",typescript:"5.9.3"}};var Wt="codeflow",Vt=Pm.version,Pi="https://codeflow.sh",Fo="@codeflow-ai/cli",Rr=0,Uo=1,Ka=2,ro=3,Am=4;import{randomBytes as pS}from"crypto";import{mkdirSync as Nm,readFileSync as fS,rmSync as Lm,statSync as gS,writeFileSync as hS}from"fs";import{join as Om}from"path";import{setTimeout as yS}from"timers/promises";import{z as rn}from"zod";var F=class extends Error{exitCode;hint;constructor(t,n={}){super(t,{cause:n.cause}),this.name="CliError",this.exitCode=n.exitCode??Uo,this.hint=n.hint}};function Se(e){return e instanceof Error?e.message:String(e)}import{chmodSync as sS,existsSync as aS,mkdirSync as cS,readFileSync as lS,writeFileSync as mS}from"fs";import{dirname as uS}from"path";function Lt(e){return aS(e)?lS(e,"utf8"):null}function kn(e,t,n){cS(uS(e),{recursive:!0,mode:448});try{mS(e,t,{mode:n}),sS(e,n)}catch(o){throw new F(`\u5199\u5165 ${e} \u5931\u8D25\uFF1A${Se(o)}`,{cause:o})}}function Em(e,t,n){kn(e,`${JSON.stringify(t,null,2)}
3
3
  `,n)}function Ai(e,t,n,o,r){let i=null,s=()=>{if(i)return i;let a=n(),c=Lt(a);if(c===null)return i=structuredClone(t),i;let l;try{l=JSON.parse(c)}catch(m){throw new F(`${o} ${a} \u5DF2\u635F\u574F\uFF0C\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u540E${r}`,{cause:m})}let u=e.safeParse(l);if(!u.success)throw new F(`${o} ${a} \u7ED3\u6784\u4E0D\u7B26\uFF0C\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u540E${r}`);return i=u.data,i};return{load:s,reload:()=>(i=null,s()),update:a=>{let c=structuredClone(s());return a(c),Em(n(),c,384),i=c,c}}}import{homedir as dS}from"os";import{join as jo}from"path";function vn(){let e=process.env.XDG_CONFIG_HOME;if(e)return jo(e,"codeflow");if(process.platform==="win32"){let t=process.env.APPDATA;if(t)return jo(t,"codeflow")}return jo(dS(),".config","codeflow")}var Mm=()=>jo(vn(),"config.json"),Ei=()=>jo(vn(),"credentials.json"),Im=()=>jo(vn(),"refresh.lock");var bS=rn.object({refreshCookie:rn.string(),accessToken:rn.string(),accessExpiresAt:rn.number(),username:rn.string(),email:rn.string(),site:rn.string()}),SS=rn.object({site:rn.string(),cookie:rn.string()}),xS=rn.object({session:bS.nullable(),device:SS.nullable()}),Ya=Ai(xS,{session:null,device:null},Ei,"\u672C\u5730\u51ED\u636E","\u91CD\u65B0\u767B\u5F55"),wt=Ya.load,Mi=Ya.reload,_r=Ya.update;function Dm(){let{session:e}=wt();if(!e)throw new F("\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u5148\u767B\u5F55\u8D26\u53F7",{exitCode:ro});return e}var TS=6e4,wS=75e3,kS=120;function vS(e,t){try{Nm(e)}catch{try{Date.now()-gS(e).mtimeMs>TS&&Lm(e,{recursive:!0,force:!0})}catch{}return!1}return hS(Om(e,"owner"),t),!0}function CS(e,t){let n;try{n=fS(Om(e,"owner"),"utf8")}catch{return}n===t&&Lm(e,{recursive:!0,force:!0})}async function Ii(e){let t=Im(),n=pS(16).toString("hex");Nm(vn(),{recursive:!0,mode:448});let o=Date.now()+wS;for(;!vS(t,n);){if(Date.now()>o)throw new F(`\u7B49\u5F85\u5237\u65B0\u9501\u8D85\u65F6\uFF0C\u82E5\u786E\u8BA4\u6CA1\u6709\u5176\u4ED6 ${Wt} \u5728\u8FD0\u884C\uFF0C\u8BF7\u5220\u9664 ${t}`);await yS(kS)}try{return await e()}finally{CS(t,n)}}function RS(){let e=process.env.CODEFLOW_SITE;if(e)return e;let t=wt().session;return t?t.site:Pi}function $m(){return{site:RS()}}function io(e,t,n){if(!e.isTTY)return n;let o=Number.parseInt(t.slice(1),16);return`\x1B[38;2;${o>>16&255};${o>>8&255};${o&255}m${n}\x1B[39m`}import{z as ht}from"zod";import{release as Tx}from"os";import{z as He}from"zod";var _S=["active","disabled"],O_=He.enum(_S),Ja=["subscription_first","balance_first","subscription_only","balance_only"],Xa=He.enum(Ja),PS=["openai","anthropic"],Bm=He.enum(PS),AS=["openai-chat","openai-responses","anthropic-messages"],Fm=He.enum(AS);var Pr=["pending","paid","refund_requested","partially_refunded","refunded","failed","expired"],Um=He.enum(Pr),ES=["recharge","subscription"],Qa=He.enum(ES),MS=["requested","pending","succeeded","failed","rejected","canceled"],jm=He.enum(MS),Za=["pending","issued","rejected"],Hm=He.enum(Za),IS=["special","general"],ec=He.enum(IS),NS=["info","success","warning","error"],qm=He.enum(NS),LS=["terms","privacy"],D_=He.enum(LS),tc=["recharge","reserve","consume","reserve_refund","refund","refund_release","reward","admin_adjust"],Gm=He.enum(tc),OS=["usage_log","order","invitation","admin"],zm=He.enum(OS),nc=["first_inviter","first_invitee","subsequent_inviter"],Wm=He.enum(nc),oc=["success","error","canceled","anomaly"],Vm=He.enum(oc),rc=["open","replied","closed"],Km=He.enum(rc),ic=["billing","technical","account","other"],Ym=He.enum(ic),sc=["low","normal","high"],Jm=He.enum(sc),DS=["user","admin"],Xm=He.enum(DS),$S=["pending","published","rejected","removed"],Ar=He.enum($S),ac=["activity","published"],Qm=He.enum(ac),Ni=["spam","abuse","explicit","illegal","privacy","other"],Zm=He.enum(Ni),BS=["none","minor","major","critical"],eu=He.enum(BS);import{z as Ho}from"zod";var FS=["internal_error","validation_error","not_found","conflict","rate_limited","forbidden","unauthorized","invalid_credentials","password_incorrect","account_disabled","email_already_registered","username_taken","verification_code_invalid","verification_code_expired","token_expired","token_reuse_detected","token_limit_exceeded","totp_invalid","totp_replayed","totp_setup_expired","totp_not_enabled","login_ticket_invalid","recovery_code_invalid","passkey_registration_failed","passkey_verification_failed","passkey_not_found","passkey_origin_not_allowed","insufficient_quota","no_available_channel","model_not_found","model_not_in_group","token_group_missing","token_quota_exceeded","upstream_error","order_not_found","order_not_payable","payment_verify_failed","payment_precreate_failed","amount_mismatch","refund_not_allowed","refund_amount_invalid","refund_insufficient_balance","refund_failed","refund_pending","refund_in_progress","refund_blocked_by_pending_order","refund_order_superseded","refund_request_not_found","refund_nothing_refundable","subscription_limit_reached","no_subscription_coverage","subscription_revoked","plan_disabled","order_already_invoiced","order_not_eligible","order_invoiced","invoice_profile_exists","invite_code_invalid","ticket_closed","ticket_limit_exceeded","attachment_storage_unconfigured","attachment_too_large","attachment_image_too_large","attachment_invalid","attachment_staging_limit_exceeded","docs_not_configured","docs_source_unavailable","docs_page_not_found","provider_status_unavailable","community_muted","community_state_changed","community_category_missing"],US=Ho.enum(FS),tu=Ho.object({error:Ho.object({code:US,message:Ho.string(),details:Ho.unknown().optional(),requestId:Ho.string().optional()})});var nu={internal_error:"\u670D\u52A1\u6682\u65F6\u51FA\u73B0\u95EE\u9898\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",validation_error:"\u63D0\u4EA4\u7684\u5185\u5BB9\u6709\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u540E\u91CD\u8BD5",not_found:"\u8BBF\u95EE\u7684\u5185\u5BB9\u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u5220\u9664",conflict:"\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u8BB0\u5F55\uFF0C\u8BF7\u52FF\u91CD\u590D\u63D0\u4EA4",rate_limited:"\u64CD\u4F5C\u8FC7\u4E8E\u9891\u7E41\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",forbidden:"\u6CA1\u6709\u6743\u9650\u6267\u884C\u6B64\u64CD\u4F5C",unauthorized:"\u8BF7\u5148\u767B\u5F55",invalid_credentials:"\u8D26\u53F7\u6216\u5BC6\u7801\u4E0D\u6B63\u786E",password_incorrect:"\u5F53\u524D\u5BC6\u7801\u4E0D\u6B63\u786E",account_disabled:"\u8D26\u6237\u5DF2\u88AB\u7981\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",email_already_registered:"\u8BE5\u90AE\u7BB1\u5DF2\u88AB\u6CE8\u518C",username_taken:"\u8BE5\u7528\u6237\u540D\u5DF2\u88AB\u4F7F\u7528",verification_code_invalid:"\u9A8C\u8BC1\u7801\u4E0D\u6B63\u786E",verification_code_expired:"\u9A8C\u8BC1\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6",token_expired:"\u767B\u5F55\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",token_reuse_detected:"\u767B\u5F55\u72B6\u6001\u5F02\u5E38\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",token_limit_exceeded:"\u4EE4\u724C\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8BF7\u5148\u5220\u9664\u4E0D\u518D\u4F7F\u7528\u7684\u4EE4\u724C",totp_invalid:"\u52A8\u6001\u9A8C\u8BC1\u7801\u4E0D\u6B63\u786E\uFF0C\u8BF7\u91CD\u8BD5",totp_replayed:"\u8BE5\u9A8C\u8BC1\u7801\u521A\u521A\u5DF2\u88AB\u4F7F\u7528\uFF0C\u8BF7\u7B49\u5F85\u9A8C\u8BC1\u5668\u663E\u793A\u4E0B\u4E00\u4E2A\u9A8C\u8BC1\u7801\u540E\u518D\u8F93\u5165",totp_setup_expired:"\u7ED1\u5B9A\u4F1A\u8BDD\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u5F00\u59CB\u7ED1\u5B9A",totp_not_enabled:"\u5C1A\u672A\u542F\u7528\u4E24\u6B65\u9A8C\u8BC1",login_ticket_invalid:"\u767B\u5F55\u9A8C\u8BC1\u5DF2\u8FC7\u671F\u6216\u5C1D\u8BD5\u6B21\u6570\u8FC7\u591A\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",recovery_code_invalid:"\u6062\u590D\u7801\u4E0D\u6B63\u786E\u6216\u5DF2\u88AB\u4F7F\u7528",passkey_registration_failed:"Passkey \u6CE8\u518C\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5",passkey_verification_failed:"Passkey \u9A8C\u8BC1\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5",passkey_not_found:"\u8BE5 Passkey \u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u5220\u9664",passkey_origin_not_allowed:"\u5F53\u524D\u8BBF\u95EE\u5730\u5740\u672A\u914D\u7F6E\u4E3A\u7AD9\u70B9\u5730\u5740\uFF0C\u65E0\u6CD5\u4F7F\u7528 Passkey",insufficient_quota:"\u989D\u5EA6\u4E0D\u8DB3\uFF0C\u8BF7\u5145\u503C\u540E\u518D\u8BD5",no_available_channel:"\u4E0A\u6E38\u670D\u52A1\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",model_not_found:"\u8BE5\u6A21\u578B\u4E0D\u5B58\u5728",model_not_in_group:"\u4EE4\u724C\u6240\u5C5E\u5206\u7EC4\u4E0D\u652F\u6301\u8BE5\u6A21\u578B\uFF0C\u8BF7\u66F4\u6362\u4EE4\u724C\u5206\u7EC4\u6216\u6539\u7528\u5206\u7EC4\u652F\u6301\u7684\u6A21\u578B",token_group_missing:"\u4EE4\u724C\u6240\u5C5E\u5206\u7EC4\u5DF2\u88AB\u5220\u9664\uFF0C\u8BF7\u7F16\u8F91\u4EE4\u724C\u91CD\u65B0\u9009\u62E9\u5206\u7EC4",token_quota_exceeded:"\u8BE5\u4EE4\u724C\u7684\u6D88\u8D39\u5DF2\u8FBE\u8D39\u7528\u9650\u5236\uFF0C\u8BF7\u8C03\u9AD8\u6216\u6E05\u9664\u9650\u5236\u540E\u518D\u4F7F\u7528",upstream_error:"\u4E0A\u6E38\u670D\u52A1\u8FD4\u56DE\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",order_not_found:"\u8BA2\u5355\u4E0D\u5B58\u5728",order_not_payable:"\u8BA2\u5355\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u5237\u65B0\u540E\u518D\u8BD5",payment_verify_failed:"\u652F\u4ED8\u7ED3\u679C\u786E\u8BA4\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",payment_precreate_failed:"\u53D1\u8D77\u652F\u4ED8\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",amount_mismatch:"\u652F\u4ED8\u91D1\u989D\u4E0E\u8BA2\u5355\u4E0D\u7B26\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",refund_not_allowed:"\u8BE5\u8BA2\u5355\u5F53\u524D\u4E0D\u53EF\u9000\u6B3E",refund_amount_invalid:"\u9000\u6B3E\u91D1\u989D\u4E0D\u6B63\u786E\u6216\u8D85\u8FC7\u53EF\u9000\u4F59\u989D",refund_insufficient_balance:"\u53EF\u7528\u989D\u5EA6\u4E0D\u8DB3\u4EE5\u6263\u56DE\u672C\u6B21\u9000\u6B3E\uFF08\u5DF2\u6D88\u8017\u90E8\u5206\u5BF9\u5E94\u7684\u73B0\u91D1\u4E0D\u53EF\u9000\uFF09",refund_failed:"\u652F\u4ED8\u5B9D\u9000\u6B3E\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u6216\u68C0\u67E5\u652F\u4ED8\u5B9D\u5546\u6237\u540E\u53F0",refund_pending:"\u9000\u6B3E\u7ED3\u679C\u5F85\u786E\u8BA4\uFF0C\u8BF7\u7A0D\u540E\u67E5\u770B\u9000\u6B3E\u8BB0\u5F55",refund_in_progress:"\u8BE5\u8BA2\u5355\u6216\u8BA2\u9605\u6709\u9000\u6B3E\u6B63\u5728\u5904\u7406\u4E2D\uFF0C\u8BF7\u5F85\u5176\u5B8C\u6210\u540E\u518D\u64CD\u4F5C",refund_blocked_by_pending_order:"\u8BE5\u8BA2\u9605\u6709\u5F85\u652F\u4ED8\u7684\u7EED\u8D39\u8BA2\u5355\uFF0C\u8BF7\u5F85\u5176\u652F\u4ED8\u6216\u8D85\u65F6\u540E\u518D\u9000\u6B3E",refund_order_superseded:"\u5B58\u5728\u66F4\u665A\u5165\u8D26\u7684\u8BA2\u5355\uFF0C\u8BF7\u6309\u4ECE\u65B0\u5230\u65E7\u7684\u987A\u5E8F\u9000\u6B3E",refund_request_not_found:"\u9000\u6B3E\u7533\u8BF7\u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u5904\u7406\uFF0C\u8BF7\u5237\u65B0\u540E\u67E5\u770B",refund_nothing_refundable:"\u8BE5\u8BA2\u9605\u8BA2\u5355\u6309\u9650\u989D\u5468\u671F\u8BA1\u8D39\u540E\u5DF2\u65E0\u53EF\u9000\u91D1\u989D",subscription_limit_reached:"\u8BA2\u9605\u989D\u5EA6\u5DF2\u7528\u5C3D\uFF0C\u8BF7\u7B49\u5F85\u7A97\u53E3\u91CD\u7F6E",no_subscription_coverage:"\u5F53\u524D\u5206\u7EC4\u6CA1\u6709\u53EF\u7528\u7684\u8BA2\u9605\uFF0C\u8BF7\u8BA2\u9605\u5957\u9910\u6216\u8C03\u6574\u6263\u8D39\u65B9\u5F0F",subscription_revoked:"\u8BE5\u8BA2\u9605\u5DF2\u88AB\u4F5C\u5E9F",plan_disabled:"\u8BE5\u5957\u9910\u5DF2\u505C\u552E",order_already_invoiced:"\u8BE5\u8BA2\u5355\u5DF2\u7533\u8BF7\u8FC7\u53D1\u7968",order_not_eligible:"\u6240\u9009\u8BA2\u5355\u4E0D\u7B26\u5408\u5F00\u7968\u6761\u4EF6",order_invoiced:"\u8BE5\u8BA2\u5355\u5DF2\u5F00\u7968\u6216\u6709\u672A\u5904\u7406\u7684\u5F00\u7968\u7533\u8BF7\uFF0C\u65E0\u6CD5\u9000\u6B3E",invoice_profile_exists:"\u5DF2\u5B58\u5728\u76F8\u540C\u7684\u5E38\u7528\u5F00\u7968\u4FE1\u606F",invite_code_invalid:"\u9080\u8BF7\u7801\u65E0\u6548",ticket_closed:"\u5DE5\u5355\u5DF2\u5173\u95ED\uFF0C\u8BF7\u5148\u91CD\u65B0\u6253\u5F00\u540E\u518D\u56DE\u590D",ticket_limit_exceeded:"\u672A\u5173\u95ED\u7684\u5DE5\u5355\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8BF7\u5148\u5173\u95ED\u5DF2\u89E3\u51B3\u7684\u5DE5\u5355",attachment_storage_unconfigured:"\u5C1A\u672A\u914D\u7F6E\u9644\u4EF6\u5B58\u50A8",attachment_too_large:"\u9644\u4EF6\u5927\u5C0F\u8D85\u8FC7\u9650\u5236",attachment_image_too_large:"\u56FE\u7247\u5C3A\u5BF8\u6216\u5E27\u6570\u8D85\u8FC7\u9650\u5236",attachment_invalid:"\u9644\u4EF6\u65E0\u6548\u6216\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20",attachment_staging_limit_exceeded:"\u5F85\u63D0\u4EA4\u7684\u9644\u4EF6\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF0C\u8BF7\u5148\u63D0\u4EA4\u73B0\u6709\u9644\u4EF6",docs_not_configured:"\u6587\u6863\u4E2D\u5FC3\u672A\u542F\u7528",docs_source_unavailable:"\u6587\u6863\u5185\u5BB9\u83B7\u53D6\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",docs_page_not_found:"\u8BE5\u6587\u6863\u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u79FB\u9664",provider_status_unavailable:"\u5B98\u65B9\u670D\u52A1\u72B6\u6001\u6682\u672A\u5C31\u7EEA\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",community_muted:"\u8D26\u53F7\u5904\u4E8E\u7981\u8A00\u671F\u95F4\uFF0C\u6682\u65F6\u65E0\u6CD5\u53D1\u5E16\u3001\u8BC4\u8BBA\u3001\u7F16\u8F91\u3001\u4E0A\u4F20\u6216\u66F4\u6362\u5934\u50CF\u4E0E\u7528\u6237\u540D",community_state_changed:"\u5185\u5BB9\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u5237\u65B0\u540E\u91CD\u8BD5",community_category_missing:"\u6240\u9009\u677F\u5757\u5DF2\u4E0D\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9"};import{z as qo}from"zod";var jS=qo.string().trim().min(1),cc=jS.pipe(qo.url()),HS=qo.object({name:qo.string().trim().min(1),description:qo.string().trim().min(1),url:cc}),H_=qo.array(HS);function ou(e){return`codeflow-cli/${e.cliVersion} (${e.platform} ${e.release}; ${e.arch}) node/${e.nodeVersion}`}function Go(e){if(!e)return"\u672A\u77E5\u8BBE\u5907";let t=e.type==="cli"?e.clientVersion:e.clientVersion?.split(".")[0],o=[e.client?t?`${e.client} ${t}`:e.client:null,e.os].filter(r=>r!==null);return o.length>0?o.join(" \xB7 "):"\u672A\u77E5\u8BBE\u5907"}import{z as dn}from"zod";var lc=1e8;var W_=dn.object({id:dn.coerce.number().int().positive()}),ru=100,iu=dn.object({page:dn.coerce.number().int().min(1)});function mt(e){return dn.object({items:dn.array(e),total:dn.number()})}var se=dn.object({ok:dn.literal(!0)}),su=(e=dn.string().trim())=>e.nullable().optional().transform(t=>t==null||t.length===0?null:t);import{z as ce}from"zod";var so=ce.email().max(254).toLowerCase(),Ot=8,Er=ce.string().min(Ot).max(128),Mr=ce.string().min(1).max(128),Kt=32,mc=ce.string().trim().min(1).max(Kt),uc=ce.string().trim().min(1).max(254),Y_=ce.object({email:so}),J_=ce.object({username:mc,email:so,password:Er,code:ce.string().min(4).max(8),inviteCode:ce.string().trim().min(1).max(32).optional()}),X_=ce.object({account:uc,password:Mr}),Q_=ce.object({email:so,code:ce.string().min(4).max(8),password:Er}),Z_=ce.object({oldPassword:Mr,newPassword:Er}),e0=ce.object({email:so}),t0=ce.object({email:so,code:ce.string().min(4).max(8),password:Mr}),au=ce.object({username:ce.string(),email:ce.string(),avatarUrl:ce.string().nullable()}),zo=ce.object({accessToken:ce.string(),user:au}),cu=ce.discriminatedUnion("status",[zo.extend({status:ce.literal("ok")}),ce.object({status:ce.literal("totp_required"),ticket:ce.string()})]),lu=ce.object({user:au}),dc=ce.object({client:ce.string().nullable(),clientVersion:ce.string().nullable(),os:ce.string().nullable(),osVersion:ce.string().nullable(),type:ce.string().nullable(),vendor:ce.string().nullable(),model:ce.string().nullable()}),qS=ce.object({id:ce.number().int(),ip:ce.string(),userAgent:ce.string().nullable(),device:dc.nullable(),loginAt:ce.string(),lastActiveAt:ce.string(),expiresAt:ce.string(),current:ce.boolean()}),mu=ce.object({sessions:ce.array(qS)});import{z as ke}from"zod";var Wo=ke.string().trim().length(6),GS=ke.string().trim().min(10).max(20),Li=ke.string().trim().min(1).max(64),Oi=ke.record(ke.string(),ke.unknown()),r0=ke.object({ticket:ke.string().min(1),code:Wo}),i0=ke.object({ticket:ke.string().min(1),code:GS}),s0=ke.object({code:Wo.optional()}),a0=ke.object({code:Wo}),uu=ke.object({secret:ke.string(),otpauthUri:ke.string()}),pc=ke.object({recoveryCodes:ke.array(ke.string())}),zS=ke.object({id:ke.number().int(),name:ke.string(),createdAt:ke.string(),lastUsedAt:ke.string().nullable()}),du=ke.object({totp:ke.object({enabled:ke.boolean(),enabledAt:ke.string().nullable(),recoveryCodesRemaining:ke.number().int()}),passkeys:ke.array(zS)}),c0=ke.object({name:Li,response:Oi}),l0=ke.object({name:Li}),m0=ke.object({response:Oi});import{z as Ne}from"zod";var g0=Ne.object({account:uc,password:Mr}),WS=Ne.object({totp:Ne.boolean(),passkeys:Ne.boolean()}),h0=Ne.discriminatedUnion("status",[Ne.object({status:Ne.literal("totp_required"),ticket:Ne.string()}),Ne.object({status:Ne.literal("setup_required"),ticket:Ne.string(),missing:WS})]),y0=Ne.object({ticket:Ne.string().min(1)}),b0=Ne.object({ticket:Ne.string().min(1),code:Wo}),S0=Ne.object({ticket:Ne.string().min(1),name:Li,response:Oi}),x0=Ne.object({ticket:Ne.string().min(1),code:Wo.optional()}),pu=Ne.object({username:Ne.string(),email:Ne.string(),avatarUrl:Ne.string().nullable()}),T0=Ne.object({accessToken:Ne.string(),admin:pu}),w0=Ne.object({admin:pu});import{z as fc}from"zod";var _0=fc.object({siteName:fc.string().trim().min(1).max(64),siteDescription:fc.string().trim().max(200).optional(),siteOrigin:cc,username:mc,email:so,password:Er});import{z as $e}from"zod";var fu={orderNo:$e.string(),amountCny:$e.number().int(),status:Um,credited:$e.boolean(),refundedAmountCny:$e.number().int(),succeededRefundCny:$e.number().int(),pendingRefundCny:$e.number().int(),createdAt:$e.string()},Ir=$e.object({...fu,quota:$e.number(),refundedQuota:$e.number()}),Nr=$e.object({...fu,planName:$e.string(),renewal:$e.boolean(),grantedDurationDays:$e.number().int()}),Di=$e.object({order:Ir.pick({orderNo:!0,amountCny:!0,quota:!0}),qrCode:$e.string()}),Lr=$e.object({order:Nr.pick({orderNo:!0,amountCny:!0,planName:!0,grantedDurationDays:!0}),qrCode:$e.string()}),gu=$e.object({id:$e.number().int(),amountCny:$e.number().int(),status:jm,refundTradeNo:$e.string().nullable(),reason:$e.string().nullable(),rejectReason:$e.string().nullable(),createdAt:$e.string()});function hu(e){return e.status!=="paid"&&e.status!=="partially_refunded"||e.pendingRefundCny>0?!1:e.kind==="recharge"?e.refundedAmountCny<e.amountCny:e.refundedAmountCny===0}import{z as ut}from"zod";import{z as Yt}from"zod";var gc=Yt.object({kind:Yt.literal("user"),username:Yt.string(),avatarUrl:Yt.string().nullable(),points:Yt.number().int()}),hc=Yt.object({kind:Yt.literal("admin"),username:Yt.string(),avatarUrl:Yt.string().nullable()}),Vo=Yt.discriminatedUnion("kind",[gc,hc]),yu=Yt.object({kind:Xm,username:Yt.string()});var $i=ut.object({id:ut.number().int(),title:ut.string(),category:Ym,priority:Jm,status:Km,createdAt:ut.string(),updatedAt:ut.string()}),bu=$i.pick({id:!0}),Su=25*1024*1024,xu=5,Tu=ut.object({id:ut.number().int(),fileName:ut.string(),fileSize:ut.number().int(),contentType:ut.string()}),wu=Tu.pick({id:!0,fileSize:!0}),VS=ut.object({id:ut.number().int(),author:Vo,content:ut.string(),attachments:ut.array(Tu),createdAt:ut.string()}),ku=ut.object({ticket:$i,messages:ut.array(VS)});import{z as Or}from"zod";var yc=Or.object({id:Or.number().int(),title:Or.string(),content:Or.string(),level:qm,publishedAt:Or.string()});import{z as Ye}from"zod";var bc=100,vu=Ye.object({groups:Ye.array(Ye.object({title:Ye.string(),items:Ye.array(Ye.object({slug:Ye.string(),title:Ye.string()}))}))}),Cu=Ye.object({title:Ye.string(),markdown:Ye.string(),images:Ye.record(Ye.string(),Ye.object({width:Ye.number().int(),height:Ye.number().int()}))}),Ru=Ye.object({slug:Ye.string(),title:Ye.string(),anchor:Ye.string().nullable(),snippet:Ye.string()});function _u(e){return e.trim().toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").replace(/\s+/g,"-")}function Sc(e){try{return decodeURIComponent(e)}catch{return e}}function Bi(e){if(!e.startsWith("/guides/"))return null;let t=e.indexOf("#");return{slug:(t===-1?e:e.slice(0,t)).slice(8,-3),anchor:t===-1?null:Sc(e.slice(t+1))}}import{z as ot}from"zod";function Le(e){return e.toLocaleString("en-US")}function qn(e){let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1)}B`:t>=1e6?`${(e/1e6).toFixed(1)}M`:t>=1e3?`${(e/1e3).toFixed(1)}k`:Le(e)}function pn(e,t){return e===0&&t!==void 0?t:e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:6})}function ao(e){return(e/1e3).toFixed(2)}function Ko(e){return e>=1024**3?`${(e/1024**3).toFixed(1)} GB`:e>=1024**2?`${(e/1024**2).toFixed(1)} MB`:e>=1024?`${(e/1024).toFixed(1)} KB`:`${e} B`}function Fi(e,t){return`${e}******${t}`}var xc=ot.object({inputPricePerMillionTokens:ot.number(),outputPricePerMillionTokens:ot.number(),cachedInputPricePerMillionTokens:ot.number(),cacheWritePricePerMillionTokens:ot.number()});var KS=ot.number().int().nonnegative(),YS=ot.discriminatedUnion("kind",[xc.extend({kind:ot.literal("price"),inputTokensOver:KS}),ot.object({kind:ot.literal("multiplier"),param:ot.string(),value:ot.string(),multiplier:ot.number()})]),Pu=ot.array(YS);function JS(e){return e.kind==="price"}function Au(e){return e.kind==="multiplier"}function Eu(e){return e>=1e6&&e%1e5===0?`${e/1e6}M`:e>=1e3&&e%1e3===0?`${e/1e3}k`:Le(e)}function Dr(e){return e===null?"\u57FA\u7840":"\u6269\u5C55"}function Tc(e){return`> ${Eu(e)}`}function Mu(e,t){let n=t.filter(JS).sort((r,i)=>r.inputTokensOver-i.inputTokensOver),o=n[0];return o===void 0?[{name:Dr(null),range:null,price:e}]:[{name:Dr(null),range:`\u2264 ${Eu(o.inputTokensOver)}`,price:e},...n.map(r=>({name:Dr(r.inputTokensOver),range:Tc(r.inputTokensOver),price:r}))]}var XS=ot.object({value:ot.string(),multiplier:ot.number()}),Iu=ot.array(XS);function Nu(e){return Ou(e.map(t=>t.multiplier))}function Lu(e,t){return Ou([e,...t.map(n=>n.multiplier)])}function Ou(e){return Number(e.reduce((t,n)=>t*n,1).toFixed(4))}import{z as co}from"zod";var QS=co.object({provider:Bm,pageUrl:co.string(),indicator:eu,incidents:co.array(co.object({title:co.string()}))}),Du=co.object({providers:co.array(QS)}),ZS={minor:{label:"\u90E8\u5206\u964D\u7EA7",tone:"warning"},major:{label:"\u90E8\u5206\u4E2D\u65AD",tone:"danger"},critical:{label:"\u4E25\u91CD\u4E2D\u65AD",tone:"danger"}};function $u(e){return e.filter(t=>t.indicator!=="none"||t.incidents.length>0)}function Bu(e){return e.indicator==="none"?{label:"\u4E8B\u4EF6\u5904\u7406\u4E2D",tone:"warning"}:ZS[e.indicator]}import{z as lo}from"zod";var $r=25*1024*1024,Fu=20,Uu=5;var wc="/api/media/";function ju(e){return`${wc}${e}`}var Hu=lo.object({width:lo.number().int(),height:lo.number().int()}),Ui=lo.record(lo.string(),Hu),qu=lo.object({id:lo.number().int(),image:Hu.nullable()}),Gu=String.raw`([1-9]\d{0,14})`,Q0=new RegExp(String.raw`^${wc}${Gu}$`),zu=new RegExp(String.raw`(!?)\[((?:\\.|[^\\\]\n])*)\]\(${wc}${Gu}(?:\s+"[^"\n]*")?\)`,"g");function Wu(e,t,n){return{id:Number(n),image:e==="!",name:t.replace(/\\(.)/g,"$1")}}function Vu(e){return[...e.matchAll(zu)].map(([,t="",n="",o=""])=>Wu(t,n,o))}function kc(e,t){return e.replace(zu,(n,o,r,i)=>t(Wu(o,r,i)))}import{z as dt}from"zod";import{z as I}from"zod";var mo=100,ji=2e4,vc=5e3,Hi=500,qi=64,ex=new RegExp("\\p{Cc}","u"),tx=new RegExp("(?![\\n\\t])\\p{Cc}","u");function Cc(e){return I.string().trim().max(e).refine(t=>!ex.test(t))}function Rc(e){return I.string().trim().max(e).refine(t=>!tx.test(t))}var sP=I.object({categoryId:I.number().int().positive(),title:Cc(mo).min(1),content:Rc(ji).min(1)}),aP=I.object({categoryId:I.number().int().positive().nullable(),title:Cc(mo),content:Rc(ji)}),cP=I.object({content:Rc(vc).min(1),replyToId:I.number().int().positive().optional()}),lP=I.object({reason:Zm,detail:su(Cc(Hi))}),mP=iu.extend({sort:Qm,categoryId:I.coerce.number().int().positive().optional(),q:I.string().trim().min(1).max(qi).optional(),author:I.string().trim().min(1).max(Kt).optional()}),_c=I.object({id:I.number().int(),name:I.string(),description:I.string()}),Gi=_c.pick({id:!0,name:!0}),Br=I.object({id:I.number().int(),title:I.string()}),Yo=I.object({id:I.number().int(),title:I.string().nullable()}),uP=I.object({posts:I.array(I.object({id:I.number().int(),lastModified:I.string()})),users:I.array(I.string()),staff:I.array(I.string())}),Pc=I.object({id:I.number().int(),title:I.string(),category:Gi,author:Vo,commentCount:I.number().int(),viewCount:I.number().int(),likeCount:I.number().int(),lastActivityAt:I.string()}),Ac=I.object({id:I.number().int(),title:I.string(),content:I.string(),images:Ui,category:Gi,author:Vo,status:Ar,reviewReason:I.string().nullable(),commentCount:I.number().int(),viewCount:I.number().int(),likeCount:I.number().int(),coverUrl:I.string().nullable(),createdAt:I.string(),publishedAt:I.string().nullable(),editedAt:I.string().nullable(),liked:I.boolean(),bookmarked:I.boolean()}),Ku={id:I.number().int(),author:Vo,content:I.string(),images:Ui,status:Ar,reviewReason:I.string().nullable(),likeCount:I.number().int(),liked:I.boolean(),createdAt:I.string()},Ec=I.object({...Ku,replyTo:I.object({id:I.number().int(),author:yu}).nullable()}),zi=I.object({...Ku,floor:I.number().int().nullable(),replyCount:I.number().int(),replies:I.array(Ec)}),Mc=I.object({likeCount:I.number().int()}),Yu=Ac.pick({id:!0}),Ju=zi.pick({id:!0}),nx=I.object({status:I.enum(["pending","rejected","removed"]),reviewReason:I.string().nullable()}),Ic=I.object({review:nx.nullable()}),Fr=I.object({id:I.number().int(),title:I.string(),category:Gi,status:Ar,reviewReason:I.string().nullable(),commentCount:I.number().int(),viewCount:I.number().int(),likeCount:I.number().int(),createdAt:I.string(),publishedAt:I.string().nullable()}),Wi=I.object({id:I.number().int(),content:I.string(),post:Yo,floorId:I.number().int(),status:Ar,reviewReason:I.string().nullable(),likeCount:I.number().int(),createdAt:I.string()}),Nc=I.object({id:I.number().int(),category:Gi.nullable(),title:I.string(),content:I.string(),images:Ui,createdAt:I.string()}),Xu=I.object({posts:I.array(Fr),drafts:I.number().int()}),Qu=Nc.pick({id:!0}),Zu=I.object({muted:I.object({reason:I.string(),until:I.string().nullable()}).nullable()});var ox=dt.object({posts:dt.number().int(),comments:dt.number().int(),likesReceived:dt.number().int()}),rx=dt.object({start:dt.string(),end:dt.string(),days:dt.array(dt.object({day:dt.string(),count:dt.number().int()}))}),ix=dt.object({posts:dt.array(Fr),comments:dt.array(Wi)}),ed={joinedAt:dt.string(),stats:ox,activity:rx,overview:ix},td=dt.object({identity:gc,...ed}),nd=dt.object({identity:hc,...ed});import{z as q}from"zod";var tt={id:q.number().int(),read:q.boolean(),createdAt:q.string()},Ur=q.object({floorId:q.number().int()}),od=q.object({username:q.string()}),rd=q.discriminatedUnion("kind",[q.object({...tt,kind:q.literal("post_commented"),post:Br,comment:Ur,actor:od}),q.object({...tt,kind:q.literal("comment_replied"),post:Yo,comment:Ur,actor:od}),q.object({...tt,kind:q.literal("post_approved"),post:Br}),q.object({...tt,kind:q.literal("post_rejected"),post:Br,reason:q.string()}),q.object({...tt,kind:q.literal("post_removed"),post:Br,reason:q.string()}),q.object({...tt,kind:q.literal("comment_approved"),post:Yo,comment:Ur}),q.object({...tt,kind:q.literal("comment_rejected"),post:Yo,comment:Ur,reason:q.string()}),q.object({...tt,kind:q.literal("comment_removed"),post:Yo,comment:Ur,reason:q.string()}),q.object({...tt,kind:q.literal("avatar_approved")}),q.object({...tt,kind:q.literal("avatar_rejected"),reason:q.string()}),q.object({...tt,kind:q.literal("avatar_removed"),reason:q.string()}),q.object({...tt,kind:q.literal("ticket_replied"),ticket:q.object({id:q.number().int(),title:q.string()})}),q.object({...tt,kind:q.literal("invoice_issued"),invoice:q.object({title:q.string(),amountCny:q.number().int()})}),q.object({...tt,kind:q.literal("invoice_rejected"),invoice:q.object({title:q.string()}),reason:q.string()}),q.object({...tt,kind:q.literal("refund_approved"),refund:q.object({orderNo:q.string(),orderType:Qa,amountCny:q.number().int()})}),q.object({...tt,kind:q.literal("refund_rejected"),refund:q.object({orderNo:q.string(),orderType:Qa}),reason:q.string()}),q.object({...tt,kind:q.literal("subscription_expiring"),subscription:q.object({planName:q.string(),expiresAt:q.string()})}),q.object({...tt,kind:q.literal("email_changed"),newEmail:q.string()}),q.object({...tt,kind:q.literal("new_device_login"),ip:q.string(),device:dc.nullable()})]),id=q.object({unread:q.boolean()});var sd="Asia/Shanghai",sx="+08:00";function ax(e){return new Date(new Date(e).getTime()+288e5)}function cx(e=Date.now()){let t=ax(e);return{day:t.toISOString().slice(0,10),hour:t.getUTCHours()}}function Lc(e=Date.now()){return cx(e).day}function Oc(e=Lc()){return new Date(`${e}T00:00:00${sx}`)}function Gn(e,t){let n=new Date(`${e}T00:00:00Z`);return new Date(n.getTime()+t*864e5).toISOString().slice(0,10)}var lx=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"medium",timeZone:sd}),mx=new Intl.DateTimeFormat("zh-CN",{dateStyle:"long",timeZone:sd});function K(e){return lx.format(new Date(e))}function jr(e){return mx.format(new Date(e))}var[ux,...dx]=[{min:0,name:"\u65B0\u624B"},{min:20,name:"\u5165\u95E8"},{min:100,name:"\u8FDB\u9636"},{min:300,name:"\u719F\u7EC3"},{min:800,name:"\u9AD8\u624B"},{min:2e3,name:"\u4E13\u5BB6"},{min:5e3,name:"\u5927\u5E08"}];function Vi(e){let t=1,n=ux;for(let o of dx){if(e<o.min)return{level:t,name:n.name,min:n.min,next:o.min};t+=1,n=o}return{level:t,name:n.name,min:n.min,next:null}}function Ki(e){let t=Vi(e);return`Lv.${t.level} ${t.name}`}function Yi(e){let t=Vi(e);return t.next===null?"\u5DF2\u8FBE\u6700\u9AD8\u7B49\u7EA7":`\u8DDD Lv.${t.level+1} \u8FD8\u5DEE ${t.next-e} \u79EF\u5206`}var Ji="\u7BA1\u7406\u5458",Hr={pending:"\u6B63\u5728\u5BA1\u6838\uFF0C\u901A\u8FC7\u540E\u516C\u5F00\u663E\u793A",rejected:"\u672A\u901A\u8FC7\u5BA1\u6838\uFF0C\u4FEE\u6539\u540E\u53EF\u91CD\u65B0\u63D0\u4EA4",removed:"\u5DF2\u88AB\u5C4F\u853D\uFF0C\u4EC5\u81EA\u5DF1\u53EF\u89C1\u4E14\u65E0\u6CD5\u4FEE\u6539"},Jo={pending:"\u6B63\u5728\u5BA1\u6838\uFF0C\u901A\u8FC7\u540E\u516C\u5F00\u663E\u793A",rejected:"\u672A\u901A\u8FC7\u5BA1\u6838\uFF0C\u4EC5\u81EA\u5DF1\u53EF\u89C1",removed:"\u5DF2\u88AB\u5C4F\u853D\uFF0C\u4EC5\u81EA\u5DF1\u53EF\u89C1"},Dc={pending:"\u65B0\u5934\u50CF\u6B63\u5728\u5BA1\u6838\uFF0C\u901A\u8FC7\u540E\u516C\u5F00\u663E\u793A",rejected:"\u65B0\u5934\u50CF\u672A\u901A\u8FC7\u5BA1\u6838\uFF0C\u53EF\u91CD\u65B0\u4E0A\u4F20",removed:"\u5934\u50CF\u5DF2\u88AB\u5C4F\u853D\uFF0C\u53EF\u91CD\u65B0\u4E0A\u4F20"};function ad(e,t){return t===null?e:`${e}\uFF0C\u539F\u56E0\uFF1A${t}`}function $c(e,t){return t.status==="published"?null:ad(e[t.status],t.reviewReason)}function cd(e){return ad(Dc[e.status],e.reviewReason)}var Xi="\u8BE5\u5E16\u5B50\u6682\u4E0D\u53EF\u89C1",px=4;function ld(e){let t=[],n=new Map;for(let o of e){let r=o.replyTo===null?void 0:n.get(o.replyTo.id),i={reply:o,mention:r===void 0&&o.replyTo!==null?o.replyTo.author:null,children:[]};n.set(o.id,i),r===void 0?t.push(i):r.children.push(i)}return md(t,1)}function md(e,t){return t<px?e.map(n=>({...n,children:md(n.children,t+1)})):e.flatMap(n=>[{...n,children:[]},...ud(n)])}function ud(e){return e.children.flatMap(t=>[{reply:t.reply,mention:e.reply.author,children:[]},...ud(t)])}function Bc(e){return`${e===null?"\u4F60\u5DF2\u88AB\u6C38\u4E45\u7981\u8A00":`\u4F60\u5DF2\u88AB\u7981\u8A00\u81F3 ${K(e)}`}\uFF0C\u671F\u95F4\u65E0\u6CD5\u53D1\u5E16\u3001\u8BC4\u8BBA\u3001\u7F16\u8F91\u3001\u4E0A\u4F20\u6216\u66F4\u6362\u5934\u50CF\u4E0E\u7528\u6237\u540D`}function Ce(e){let t=e/100;return`${t<0?"-":""}\xA5${Math.abs(t).toFixed(2)}`}function Fc(e){return Math.round(e*100)}function dd(e){return e/100}function pd(e,t,n){let o=e/t;return`${o<0?"-":""}$${Math.abs(o).toLocaleString("en-US",{minimumFractionDigits:n,maximumFractionDigits:n})}`}function Te(e,t){return pd(e,t,2)}function Xo(e,t){return pd(e,t,6)}var gd={post:"\u67E5\u770B\u5E16\u5B50",floor:"\u67E5\u770B\u8BC4\u8BBA",ticket:"\u67E5\u770B\u5DE5\u5355",invoices:"\u67E5\u770B\u53D1\u7968",recharge:"\u67E5\u770B\u5145\u503C\u8BB0\u5F55",subscription:"\u67E5\u770B\u8BA2\u9605",security:"\u67E5\u770B\u8D26\u6237"};function fd(e){return e==="subscription"?{kind:"subscription"}:{kind:"recharge"}}function Uc(e){return e.title===null?"":`\u300C${e.title}\u300D\u4E0B\u7684`}function jc(e){switch(e.kind){case"post_commented":return{title:`${e.actor.username} \u8BC4\u8BBA\u4E86\u4F60\u7684\u5E16\u5B50`,body:`\u300C${e.post.title}\u300D`,target:{kind:"floor",postId:e.post.id,floorId:e.comment.floorId}};case"comment_replied":return{title:`${e.actor.username} \u56DE\u590D\u4E86\u4F60\u7684\u8BC4\u8BBA`,body:e.post.title===null?Xi:`\u300C${e.post.title}\u300D`,target:{kind:"floor",postId:e.post.id,floorId:e.comment.floorId}};case"post_approved":return{title:"\u5E16\u5B50\u5DF2\u901A\u8FC7\u5BA1\u6838",body:`\u300C${e.post.title}\u300D\u5DF2\u516C\u5F00\u53D1\u5E03`,target:{kind:"post",postId:e.post.id}};case"post_rejected":return{title:"\u5E16\u5B50\u672A\u901A\u8FC7\u5BA1\u6838",body:`\u300C${e.post.title}\u300D\u672A\u901A\u8FC7\u5BA1\u6838\uFF0C\u539F\u56E0\uFF1A${e.reason}\uFF1B\u4FEE\u6539\u540E\u53EF\u91CD\u65B0\u63D0\u4EA4`,target:{kind:"post",postId:e.post.id}};case"post_removed":return{title:"\u5E16\u5B50\u5DF2\u88AB\u5C4F\u853D",body:`\u300C${e.post.title}\u300D\u5DF2\u88AB\u5C4F\u853D\uFF0C\u539F\u56E0\uFF1A${e.reason}`,target:{kind:"post",postId:e.post.id}};case"comment_approved":return{title:"\u8BC4\u8BBA\u5DF2\u901A\u8FC7\u5BA1\u6838",body:`${Uc(e.post)}\u8BC4\u8BBA\u5DF2\u516C\u5F00\u53D1\u5E03`,target:{kind:"floor",postId:e.post.id,floorId:e.comment.floorId}};case"comment_rejected":return{title:"\u8BC4\u8BBA\u672A\u901A\u8FC7\u5BA1\u6838",body:`${Uc(e.post)}\u8BC4\u8BBA\u672A\u901A\u8FC7\u5BA1\u6838\uFF0C\u539F\u56E0\uFF1A${e.reason}`,target:{kind:"floor",postId:e.post.id,floorId:e.comment.floorId}};case"comment_removed":return{title:"\u8BC4\u8BBA\u5DF2\u88AB\u5C4F\u853D",body:`${Uc(e.post)}\u8BC4\u8BBA\u5DF2\u88AB\u5C4F\u853D\uFF0C\u539F\u56E0\uFF1A${e.reason}`,target:{kind:"floor",postId:e.post.id,floorId:e.comment.floorId}};case"avatar_approved":return{title:"\u5934\u50CF\u5DF2\u901A\u8FC7\u5BA1\u6838",body:"\u5934\u50CF\u5DF2\u516C\u5F00\u663E\u793A",target:{kind:"security"}};case"avatar_rejected":return{title:"\u5934\u50CF\u672A\u901A\u8FC7\u5BA1\u6838",body:`\u65B0\u5934\u50CF\u672A\u901A\u8FC7\u5BA1\u6838\uFF0C\u539F\u56E0\uFF1A${e.reason}\uFF1B\u53EF\u91CD\u65B0\u4E0A\u4F20`,target:{kind:"security"}};case"avatar_removed":return{title:"\u5934\u50CF\u5DF2\u88AB\u5C4F\u853D",body:`\u5934\u50CF\u5DF2\u88AB\u5C4F\u853D\uFF0C\u539F\u56E0\uFF1A${e.reason}\uFF1B\u53EF\u91CD\u65B0\u4E0A\u4F20`,target:{kind:"security"}};case"ticket_replied":return{title:"\u5DE5\u5355\u6709\u65B0\u56DE\u590D",body:`\u5DE5\u5355\u300C${e.ticket.title}\u300D\u6536\u5230\u7BA1\u7406\u5458\u56DE\u590D`,target:{kind:"ticket",ticketId:e.ticket.id}};case"invoice_issued":return{title:"\u53D1\u7968\u5DF2\u5F00\u5177",body:`\u62AC\u5934\u300C${e.invoice.title}\u300D\u91D1\u989D ${Ce(e.invoice.amountCny)} \u7684\u53D1\u7968\u5DF2\u5F00\u5177`,target:{kind:"invoices"}};case"invoice_rejected":return{title:"\u5F00\u7968\u7533\u8BF7\u88AB\u9A73\u56DE",body:`\u62AC\u5934\u300C${e.invoice.title}\u300D\u7684\u5F00\u7968\u7533\u8BF7\u88AB\u9A73\u56DE\uFF0C\u539F\u56E0\uFF1A${e.reason}\uFF1B\u53EF\u4FEE\u6B63\u4FE1\u606F\u540E\u91CD\u65B0\u7533\u8BF7`,target:{kind:"invoices"}};case"refund_approved":return{title:"\u9000\u6B3E\u7533\u8BF7\u5DF2\u901A\u8FC7",body:`\u8BA2\u5355 ${e.refund.orderNo} \u7684\u9000\u6B3E\u7533\u8BF7\u5DF2\u901A\u8FC7\uFF0C${Ce(e.refund.amountCny)} \u5C06\u539F\u8DEF\u9000\u56DE\u652F\u4ED8\u5B9D\u8D26\u6237`,target:fd(e.refund.orderType)};case"refund_rejected":return{title:"\u9000\u6B3E\u7533\u8BF7\u88AB\u9A73\u56DE",body:`\u8BA2\u5355 ${e.refund.orderNo} \u7684\u9000\u6B3E\u7533\u8BF7\u88AB\u9A73\u56DE\uFF0C${e.refund.orderType==="subscription"?"\u8BA2\u9605\u65F6\u957F\u5DF2\u6062\u590D":"\u5230\u8D26\u989D\u5EA6\u5DF2\u6062\u590D"}\uFF0C\u539F\u56E0\uFF1A${e.reason}`,target:fd(e.refund.orderType)};case"subscription_expiring":return{title:"\u8BA2\u9605\u5373\u5C06\u5230\u671F",body:`\u5957\u9910\u300C${e.subscription.planName}\u300D\u5C06\u4E8E ${K(e.subscription.expiresAt)} \u5230\u671F\uFF0C\u5230\u671F\u540E\u5C06\u65E0\u6CD5\u7EE7\u7EED\u4F7F\u7528\u5957\u9910\u5185\u989D\u5EA6`,target:{kind:"subscription"}};case"email_changed":return{title:"\u90AE\u7BB1\u5DF2\u53D8\u66F4",body:`\u8D26\u53F7\u90AE\u7BB1\u5DF2\u53D8\u66F4\u4E3A ${e.newEmail}\uFF0C\u5982\u679C\u4E0D\u662F\u672C\u4EBA\u64CD\u4F5C\uFF0C\u8BF7\u7ACB\u5373\u8054\u7CFB\u7BA1\u7406\u5458`,target:{kind:"security"}};case"new_device_login":return{title:"\u65B0\u8BBE\u5907\u767B\u5F55\u63D0\u9192",body:`\u8D26\u53F7\u5728\u65B0\u8BBE\u5907\u4E0A\u767B\u5F55\uFF1A${Go(e.device)}\uFF0CIP \u5730\u5740 ${e.ip}\uFF1B\u5982\u679C\u4E0D\u662F\u672C\u4EBA\u64CD\u4F5C\uFF0C\u8BF7\u7ACB\u5373\u4FEE\u6539\u5BC6\u7801`,target:{kind:"security"}}}}function qr(e){if(e===void 0)return"";let t="";for(let n of e)switch(n.type){case"codespan":case"escape":case"html":case"image":t+=n.text;break;case"br":t+=" ";break;case"link":case"strong":case"em":case"del":t+=qr(n.tokens);break;case"text":t+="tokens"in n&&n.tokens!==void 0?qr(n.tokens):n.text;break}return t}function Hc(e){if(e===void 0)return[];let t=[];for(let n of e)switch(n.type){case"paragraph":case"heading":t.push(qr(n.tokens));break;case"text":t.push("tokens"in n&&n.tokens!==void 0?qr(n.tokens):n.text);break;case"code":case"html":t.push(n.text);break;case"blockquote":t.push(...Hc(n.tokens));break;case"list":n.items.forEach(o=>t.push(...Hc(o.tokens)));break;case"table":[...n.header,...n.rows.flat()].forEach(o=>t.push(qr(o.tokens)));break}return t}function hd(e){return Hc(e).join(" ").replace(/\s+/g," ").trim()}var fx=[{name:"\u4E00\u6574\u4E2A left-pad npm \u5305",tokens:110},{name:"\u5409\u5C3C\u65AF\u7EAA\u5F55\u6700\u5065\u8C08\u9E66\u9E49\u6BD5\u751F\u5B66\u4F1A\u7684\u8BCD\u6C47",tokens:2200},{name:"\u300A\u8BBA\u8BED\u300B",tokens:25e3},{name:"\u300A\u5C0F\u738B\u5B50\u300B",tokens:3e4},{name:"\u300A\u96F7\u950B\u65E5\u8BB0\u300B",tokens:54e3},{name:"\u300A\u8BD7\u7ECF\u300B",tokens:6e4},{name:"\u5468\u6770\u4F26\u5341\u4E94\u5F20\u4E13\u8F91\u7684\u5168\u90E8\u6B4C\u8BCD",tokens:82e3},{name:"\u300A\u6D3B\u7740\u300B",tokens:11e4},{name:"\u300A\u970D\u6BD4\u7279\u4EBA\u300B",tokens:12e4},{name:"\u300A\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u6C11\u6CD5\u5178\u300B",tokens:126e3},{name:"\u300A\u94F6\u6CB3\u7CFB\u642D\u8F66\u5BA2\u6307\u5357\u300B\u4E94\u90E8\u66F2",tokens:26e4},{name:"\u79E6\u59CB\u7687\u4E00\u5929\u6279\u9605\u7684\u7AF9\u7B80\u594F\u7AE0",tokens:34e4},{name:"\u300A\u7EB3\u5C3C\u4E9A\u4F20\u5947\u300B\u5168\u4E03\u518C",tokens:45e4},{name:"\u300A\u5802\u5409\u8BC3\u5FB7\u300B",tokens:56e4},{name:"\u300A\u9B54\u6212\u300B\u4E09\u90E8\u66F2",tokens:59e4},{name:"\u300A\u804A\u658B\u5FD7\u5F02\u300B",tokens:6e5},{name:"\u300A\u6218\u4E89\u4E0E\u548C\u5E73\u300B",tokens:76e4},{name:"\u300A\u65B0\u534E\u5B57\u5178\u300B",tokens:8e5},{name:"\u300A\u7EA2\u697C\u68A6\u300B",tokens:9e5},{name:"\u300A\u897F\u6E38\u8BB0\u300B",tokens:1e6},{name:"\u300A\u4E09\u4F53\u300B\u4E09\u90E8\u66F2",tokens:11e5},{name:"\u838E\u58EB\u6BD4\u4E9A\u5168\u96C6",tokens:115e4},{name:"\u300A\u7504\u5B1B\u4F20\u300B\u5168\u5267\u5267\u672C",tokens:12e5},{name:"\u963F\u6CE2\u7F57 11 \u53F7\u767B\u6708\u5236\u5BFC\u7A0B\u5E8F\u6E90\u7801",tokens:13e5},{name:"\u300A\u54C8\u5229\xB7\u6CE2\u7279\u300B\u5168\u4E03\u90E8",tokens:14e5},{name:"\u8FC4\u4ECA\u51FA\u571F\u7684\u5168\u90E8\u7532\u9AA8\u6587",tokens:15e5},{name:"\u5409\u5C3C\u65AF\u7EAA\u5F55\u6700\u957F\u5C0F\u8BF4\u300A\u8FFD\u5FC6\u4F3C\u6C34\u5E74\u534E\u300B",tokens:165e4},{name:"\u300A\u51B0\u4E0E\u706B\u4E4B\u6B4C\u300B\u5DF2\u51FA\u4E94\u5377",tokens:226e4},{name:"\u300A\u65F6\u5149\u4E4B\u8F6E\u300B\u5168\u5341\u56DB\u5377",tokens:57e5},{name:"\u300A\u5168\u5510\u8BD7\u300B",tokens:64e5},{name:"\u300A\u9C81\u8FC5\u5168\u96C6\u300B",tokens:85e5},{name:"\u91D1\u5EB8\u5341\u4E94\u90E8\u5C0F\u8BF4",tokens:105e5},{name:"\u300A\u8F9E\u6D77\u300B",tokens:282e5},{name:"\u300A\u5927\u82F1\u767E\u79D1\u5168\u4E66\u300B",tokens:52e6},{name:"\u4E00\u6574\u5E74\u300A\u4EBA\u6C11\u65E5\u62A5\u300B",tokens:53e6},{name:"\u300A\u4E8C\u5341\u56DB\u53F2\u300B",tokens:6e7},{name:"\u300A\u725B\u6D25\u82F1\u8BED\u8BCD\u5178\u300B\u7B2C\u4E8C\u7248",tokens:767e5},{name:"\u5355\u7530\u82B3\u6BD5\u751F\u8BC4\u4E66\u4F5C\u54C1",tokens:86e6},{name:"\u300A\u4E2D\u56FD\u5927\u767E\u79D1\u5168\u4E66\u300B\u7B2C\u4E00\u7248",tokens:1508e5},{name:"\u6574\u5957 Linux \u5185\u6838\u6E90\u7801",tokens:4e8},{name:"\u4E00\u4E2A\u666E\u901A\u4EBA\u4E00\u751F\u8BF4\u51FA\u7684\u5168\u90E8\u8BDD\u8BED",tokens:5e8},{name:"\u4E2D\u6587\u7EF4\u57FA\u767E\u79D1",tokens:1e9},{name:"\u300A\u56DB\u5E93\u5168\u4E66\u300B",tokens:12e8},{name:"\u82F1\u6587\u7EF4\u57FA\u767E\u79D1",tokens:676e7},{name:"\u8C37\u6B4C\u5168\u90E8\u4EE3\u7801\u5E93",tokens:2e10}];function gx(e){return e>=10?Math.round(e).toLocaleString("en-US"):e>=1?e.toFixed(1):e.toFixed(-Math.floor(Math.log10(e)))}function Dt(e){return e>=10?Math.round(e).toLocaleString("en-US"):e.toFixed(1)}function yd(e){return e<365?`${Dt(e)} \u5929`:`${Dt(e/365)} \u5E74`}function hx(e){let t=e/1.2/250/60;if(t<48)return`${Math.max(1,Math.round(t))} \u5C0F\u65F6`;let n=t/24;return n<730?`${Math.round(n)} \u5929`:`${Dt(n/365)} \u5E74`}function yx(e){let t=e/1.2/80/60/8;return t<250?`${Dt(t)} \u4E2A\u5DE5\u4F5C\u65E5`:`${Dt(t/250)} \u4E2A\u5DE5\u4F5C\u5E74`}function bx(e){let t=e/1.2/30*4;return t<1e3?`${Math.round(t).toLocaleString("en-US")} \u514B`:t<1e6?`${Dt(t/1e3)} \u516C\u65A4`:`${Dt(t/1e6)} \u5428`}var Sx=[...fx.map(e=>({min:e.tokens/10,max:e.tokens*1e4,suffix:t=>`\u7EA6\u4E3A${e.name}\u7684 ${gx(t/e.tokens)} \u500D`})),{min:3e5,max:1/0,suffix:e=>`\u6253\u5370\u6210 A4 \u7EB8\u7EA6\u6709 ${Math.round(e/1.2/1500).toLocaleString("en-US")} \u9875`},{min:3e5,max:1/0,suffix:e=>`\u6309\u6BCF\u5206\u949F 250 \u5B57\u7684\u8BED\u901F\u6717\u8BFB\u7EA6\u9700 ${hx(e)}`},{min:1680,max:1/0,suffix:e=>`\u7EA6\u7B49\u4E8E ${Math.round(e/1.2/140).toLocaleString("en-US")} \u6761\u5199\u6EE1 140 \u5B57\u7684\u5FAE\u535A`},{min:9600,max:1/0,suffix:e=>`\u7EA6\u5408 ${Math.round(e/1.2/800).toLocaleString("en-US")} \u7BC7 800 \u5B57\u7684\u9AD8\u8003\u4F5C\u6587`},{min:131400,max:1/0,suffix:e=>`\u6309\u6BCF\u5929\u4E00\u7BC7 300 \u5B57\u7684\u65E5\u8BB0\u8BA1\uFF0C\u591F\u8FDE\u7EED\u5199 ${Dt(e/1.2/300/365)} \u5E74`},{min:12e5,max:1/0,suffix:e=>`\u7EA6\u5408 ${Math.round(e/1.2/1e5).toLocaleString("en-US")} \u672C\u5341\u4E07\u5B57\u7684\u535A\u58EB\u8BBA\u6587`},{min:33e3,max:1/0,suffix:e=>`\u6309\u300A\u8D44\u6CBB\u901A\u9274\u300B\u7684\u7B14\u58A8\u5BC6\u5EA6\uFF0C\u7EA6\u591F\u53F8\u9A6C\u5149\u8BB0\u8F7D ${Math.round(e/45e5*1362).toLocaleString("en-US")} \u5E74\u5386\u53F2`},{min:49e3,max:1/0,suffix:e=>`\u7EA6\u5408\u300A\u4E00\u5343\u96F6\u4E00\u591C\u300B\u91CC\u5C71\u9C81\u4F50\u5FB7\u8BB2\u6545\u4E8B\u7684 ${Math.round(e/492e4*1001).toLocaleString("en-US")} \u4E2A\u591C\u665A`},{min:640,max:1/0,suffix:e=>`\u6309\u91D1\u9675\u523B\u7ECF\u5904\u523B\u5DE5\u534A\u6708\u523B\u6210\u4E00\u5757 800 \u5B57\u7ECF\u7248\u7684\u8FDB\u5EA6\uFF0C\u5168\u90E8\u523B\u4E0A\u96D5\u7248\u9700\u8981 ${yd(e/1.2/53)}`},{min:460800,max:1/0,suffix:e=>`\u6309\u6BCF\u5206\u949F 80 \u5B57\u3001\u6BCF\u5929 8 \u5C0F\u65F6\u8BA1\uFF0C\u591F\u4E00\u4F4D\u4E13\u804C\u6253\u5B57\u5458\u6253 ${yx(e)}`},{min:4500,max:1/0,suffix:e=>`\u82E5\u523B\u6210\u6BCF\u679A 30 \u5B57\u7684\u79E6\u6C49\u7AF9\u7B80\uFF0C\u603B\u91CD\u7EA6 ${bx(e)}`},{min:18e3,max:1/0,suffix:e=>`\u6309\u300A\u6C38\u4E50\u5927\u5178\u300B\u91CD\u5F55\u4E66\u624B\u6BCF\u5929\u4E09\u53F6\u3001\u7EA6 1500 \u5B57\u7684\u5B9A\u989D\uFF0C\u591F\u4E00\u4F4D\u4E66\u624B\u6284\u5199 ${yd(e/1.2/1500)}`},{min:108e3,max:1/0,suffix:e=>`\u7EA6\u7B49\u4E8E ${Math.round(e/1.2/9e3).toLocaleString("en-US")} \u671F\u300A\u65B0\u95FB\u8054\u64AD\u300B\u7684\u64AD\u62A5\u7A3F`},{min:4e4,max:1/0,suffix:e=>`\u7EA6\u7B49\u4E8E ${Dt(e/1.2/33e3)} \u5C4A\u592E\u89C6\u6625\u665A\u7684\u5168\u90E8\u53F0\u8BCD\u548C\u6B4C\u8BCD`},{min:96e3,max:1/0,suffix:e=>`\u6362\u7B97\u6210\u6C49\u5B57\u6309\u6BCF\u5B57 5 \u6BEB\u7C73\u9996\u5C3E\u76F8\u63A5\u6392\u5F00\uFF0C\u7EA6\u80FD\u7ED5\u6807\u51C6 400 \u7C73\u8DD1\u9053 ${Dt(e/1.2*.005/400)} \u5708`},{min:96e5,max:1/0,suffix:e=>`\u6362\u7B97\u6210\u6C49\u5B57\u6309\u6BCF\u5B57 5 \u6BEB\u7C73\u9996\u5C3E\u76F8\u63A5\u6392\u5F00\uFF0C\u7EA6\u5408\u5730\u9762\u5230\u56FD\u9645\u7A7A\u95F4\u7AD9\u8DDD\u79BB\u7684 ${Dt(e/1.2*.005/4e5)} \u500D`},{min:26e7,max:1/0,suffix:e=>`\u6362\u7B97\u6210\u6C49\u5B57\u6309\u6BCF\u5B57 5 \u6BEB\u7C73\u9996\u5C3E\u76F8\u63A5\u6392\u5F00\uFF0C\u7EA6\u80FD\u7ED5\u6708\u7403\u8D64\u9053 ${Dt(e/1.2*.005/10917e3)} \u5708`},{min:96e7,max:1/0,suffix:e=>`\u6362\u7B97\u6210\u6C49\u5B57\u6309\u6BCF\u5B57 5 \u6BEB\u7C73\u9996\u5C3E\u76F8\u63A5\u6392\u5F00\uFF0C\u7EA6\u80FD\u7ED5\u5730\u7403\u8D64\u9053 ${Dt(e/1.2*.005/40075e3)} \u5708`}];function bd(e){let{tokens:t,scope:n,range:o}=e;if(t<=0)return null;let r=Sx.filter(c=>t>=c.min&&t<=c.max),i=r[Math.floor(Math.random()*r.length)];return i?`${n==="user"?"\u4F60":"\u5168\u7AD9"}${o==="all"?"\u7D2F\u8BA1":o==="30d"?"\u8FD1 30 \u5929":"\u8FD1 7 \u5929"}\u4F7F\u7528\u7684 Token \u91CF${i.suffix(t)}`:null}function Cn(e){return t=>{let n=e[t];if(!n)throw new Error(`unknown status value: ${t}`);return n}}function $t(e){return t=>{let n=e[t];if(!n)throw new Error(`unknown label value: ${t}`);return n}}var zn=Cn({pending:{label:"\u5F85\u652F\u4ED8",tone:"warning"},paid:{label:"\u5DF2\u652F\u4ED8",tone:"success"},refund_requested:{label:"\u9000\u6B3E\u5BA1\u6838\u4E2D",tone:"warning"},partially_refunded:{label:"\u90E8\u5206\u9000\u6B3E",tone:"warning"},refunded:{label:"\u5DF2\u9000\u6B3E",tone:"danger"},failed:{label:"\u5931\u8D25",tone:"danger"},expired:{label:"\u5DF2\u8FC7\u671F",tone:"neutral"}}),LP=$t({recharge:"\u5145\u503C",subscription:"\u8BA2\u9605"}),Qi=Cn({pending:{label:"\u5F85\u5904\u7406",tone:"warning"},issued:{label:"\u5DF2\u5F00\u5177",tone:"success"},rejected:{label:"\u5DF2\u9A73\u56DE",tone:"danger"}}),OP=Cn({active:{label:"\u6B63\u5E38",tone:"success"},disabled:{label:"\u7981\u7528",tone:"danger"}}),qc=$t({subscription_first:"\u8BA2\u9605\u4F18\u5148",balance_first:"\u4F59\u989D\u4F18\u5148",subscription_only:"\u4EC5\u8BA2\u9605",balance_only:"\u4EC5\u4F59\u989D"}),Gc=$t({subscription_first:"\u6709\u53EF\u7528\u8BA2\u9605\u65F6\u4F7F\u7528\u8BA2\u9605\u989D\u5EA6\uFF0C\u8BA2\u9605\u7528\u5C3D\u6216\u672A\u8986\u76D6\u5F53\u524D\u5206\u7EC4\u65F6\u6539\u6263\u4F59\u989D",balance_first:"\u4F59\u989D\u5145\u8DB3\u65F6\u6263\u4F59\u989D\uFF0C\u4F59\u989D\u4E0D\u8DB3\u65F6\u6539\u7528\u8BA2\u9605\u989D\u5EA6",subscription_only:"\u53EA\u4F7F\u7528\u8BA2\u9605\u989D\u5EA6\uFF0C\u8BA2\u9605\u7528\u5C3D\u6216\u672A\u8986\u76D6\u5F53\u524D\u5206\u7EC4\u65F6\u62D2\u7EDD\u8BF7\u6C42",balance_only:"\u53EA\u6263\u8D26\u6237\u4F59\u989D\uFF0C\u4E0D\u4F7F\u7528\u8BA2\u9605\u989D\u5EA6"}),Sd=Ja.map(e=>({value:e,label:qc(e)})),zc=$t({recharge:"\u5145\u503C",reserve:"\u9884\u6263",consume:"\u6D88\u8D39",reserve_refund:"\u9884\u6263\u9000\u56DE",refund:"\u9000\u6B3E",refund_release:"\u9000\u6B3E\u8FD4\u8FD8",reward:"\u5956\u52B1",admin_adjust:"\u7BA1\u7406\u5458\u8C03\u6574"}),xd=$t({usage_log:"\u7528\u91CF",order:"\u8BA2\u5355",invitation:"\u9080\u8BF7",admin:"\u7BA1\u7406\u5458"}),Td=Cn({requested:{label:"\u5F85\u5BA1\u6838",tone:"warning"},pending:{label:"\u5F85\u786E\u8BA4",tone:"warning"},succeeded:{label:"\u5DF2\u9000\u6B3E",tone:"success"},failed:{label:"\u5931\u8D25",tone:"danger"},rejected:{label:"\u5DF2\u9A73\u56DE",tone:"danger"},canceled:{label:"\u5DF2\u64A4\u9500",tone:"neutral"}}),Zi=Cn({success:{label:"\u6210\u529F",tone:"success"},error:{label:"\u5931\u8D25",tone:"danger"},canceled:{label:"\u53D6\u6D88",tone:"neutral"},anomaly:{label:"\u5F02\u5E38",tone:"warning"}}),wd=$t({"openai-chat":"OpenAI Chat","openai-responses":"OpenAI Responses","anthropic-messages":"Anthropic Messages"}),Gr=$t({special:"\u589E\u503C\u7A0E\u4E13\u7528\u53D1\u7968",general:"\u589E\u503C\u7A0E\u666E\u901A\u53D1\u7968"}),uo=$t({special:"\u4E13\u7968",general:"\u666E\u7968"}),es=$t({first_inviter:"\u9996\u5145\u8FD4\u5229\uFF08\u9080\u8BF7\u4EBA\uFF09",first_invitee:"\u9996\u5145\u8FD4\u5229\uFF08\u88AB\u9080\u8BF7\u4EBA\uFF09",subsequent_inviter:"\u7EED\u5145\u8FD4\u5229\uFF08\u9080\u8BF7\u4EBA\uFF09"}),zr=Cn({info:{label:"\u4FE1\u606F",tone:"neutral"},success:{label:"\u6210\u529F",tone:"success"},warning:{label:"\u8B66\u544A",tone:"warning"},error:{label:"\u91CD\u8981",tone:"danger"}}),Wc=Cn({open:{label:"\u5F85\u5904\u7406",tone:"warning"},replied:{label:"\u5DF2\u56DE\u590D",tone:"success"},closed:{label:"\u5DF2\u5173\u95ED",tone:"neutral"}}),ts=$t({billing:"\u8BA1\u8D39",technical:"\u6280\u672F",account:"\u8D26\u53F7",other:"\u5176\u4ED6"}),Vc=Cn({low:{label:"\u8F83\u4F4E",tone:"neutral"},normal:{label:"\u666E\u901A",tone:"neutral"},high:{label:"\u7D27\u6025",tone:"danger"}}),kd=$t({openai:"OpenAI",anthropic:"Anthropic"}),po=Cn({pending:{label:"\u5BA1\u6838\u4E2D",tone:"warning"},published:{label:"\u5DF2\u53D1\u5E03",tone:"success"},rejected:{label:"\u672A\u901A\u8FC7",tone:"danger"},removed:{label:"\u5DF2\u5C4F\u853D",tone:"danger"}}),vd=$t({spam:"\u5783\u573E\u5E7F\u544A",abuse:"\u4EBA\u8EAB\u653B\u51FB",explicit:"\u8272\u60C5\u4F4E\u4FD7",illegal:"\u8FDD\u6CD5\u8FDD\u89C4",privacy:"\u6CC4\u9732\u9690\u79C1",other:"\u5176\u4ED6"}),Cd=$t({activity:"\u6700\u65B0\u56DE\u590D",published:"\u6700\u65B0\u53D1\u5E03"});function Pt(e,t,n){let o=r=>{let i=t(r);return typeof i=="string"?i:i.label};return[{value:"",label:n},...e.map(r=>({value:r,label:o(r)}))]}function rs(e){return`${e.name} \xD7${e.multiplier}`}var ns=10080,os=1440;function Rd(e){if(e%ns===0){let t=e/ns;return t===1?"\u6BCF\u5468\u9650\u989D":`${t} \u5468\u9650\u989D`}if(e%os===0){let t=e/os;return t===1?"\u6BCF\u65E5\u9650\u989D":`${t} \u5929\u9650\u989D`}return e%60===0?`${e/60} \u5C0F\u65F6\u9650\u989D`:`${e} \u5206\u949F\u9650\u989D`}function xx(e){if(e%ns===0){let t=e/ns;return t===1?"\u6BCF\u5468":`\u6BCF ${t} \u5468`}if(e%os===0){let t=e/os;return t===1?"\u6BCF\u5929":`\u6BCF ${t} \u5929`}return e%60===0?`\u6BCF ${e/60} \u5C0F\u65F6`:`\u6BCF ${e} \u5206\u949F`}function _d(e,t){return e.windows.map(n=>`${xx(n.durationMinutes)} ${Te(n.quota,t)}`)}function Kc(e){return Math.min(100,Math.floor(e.used/e.quota*100))}function Yc(e){return e.revokedAt!==null?{label:"\u5DF2\u4F5C\u5E9F",tone:"danger"}:new Date(e.expiresAt).getTime()<=Date.now()?{label:"\u5DF2\u8FC7\u671F",tone:"neutral"}:{label:"\u751F\u6548\u4E2D",tone:"success"}}var Jc={recharge:["\u5145\u9519\u91D1\u989D\u6216\u91CD\u590D\u5145\u503C","\u9700\u8981\u7684\u6A21\u578B\u4E0D\u53EF\u7528","\u8C03\u7528\u7ECF\u5E38\u62A5\u9519\u6216\u8D85\u65F6","\u5B9E\u9645\u8BA1\u8D39\u9AD8\u4E8E\u9884\u671F","\u4F59\u989D\u7528\u4E0D\u5B8C\uFF0C\u4E0D\u518D\u9700\u8981"],subscription:["\u8BEF\u8D2D\u6216\u9009\u9519\u5957\u9910","\u5957\u9910\u4E0D\u542B\u9700\u8981\u7684\u6A21\u578B","\u9650\u989D\u592A\u4F4E\uFF0C\u4E0D\u591F\u7528","\u8C03\u7528\u7ECF\u5E38\u62A5\u9519\u6216\u8D85\u65F6","\u4F7F\u7528\u9891\u7387\u4F4E\uFF0C\u4E0D\u5212\u7B97"]},Pd={recharge:"\u63D0\u4EA4\u540E\u672C\u5355\u5269\u4F59\u989D\u5EA6\u4E0E\u5173\u8054\u7684\u9080\u8BF7\u5956\u52B1\u5C06\u7ACB\u5373\u4ECE\u4F59\u989D\u6536\u56DE\uFF1B\u5BA1\u6838\u901A\u8FC7\u540E\u539F\u8DEF\u9000\u56DE\u652F\u4ED8\u5B9D\uFF0C\u9A73\u56DE\u6216\u64A4\u9500\u540E\u81EA\u52A8\u6062\u590D",subscription:"\u63D0\u4EA4\u540E\u672C\u5355\u672A\u5F00\u59CB\u7684\u65F6\u957F\u7ACB\u5373\u5931\u6548\uFF0C\u6B63\u5728\u670D\u52A1\u4E2D\u7684\u65F6\u6BB5\u4FDD\u7559\u81F3\u5F53\u524D\u9650\u989D\u5468\u671F\u7ED3\u675F\uFF1B\u5BA1\u6838\u901A\u8FC7\u540E\u6309\u672A\u5F00\u59CB\u7684\u9650\u989D\u5468\u671F\u6298\u7B97\u539F\u8DEF\u9000\u6B3E\uFF0C\u9A73\u56DE\u6216\u64A4\u9500\u540E\u81EA\u52A8\u6062\u590D"};var wx=3e4,kx=ou({cliVersion:Vt,platform:process.platform,release:Tx(),arch:process.arch,nodeVersion:process.versions.node});async function Ad(e,t){if(t.json!==void 0&&t.body!==void 0)throw new Error("httpRequest cannot accept both json and body");let n=new Headers(t.headers);n.set("user-agent",kx);let o=t.body;t.json!==void 0&&(n.set("content-type","application/json"),o=JSON.stringify(t.json));try{return await fetch(e,{method:t.method??(o===void 0?"GET":"POST"),headers:n,body:o,signal:AbortSignal.timeout(t.timeoutMs??wx),redirect:"follow"})}catch(r){let i=URL.canParse(e)?new URL(e).origin:e;throw new F(`\u65E0\u6CD5\u8FDE\u63A5 ${i}\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7AD9\u70B9\u5730\u5740`,{exitCode:Am,cause:r})}}async function Ed(e){let t=await e.text();if(t==="")return null;try{return JSON.parse(t)}catch{return null}}async function Jt(e,t={}){let n=await Ad(e,t);if(!n.ok)return{status:n.status,ok:!1,headers:n.headers,data:await Ed(n)};let o=await n.text(),r=null;if(o!=="")try{r=JSON.parse(o)}catch(i){throw new F(`${e} \u8FD4\u56DE\u4E86\u975E JSON \u5185\u5BB9\uFF0C\u53EF\u80FD\u88AB\u7F51\u5173\u6216\u4E2D\u95F4\u8BBE\u5907\u62E6\u622A`,{cause:i})}return{status:n.status,ok:!0,headers:n.headers,data:r}}async function Md(e,t={}){let n=await Ad(e,t);if(!n.ok)return{status:n.status,ok:!1,headers:n.headers,data:await Ed(n),bytes:null};let o=new Uint8Array(await n.arrayBuffer());return{status:n.status,ok:!0,headers:n.headers,data:null,bytes:o}}function vx(e,t){let n=tu.safeParse(t);if(!n.success)return new F(`\u8BF7\u6C42\u5931\u8D25\uFF08HTTP ${e}\uFF09`);let{code:o,message:r}=n.data.error,i=o==="unauthorized"||o==="token_expired"?ro:void 0;return new F(nu[o]??r,i?{exitCode:i}:{})}function sn(e){if(!e.ok)throw vx(e.status,e.data)}var Ld="cf_refresh",Od="cf_device",Id=6e4;function Nd(e,t){for(let n of e.getSetCookie()){let o=n.split(";",1)[0];if(o===void 0)continue;let r=o.indexOf("=");if(!(r<0)&&o.slice(0,r).trim()===t)return o.slice(r+1).trim()}return null}function Wr(e,t){return{refresh:Nd(t,Ld)??e.refresh,device:Nd(t,Od)??e.device}}function is(e){let t=[];return e.refresh&&t.push(`${Ld}=${e.refresh}`),e.device&&t.push(`${Od}=${e.device}`),t.length>0?{cookie:t.join("; ")}:{}}function Cx(e){let t=e.split(".")[1];if(t===void 0)throw new F("\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684\u8BBF\u95EE\u4EE4\u724C\u683C\u5F0F\u4E0D\u6B63\u786E");let n;try{n=JSON.parse(Buffer.from(t,"base64url").toString("utf8"))}catch(r){throw new F("\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684\u8BBF\u95EE\u4EE4\u724C\u65E0\u6CD5\u89E3\u6790",{cause:r})}let o=n.exp;if(typeof o!="number")throw new F("\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684\u8BBF\u95EE\u4EE4\u724C\u7F3A\u5C11\u6709\u6548\u671F");return o*1e3}function Vr(e,t,n){if(!t.refresh)throw new F("\u670D\u52A1\u7AEF\u672A\u4E0B\u53D1\u5237\u65B0\u51ED\u636E\uFF0C\u65E0\u6CD5\u4FDD\u6301\u767B\u5F55\u72B6\u6001");let o={refreshCookie:t.refresh,accessToken:n.accessToken,accessExpiresAt:Cx(n.accessToken),username:n.user.username,email:n.user.email,site:e};return _r(r=>{r.session=o,t.device&&(r.device={site:e,cookie:t.device})}),o}function Xc(e){let{device:t}=wt();return t!==null&&t.site===e?t.cookie:null}async function Dd(e,t,n){let o={refresh:null,device:Xc(e)},r=await Jt(`${e}/api/auth/login`,{json:{account:t,password:n},headers:is(o)});sn(r);let i=cu.parse(r.data),s=Wr(o,r.headers);return i.status==="totp_required"?{status:"totp_required",ticket:i.ticket,jar:s}:{status:"ok",session:Vr(e,s,i)}}async function $d(e,t,n,o,r){let s=await Jt(`${e}/api/auth/${r==="totp"?"login/totp":"login/recovery-code"}`,{json:{ticket:n,code:o},headers:is(t)});sn(s);let a=zo.parse(s.data);return Vr(e,Wr(t,s.headers),a)}function ss(){_r(e=>{e.session=null})}async function Rx(e){let t={refresh:e.refreshCookie,device:Xc(e.site)},n=await Jt(`${e.site}/api/auth/refresh`,{method:"POST",headers:is(t)});if(n.status===401||n.status===403)throw ss(),new F("\u767B\u5F55\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",{exitCode:ro});sn(n);let o=zo.parse(n.data);return Vr(e.site,Wr(t,n.headers),o)}async function Kr(e=!1){let t=Dm();return!e&&Date.now()<t.accessExpiresAt-Id?t:Ii(async()=>{let n=Mi().session;if(!n)throw new F("\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u5148\u767B\u5F55\u8D26\u53F7",{exitCode:ro});return(n.refreshCookie!==t.refreshCookie||n.accessToken!==t.accessToken)&&Date.now()<n.accessExpiresAt-Id?n:Rx(n)})}async function as(){let e=wt().session;if(!e)return;let t=await Jt(`${e.site}/api/auth/logout`,{method:"POST",headers:is({refresh:e.refreshCookie,device:Xc(e.site)})});ss(),sn(t)}async function fn(e,t,n={}){let o=await Jt(t,n);return sn(o),e.parse(o.data)}async function A(e,t,n={}){let o=await Kr(),r=s=>Jt(`${o.site}/api${t}`,{...n,headers:{...n.headers,authorization:`Bearer ${s}`}}),i=await r(o.accessToken);if(i.status===401){let s=await Kr(!0);i=await r(s.accessToken)}return sn(i),e.parse(i.data)}async function Qc(e,t={}){let n=await Kr(),o=i=>Md(`${n.site}/api${e}`,{...t,headers:{...t.headers,authorization:`Bearer ${i}`}}),r=await o(n.accessToken);if(r.status===401){let i=await Kr(!0);r=await o(i.accessToken)}return sn(r),{bytes:r.bytes,headers:r.headers}}async function cs(e,t={}){return(await Qc(e,t)).bytes}function Ue(e,t){let n=new URLSearchParams;for(let[r,i]of Object.entries(t))i!==void 0&&n.set(r,String(i));let o=n.toString();return o===""?e:`${e}?${o}`}var _x=ht.object({siteName:ht.string(),apiLines:ht.array(ht.object({name:ht.string(),description:ht.string(),url:ht.string()})),quotaPerUsd:ht.number(),ticketAutoCloseMinutes:ht.number(),legal:ht.object({termsConfigured:ht.boolean(),privacyConfigured:ht.boolean()}),siteOrigin:ht.string().nullable()});function Be(e,t){return fn(_x,`${e}/api/site-config`,{...t===void 0?{}:{timeoutMs:t}})}var Px=ht.object({content:ht.string(),configured:ht.boolean()});function Bd(e,t){return fn(Px,`${e}/api/agreements/${t}`)}var Ax=1e4;function Fd(){if(process.env.CODEFLOW_SITE)return null;let{session:e}=wt();return e!==null&&e.site!==Pi?e.site:null}async function Ud(e){let t;try{({siteOrigin:t}=await Be(e,Ax))}catch(o){throw new F(Se(o),{...o instanceof F?{exitCode:o.exitCode}:{},hint:`\u767B\u5F55\u72B6\u6001\u8BB0\u5728 ${e}\uFF0C\u82E5\u8BE5\u7AD9\u70B9\u5DF2\u505C\u7528\uFF0C\u8BF7\u5220\u9664 ${Ei()} \u540E\u91CD\u65B0\u767B\u5F55`,cause:o})}let n=t;n!==e&&await Ii(async()=>{Mi(),_r(o=>{o.session?.site===e&&(o.session.site=n),o.device?.site===e&&(o.device.site=n)})})}import{existsSync as Mx,rmSync as Ix}from"fs";import{spawn as Ex}from"child_process";function Yr(e,t={}){return new Promise((n,o)=>{let r=Ex("npm",e,{stdio:["ignore","pipe","pipe"],shell:process.platform==="win32"}),i=[],s=[],a=c=>{for(let l of c.toString("utf8").split(`
4
4
  `)){let u=l.trimEnd();u!==""&&(s.push(u),s.length>20&&s.shift())}};r.stdout.on("data",c=>{i.push(c.toString("utf8")),a(c)}),r.stderr.on("data",a),r.on("error",c=>o(new F(`\u6267\u884C npm \u5931\u8D25\uFF1A${c.message}`,{cause:c}))),r.on("close",c=>{if(c===0){n(i.join(""));return}let l=s.slice(-2).join(" / ");o(new F(`npm ${e.join(" ")} \u9000\u51FA\u7801 ${c??"null"}`,{...l===""?{}:{hint:l}}))}),t.background===!0&&(r.stdout.unref(),r.stderr.unref(),r.unref())})}async function jd(e){let t=[],n=async(o,r)=>{try{await r(),e.done(o)}catch(i){t.push(`${o}\uFF1A${Se(i)}`),e.failed(o)}};return await n("\u9000\u51FA\u767B\u5F55",()=>as()),await n("\u5220\u9664\u672C\u5730\u6587\u4EF6",()=>{let o=vn();Mx(o)&&Ix(o,{recursive:!0,force:!0})}),await n("\u5378\u8F7D\u672C\u7A0B\u5E8F",async()=>{await Yr(["uninstall","-g",Fo])}),t}import{z as Jr}from"zod";var Nx=Jr.object({line:Jr.object({name:Jr.string(),url:Jr.string()}).nullable(),lastUpdateCheckAt:Jr.number().nullable()}),Hd=Ai(Nx,{line:null,lastUpdateCheckAt:null},Mm,"\u672C\u5730\u914D\u7F6E","\u91CD\u65B0\u8FD0\u884C"),fo=Hd.load,ls=Hd.update;var Lx=1440*60*1e3;async function qd(){let e=(await Yr(["view",Fo,"version"])).trim();if(e==="")throw new F(`npm \u6CA1\u6709\u62A5\u51FA ${Fo} \u7684\u7248\u672C`);return e}async function Gd(e,t){return await Yr(["install","-g",`${Fo}@${e}`],{background:t}),e}async function zd(){let e=await qd();return e===Vt?null:await Gd(e,!1)}function Ox(){let e=Date.now(),t=fo().lastUpdateCheckAt;return t!==null&&e-t<Lx?!1:(ls(n=>{n.lastUpdateCheckAt=e}),!0)}async function Wd(){if(!Ox())return null;let e;try{e=await qd()}catch{return null}return e===Vt?null:await Gd(e,!0)}import{Box as BR,render as FR,useInput as UR}from"ink";import{useEffect as _m,useRef as jR}from"react";var Vd=e=>A(mt(yc),Ue("/announcements",{...e})),Kd=()=>A(yc.nullable(),"/announcements/unread"),ms=e=>A(se,`/announcements/${e}/read`,{method:"POST"});import{Box as Yd,useWindowSize as Dx}from"ink";import{Children as $x}from"react";import{jsx as Jd}from"react/jsx-runtime";var Bx=1,Zc=1,X=1;function j(){let{columns:e,rows:t}=Dx();return{width:Math.max(1,e-Bx*2),columns:e,rows:t}}function Xd({height:e,children:t}){return Jd(Yd,{flexDirection:"column",height:e,justifyContent:"space-between",children:$x.toArray(t).map((n,o)=>Jd(Yd,{flexDirection:"column",flexShrink:0,children:n},o))})}import{useInput as Qd}from"ink";import{createContext as ps,useCallback as tl,useContext as Fx,useEffect as Zd,useMemo as ep,useRef as ds,useState as Ux}from"react";import{jsx as us}from"react/jsx-runtime";var fs=ps(null),nl=ps(null),ol=ps(null);function el(){let[e,t]=Ux(!1),n=ds(0),o=tl(()=>(n.current+=1,t(!0),()=>{n.current-=1,n.current===0&&t(!1)}),[]);return ep(()=>({held:e,acquire:o}),[e,o])}var Wn={screen:0,panel:10,input:20},rl=ps(null);function tp({children:e}){let t=el(),n=el(),o=el(),r=ds([]),i=ds(0),s=tl(l=>{let u={...l,seq:i.current+=1};return r.current.push(u),()=>{r.current=r.current.filter(m=>m!==u)}},[]),a=tl(()=>{r.current.reduce((u,m)=>u===null||m.layer>u.layer||m.layer===u.layer&&m.seq>u.seq?m:u,null)?.handler()},[]);Qd((l,u)=>{u.escape&&a()});let c=ep(()=>({push:s,fire:a}),[s,a]);return us(fs.Provider,{value:t,children:us(nl.Provider,{value:n,children:us(ol.Provider,{value:o,children:us(rl.Provider,{value:c,children:e})})})})}function go(e){let t=Fx(e);if(!t)throw new Error("\u952E\u76D8\u94A9\u5B50\u5FC5\u987B\u5728 KeyboardProvider \u5185\u4F7F\u7528");return t}function il(e,t){let{acquire:n}=go(e);Zd(()=>{if(t)return n()},[t,n])}function gs(e){il(fs,e)}function Re(e){il(nl,e)}function np(e){il(ol,e)}function hs(){return go(nl).held}function ys(){return go(fs).held}function op(){return go(ol).held}function G(e,t=!0){let n=go(fs).held;Qd(e,{isActive:t&&!n})}function rp(){return go(rl).fire}function gn(e,{isActive:t=!0,layer:n=Wn.screen}={}){let{push:o}=go(rl),r=ds(e);r.current=e,Zd(()=>{if(t)return o({handler:()=>r.current(),layer:n})},[t,n,o])}import{measureElement as jx}from"ink";import{PassThrough as Hx}from"stream";import{createContext as qx,useCallback as Gx,useContext as zx,useEffect as cp,useRef as bs}from"react";import{jsx as tT}from"react/jsx-runtime";var Wx="\x1B[?1000h\x1B[?1003h\x1B[?1006h",Vx="\x1B[?1006l\x1B[?1003l\x1B[?1000l",Kx=27,Yx=91,Jx=60,ip=77,sp=109,ap=20,Xx=64,Qx=32,Zx=20;function eT(e){let t=[],n=[],o=0;for(;o<e.length;){let r=e[o];if(r===void 0)break;if(r!==Kx){n.push(r),o+=1;continue}let i=e[o+1],s=e[o+2];if(i===void 0||s===void 0)break;if(i!==Yx){n.push(r),o+=1;continue}if(s===ip){if(o+6>e.length)break;o+=6;continue}if(s!==Jx){n.push(r),o+=1;continue}let a=o+3,c;for(;a<e.length&&a-o<ap;){let d=e[a];if(d===ip||d===sp){c=d;break}a+=1}if(c===void 0){if(a-o<ap)break;n.push(r),o+=1;continue}let l=e.subarray(o+3,a).toString("latin1").split(";");if(o=a+1,c===sp||l.length!==3)continue;let u=Number(l[0]),m=Number(l[1]),p=Number(l[2]);!Number.isFinite(u)||!Number.isFinite(m)||!Number.isFinite(p)||t.push((u&Xx)!==0?{row:p,column:m,kind:"wheel",delta:(u&1)===0?-1:1}:{row:p,column:m,kind:(u&Qx)!==0?"move":"press"})}return{events:t,clean:Buffer.from(n),pending:e.subarray(o)}}function lp(e,t){let n=new Set,o=new Hx,r=Buffer.alloc(0),i=null,s=()=>{i=null,r.length!==0&&(o.write(r),r=Buffer.alloc(0))},a=p=>{i!==null&&clearTimeout(i),i=null;let d=eT(Buffer.concat([r,p]));r=d.pending,d.clean.length>0&&o.write(d.clean);for(let b of d.events)for(let h of n)h(b);r.length>0&&(i=setTimeout(s,Zx))},c=()=>{t.write(Vx)},l={SIGHUP:1,SIGINT:2,SIGTERM:15},u=p=>{process.exit(128+(l[p]??0))};e.on("data",a),process.once("exit",c);for(let p of Object.keys(l))process.on(p,u);t.write(Wx);let m=o;return Object.assign(m,{isTTY:!0,setRawMode(p){return e.setRawMode(p),m},ref(){return e.ref(),m},unref(){return e.unref(),m}}),{stdin:m,subscribe(p){return n.add(p),()=>{n.delete(p)}},dispose(){c(),i!==null&&clearTimeout(i),process.off("exit",c);for(let p of Object.keys(l))process.off(p,u);e.off("data",a),n.clear()}}}var mp=qx(null);function up({subscribe:e,children:t}){let n=bs(new Set).current,o=bs(null),r=Gx(i=>(n.add(i),()=>{n.delete(i)}),[n]);return cp(()=>e(i=>{let s=i.row-1,a=i.column-1,c=null;for(let u of n){let m=u.node.current;if(m===null||u.handlers.current.isActive===!1)continue;let p=jx(m);if(s<p.y||s>=p.y+p.height||a<p.x||a>=p.x+p.width)continue;let d=p.width*p.height;(c===null||d<c.area)&&(c={region:u,top:p.y,left:p.x,area:d})}if(i.kind==="move"){let u=c===null?null:c.region;if(o.current!==u){let m=o.current;m!==null&&n.has(m)&&m.handlers.current.onHoverLeave?.(),o.current=u}c!==null&&c.region.handlers.current.onHover?.({row:s-c.top,column:a-c.left});return}if(c===null)return;let l=c.region.handlers.current;i.kind==="wheel"?l.onWheel?.(i.delta):l.onClick?.({row:s-c.top,column:a-c.left})}),[e,n]),tT(mp.Provider,{value:r,children:t})}function rt(e){let t=zx(mp);if(t===null)throw new Error("useMouseRegion \u5FC5\u987B\u5728 MouseProvider \u5185\u4F7F\u7528");let n=bs(null),o=bs(e);return o.current=e,cp(()=>t({node:n,handlers:o}),[t]),n}import{useApp as nT}from"ink";import{createContext as oT,useCallback as ho,useContext as rT,useEffect as sl,useRef as xs,useState as Qr}from"react";var kt=[{id:"usage",label:"\u6570\u636E\u770B\u677F"},{id:"tokens",label:"\u4EE4\u724C\u7BA1\u7406"},{id:"logs",label:"\u4F7F\u7528\u65E5\u5FD7"},{id:"models",label:"\u6A21\u578B\u5E7F\u573A"},{id:"docs",label:"\u4F7F\u7528\u6587\u6863"},{id:"recharge",label:"\u8D26\u6237\u5145\u503C"},{id:"subscription",label:"\u8BA2\u9605\u5957\u9910"},{id:"ledger",label:"\u989D\u5EA6\u6D41\u6C34"},{id:"invoices",label:"\u53D1\u7968\u7BA1\u7406"},{id:"invite",label:"\u9080\u8BF7\u597D\u53CB"},{id:"tickets",label:"\u5DE5\u5355\u652F\u6301"},{id:"community",label:"\u793E\u533A\u8BBA\u575B"},{id:"inbox",label:"\u7AD9\u5185\u6D88\u606F"},{id:"announcements",label:"\u7CFB\u7EDF\u516C\u544A"},{id:"profile",label:"\u4E2A\u4EBA\u4E3B\u9875"}],dp="usage",Xr=e=>kt.findIndex(t=>t.id===e),Ss=e=>Xr(e)>=0;import{jsx as sT}from"react/jsx-runtime";var iT=5e3,fp=oT(null),gp=e=>({id:e,params:void 0}),pp=()=>wt().session===null?[{id:"home",params:void 0}]:[gp(dp)];function O(){let e=rT(fp);if(!e)throw new Error("useNav \u5FC5\u987B\u5728 NavProvider \u5185\u4F7F\u7528");return e}function hp({ctx:e,children:t}){let n=nT(),[o,r]=Qr(pp),[i,s]=Qr(0),[a,c]=Qr([]),l=xs({announcementsChecked:!1,announcementsShown:!1}).current,u=xs(new WeakMap).current,m=ho((R,...N)=>{r(E=>[...E,{id:R,params:N[0]}])},[]),p=ho(()=>{r(R=>R.length>1?R.slice(0,-1):R),s(R=>R+1)},[]),d=ho(R=>{r([gp(R)]),s(N=>N+1)},[]),b=ho(()=>{r(pp()),s(R=>R+1)},[]),h=ho(()=>s(R=>R+1),[]),g=ho((R,N)=>{c(E=>[...E,{tone:R,message:N}])},[]),x=ho(()=>c(R=>R.slice(1)),[]),T=a[0]??null;sl(()=>{if(T===null)return;let R=setTimeout(x,iT);return()=>clearTimeout(R)},[T,x]);let k=o[o.length-1];if(k===void 0)throw new Error("\u5BFC\u822A\u6808\u4E3A\u7A7A");let S=u.get(k);S===void 0&&(S=new Map,u.set(k,S));let y={ctx:e,current:k,depth:o.length,push:m,pop:p,select:d,home:b,reload:h,toast:g,message:T,dismissToast:x,exit:n.exit,revision:i,gate:l,retained:S};return sT(fp.Provider,{value:y,children:t})}function Me(e,t){let{retained:n}=O(),[o,r]=Qr(()=>e!==void 0&&n.has(e)?n.get(e):t());return sl(()=>{e!==void 0&&n.set(e,o)},[n,e,o]),[o,r]}function Q(e,t){let[n,o]=Qr({phase:"loading"}),r=xs(t);r.current=t;let i=xs(0);return sl(()=>{let s=i.current+=1;o({phase:"loading"}),r.current().then(a=>{i.current===s&&o({phase:"ready",data:a})}).catch(a=>{i.current===s&&o({phase:"error",message:Se(a),hint:a instanceof F?a.hint:void 0})})},e),n}import{Box as $s,Text as xo,useInput as XT}from"ink";import{Box as ni,Text as nr}from"ink";import{Lexer as uT}from"marked";import Zo from"string-width";import Zr from"string-width";var f={background:"#0d0d0d",foreground:"#f3f3f3",mutedForeground:"#949494",faintForeground:"#696969",cursorBackground:"#c8c8c8",border:"#393939",accent:"#37be95",success:"#34d399",warning:"#fbbf24",danger:"#f87171"},Ts=["#242424","#5a4233","#746533","#70924f","#37be95"],ws=["#37be95","#2d9273","#246e58","#1e5443","#193f33"],et={accent:f.accent,success:f.success,warning:f.warning,danger:f.danger},Qo=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],ks=80,ae={cursor:"\u276F",bullet:"\xB7",dot:"\u2219",crumb:"\u203A",ok:"\u2714",warn:"!",fail:"\u2718",ellipsis:"\u2026",barFilled:"\u2588",barEmpty:"\u2591",section:"\u258D",prev:"\u2039",next:"\u203A"};var aT=Zr(ae.ellipsis),cT=new Intl.Segmenter(void 0,{granularity:"grapheme"}),al=e=>Array.from(cT.segment(e),t=>t.segment),lT=(e,t)=>e+" ".repeat(Math.max(0,t-Zr(e))),mT=(e,t)=>" ".repeat(Math.max(0,t-Zr(e)))+e;function qe(e,t){if(t<=0)return"";if(Zr(e)<=t)return e;let n=t-aT,o="";for(let r of al(e)){if(Zr(o+r)>n)break;o+=r}return o+ae.ellipsis}var Vn=e=>e.replaceAll(" "," "),Je=(e,t)=>lT(qe(e,t),t),Kn=(e,t)=>mT(qe(e,t),t),_e=e=>e.filter(t=>typeof t=="string"&&t!=="").join(` ${ae.bullet} `);var dT=e=>e.startsWith("#")||Bi(e)!==null,pT={spans:[]},vs=e=>e===void 0||e.spans.every(t=>t.text.trim()==="");function yp(e){let t=[];for(let n of e){let o=t[t.length-1];o!==void 0&&o.color===n.color&&o.bold===n.bold?o.text+=n.ch:t.push({text:n.ch,color:n.color,bold:n.bold})}return{spans:t}}var fT=new Set([..."\uFF0C\u3002\u3001\uFF1B\uFF1A\uFF01\uFF1F\uFF09\u300D\u300F\u3011\u300B\u2026\u201D\u2019,.;:!?)]}"]),gT=new Set([..."\uFF08\u300C\u300E\u3010\u300A\u201C\u2018([{"]),hT=(e,t)=>(Zo(e)>1||Zo(t)>1)&&!gT.has(e)&&!fT.has(t);function yT(e,t,n){for(let o=e.length;o>n;o-=1){if(e[o]?.ch===" ")return{end:o,carry:o+1};let r=e[o-1]?.ch,i=o===e.length?t:e[o]?.ch;if(r!==void 0&&i!==void 0&&r!==" "&&hT(r,i))return{end:o,carry:o}}return null}function bT(e){let t=[],n=0,o=0,r=0;for(let i of al(e.map(s=>s.text).join(""))){let s=e[n];for(;s!==void 0&&r>=o+s.text.length;)o+=s.text.length,n+=1,s=e[n];if(s===void 0)break;t.push({ch:i,color:s.color,bold:s.bold}),r+=i.length}return t}function At(e,t,n=0){let o=()=>Array.from({length:n},()=>({ch:" "})),r=[],i=[],s=0,a=()=>{r.push(yp(i)),i=o(),s=n};for(let c of bT(e)){let{ch:l}=c;if(l===`
5
5
  `||l===`\r
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeflow-ai/cli",
3
- "version": "1.30.3",
3
+ "version": "1.30.4",
4
4
  "type": "module",
5
5
  "description": "CodeFlow 命令行客户端:一键配置 AI 客户端",
6
6
  "keywords": [