@codeflow-ai/cli 1.19.0 → 1.20.0
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/dist/cli.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{once as Cy}from"events";import{createInterface as Ey}from"readline/promises";import{parseArgs as Ay}from"util";var ma={name:"@codeflow-ai/cli",version:"1.
|
|
2
|
+
import{once as Cy}from"events";import{createInterface as Ey}from"readline/promises";import{parseArgs as Ay}from"util";var ma={name:"@codeflow-ai/cli",version:"1.20.0",type:"module",description:"CodeFlow \u547D\u4EE4\u884C\u5BA2\u6237\u7AEF\uFF1A\u4E00\u952E\u914D\u7F6E AI \u5BA2\u6237\u7AEF",keywords:["codeflow","claude-code","codex","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.2",ink:"7.1.1",marked:"18.0.5",qrcode:"1.5.4",react:"19.2.0","smol-toml":"1.7.0","string-width":"8.2.0",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 mt="codeflow",dt=ma.version,da="https://codeflow.asia",Un="@codeflow-ai/cli",uo=0,jn=1,Ci=2,gn=3,pa=4;import{randomBytes as Xd}from"crypto";import{mkdirSync as ba,readFileSync as Qd,rmSync as ya,statSync as Zd,writeFileSync as ep}from"fs";import{join as Sa}from"path";import{setTimeout as tp}from"timers/promises";import{z as vt}from"zod";var D=class extends Error{exitCode;hint;constructor(t,o={}){super(t,{cause:o.cause}),this.name="CliError",this.exitCode=o.exitCode??jn,this.hint=o.hint}};function Te(e){return e instanceof Error?e.message:String(e)}import{chmodSync as Wd,existsSync as zd,mkdirSync as Gd,readFileSync as Kd,writeFileSync as Vd}from"fs";import{dirname as Jd}from"path";function Hn(e){return zd(e)?Kd(e,"utf8"):null}function Ei(e,t,o){Gd(Jd(e),{recursive:!0,mode:448});try{Vd(e,t,{mode:o}),Wd(e,o)}catch(n){throw new D(`\u5199\u5165 ${e} \u5931\u8D25\uFF1A${Te(n)}`,{cause:n})}}function Zo(e){let t=Hn(e);if(t===null)return null;if(t.trim()==="")return{};let o;try{o=JSON.parse(t)}catch(n){throw new D(`${e} \u4E0D\u662F\u5408\u6CD5 JSON\uFF0C\u5DF2\u8DF3\u8FC7\u5199\u5165\uFF0C\u8BF7\u5148\u4FEE\u590D\u8BE5\u6587\u4EF6`,{cause:n})}if(typeof o!="object"||o===null||Array.isArray(o))throw new D(`${e} \u7684\u9876\u5C42\u4E0D\u662F\u5BF9\u8C61\uFF0C\u5DF2\u8DF3\u8FC7\u5199\u5165\uFF0C\u8BF7\u5148\u4FEE\u590D\u8BE5\u6587\u4EF6`);return o}function er(e,t,o){Ei(e,`${JSON.stringify(t,null,2)}
|
|
3
3
|
`,o)}function tr(e,t,o,n){let r=null,i=()=>{if(r)return r;let s=t(),a=Hn(s);if(a===null)return r=e.parse({}),r;let c;try{c=JSON.parse(a)}catch(p){throw new D(`${o} ${s} \u5DF2\u635F\u574F\uFF0C\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u540E${n}`,{cause:p})}let l=e.safeParse(c);if(!l.success)throw new D(`${o} ${s} \u7ED3\u6784\u4E0D\u7B26\uFF0C\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u540E${n}`);return r=l.data,r};return{load:i,reload:()=>(r=null,i()),update:s=>{let a=structuredClone(i());return s(a),er(t(),a,384),r=a,a}}}import{homedir as Yd}from"os";import{join as qn}from"path";function Ht(){let e=process.env.XDG_CONFIG_HOME;if(e)return qn(e,"codeflow");if(process.platform==="win32"){let t=process.env.APPDATA;if(t)return qn(t,"codeflow")}return qn(Yd(),".config","codeflow")}var fa=()=>qn(Ht(),"config.json"),ga=()=>qn(Ht(),"credentials.json"),ha=()=>qn(Ht(),"refresh.lock");var np=vt.object({refreshCookie:vt.string(),accessToken:vt.string(),accessExpiresAt:vt.number(),username:vt.string(),email:vt.string(),site:vt.string()}),op=vt.object({site:vt.string(),cookie:vt.string()}),rp=vt.object({session:np.nullable().default(null),device:op.nullable().default(null)}),Ai=tr(rp,ga,"\u672C\u5730\u51ED\u636E","\u91CD\u65B0\u767B\u5F55"),_t=Ai.load,xa=Ai.reload,Pi=Ai.update;function Ta(){let{session:e}=_t();if(!e)throw new D("\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u5148\u767B\u5F55\u8D26\u53F7",{exitCode:gn});return e}var ip=6e4,sp=75e3,ap=120;function cp(e,t){try{ba(e)}catch{try{Date.now()-Zd(e).mtimeMs>ip&&ya(e,{recursive:!0,force:!0})}catch{}return!1}return ep(Sa(e,"owner"),t),!0}function lp(e,t){let o;try{o=Qd(Sa(e,"owner"),"utf8")}catch{return}o===t&&ya(e,{recursive:!0,force:!0})}async function wa(e){let t=ha(),o=Xd(16).toString("hex");ba(Ht(),{recursive:!0,mode:448});let n=Date.now()+sp;for(;!cp(t,o);){if(Date.now()>n)throw new D(`\u7B49\u5F85\u5237\u65B0\u9501\u8D85\u65F6\uFF0C\u82E5\u786E\u8BA4\u6CA1\u6709\u5176\u4ED6 ${mt} \u5728\u8FD0\u884C\uFF0C\u8BF7\u5220\u9664 ${t}`);await tp(ap)}try{return await e()}finally{lp(t,o)}}function up(){let e=process.env.CODEFLOW_SITE;if(e)return e;let t=_t().session;return t?t.site:da}function ka(){return{site:up()}}function hn(e,t,o){if(!e.isTTY)return o;let n=Number.parseInt(t.slice(1),16);return`\x1B[38;2;${n>>16&255};${n>>8&255};${n&255}m${o}\x1B[39m`}import{existsSync as ef,rmSync as tf}from"fs";import{z as $e}from"zod";var mp=["active","disabled"],dS=$e.enum(mp),dp=["openai","anthropic"],pS=$e.enum(dp),pp=["openai-chat","openai-responses","anthropic-messages"],va=$e.enum(pp);var fp=["enabled","disabled"],fS=$e.enum(fp),mo=["pending","paid","refund_requested","partially_refunded","refunded","failed","expired"],_a=$e.enum(mo),gp=["recharge","subscription"],gS=$e.enum(gp),hp=["requested","pending","succeeded","failed","rejected","canceled"],Ra=$e.enum(hp),Ni=["pending","issued","rejected"],Ca=$e.enum(Ni),bp=["special","general"],Ii=$e.enum(bp),yp=["info","success","warning","error"],Ea=$e.enum(yp),Sp=["terms","privacy"],hS=$e.enum(Sp),Li=["recharge","reserve","consume","reserve_refund","refund","refund_release","reward","admin_adjust"],Aa=$e.enum(Li),xp=["usage_log","order","invitation","admin"],Pa=$e.enum(xp),Mi=["first_inviter","first_invitee","subsequent_inviter"],Na=$e.enum(Mi),Oi=["success","error","canceled","anomaly"],Ia=$e.enum(Oi),$i=["open","replied","closed"],La=$e.enum($i),Di=["billing","technical","account","other"],Ma=$e.enum(Di),Bi=["low","normal","high"],Oa=$e.enum(Bi),Tp=["user","admin"],$a=$e.enum(Tp);import{z as Wn}from"zod";var wp=["internal_error","validation_error","not_found","conflict","model_in_use","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_last_remaining","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","pricing_catalog_unavailable","channel_name_taken","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","subscription_revoked","plan_disabled","plan_in_use","group_in_use","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_invalid","attachment_staging_limit_exceeded","backup_not_configured","backup_running"],kp=Wn.enum(wp),Da=Wn.object({error:Wn.object({code:kp,message:Wn.string(),details:Wn.unknown().optional(),requestId:Wn.string().optional()})});var Ba={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",model_in_use:"\u8BE5\u6A21\u578B\u4ECD\u88AB\u6E20\u9053\u4F7F\u7528\uFF0C\u8BF7\u5148\u5728\u6E20\u9053\u4E2D\u79FB\u9664\u540E\u518D\u4FEE\u6539\u6216\u5220\u9664\u5B9A\u4EF7",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_last_remaining:"\u7BA1\u7406\u5458\u81F3\u5C11\u9700\u4FDD\u7559\u4E00\u679A Passkey\uFF0C\u65E0\u6CD5\u5220\u9664",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",pricing_catalog_unavailable:"\u5B98\u65B9\u4EF7\u683C\u8868\u83B7\u53D6\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",channel_name_taken:"\u8BE5\u6E20\u9053\u540D\u79F0\u5DF2\u88AB\u4F7F\u7528",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",subscription_revoked:"\u8BE5\u8BA2\u9605\u5DF2\u88AB\u4F5C\u5E9F",plan_disabled:"\u8BE5\u5957\u9910\u5DF2\u505C\u552E",plan_in_use:"\u8BE5\u5957\u9910\u5DF2\u6709\u8BA2\u9605\u6216\u8BA2\u5355\u5F15\u7528\uFF0C\u65E0\u6CD5\u5220\u9664\uFF08\u53EF\u6539\u4E3A\u505C\u552E\u5E76\u9690\u85CF\uFF09",group_in_use:"\u8BE5\u5206\u7EC4\u6B63\u88AB\u8BA2\u9605\u5957\u9910\u8986\u76D6\uFF0C\u8BF7\u5148\u8C03\u6574\u5957\u9910\u7684\u8986\u76D6\u5206\u7EC4\u540E\u518D\u5220\u9664",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_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",backup_not_configured:"\u5C1A\u672A\u914D\u7F6E\u5907\u4EFD\u5B58\u50A8",backup_running:"\u5907\u4EFD\u6B63\u5728\u8FDB\u884C\u4E2D"};import{z as ue}from"zod";var vp=ue.string().trim().min(1),Fi=vp.pipe(ue.url()),_p=ue.object({name:ue.string().trim().min(1).max(64),description:ue.string().trim().min(1).max(200),url:Fi}),Fa=ue.array(_p),Rp=["string","number","boolean","secret","markdown","money","api-lines","origins"],Cp=ue.enum(Rp),Ep=ue.object({key:ue.string(),type:Cp,label:ue.string(),description:ue.string().optional(),value:ue.unknown().optional(),secret:ue.boolean().default(!1),required:ue.boolean().default(!1),min:ue.number().optional(),max:ue.number().optional(),step:ue.number().optional(),unit:ue.string().optional(),placeholder:ue.string().optional()}),wS=ue.object({key:ue.string(),label:ue.string(),description:ue.string().optional(),fields:ue.array(Ep)}),kS=ue.object({values:ue.record(ue.string(),ue.unknown()).refine(e=>Object.keys(e).length>0,{message:"at least one value required"})}),vS=ue.object({fields:ue.record(ue.string(),ue.string())});function Ua(e){return`codeflow-cli/${e.cliVersion} (${e.platform} ${e.release}; ${e.arch}) node/${e.nodeVersion}`}function nr(e){if(!e)return"\u672A\u77E5\u8BBE\u5907";let t=e.type==="cli"?e.clientVersion:e.clientVersion?.split(".")[0],n=[e.client?t?`${e.client} ${t}`:e.client:null,e.os].filter(r=>r!==null);return n.length>0?n.join(" \xB7 "):"\u672A\u77E5\u8BBE\u5907"}import{z as pt}from"zod";var Ui=1e8;var ES=pt.object({id:pt.coerce.number().int().positive()}),AS=pt.object({page:pt.coerce.number().int().min(1).default(1),pageSize:pt.coerce.number().int().min(1).max(100).default(20)});function bn(e){return pt.object({items:pt.array(e),total:pt.number().int().nonnegative(),page:pt.number().int().positive(),pageSize:pt.number().int().positive()})}var ye=pt.object({ok:pt.literal(!0)});import{z as W}from"zod";var yn=W.email().max(254).toLowerCase(),st=8,po=W.string().min(st).max(128),fo=W.string().min(1).max(128),Sn=32,ji=W.string().trim().min(1).max(Sn),Hi=W.string().trim().min(1).max(254),Ap=["register","reset_password"],IS=W.object({email:yn,purpose:W.enum(Ap)}),LS=W.object({username:ji,email:yn,password:po,code:W.string().min(4).max(8),inviteCode:W.string().trim().min(1).max(32).optional()}),MS=W.object({account:Hi,password:fo}),OS=W.object({email:yn,code:W.string().min(4).max(8),password:po}),$S=W.object({oldPassword:fo,newPassword:po}),DS=W.object({email:yn}),BS=W.object({email:yn,code:W.string().min(4).max(8),password:fo}),ja=W.object({username:W.string(),email:W.string()}),zn=W.object({accessToken:W.string(),user:ja}),Ha=W.discriminatedUnion("status",[zn.extend({status:W.literal("ok")}),W.object({status:W.literal("totp_required"),ticket:W.string()})]),qa=W.object({user:ja}),Pp=W.object({client:W.string().nullable(),clientVersion:W.string().nullable(),os:W.string().nullable(),osVersion:W.string().nullable(),type:W.string().nullable(),vendor:W.string().nullable(),model:W.string().nullable()}),Np=W.object({id:W.number().int(),ip:W.string().nullable(),userAgent:W.string().nullable(),device:Pp.nullable(),loginAt:W.string(),lastActiveAt:W.string(),expiresAt:W.string(),current:W.boolean()}),Wa=W.object({sessions:W.array(Np)});import{z as me}from"zod";var Gn=me.string().trim().length(6),Ip=me.string().trim().min(10).max(20),or=me.string().trim().min(1).max(64),rr=me.record(me.string(),me.unknown()),jS=me.object({ticket:me.string().min(1),code:Gn}),HS=me.object({ticket:me.string().min(1),code:Ip}),qS=me.object({code:Gn.optional()}),WS=me.object({code:Gn}),za=me.object({secret:me.string(),otpauthUri:me.string()}),qi=me.object({recoveryCodes:me.array(me.string())}),Lp=me.object({id:me.number().int(),name:me.string(),createdAt:me.string(),lastUsedAt:me.string().nullable()}),Ga=me.object({totp:me.object({enabled:me.boolean(),enabledAt:me.string().nullable(),recoveryCodesRemaining:me.number().int()}),passkeys:me.array(Lp)}),zS=me.object({name:or,response:rr}),GS=me.object({name:or}),KS=me.object({response:rr});import{z as xe}from"zod";var QS=xe.object({account:Hi,password:fo}),Mp=xe.object({totp:xe.boolean(),passkeys:xe.boolean()}),ZS=xe.discriminatedUnion("status",[xe.object({status:xe.literal("totp_required"),ticket:xe.string()}),xe.object({status:xe.literal("setup_required"),ticket:xe.string(),missing:Mp})]),ex=xe.object({ticket:xe.string().min(1)}),tx=xe.object({ticket:xe.string().min(1),code:Gn}),nx=xe.object({ticket:xe.string().min(1),name:or,response:rr}),ox=xe.object({ticket:xe.string().min(1),code:Gn.optional()}),Ka=xe.object({username:xe.string(),email:xe.string()}),rx=xe.object({accessToken:xe.string(),admin:Ka}),ix=xe.object({admin:Ka});import{z as Wi}from"zod";var ux=Wi.object({siteName:Wi.string().trim().min(1).max(64),siteDescription:Wi.string().trim().max(200).optional(),siteOrigin:Fi,username:ji,email:yn,password:po});import{z as Pe}from"zod";var Va={orderNo:Pe.string(),amountCny:Pe.number().int(),status:_a,credited:Pe.boolean(),refundedAmountCny:Pe.number().int(),succeededRefundCny:Pe.number().int(),pendingRefundCny:Pe.number().int(),createdAt:Pe.string()},go=Pe.object({...Va,quota:Pe.number(),refundedQuota:Pe.number()}),ho=Pe.object({...Va,planName:Pe.string(),renewal:Pe.boolean(),grantedDurationDays:Pe.number().int()}),Ja=Pe.object({id:Pe.number().int(),amountCny:Pe.number().int(),status:Ra,refundTradeNo:Pe.string().nullable(),reason:Pe.string().nullable(),rejectReason:Pe.string().nullable(),createdAt:Pe.string()});function Ya(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 Fe}from"zod";var ir=Fe.object({id:Fe.number().int(),title:Fe.string(),category:Ma,priority:Oa,status:La,createdAt:Fe.string(),updatedAt:Fe.string()}),bo=25*1024*1024,sr=5,zi=Fe.object({id:Fe.number().int(),fileName:Fe.string(),fileSize:Fe.number().int(),contentType:Fe.string(),createdAt:Fe.string()}),Gi=Fe.object({id:Fe.number().int(),authorKind:$a,content:Fe.string(),attachments:Fe.array(zi),createdAt:Fe.string()}),Xa=Fe.object({ticket:ir,messages:Fe.array(Gi)});import{z as yo}from"zod";var Ki=yo.object({id:yo.number().int(),title:yo.string(),content:yo.string(),level:Ea,publishedAt:yo.string()});import{z as Ne}from"zod";var wx=Ne.union([Ne.object({ok:Ne.literal(!0),status:Ne.number().int(),latencyMs:Ne.number().int().nonnegative(),body:Ne.string()}),Ne.object({ok:Ne.literal(!1),reason:Ne.enum(["http","error_payload"]),status:Ne.number().int(),latencyMs:Ne.number().int().nonnegative(),body:Ne.string()}),Ne.object({ok:Ne.literal(!1),reason:Ne.literal("timeout"),latencyMs:Ne.number().int().nonnegative()}),Ne.object({ok:Ne.literal(!1),reason:Ne.literal("network"),detail:Ne.string(),latencyMs:Ne.number().int().nonnegative()})]);var Qa="Asia/Shanghai",Op="+08:00";function $p(e){return new Date(new Date(e).getTime()+288e5)}function Dp(e=Date.now()){let t=$p(e);return{day:t.toISOString().slice(0,10),hour:t.getUTCHours()}}function Vi(e=Date.now()){return Dp(e).day}function Ji(e=Vi()){return new Date(`${e}T00:00:00${Op}`)}function en(e,t){let o=new Date(`${e}T00:00:00Z`);return new Date(o.getTime()+t*864e5).toISOString().slice(0,10)}var Bp=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"medium",timeZone:Qa}),Fp=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeZone:Qa});function ee(e){return Bp.format(new Date(e))}function qt(e){return Fp.format(new Date(e))}var Up=[{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 jp(e){return e>=10?Math.round(e).toLocaleString("en-US"):e>=1?e.toFixed(1):e.toFixed(-Math.floor(Math.log10(e)))}function at(e){return e>=10?Math.round(e).toLocaleString("en-US"):e.toFixed(1)}function Za(e){return e<365?`${at(e)} \u5929`:`${at(e/365)} \u5E74`}function Hp(e){let t=e/1.2/250/60;if(t<48)return`${Math.max(1,Math.round(t))} \u5C0F\u65F6`;let o=t/24;return o<730?`${Math.round(o)} \u5929`:`${at(o/365)} \u5E74`}function qp(e){let t=e/1.2/80/60/8;return t<250?`${at(t)} \u4E2A\u5DE5\u4F5C\u65E5`:`${at(t/250)} \u4E2A\u5DE5\u4F5C\u5E74`}function Wp(e){let t=e/1.2/30*4;return t<1e3?`${Math.round(t).toLocaleString("en-US")} \u514B`:t<1e6?`${at(t/1e3)} \u516C\u65A4`:`${at(t/1e6)} \u5428`}var zp=[...Up.map(e=>({min:e.tokens/10,max:e.tokens*1e4,suffix:t=>`\u7EA6\u4E3A${e.name}\u7684 ${jp(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 ${Hp(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 ${at(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 ${Za(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 ${qp(e)}`},{min:4500,max:1/0,suffix:e=>`\u82E5\u523B\u6210\u6BCF\u679A 30 \u5B57\u7684\u79E6\u6C49\u7AF9\u7B80\uFF0C\u603B\u91CD\u7EA6 ${Wp(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 ${Za(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 ${at(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 ${at(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 ${at(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 ${at(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 ${at(e/1.2*.005/40075e3)} \u5708`}];function ec(e){let{tokens:t,scope:o,range:n}=e;if(t<=0)return null;let r=zp.filter(c=>t>=c.min&&t<=c.max),i=r[Math.floor(Math.random()*r.length)];return i?`${o==="user"?"\u4F60":"\u5168\u7AD9"}${n==="all"?"\u7D2F\u8BA1":n==="30d"?"\u8FD1 30 \u5929":"\u8FD1 7 \u5929"}\u4F7F\u7528\u7684 Token \u91CF${i.suffix(t)}`:null}function Wt(e){return t=>{let o=e[t];if(!o)throw new Error(`unknown status value: ${t}`);return o}}function tn(e){return t=>{let o=e[t];if(!o)throw new Error(`unknown label value: ${t}`);return o}}var nn=Wt({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"}}),Rx=tn({recharge:"\u5145\u503C",subscription:"\u8BA2\u9605"}),ar=Wt({pending:{label:"\u5F85\u5904\u7406",tone:"warning"},issued:{label:"\u5DF2\u5F00\u5177",tone:"success"},rejected:{label:"\u5DF2\u9A73\u56DE",tone:"danger"}}),Cx=Wt({enabled:{label:"\u5DF2\u542F\u7528",tone:"success"},disabled:{label:"\u5DF2\u7981\u7528",tone:"neutral"}});var Ex=Wt({active:{label:"\u6B63\u5E38",tone:"success"},disabled:{label:"\u7981\u7528",tone:"danger"}}),Yi=tn({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"}),tc=tn({usage_log:"\u7528\u91CF",order:"\u8BA2\u5355",invitation:"\u9080\u8BF7",admin:"\u7BA1\u7406\u5458"}),nc=Wt({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"}}),cr=Wt({success:{label:"\u6210\u529F",tone:"success"},error:{label:"\u5931\u8D25",tone:"danger"},canceled:{label:"\u53D6\u6D88",tone:"neutral"},anomaly:{label:"\u5F02\u5E38",tone:"warning"}}),oc=tn({"openai-chat":"OpenAI Chat","openai-responses":"OpenAI Responses","anthropic-messages":"Anthropic Messages"}),So=tn({special:"\u589E\u503C\u7A0E\u4E13\u7528\u53D1\u7968",general:"\u589E\u503C\u7A0E\u666E\u901A\u53D1\u7968"}),xn=tn({special:"\u4E13\u7968",general:"\u666E\u7968"}),lr=tn({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"}),xo=Wt({info:{label:"\u4FE1\u606F",tone:"neutral"},success:{label:"\u6210\u529F",tone:"success"},warning:{label:"\u8B66\u544A",tone:"warning"},error:{label:"\u91CD\u8981",tone:"danger"}}),Xi=Wt({open:{label:"\u5F85\u5904\u7406",tone:"warning"},replied:{label:"\u5DF2\u56DE\u590D",tone:"success"},closed:{label:"\u5DF2\u5173\u95ED",tone:"neutral"}}),ur=tn({billing:"\u8BA1\u8D39",technical:"\u6280\u672F",account:"\u8D26\u53F7",other:"\u5176\u4ED6"}),Qi=Wt({low:{label:"\u8F83\u4F4E",tone:"neutral"},normal:{label:"\u666E\u901A",tone:"neutral"},high:{label:"\u7D27\u6025",tone:"danger"}});function Xe(e,t,o){let n=r=>{let i=t(r);return typeof i=="string"?i:i.label};return[{value:"",label:o},...e.map(r=>({value:r,label:n(r)}))]}function he(e){let t=e/100;return`${t<0?"-":""}\xA5${Math.abs(t).toFixed(2)}`}function Zi(e){return Math.round(e*100)}function rc(e){return e/100}function ic(e,t,o){let n=e/t;return`${n<0?"-":""}$${Math.abs(n).toLocaleString("en-US",{minimumFractionDigits:o,maximumFractionDigits:o})}`}function ce(e,t){return ic(e,t,2)}function Kn(e,t){return ic(e,t,6)}var mr=10080,dr=1440;function sc(e){if(e%mr===0){let t=e/mr;return t===1?"\u6BCF\u5468\u9650\u989D":`${t} \u5468\u9650\u989D`}if(e%dr===0){let t=e/dr;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 Gp(e){if(e%mr===0){let t=e/mr;return t===1?"\u6BCF\u5468":`\u6BCF ${t} \u5468`}if(e%dr===0){let t=e/dr;return t===1?"\u6BCF\u5929":`\u6BCF ${t} \u5929`}return e%60===0?`\u6BCF ${e/60} \u5C0F\u65F6`:`\u6BCF ${e} \u5206\u949F`}function ac(e,t){return e.windows.map(o=>`${Gp(o.durationMinutes)} ${ce(o.quota,t)}`)}function es(e){return e.quota<=0?100:Math.min(100,Math.floor(e.used/e.quota*100))}function ts(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"}}function Re(e){return e.toLocaleString("en-US")}function on(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`:Re(e)}function Tn(e,t){let o=Number(e);return Number.isFinite(o)?o===0&&t!==void 0?t:o.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:12}):e}function wn(e){return(e/1e3).toFixed(2)}function Vn(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 pr(e,t){return`${e}******${t}`}var ns={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"]},cc={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"};import{release as Kp}from"os";var Vp=3e4,Jp=Ua({cliVersion:dt,platform:process.platform,release:Kp(),arch:process.arch,nodeVersion:process.versions.node});async function lc(e,t){if(t.json!==void 0&&t.body!==void 0)throw new Error("httpRequest cannot accept both json and body");let o=new Headers(t.headers);o.set("user-agent",Jp);let n=t.body;t.json!==void 0&&(o.set("content-type","application/json"),n=JSON.stringify(t.json));try{return await fetch(e,{method:t.method??(n===void 0?"GET":"POST"),headers:o,body:n,signal:AbortSignal.timeout(t.timeoutMs??Vp),redirect:"follow"})}catch(r){let i=URL.canParse(e)?new URL(e).origin:e;throw new D(`\u65E0\u6CD5\u8FDE\u63A5 ${i}\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7AD9\u70B9\u5730\u5740`,{exitCode:pa,cause:r})}}async function uc(e){let t=await e.text();if(t==="")return null;try{return JSON.parse(t)}catch{return null}}async function ft(e,t={}){let o=await lc(e,t);if(!o.ok)return{status:o.status,ok:!1,headers:o.headers,data:await uc(o)};let n=await o.text(),r=null;if(n!=="")try{r=JSON.parse(n)}catch(i){throw new D(`${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:o.status,ok:!0,headers:o.headers,data:r}}async function mc(e,t={}){let o=await lc(e,t);if(!o.ok)return{status:o.status,ok:!1,headers:o.headers,data:await uc(o),bytes:null};let n=new Uint8Array(await o.arrayBuffer());return{status:o.status,ok:!0,headers:o.headers,data:null,bytes:n}}function Yp(e,t){let o=Da.safeParse(t);if(!o.success)return new D(`\u8BF7\u6C42\u5931\u8D25\uFF08HTTP ${e}\uFF09`);let{code:n,message:r}=o.data.error,i=n==="unauthorized"||n==="token_expired"?gn:void 0;return new D(Ba[n]??r,i?{exitCode:i}:{})}function Rt(e){if(!e.ok)throw Yp(e.status,e.data)}var fc="cf_refresh",gc="cf_device",dc=6e4;function pc(e,t){for(let o of e.getSetCookie()){let n=o.split(";",1)[0];if(n===void 0)continue;let r=n.indexOf("=");if(!(r<0)&&n.slice(0,r).trim()===t)return n.slice(r+1).trim()}return null}function To(e,t){return{refresh:pc(t,fc)??e.refresh,device:pc(t,gc)??e.device}}function fr(e){let t=[];return e.refresh&&t.push(`${fc}=${e.refresh}`),e.device&&t.push(`${gc}=${e.device}`),t.length>0?{cookie:t.join("; ")}:{}}function Xp(e){let t=e.split(".")[1];if(t===void 0)throw new D("\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684\u8BBF\u95EE\u4EE4\u724C\u683C\u5F0F\u4E0D\u6B63\u786E");let o;try{o=JSON.parse(Buffer.from(t,"base64url").toString("utf8"))}catch(r){throw new D("\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684\u8BBF\u95EE\u4EE4\u724C\u65E0\u6CD5\u89E3\u6790",{cause:r})}let n=o.exp;if(typeof n!="number")throw new D("\u670D\u52A1\u7AEF\u8FD4\u56DE\u7684\u8BBF\u95EE\u4EE4\u724C\u7F3A\u5C11\u6709\u6548\u671F");return n*1e3}function wo(e,t,o){if(!t.refresh)throw new D("\u670D\u52A1\u7AEF\u672A\u4E0B\u53D1\u5237\u65B0\u51ED\u636E\uFF0C\u65E0\u6CD5\u4FDD\u6301\u767B\u5F55\u72B6\u6001");let n={refreshCookie:t.refresh,accessToken:o.accessToken,accessExpiresAt:Xp(o.accessToken),username:o.user.username,email:o.user.email,site:e};return Pi(r=>{r.session=n,t.device&&(r.device={site:e,cookie:t.device})}),n}function os(e){let{device:t}=_t();return t!==null&&t.site===e?t.cookie:null}async function hc(e,t,o){let n={refresh:null,device:os(e)},r=await ft(`${e}/api/auth/login`,{json:{account:t,password:o},headers:fr(n)});Rt(r);let i=Ha.parse(r.data),s=To(n,r.headers);return i.status==="totp_required"?{status:"totp_required",ticket:i.ticket,jar:s}:{status:"ok",session:wo(e,s,i)}}async function bc(e,t,o,n,r){let s=await ft(`${e}/api/auth/${r==="totp"?"login/totp":"login/recovery-code"}`,{json:{ticket:o,code:n},headers:fr(t)});Rt(s);let a=zn.parse(s.data);return wo(e,To(t,s.headers),a)}function yc(){Pi(e=>{e.session=null})}async function Qp(e){let t={refresh:e.refreshCookie,device:os(e.site)},o=await ft(`${e.site}/api/auth/refresh`,{method:"POST",headers:fr(t)});if(o.status===401||o.status===403)throw yc(),new D("\u767B\u5F55\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55",{exitCode:gn});Rt(o);let n=zn.parse(o.data);return wo(e.site,To(t,o.headers),n)}async function ko(e=!1){let t=Ta();return!e&&Date.now()<t.accessExpiresAt-dc?t:wa(async()=>{let o=xa().session;if(!o)throw new D("\u5C1A\u672A\u767B\u5F55\uFF0C\u8BF7\u5148\u767B\u5F55\u8D26\u53F7",{exitCode:gn});return(o.refreshCookie!==t.refreshCookie||o.accessToken!==t.accessToken)&&Date.now()<o.accessExpiresAt-dc?o:Qp(o)})}async function gr(){let e=_t().session;if(!e)return;let t=await ft(`${e.site}/api/auth/logout`,{method:"POST",headers:fr({refresh:e.refreshCookie,device:os(e.site)})});yc(),Rt(t)}import{spawn as Zp}from"child_process";function vo(e,t={}){return new Promise((o,n)=>{let r=Zp("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 p=l.trimEnd();p!==""&&(s.push(p),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=>n(new D(`\u6267\u884C npm \u5931\u8D25\uFF1A${c.message}`,{cause:c}))),r.on("close",c=>{if(c===0){o(i.join(""));return}let l=s.slice(-2).join(" / ");n(new D(`npm ${e.join(" ")} \u9000\u51FA\u7801 ${c??"null"}`,{...l===""?{}:{hint:l}}))}),t.background===!0&&(r.stdout.unref(),r.stderr.unref(),r.unref())})}async function Sc(e){let t=[],o=async(n,r)=>{try{await r(),e.done(n)}catch(i){t.push(`${n}\uFF1A${Te(i)}`),e.failed(n)}};return await o("\u9000\u51FA\u767B\u5F55",()=>gr()),await o("\u5220\u9664\u672C\u5730\u6587\u4EF6",()=>{let n=Ht();ef(n)&&tf(n,{recursive:!0,force:!0})}),await o("\u5378\u8F7D\u672C\u7A0B\u5E8F",async()=>{await vo(["uninstall","-g",Un])}),t}import{z as _o}from"zod";var nf=_o.object({line:_o.object({name:_o.string(),url:_o.string()}).nullable().default(null),lastUpdateCheckAt:_o.number().nullable().default(null)}),xc=tr(nf,fa,"\u672C\u5730\u914D\u7F6E","\u91CD\u65B0\u8FD0\u884C"),kn=xc.load,hr=xc.update;var of=1440*60*1e3;async function Tc(){let e=(await vo(["view",Un,"version"])).trim();if(e==="")throw new D(`npm \u6CA1\u6709\u62A5\u51FA ${Un} \u7684\u7248\u672C`);return e}async function wc(e,t){return await vo(["install","-g",`${Un}@${e}`],{background:t}),e}async function kc(){let e=await Tc();return e===dt?null:await wc(e,!1)}function rf(){let e=Date.now(),t=kn().lastUpdateCheckAt;return t!==null&&e-t<of?!1:(hr(o=>{o.lastUpdateCheckAt=e}),!0)}async function vc(){if(!rf())return null;let e;try{e=await Tc()}catch{return null}return e===dt?null:await wc(e,!0)}import{Box as fy,render as gy,useInput as hy}from"ink";import{useEffect as ua,useRef as by}from"react";async function Ct(e,t,o={}){let n=await ft(t,o);return Rt(n),e.parse(n.data)}async function $(e,t,o={}){let n=await ko(),r=s=>ft(`${n.site}/api${t}`,{...o,headers:{...o.headers,authorization:`Bearer ${s}`}}),i=await r(n.accessToken);if(i.status===401){let s=await ko(!0);i=await r(s.accessToken)}return Rt(i),e.parse(i.data)}async function _c(e,t={}){let o=await ko(),n=i=>mc(`${o.site}/api${e}`,{...t,headers:{...t.headers,authorization:`Bearer ${i}`}}),r=await n(o.accessToken);if(r.status===401){let i=await ko(!0);r=await n(i.accessToken)}if(Rt(r),r.bytes===null)throw new D("\u9644\u4EF6\u4E0B\u8F7D\u54CD\u5E94\u4E3A\u7A7A");return r.bytes}function Mt(e,t){let o=new URLSearchParams;for(let[r,i]of Object.entries(t))i!==void 0&&o.set(r,String(i));let n=o.toString();return n===""?e:`${e}?${n}`}var Rc=e=>$(bn(Ki),Mt("/announcements",{...e})),Cc=()=>$(Ki.nullable(),"/announcements/unread"),br=e=>$(ye,`/announcements/${e}/read`,{method:"POST"}).then(()=>{});import{Box as Ec,useWindowSize as sf}from"ink";import{Children as af}from"react";import{jsx as Ac}from"react/jsx-runtime";var cf=1,rs=1,Y=1;function H(){let{columns:e,rows:t}=sf();return{width:Math.max(1,e-cf*2),columns:e,rows:t}}function Pc({height:e,children:t}){return Ac(Ec,{flexDirection:"column",height:e,justifyContent:"space-between",children:af.toArray(t).map((o,n)=>Ac(Ec,{flexDirection:"column",flexShrink:0,children:o},n))})}import{useInput as Ic}from"ink";import{createContext as as,useCallback as yr,useContext as lf,useEffect as cs,useMemo as is,useRef as Ro,useState as Nc}from"react";import{jsx as ss}from"react/jsx-runtime";var Sr=as(null),ls=as(null),Jn={screen:0,panel:10,input:20},us=as(null);function Lc({children:e}){let[t,o]=Nc(!1),[n,r]=Nc(!1),i=Ro(0),s=Ro(0),a=Ro([]),c=Ro(0),l=yr(()=>(i.current+=1,o(!0),()=>{i.current-=1,i.current===0&&o(!1)}),[]),p=yr(()=>(s.current+=1,r(!0),()=>{s.current-=1,s.current===0&&r(!1)}),[]),f=yr(g=>{let y={...g,seq:c.current+=1};return a.current.push(y),()=>{a.current=a.current.filter(x=>x!==y)}},[]),m=yr(()=>{a.current.reduce((y,x)=>y===null||x.layer>y.layer||x.layer===y.layer&&x.seq>y.seq?x:y,null)?.handler()},[]);Ic((g,y)=>{y.escape&&m()});let d=is(()=>({active:t,acquire:l}),[t,l]),S=is(()=>({locked:n,acquire:p}),[n,p]),h=is(()=>({push:f,fire:m}),[f,m]);return ss(Sr.Provider,{value:d,children:ss(ls.Provider,{value:S,children:ss(us.Provider,{value:h,children:e})})})}function vn(e){let t=lf(e);if(!t)throw new Error("\u952E\u76D8\u94A9\u5B50\u5FC5\u987B\u5728 KeyboardProvider \u5185\u4F7F\u7528");return t}function xr(e){let{acquire:t}=vn(Sr);cs(()=>{if(e)return t()},[e,t])}function Mc(e){let{acquire:t}=vn(ls);cs(()=>{if(e)return t()},[e,t])}function Tr(){return vn(ls).locked}function wr(){return vn(Sr).active}function z(e,t=!0){let o=vn(Sr).active;Ic(e,{isActive:t&&!o})}function Oc(){return vn(us).fire}function rn(e,{isActive:t=!0,layer:o=Jn.screen}={}){let{push:n}=vn(us),r=Ro(e);r.current=e,cs(()=>{if(t)return n({handler:()=>r.current(),layer:o})},[t,o,n])}import{measureElement as uf}from"ink";import{PassThrough as mf}from"stream";import{createContext as df,useCallback as pf,useContext as ff,useEffect as Fc,useRef as kr}from"react";import{jsx as vf}from"react/jsx-runtime";var gf="\x1B[?1000h\x1B[?1003h\x1B[?1006h",hf="\x1B[?1006l\x1B[?1003l\x1B[?1000l",bf=27,yf=91,Sf=60,$c=77,Dc=109,Bc=20,xf=64,Tf=32,wf=20;function kf(e){let t=[],o=[],n=0;for(;n<e.length;){let r=e[n];if(r===void 0)break;if(r!==bf){o.push(r),n+=1;continue}let i=e[n+1],s=e[n+2];if(i===void 0||s===void 0)break;if(i!==yf){o.push(r),n+=1;continue}if(s===$c){if(n+6>e.length)break;n+=6;continue}if(s!==Sf){o.push(r),n+=1;continue}let a=n+3,c;for(;a<e.length&&a-n<Bc;){let d=e[a];if(d===$c||d===Dc){c=d;break}a+=1}if(c===void 0){if(a-n<Bc)break;o.push(r),n+=1;continue}let l=e.subarray(n+3,a).toString("latin1").split(";");if(n=a+1,c===Dc||l.length!==3)continue;let p=Number(l[0]),f=Number(l[1]),m=Number(l[2]);!Number.isFinite(p)||!Number.isFinite(f)||!Number.isFinite(m)||t.push((p&xf)!==0?{row:m,column:f,kind:"wheel",delta:(p&1)===0?-1:1}:{row:m,column:f,kind:(p&Tf)!==0?"move":"press"})}return{events:t,clean:Buffer.from(o),pending:e.subarray(n)}}function Uc(e,t){let o=new Set,n=new mf,r=Buffer.alloc(0),i=null,s=()=>{i=null,r.length!==0&&(n.write(r),r=Buffer.alloc(0))},a=m=>{i!==null&&clearTimeout(i),i=null;let d=kf(Buffer.concat([r,m]));r=d.pending,d.clean.length>0&&n.write(d.clean);for(let S of d.events)for(let h of o)h(S);r.length>0&&(i=setTimeout(s,wf))},c=()=>{t.write(hf)},l={SIGHUP:1,SIGINT:2,SIGTERM:15},p=m=>{process.exit(128+(l[m]??0))};e.on("data",a),process.once("exit",c);for(let m of Object.keys(l))process.on(m,p);t.write(gf);let f=n;return Object.assign(f,{isTTY:!0,setRawMode(m){return e.setRawMode(m),f},ref(){return e.ref(),f},unref(){return e.unref(),f}}),{stdin:f,subscribe(m){return o.add(m),()=>{o.delete(m)}},dispose(){c(),i!==null&&clearTimeout(i),process.off("exit",c);for(let m of Object.keys(l))process.off(m,p);e.off("data",a),o.clear()}}}var jc=df(null);function Hc({subscribe:e,children:t}){let o=kr(new Set).current,n=kr(null),r=pf(i=>(o.add(i),()=>{o.delete(i)}),[o]);return Fc(()=>e(i=>{let s=i.row-1,a=i.column-1,c=null;for(let p of o){let f=p.node.current;if(f===null||p.handlers.current.isActive===!1)continue;let m=uf(f);if(s<m.y||s>=m.y+m.height||a<m.x||a>=m.x+m.width)continue;let d=m.width*m.height;(c===null||d<c.area)&&(c={region:p,top:m.y,left:m.x,area:d})}if(i.kind==="move"){let p=c===null?null:c.region;if(n.current!==p){let f=n.current;f!==null&&o.has(f)&&f.handlers.current.onHoverLeave?.(),n.current=p}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,o]),vf(jc.Provider,{value:r,children:t})}function Ue(e){let t=ff(jc);if(t===null)throw new Error("useMouseRegion \u5FC5\u987B\u5728 MouseProvider \u5185\u4F7F\u7528");let o=kr(null),n=kr(e);return n.current=e,Fc(()=>t({node:o,handlers:n}),[t]),o}import{useApp as _f}from"ink";import{createContext as Rf,useCallback as _n,useContext as Cf,useEffect as ms,useRef as _r,useState as Eo}from"react";var Qe=[{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:"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:"announcements",label:"\u7CFB\u7EDF\u516C\u544A"},{id:"profile",label:"\u4E2A\u4EBA\u4E2D\u5FC3"}],qc="usage",Co=e=>Qe.findIndex(t=>t.id===e),vr=e=>Co(e)>=0;import{jsx as Af}from"react/jsx-runtime";var Ef=5e3,zc=Rf(null),Gc=e=>({id:e,params:void 0}),Wc=()=>_t().session===null?[{id:"home",params:void 0}]:[Gc(qc)];function B(){let e=Cf(zc);if(!e)throw new Error("useNav \u5FC5\u987B\u5728 NavProvider \u5185\u4F7F\u7528");return e}function Kc({ctx:e,children:t}){let o=_f(),[n,r]=Eo(Wc),[i,s]=Eo(0),[a,c]=Eo([]),l=_r({announcementsChecked:!1,announcementsShown:!1}).current,p=_r(new WeakMap).current,f=_n((E,...A)=>{r(U=>[...U,{id:E,params:A[0]}])},[]),m=_n(()=>{r(E=>E.length>1?E.slice(0,-1):E),s(E=>E+1)},[]),d=_n(E=>{r([Gc(E)]),s(A=>A+1)},[]),S=_n(()=>{r(Wc()),s(E=>E+1)},[]),h=_n(()=>s(E=>E+1),[]),g=_n((E,A)=>{c(U=>[...U,{tone:E,message:A}])},[]),y=_n(()=>c(E=>E.slice(1)),[]),x=a[0]??null;ms(()=>{if(x===null)return;let E=setTimeout(y,Ef);return()=>clearTimeout(E)},[x,y]);let T=n[n.length-1];if(T===void 0)throw new Error("\u5BFC\u822A\u6808\u4E3A\u7A7A");let b=p.get(T);b===void 0&&(b=new Map,p.set(T,b));let k={ctx:e,current:T,depth:n.length,push:f,pop:m,select:d,home:S,reload:h,toast:g,message:x,dismissToast:y,exit:o.exit,revision:i,gate:l,retained:b};return Af(zc.Provider,{value:k,children:t})}function Je(e,t){let{retained:o}=B(),[n,r]=Eo(()=>e!==void 0&&o.has(e)?o.get(e):t());return ms(()=>{e!==void 0&&o.set(e,n)},[o,e,n]),[n,r]}function Q(e,t){let[o,n]=Eo({phase:"loading"}),r=_r(t);r.current=t;let i=_r(0);return ms(()=>{let s=i.current+=1;n({phase:"loading"}),r.current().then(a=>{i.current===s&&n({phase:"ready",data:a})}).catch(a=>{i.current===s&&n({phase:"error",message:Te(a),hint:a instanceof D?a.hint:void 0})})},e),o}import{Box as qr,Text as En,useInput as sg}from"ink";import{Box as Lo,Text as Zn}from"ink";import Ao from"string-width";var u={background:"#0d0d0d",foreground:"#f3f3f3",mutedForeground:"#949494",faintForeground:"#696969",cursorBackground:"#c8c8c8",border:"#393939",accent:"#37be95",success:"#34d399",warning:"#fbbf24",danger:"#f87171"},Rr=["#242424","#5a4233","#746533","#70924f","#37be95"],Cr=["#37be95","#2d9273","#246e58","#1e5443","#193f33"],je={accent:u.accent,success:u.success,warning:u.warning,danger:u.danger},Yn=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Er=80,Z={cursor:"\u276F",bullet:"\xB7",crumb:"\u203A",ok:"\u2714",warn:"!",fail:"\u2718",ellipsis:"\u2026",barFilled:"\u2588",barEmpty:"\u2591",section:"\u258D",prev:"\u2039",next:"\u203A"};var Pf=Ao(Z.ellipsis),Nf=(e,t)=>e+" ".repeat(Math.max(0,t-Ao(e))),If=(e,t)=>" ".repeat(Math.max(0,t-Ao(e)))+e;function we(e,t){if(t<=0)return"";if(Ao(e)<=t)return e;let o=t-Pf,n="";for(let r of e){if(Ao(n+r)>o)break;n+=r}return n+Z.ellipsis}var Ie=(e,t)=>Nf(we(e,t),t),sn=(e,t)=>If(we(e,t),t),De=e=>e.filter(t=>typeof t=="string"&&t!=="").join(` ${Z.bullet} `);import{Text as Et,useInput as Lf}from"ink";import{useImperativeHandle as Mf,useRef as Vc,useEffect as Of,useState as Yc}from"react";import ds from"string-width";import{jsx as Ot,jsxs as ps}from"react/jsx-runtime";var $f=e=>e.replace(new RegExp("\\p{Cc}","gu"),"");function Jc(e,t,o){let n=t,r=0;for(;n>0;){let s=ds(e[n-1]??"");if(r+s>o)break;r+=s,n-=1}let i=t;for(r+=1;i<e.length;){let s=ds(e[i]??"");if(r+s>o)break;r+=s,i+=1}return{start:n,before:e.slice(n,t).join(""),at:e[t]??" ",after:e.slice(t+1,i).join("")}}function Po({char:e}){return Ot(Et,{backgroundColor:u.cursorBackground,color:u.foreground,children:e})}function Ar({value:e,onChange:t,onSubmit:o,placeholder:n,mask:r=!1,isActive:i=!0,width:s=40,ref:a}){let c=[...e],[l,p]=Yc(c.length),f=Math.min(l,c.length),m=Math.max(8,s),d=Vc(e),S=Vc(f);d.current=e,S.current=f,xr(i);let h=k=>{S.current=k,p(k)},g=(k,E)=>{d.current=k,h(E),t(k)};if(Mf(a,()=>({moveToColumn:k=>{let E=[...d.current],A=r?Array.from({length:E.length},()=>"\u2022"):E,v=Jc(A,Math.min(S.current,E.length),m).start,P=0;for(;v<E.length;){let _=ds(A[v]??"");if(P+_>k)break;P+=_,v+=1}h(v)}})),Lf((k,E)=>{let A=[...d.current],U=Math.min(S.current,A.length);if(E.return){o(d.current);return}if(E.tab||E.upArrow||E.downArrow)return;if(E.leftArrow){h(Math.max(0,U-1));return}if(E.rightArrow){h(Math.min(A.length,U+1));return}if(E.home){h(0);return}if(E.end){h(A.length);return}if(E.backspace){if(U===0)return;g([...A.slice(0,U-1),...A.slice(U)].join(""),U-1);return}if(E.delete){if(U>=A.length)return;g([...A.slice(0,U),...A.slice(U+1)].join(""),U);return}if(E.ctrl){if(k==="a")h(0);else if(k==="e")h(A.length);else if(k==="k")g(A.slice(0,U).join(""),U);else if(k==="u")g(A.slice(U).join(""),0);else if(k==="w"){let R=U;for(;R>0&&A[R-1]===" ";)R-=1;for(;R>0&&A[R-1]!==" ";)R-=1;g([...A.slice(0,R),...A.slice(U)].join(""),R)}return}if(E.meta||!k)return;let v=k.search(/[\r\n]/),P=$f(v===-1?k:k.slice(0,v)),_=[...A.slice(0,U),P,...A.slice(U)].join("");g(_,U+[...P].length),v!==-1&&o(_)},{isActive:i}),e===""){let k=[...n??""];return i?ps(Et,{children:[Ot(Po,{char:k[0]??" "}),Ot(Et,{color:u.faintForeground,children:k.slice(1).join("")})]}):Ot(Et,{color:u.faintForeground,children:k.join("")})}let y=r?Array.from({length:c.length},()=>"\u2022"):c;if(!i)return Ot(Et,{color:u.foreground,children:y.join("")});let{before:x,at:T,after:b}=Jc(y,f,m);return ps(Et,{children:[Ot(Et,{color:u.foreground,children:x}),Ot(Po,{char:T}),Ot(Et,{color:u.foreground,children:b})]})}function Ze({label:e}){let[t,o]=Yc(0);return Of(()=>{let n=setInterval(()=>o(r=>(r+1)%Yn.length),Er);return()=>clearInterval(n)},[]),ps(Et,{children:[Ot(Et,{color:u.accent,children:Yn[t]}),Ot(Et,{color:u.mutedForeground,children:` ${e}`})]})}import{Box as Zc,Text as Xn}from"ink";import{useEffect as tl,useState as Bf}from"react";import el from"string-width";import{Box as Xc,Text as Pr}from"ink";import Df from"string-width";import{jsx as No,jsxs as Qc}from"react/jsx-runtime";var le=2,ct=1,Be=1,At=ct+Be;function Io({title:e,note:t,width:o}){let n=t===void 0?0:Df(t)+2,r=Math.max(0,o-le-n);return Qc(Pr,{wrap:"truncate",children:[No(Pr,{color:u.accent,children:`${Z.section} `}),No(Pr,{bold:!0,color:u.foreground,children:we(e,r)}),t!==void 0&&No(Pr,{color:u.faintForeground,children:` ${t}`})]})}function oe({title:e,note:t,width:o,gap:n=Be,children:r}){return Qc(Xc,{flexDirection:"column",children:[No(Io,{title:e,note:t,width:o}),No(Xc,{flexDirection:"column",marginTop:n,paddingLeft:le,children:r})]})}import{jsx as zt,jsxs as ol}from"react/jsx-runtime";var Qn=e=>!("heading"in e),Ff=e=>e.flatMap(t=>!Qn(t)&&t.heading!==""?[t,{heading:""}]:[t]),nl=2,Nr=2,Uf=(e,t)=>t===void 0?e:e>t?Math.max(1,t-1):t;function jf(e,t,o,n){let[r,i]=Je(n,()=>e.findIndex(p=>Qn(p)&&p.disabled!==!0));tl(()=>{i(p=>p>=e.length?Math.max(0,e.length-1):p)},[e.length]);let s=p=>{i(f=>{let m=e.length;if(m===0)return f;let d=f;for(let S=0;S<m;S+=1){d=(d+p+m)%m;let h=e[d];if(h!==void 0&&Qn(h)&&h.disabled!==!0)return d}return f})},a=p=>{let f=e[p];return f!==void 0&&Qn(f)&&f.disabled!==!0?f:null},c=p=>{a(p)!==null&&i(p)},l=p=>{let f=a(p);f!==null&&(i(p),o(f.value))};return z((p,f)=>{if(f.upArrow||p==="k"){s(-1);return}if(f.downArrow||p==="j"){s(1);return}f.return&&l(r)},t),{index:Math.max(0,r),step:s,pick:l,moveTo:c}}function fs(e,t){let[o,n]=Bf(()=>e>=t?e-t+1:0);return tl(()=>{n(r=>e<r?e:e>=r+t?e-t+1:r)},[e,t]),o}function Hf(e,t){let o=e.filter(Qn),n=Math.max(0,...o.map(s=>el(s.label))),r=Math.max(0,...o.map(s=>s.badge===void 0?0:el(s.badge))),i=nl+n+(r>0?r+Nr:0)+Nr;return{label:n,badge:r,hint:Math.max(0,t-i)}}function qf({item:e,active:t,metrics:o}){let n=e.disabled===!0,r=n?u.faintForeground:e.labelTone!==void 0?je[e.labelTone]:t?u.accent:u.foreground;return ol(Xn,{wrap:"truncate",children:[zt(Xn,{color:u.accent,children:t?`${Z.cursor} `:" "}),zt(Xn,{color:r,bold:t,children:Ie(e.label,o.label)}),o.badge>0&&zt(Xn,{color:e.badgeTone===void 0?u.faintForeground:je[e.badgeTone],children:`${" ".repeat(Nr)}${Ie(e.badge??"",o.badge)}`}),e.hint!==void 0&&o.hint>0&&zt(Xn,{color:n||!t?u.faintForeground:u.mutedForeground,children:`${" ".repeat(Nr)}${we(e.hint,o.hint)}`})]})}function Wf({items:e,cursor:t,metrics:o,window:n,width:r,isActive:i,onPick:s,onHover:a,onScroll:c}){let l=fs(t,n),p=e.slice(l,l+n),f=d=>d<p.length?l+d:null,m=Ue({isActive:i,onWheel:c,onClick:({row:d})=>{let S=f(d);S!==null&&s(S)},onHover:({row:d})=>{let S=f(d);S!==null&&a(S)}});return ol(Zc,{ref:m,flexDirection:"column",children:[p.map((d,S)=>{let h=l+S;return Qn(d)?zt(qf,{item:d,active:h===t&&i,metrics:o},h):d.heading===""?zt(Zc,{height:1},h):zt(Io,{title:d.heading,width:r},h)}),e.length>n&&zt(Xn,{color:u.faintForeground,children:`${" ".repeat(nl)}${l+1}-${Math.min(l+n,e.length)} / ${e.length}`})]})}function ae({items:e,onSelect:t,width:o,height:n,isActive:r=!0,retain:i}){let s=Ff(e),a=jf(s,r,t,i);return zt(Wf,{items:s,cursor:a.index,metrics:Hf(s,o),window:Uf(s.length,n),width:o,isActive:r,onPick:a.pick,onHover:a.moveTo,onScroll:a.step})}import{jsx as gt,jsxs as Ir}from"react/jsx-runtime";var rl={ok:{glyph:Z.ok,color:u.success},warn:{glyph:Z.warn,color:u.warning},fail:{glyph:Z.fail,color:u.danger},info:{glyph:Z.bullet,color:u.mutedForeground}};function fe({tone:e,title:t,detail:o,width:n}){let r=rl[e];return Ir(Lo,{flexDirection:"column",children:[Ir(Zn,{children:[gt(Zn,{color:r.color,children:`${r.glyph} `}),gt(Zn,{color:u.foreground,children:we(t,n-2)})]}),o!==void 0&>(Zn,{color:u.faintForeground,children:` ${we(o,n-2)}`})]})}function Rn({message:e,hint:t,width:o}){return gt(fe,{tone:"fail",title:e,detail:t,width:o})}var zf=2,Gf=2;function il({tone:e,message:t,width:o,onDismiss:n}){let r=rl[e],i=Ue({onClick:n});return Ir(Lo,{ref:i,children:[gt(Zn,{backgroundColor:u.border,color:r.color,wrap:"truncate",children:` ${r.glyph} `}),gt(Zn,{backgroundColor:u.border,color:u.foreground,wrap:"truncate",children:`${we(t,o-zf-Gf)} `})]})}function We({title:e,detail:t,confirmLabel:o,onConfirm:n,onCancel:r,width:i,busy:s,error:a}){return Ir(Lo,{flexDirection:"column",children:[gt(fe,{tone:"warn",title:e,detail:t,width:i}),a!=null&>(Lo,{marginTop:1,children:gt(Rn,{message:a.message,hint:a.hint,width:i})}),gt(Lo,{marginTop:1,children:typeof s=="string"?gt(Ze,{label:s}):gt(ae,{items:[{value:"cancel",label:"\u53D6\u6D88"},{value:"confirm",label:o,labelTone:"danger"}],width:i,onSelect:c=>c==="confirm"?n():r()})})]})}import{Box as Kf,Text as Lr,useInput as Vf}from"ink";import{useRef as Jf,useState as Yf}from"react";import{jsx as Mr,jsxs as Xf}from"react/jsx-runtime";function an({lines:e,height:t,isActive:o=!0,pinBottom:n=!1}){let r=e.length>t,i=r?Math.max(1,t-1):t,s=Math.max(0,e.length-i),[a,c]=Yf(n?s:0),l=Jf(s);if(s!==l.current){let d=a>=l.current;l.current=s;let S=n&&d?s:Math.min(a,s);S!==a&&c(S)}let p=d=>c(S=>Math.min(Math.max(0,S+d),s));Vf((d,S)=>{S.upArrow?p(-1):S.downArrow?p(1):S.pageUp?p(-i):S.pageDown&&p(i)},{isActive:o&&r}),z(d=>{d==="k"?p(-1):d==="j"&&p(1)},o&&r);let f=Ue({isActive:o&&r,onWheel:p}),m=e.slice(a,a+i);return Xf(Kf,{ref:f,flexDirection:"column",children:[m.map((d,S)=>Mr(Lr,{wrap:"truncate",children:d.spans.length===0?" ":d.spans.map((h,g)=>Mr(Lr,{color:h.color??u.foreground,bold:h.bold===!0,children:h.text},g))},a+S)),Array.from({length:Math.max(0,i-m.length)},(d,S)=>Mr(Lr,{children:" "},S)),r&&Mr(Lr,{color:u.faintForeground,wrap:"truncate",children:`${a+1}-${Math.min(a+i,e.length)} / ${e.length}`})]})}function Ge(e){return e.tone==="neutral"?void 0:e.tone}function Gt(e){let t=Ge(e);return t===void 0?e.label:{text:e.label,tone:t}}import{useCallback as gs,useRef as Qf,useState as sl}from"react";function ge(){let e=B(),[t,o]=sl(null),[n,r]=sl(null),i=Qf(0),s=gs(()=>{i.current+=1,o(null),r(null)},[]),a=gs((l,p)=>{r({message:l,hint:p})},[]),c=gs((l,p,f={})=>{let m=i.current+=1;o(l),r(null),p().then(d=>{i.current===m&&(o(null),f.onSuccess?.(d))}).catch(d=>{if(i.current!==m)return;o(null);let S={message:Te(d),hint:d instanceof D?d.hint:void 0};f.failToast===!0?e.toast("fail",S.message):r(S)})},[e]);return{busy:t,error:n,reset:s,fail:a,run:c}}import{Lexer as Zf}from"marked";import Or from"string-width";var eg={spans:[]},hs=e=>e===void 0||e.spans.every(t=>t.text.trim()==="");function al(e){let t=[];for(let o of e){let n=t[t.length-1];n!==void 0&&n.color===o.color&&n.bold===o.bold?n.text+=o.ch:t.push({text:o.ch,color:o.color,bold:o.bold})}return{spans:t}}function $t(e,t,o=0){let n=()=>Array.from({length:o},()=>({ch:" "})),r=[],i=[],s=0,a=!0,c=()=>{r.push(al(i)),a=!1,i=n(),s=o};for(let l of e)for(let p of l.text){if(p===`
|
|
5
5
|
`){c();continue}let f=Or(p);if(s+f>t&&i.length>(a?0:o)){let m=a?0:o,d=-1;for(let S=i.length-1;S>m;S-=1)if(i[S]?.ch===" "){d=S;break}if(d>m){let S=i.slice(d+1);i=i.slice(0,d),c(),i=[...i,...S],s=i.reduce((h,g)=>h+Or(g.ch),0)}else c()}i.push({ch:p,color:l.color,bold:l.bold}),s+=f}return(i.length>0||r.length===0)&&r.push(al(i)),r}function Dt(e,t){if(e===void 0)return[];let o=[];for(let n of e)switch(n.type){case"text":o.push(..."tokens"in n&&n.tokens!==void 0?Dt(n.tokens,t):[{text:n.text,...t}]);break;case"strong":o.push(...Dt(n.tokens,{...t,bold:!0}));break;case"em":o.push(...Dt(n.tokens,t));break;case"del":o.push(...Dt(n.tokens,{...t,color:u.faintForeground}));break;case"codespan":o.push({text:n.text,color:u.accent,bold:t.bold});break;case"link":{let r=Dt(n.tokens,{...t,color:u.accent});o.push(...r);let i=r.map(s=>s.text).join("");n.href!==i&&o.push({text:`\uFF08${n.href}\uFF09`,color:u.faintForeground});break}case"image":o.push({text:n.text===""?"\u56FE\u7247":n.text,...t}),o.push({text:`\uFF08${n.href}\uFF09`,color:u.faintForeground});break;case"br":o.push({text:`
|