@round2ai/r2-cli 1.0.9-beta.0 → 1.0.9
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/package.json +1 -1
- package/dist/r2-cli.js +1 -1
- package/package.json +1 -1
package/dist/package.json
CHANGED
package/dist/r2-cli.js
CHANGED
|
@@ -36,7 +36,7 @@ var _o=Object.defineProperty;var V=(o,t)=>()=>(o&&(t=o(o=0)),t);var Z=(o,t)=>{fo
|
|
|
36
36
|
`));let i=t.expireTime?Number.parseInt(t.expireTime,10):3e5,c=t.pollInterval?Number.parseInt(t.pollInterval,10):1e3;try{let l=await lt(t.state,i,c,o,n);if(l.status==="success")return l;throw new w("\u95F2\u9C7C\u6388\u6743\u5931\u8D25: "+(l.status==="expired"?"\u94FE\u63A5\u5DF2\u8FC7\u671F":"\u672A\u77E5\u72B6\u6001"))}finally{s()}}import A from"chalk";function m(o){if(o instanceof w)console.error(A.red(`
|
|
37
37
|
\u25B2 ${o.message}`)),console.error(A.gray(`\u2192 \u8BF7\u5148\u8FD0\u884C: r2-cli auth login
|
|
38
38
|
`));else if(o instanceof b)console.error(A.red(`\u25B2 \u64CD\u4F5C\u5931\u8D25: ${o.message}`)),o.status&&console.error(A.gray(` \u72B6\u6001\u7801: ${o.status}`));else if(o instanceof U)console.error(A.red(`\u25B2 \u914D\u7F6E\u6587\u4EF6\u5F02\u5E38: ${o.message}`)),o.path&&console.error(A.gray(` \u8DEF\u5F84: ${o.path}`)),console.error(A.gray(`\u2192 \u8BF7\u5C1D\u8BD5\u91CD\u65B0\u767B\u5F55: r2-cli auth login
|
|
39
|
-
`));else{let t=o instanceof Error?o.message:String(o);console.error(A.red(`\u25B2 ${t}`))}process.exit(1)}function g(o){console.log(A.yellow(`\u25B2 "${o}" \u529F\u80FD\u5F00\u53D1\u4E2D\uFF0C\u6682\u4E0D\u53EF\u7528`))}function Rt(o){console.log(JSON.stringify({success:!1,error:o})),process.exit(1)}function z(o){return async(...t)=>{try{await o(...t)}catch(e){let r=e instanceof Error?e.message:String(e);Rt(r)}}}var se=new Set(["accessToken","refreshExpireIn"]);function uo(o){return o.map(t=>{let e={};for(let[r,n]of Object.entries(t))se.has(r)||(e[r]=n);return e})}function Et(){let o=new Nt("login");o.description("\u626B\u7801\u767B\u5F55 Round2AI \u8D26\u6237");let t=new Nt("qr").description("\u751F\u6210\u767B\u5F55\u4E8C\u7EF4\u7801\uFF08\u8FD4\u56DE JSON\uFF0C\u4F9B AI Agent \u4F7F\u7528\uFF09").action(z(async()=>{let r=v(),{qrData:n,...s}=await r.generateQR(),i=Number.parseInt(n.expireTime,10),c=Number.parseInt(n.pollInterval,10);console.log(JSON.stringify({qrToken:n.qrToken,expireTimeMs:i,pollIntervalMs:c,...s},null,2)),r.pollPageStatus(n.qrToken,i,c,s.setStatus).then(()=>{setTimeout(s.closeServer,3e3)}).catch(()=>{s.closeServer()})})),e=new Nt("poll").description("\u8F6E\u8BE2\u767B\u5F55\u72B6\u6001\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09").requiredOption("--token <qrToken>","\u4E8C\u7EF4\u7801 token").option("--expire <ms>","\u8FC7\u671F\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09","300000").option("--interval <ms>","\u8F6E\u8BE2\u95F4\u9694\uFF08\u6BEB\u79D2\uFF09","1000").action(z(async r=>{let s=await v().waitForLogin(r.token,Number.parseInt(r.expire,10),Number.parseInt(r.interval,10));console.log(JSON.stringify({success:!0,...s}))}));return o.addCommand(t),o.addCommand(e),o.action(async()=>{try{await v().login()}catch(r){m(r)}}),o}import{Command as ie}from"commander";function Ut(){let o=new ie("logout");return o.description("\u9000\u51FA\u767B\u5F55"),o.action(async()=>{try{await v().logout()}catch(t){m(t)}}),o}import{Command as ae}from"commander";function Dt(){let o=new ae("status");return o.description("\u67E5\u770B\u767B\u5F55\u72B6\u6001"),o.action(async()=>{try{await v().status()}catch(t){m(t)}}),o}import{Command as Ot}from"commander";function $t(){let o=new Ot("xianyu");o.description("\u95F2\u9C7C\u5E97\u94FA\u6388\u6743");let t=new Ot("qr").description("\u83B7\u53D6\u95F2\u9C7C\u6388\u6743\u4E8C\u7EF4\u7801\uFF08\u8FD4\u56DE JSON\uFF0C\u4F9B AI Agent \u4F7F\u7528\uFF09").action(z(async()=>{let{authData:r,...n}=await ct(),s=r.expireTime?Number.parseInt(r.expireTime,10):3e5,i=r.pollInterval?Number.parseInt(r.pollInterval,10):1e3;console.log(JSON.stringify({state:r.state,expireTimeMs:s,pollIntervalMs:i,...n},null,2)),mo(r.state,s,i,n.setStatus).then(()=>{setTimeout(n.closeServer,3e3)}).catch(()=>{n.closeServer()})})),e=new Ot("poll").description("\u8F6E\u8BE2\u95F2\u9C7C\u6388\u6743\u72B6\u6001\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09").requiredOption("--state <state>","\u6388\u6743\u8F6E\u8BE2 token").option("--expire <ms>","\u8FC7\u671F\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09","300000").option("--interval <ms>","\u8F6E\u8BE2\u95F4\u9694\uFF08\u6BEB\u79D2\uFF09","1000").action(z(async r=>{let n=await lt(r.state,Number.parseInt(r.expire,10),Number.parseInt(r.interval,10));n.status==="success"?console.log(JSON.stringify({success:!0,shopId:n.shopId,shopName:n.shopName})):Rt(`\u6388\u6743\u72B6\u6001: ${n.status}`)}));return o.addCommand(t),o.addCommand(e),o.action(async()=>{try{await Lt()}catch(r){m(r)}}),o}import{Command as ce}from"commander";function po(){let o=new ce("analyze");return o.description("\u5206\u6790\u5546\u54C1\u4EF7\u683C\u5EFA\u8BAE"),o.option("--sku <sku>","\u5546\u54C1SKU"),o.option("--condition <condition>","\u5546\u54C1\u6210\u8272"),o.action(()=>g("pricing analyze")),o}import{Command as le}from"commander";function go(){let o=new le("generate");return o.description("\u751F\u6210\u7ECF\u8425\u62A5\u544A"),o.option("--type <type>","\u62A5\u544A\u7C7B\u578B: daily, weekly","daily"),o.action(()=>g("report generate")),o}import{Command as me}from"commander";function fo(){let o=new me("risk");return o.description("\u5E93\u5B58\u98CE\u9669\u8BC6\u522B"),o.option("--warehouse <warehouse>","\u4ED3\u5E93\u4EE3\u7801"),o.action(()=>g("inventory risk")),o}import{Command as de}from"commander";function ho(){let o=new de("chat");return o.description("\u4E0E AI \u52A9\u624B\u804A\u5929\uFF0C\u83B7\u53D6\u7ECF\u8425\u5EFA\u8BAE"),o.action(()=>g("ai chat")),o}import{Command as ue}from"commander";function yo(){let o=new ue("skills");return o.description("AI Agent \u6280\u80FD\u7BA1\u7406"),o.action(()=>g("ai skills")),o}import{Command as De}from"commander";import{Command as pe}from"commander";import k from"chalk";import{select as Jt,input as ge,confirm as fe}from"@inquirer/prompts";var R=new L;function Gt(o){let t=new URLSearchParams;for(let[e,r]of Object.entries(o))r!=null&&r!==""&&t.append(e,String(r));return t}async function Bt(o){return R.post("mms/goods/listing/up/xianyu",o)}async function wo(o){return R.get("mms/goods/listing/get",Gt({...o}))}async function jt(o){return R.post("mms/goods/listing/down/xianyu",o)}async function qt(o){return R.post("mms/goods/listing/update/xyPrice",o)}async function Qt(o){return R.get("mms/goods/listing/list",o?Gt({...o}):void 0)}async function mt(){return await R.get("mms/user/shop/list")??[]}async function dt(){return await R.get("mms/user/stock/list")??[]}async function Y(o){return R.get("mms/seller/goods/select/list",o?Gt({...o}):void 0)}var he=2e3,ye=1e4;function we(o){let t=o.status?.toLowerCase()??"";return t===""||t==="init"||t==="pending"||t==="processing"}async function xo(o,t,e,r){r||process.stdout.write(k.cyan("\u23F3 \u6B63\u5728\u67E5\u8BE2\u4E0A\u67B6\u8FDB\u5EA6..."));let n=await T(()=>wo({stockGoodsId:o,shopId:t,platform:e}),{interval:he,timeout:ye,condition:s=>!we(s)});return r||process.stdout.write("\r"+" ".repeat(30)+"\r"),n}function So(){let o=new pe("up");return o.description("\u4E0A\u67B6\u5546\u54C1\u5230\u95F2\u9C7C"),o.option("--stock-goods-id <id>","\u5E93\u5B58\u5546\u54C1ID\uFF08\u4ECE goods list \u83B7\u53D6\uFF09").option("--shop-id <id>","\u5E97\u94FAID\uFF08\u4ECE goods shops \u83B7\u53D6\uFF09").option("--price <amount>","\u4E0A\u67B6\u4EF7\u683C").option("-p, --platform <platform>","\u5E73\u53F0","xianyu").option("--json","\u8F93\u51FA JSON\uFF08Agent \u7528\uFF09").action(async t=>{try{if(t.stockGoodsId&&t.shopId&&t.price){let a=Number(t.stockGoodsId),C=t.shopId,gt=Number(t.price),q=t.platform,Qo=await Bt({stockGoodsId:a,shopId:C,price:gt,platform:q}),ft=await xo(a,C,q,t.json);if(t.json)console.log(JSON.stringify({success:!0,data:{submit:Qo,listing:ft}},null,2));else{let Jo=ft.status?.toLowerCase()!=="failed";console.log(Jo?k.green("\u2713 \u4E0A\u67B6\u6210\u529F"):k.red("\u2717 \u4E0A\u67B6\u5931\u8D25")),console.log(JSON.stringify(ft,null,2))}return}let e=await mt();if(e.length===0){console.log(k.yellow("\u6CA1\u6709\u5DF2\u6388\u6743\u5E97\u94FA\uFF0C\u8BF7\u5148\u8FD0\u884C r2-cli auth xianyu \u6388\u6743"));return}let r=await Jt({message:"\u9009\u62E9\u5E97\u94FA",choices:e.map(a=>({name:`${a.shopName} (${a.platform})`,value:a.shopId}))}),n=await dt();if(n.length===0){console.log(k.yellow("\u6CA1\u6709\u53EF\u7528\u7684\u4ED3\u5E93"));return}let s=await Jt({message:"\u9009\u62E9\u4ED3\u5E93",choices:n.map(a=>({name:a.stockName,value:a.stockId}))}),i=await Y({stockId:s,size:100});if(!i.items?.length){console.log(k.yellow("\u8BE5\u4ED3\u5E93\u6CA1\u6709\u53EF\u9009\u7684\u5546\u54C1"));return}let c=await Jt({message:"\u9009\u62E9\u5546\u54C1",choices:i.items.map(a=>({name:`${a.goodsName} ${a.size?`| ${a.size}`:""} | \xA5${a.salePrice}`,value:a.stockGoodsId}))}),l=await ge({message:"\u8F93\u5165\u4E0A\u67B6\u4EF7\u683C",default:i.items.find(a=>a.stockGoodsId===c)?.salePrice?.toString()??"",validate:a=>Number(a)>0?!0:"\u4EF7\u683C\u5FC5\u987B\u4E3A\u6B63\u6570"});if(!await fe({message:`\u786E\u8BA4\u4E0A\u67B6\uFF1F\u4EF7\u683C \xA5${l}`,default:!0})){console.log(k.gray("\u5DF2\u53D6\u6D88"));return}let f=Number(c);await Bt({stockGoodsId:f,shopId:r,price:Number(l),platform:"xianyu"}),console.log(k.green("\u2713 \u4E0A\u67B6\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u67E5\u8BE2\u8FDB\u5EA6..."));let N=await xo(f,r,"xianyu"),E=N.status?.toLowerCase()!=="failed";console.log(E?k.green("\u2713 \u4E0A\u67B6\u6210\u529F"):k.red("\u2717 \u4E0A\u67B6\u5931\u8D25")),console.log(JSON.stringify(N,null,2))}catch(e){m(e)}}),o}import{Command as ke}from"commander";import Po from"chalk";function vo(){let o=new ke("shops");return o.description("\u67E5\u770B\u6240\u6709\u5DF2\u6388\u6743\u5E97\u94FA\uFF08\u8DE8\u5E73\u53F0\uFF09"),o.option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{try{let e=await mt();if(t.json){console.log(JSON.stringify(uo(e),null,2));return}if(!e.length){console.log(Po.yellow("\u672A\u627E\u5230\u5DF2\u6388\u6743\u7684\u5E97\u94FA")),console.log(Po.gray(" \u63D0\u793A: \u8BF7\u5148\u5728\u7B2C\u4E8C\u56DE\u5408 APP \u4E2D\u6388\u6743\u5E97\u94FA"));return}let{ShopsTable:r}=await Promise.resolve().then(()=>(ko(),Io)),{renderComponent:n}=await Promise.resolve().then(()=>(it(),st));n(r,{shops:e,platform:"all"})}catch(e){m(e)}}),o}import{Command as be}from"commander";import Te from"chalk";function To(){let o=new be("stocks");return o.description("\u67E5\u770B\u6240\u6709\u4ED3\u5E93"),o.option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{try{let e=await dt();if(t.json){console.log(JSON.stringify(e,null,2));return}if(!e.length){console.log(Te.yellow("\u672A\u627E\u5230\u4ED3\u5E93\u4FE1\u606F"));return}let{StocksTable:r}=await Promise.resolve().then(()=>(bo(),Ao)),{renderComponent:n}=await Promise.resolve().then(()=>(it(),st));n(r,{stocks:e})}catch(e){m(e)}}),o}import{Command as Le}from"commander";import j from"chalk";function Lo(){let o=new Le("list");return o.description("\u67E5\u770B\u4ED3\u5E93\u4E2D\u7684\u9009\u54C1\u5546\u54C1"),o.option("--stock-id <id>","\u4ED3\u5E93 ID\uFF08\u4ECE goods stocks \u83B7\u53D6\uFF09").option("--page <n>","\u9875\u7801","1").option("--size <n>","\u6BCF\u9875\u6570\u91CF","20").option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{if(t.json){try{let e=await Y({stockId:t.stockId??"",page:Number(t.page)||1,size:Number(t.size)||20});console.log(JSON.stringify(e??{items:[],total:0},null,2))}catch(e){let r=e instanceof Error?e.message:String(e);console.log(JSON.stringify({success:!1,error:r})),process.exit(1)}return}try{if(!t.stockId){console.log(j.yellow("\u8BF7\u6307\u5B9A\u4ED3\u5E93 ID: r2-cli goods list --stock-id <id>"));return}let e=await Y({stockId:t.stockId,page:Number(t.page)||1,size:Number(t.size)||20});if(!e.items?.length){console.log(j.yellow("\u8BE5\u4ED3\u5E93\u6CA1\u6709\u9009\u54C1\u5546\u54C1"));return}console.log(j.cyan(`
|
|
39
|
+
`));else{let t=o instanceof Error?o.message:String(o);console.error(A.red(`\u25B2 ${t}`))}process.exit(1)}function g(o){console.log(A.yellow(`\u25B2 "${o}" \u529F\u80FD\u5F00\u53D1\u4E2D\uFF0C\u6682\u4E0D\u53EF\u7528`))}function Rt(o){console.log(JSON.stringify({success:!1,error:o})),process.exit(1)}function z(o){return async(...t)=>{try{await o(...t)}catch(e){let r=e instanceof Error?e.message:String(e);Rt(r)}}}var se=new Set(["accessToken","refreshExpireIn"]);function uo(o){return o.map(t=>{let e={};for(let[r,n]of Object.entries(t))se.has(r)||(e[r]=n);return e})}function Et(){let o=new Nt("login");o.description("\u626B\u7801\u767B\u5F55 Round2AI \u8D26\u6237");let t=new Nt("qr").description("\u751F\u6210\u767B\u5F55\u4E8C\u7EF4\u7801\uFF08\u8FD4\u56DE JSON\uFF0C\u4F9B AI Agent \u4F7F\u7528\uFF09").action(z(async()=>{let r=v(),{qrData:n,...s}=await r.generateQR(),i=Number.parseInt(n.expireTime,10),c=Number.parseInt(n.pollInterval,10);console.log(JSON.stringify({qrToken:n.qrToken,expireTimeMs:i,pollIntervalMs:c,...s},null,2)),r.pollPageStatus(n.qrToken,i,c,s.setStatus).then(()=>{setTimeout(s.closeServer,3e3)}).catch(()=>{s.closeServer()})})),e=new Nt("poll").description("\u8F6E\u8BE2\u767B\u5F55\u72B6\u6001\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09").requiredOption("--token <qrToken>","\u4E8C\u7EF4\u7801 token").option("--expire <ms>","\u8FC7\u671F\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09","300000").option("--interval <ms>","\u8F6E\u8BE2\u95F4\u9694\uFF08\u6BEB\u79D2\uFF09","1000").action(z(async r=>{let s=await v().waitForLogin(r.token,Number.parseInt(r.expire,10),Number.parseInt(r.interval,10));console.log(JSON.stringify({success:!0,...s}))}));return o.addCommand(t),o.addCommand(e),o.action(async()=>{try{await v().login()}catch(r){m(r)}}),o}import{Command as ie}from"commander";function Ut(){let o=new ie("logout");return o.description("\u9000\u51FA\u767B\u5F55"),o.action(async()=>{try{await v().logout()}catch(t){m(t)}}),o}import{Command as ae}from"commander";function Dt(){let o=new ae("status");return o.description("\u67E5\u770B\u767B\u5F55\u72B6\u6001"),o.action(async()=>{try{await v().status()}catch(t){m(t)}}),o}import{Command as Ot}from"commander";function $t(){let o=new Ot("xianyu");o.description("\u95F2\u9C7C\u5E97\u94FA\u6388\u6743");let t=new Ot("qr").description("\u83B7\u53D6\u95F2\u9C7C\u6388\u6743\u4E8C\u7EF4\u7801\uFF08\u8FD4\u56DE JSON\uFF0C\u4F9B AI Agent \u4F7F\u7528\uFF09").action(z(async()=>{let{authData:r,...n}=await ct(),s=r.expireTime?Number.parseInt(r.expireTime,10):3e5,i=r.pollInterval?Number.parseInt(r.pollInterval,10):1e3;console.log(JSON.stringify({state:r.state,expireTimeMs:s,pollIntervalMs:i,...n},null,2)),mo(r.state,s,i,n.setStatus).then(()=>{setTimeout(n.closeServer,3e3)}).catch(()=>{n.closeServer()})})),e=new Ot("poll").description("\u8F6E\u8BE2\u95F2\u9C7C\u6388\u6743\u72B6\u6001\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09").requiredOption("--state <state>","\u6388\u6743\u8F6E\u8BE2 token").option("--expire <ms>","\u8FC7\u671F\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09","300000").option("--interval <ms>","\u8F6E\u8BE2\u95F4\u9694\uFF08\u6BEB\u79D2\uFF09","1000").action(z(async r=>{let n=await lt(r.state,Number.parseInt(r.expire,10),Number.parseInt(r.interval,10));n.status==="success"?console.log(JSON.stringify({success:!0,shopId:n.shopId,shopName:n.shopName})):Rt(`\u6388\u6743\u72B6\u6001: ${n.status}`)}));return o.addCommand(t),o.addCommand(e),o.action(async()=>{try{await Lt()}catch(r){m(r)}}),o}import{Command as ce}from"commander";function po(){let o=new ce("analyze");return o.description("\u5206\u6790\u5546\u54C1\u4EF7\u683C\u5EFA\u8BAE"),o.option("--sku <sku>","\u5546\u54C1SKU"),o.option("--condition <condition>","\u5546\u54C1\u6210\u8272"),o.action(()=>g("pricing analyze")),o}import{Command as le}from"commander";function go(){let o=new le("generate");return o.description("\u751F\u6210\u7ECF\u8425\u62A5\u544A"),o.option("--type <type>","\u62A5\u544A\u7C7B\u578B: daily, weekly","daily"),o.action(()=>g("report generate")),o}import{Command as me}from"commander";function fo(){let o=new me("risk");return o.description("\u5E93\u5B58\u98CE\u9669\u8BC6\u522B"),o.option("--warehouse <warehouse>","\u4ED3\u5E93\u4EE3\u7801"),o.action(()=>g("inventory risk")),o}import{Command as de}from"commander";function ho(){let o=new de("chat");return o.description("\u4E0E AI \u52A9\u624B\u804A\u5929\uFF0C\u83B7\u53D6\u7ECF\u8425\u5EFA\u8BAE"),o.action(()=>g("ai chat")),o}import{Command as ue}from"commander";function yo(){let o=new ue("skills");return o.description("AI Agent \u6280\u80FD\u7BA1\u7406"),o.action(()=>g("ai skills")),o}import{Command as De}from"commander";import{Command as pe}from"commander";import k from"chalk";import{select as Jt,input as ge,confirm as fe}from"@inquirer/prompts";var R=new L;function Gt(o){let t=new URLSearchParams;for(let[e,r]of Object.entries(o))r!=null&&r!==""&&t.append(e,String(r));return t}async function Bt(o){return R.post("mms/goods/listing/up/xianyu",o)}async function wo(o){return R.get("mms/goods/listing/get",Gt({...o}))}async function jt(o){return R.post("mms/goods/listing/down/xianyu",o)}async function qt(o){return R.post("mms/goods/listing/update/xyPrice",o)}async function Qt(o){return R.get("mms/goods/listing/list",o?Gt({...o}):void 0)}async function mt(){return await R.get("mms/user/shop/list")??[]}async function dt(){return await R.get("mms/user/stock/list")??[]}async function Y(o){return R.get("mms/seller/goods/select/list",o?Gt({...o}):void 0)}var he=2e3,ye=1e4;function we(o){let t=o.status?.toLowerCase()??"";return t===""||t==="init"||t==="pending"||t==="processing"}async function xo(o,t,e,r){r||process.stdout.write(k.cyan("\u23F3 \u6B63\u5728\u67E5\u8BE2\u4E0A\u67B6\u8FDB\u5EA6..."));let n=await T(()=>wo({stockGoodsId:o,shopId:t,platform:e}),{interval:he,timeout:ye,condition:s=>!we(s)});return r||process.stdout.write("\r"+" ".repeat(30)+"\r"),n}function So(){let o=new pe("up");return o.description("\u4E0A\u67B6\u5546\u54C1\u5230\u95F2\u9C7C"),o.option("--stock-goods-id <id>","\u5E93\u5B58\u5546\u54C1ID\uFF08\u4ECE goods list \u83B7\u53D6\uFF09").option("--shop-id <id>","\u5E97\u94FAID\uFF08\u4ECE goods shops \u83B7\u53D6\uFF09").option("--price <amount>","\u4E0A\u67B6\u4EF7\u683C").option("-p, --platform <platform>","\u5E73\u53F0","xianyu").option("--json","\u8F93\u51FA JSON\uFF08Agent \u7528\uFF09").action(async t=>{try{if(t.stockGoodsId&&t.shopId&&t.price){let a=Number(t.stockGoodsId),C=t.shopId,gt=Number(t.price),q=t.platform,Qo=await Bt({stockGoodsId:a,shopId:C,price:gt,platform:q}),ft=await xo(a,C,q,t.json);if(t.json)console.log(JSON.stringify({success:!0,data:{submit:Qo,listing:ft}},null,2));else{let Jo=ft.status?.toLowerCase()!=="failed";console.log(Jo?k.green("\u2713 \u4E0A\u67B6\u6210\u529F"):k.red("\u2717 \u4E0A\u67B6\u5931\u8D25")),console.log(JSON.stringify(ft,null,2))}return}let e=await mt();if(e.length===0){console.log(k.yellow("\u6CA1\u6709\u5DF2\u6388\u6743\u5E97\u94FA\uFF0C\u8BF7\u5148\u8FD0\u884C r2-cli auth xianyu \u6388\u6743"));return}let r=await Jt({message:"\u9009\u62E9\u5E97\u94FA",choices:e.map(a=>({name:`${a.shopName} (${a.platform})`,value:a.shopId}))}),n=await dt();if(n.length===0){console.log(k.yellow("\u6CA1\u6709\u53EF\u7528\u7684\u4ED3\u5E93"));return}let s=await Jt({message:"\u9009\u62E9\u4ED3\u5E93",choices:n.map(a=>({name:a.stockName,value:a.stockId}))}),i=await Y({stockId:s,size:100});if(!i.items?.length){console.log(k.yellow("\u8BE5\u4ED3\u5E93\u6CA1\u6709\u53EF\u9009\u7684\u5546\u54C1"));return}let c=await Jt({message:"\u9009\u62E9\u5546\u54C1",choices:i.items.map(a=>({name:`${a.goodsName} ${a.size?`| ${a.size}`:""} | \xA5${a.salePrice}`,value:a.stockGoodsId}))}),l=await ge({message:"\u8F93\u5165\u4E0A\u67B6\u4EF7\u683C",default:i.items.find(a=>a.stockGoodsId===c)?.salePrice?.toString()??"",validate:a=>Number(a)>0?!0:"\u4EF7\u683C\u5FC5\u987B\u4E3A\u6B63\u6570"});if(!await fe({message:`\u786E\u8BA4\u4E0A\u67B6\uFF1F\u4EF7\u683C \xA5${l}`,default:!0})){console.log(k.gray("\u5DF2\u53D6\u6D88"));return}let f=Number(c);await Bt({stockGoodsId:f,shopId:r,price:Number(l),platform:"xianyu"}),console.log(k.green("\u2713 \u4E0A\u67B6\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u67E5\u8BE2\u8FDB\u5EA6..."));let N=await xo(f,r,"xianyu"),E=N.status?.toLowerCase()!=="failed";console.log(E?k.green("\u2713 \u4E0A\u67B6\u6210\u529F"):k.red("\u2717 \u4E0A\u67B6\u5931\u8D25")),console.log(JSON.stringify(N,null,2))}catch(e){m(e)}}),o}import{Command as ke}from"commander";import Po from"chalk";function vo(){let o=new ke("shops");return o.description("\u67E5\u770B\u6240\u6709\u5DF2\u6388\u6743\u5E97\u94FA\uFF08\u8DE8\u5E73\u53F0\uFF09"),o.option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{try{let e=await mt();if(t.json){console.log(JSON.stringify(uo(e),null,2));return}if(!e.length){console.log(Po.yellow("\u672A\u627E\u5230\u5DF2\u6388\u6743\u7684\u5E97\u94FA")),console.log(Po.gray(" \u63D0\u793A: \u8BF7\u5148\u5728\u7B2C\u4E8C\u56DE\u5408 APP \u4E2D\u6388\u6743\u5E97\u94FA"));return}let{ShopsTable:r}=await Promise.resolve().then(()=>(ko(),Io)),{renderComponent:n}=await Promise.resolve().then(()=>(it(),st));n(r,{shops:e,platform:"all"})}catch(e){m(e)}}),o}import{Command as be}from"commander";import Te from"chalk";function To(){let o=new be("stocks");return o.description("\u67E5\u770B\u6240\u6709\u4ED3\u5E93"),o.option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{try{let e=await dt();if(t.json){console.log(JSON.stringify(e,null,2));return}if(!e.length){console.log(Te.yellow("\u672A\u627E\u5230\u4ED3\u5E93\u4FE1\u606F"));return}let{StocksTable:r}=await Promise.resolve().then(()=>(bo(),Ao)),{renderComponent:n}=await Promise.resolve().then(()=>(it(),st));n(r,{stocks:e})}catch(e){m(e)}}),o}import{Command as Le}from"commander";import j from"chalk";function Lo(){let o=new Le("list");return o.description("\u67E5\u770B\u4ED3\u5E93\u4E2D\u7684\u9009\u54C1\u5546\u54C1"),o.option("--stock-id <id>","\u4ED3\u5E93 ID\uFF08\u4ECE goods stocks \u83B7\u53D6\uFF09").option("--page <n>","\u9875\u7801","1").option("--size <n>","\u6BCF\u9875\u6570\u91CF","20").option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{if(t.json){try{let r=await Y({stockId:t.stockId??"",page:Number(t.page)||1,size:Number(t.size)||20})??{items:[],total:0};r.items?.length?console.log(JSON.stringify(r,null,2)):console.log(JSON.stringify({...r,hint:"\u9009\u54C1\u5546\u54C1\u4E3A\u7A7A\uFF0C\u8BF7\u5148\u5728\u540E\u53F0\u751F\u6210\u9009\u54C1\u8868\u6570\u636E\u540E\u518D\u8BD5"},null,2))}catch(e){let r=e instanceof Error?e.message:String(e);console.log(JSON.stringify({success:!1,error:r})),process.exit(1)}return}try{if(!t.stockId){console.log(j.yellow("\u8BF7\u6307\u5B9A\u4ED3\u5E93 ID: r2-cli goods list --stock-id <id>"));return}let e=await Y({stockId:t.stockId,page:Number(t.page)||1,size:Number(t.size)||20});if(!e.items?.length){console.log(j.yellow("\u8BE5\u4ED3\u5E93\u6CA1\u6709\u9009\u54C1\u5546\u54C1\uFF0C\u8BF7\u5148\u5728\u540E\u53F0\u751F\u6210\u9009\u54C1\u8868\u6570\u636E\u540E\u518D\u8BD5"));return}console.log(j.cyan(`
|
|
40
40
|
\u9009\u54C1\u5546\u54C1\uFF08\u5171 ${e.total} \u4EF6\uFF0C\u7B2C ${e.page} \u9875\uFF09
|
|
41
41
|
`));for(let r of e.items)console.log(` ${j.bold(r.goodsName)} ${r.size?j.gray(`| ${r.size}`):""}`),console.log(` \u54C1\u724C: ${r.brand} \u5EFA\u8BAE\u552E\u4EF7: \xA5${r.salePrice} stockGoodsId: ${j.green(r.stockGoodsId)}`),console.log(j.gray(` \u5206\u7C7B: ${r.cate1Name} > ${r.cate2Name} > ${r.cate3Name}`)),console.log()}catch(e){m(e)}}),o}import{Command as Re}from"commander";import Kt from"chalk";var Ne={init:"\u5F85\u4E0A\u67B6",up:"\u5DF2\u4E0A\u67B6",down:"\u5DF2\u4E0B\u67B6",fail:"\u5931\u8D25"};function Ro(){let o=new Re("listing");return o.description("\u67E5\u8BE2\u4E0A\u67B6\u5546\u54C1\u5217\u8868"),o.option("--id <id>","\u4E0A\u67B6\u8BB0\u5F55 ID").option("--stock-goods-id <id>","\u5E93\u5B58\u5546\u54C1 ID").option("--shop-id <id>","\u5E97\u94FA ID").option("--stock-id <id>","\u4ED3\u5E93 ID").option("-s, --status <status>","\u72B6\u6001\u8FC7\u6EE4\uFF08init/up/down/fail\uFF09").option("-p, --platform <platform>","\u5E73\u53F0","xianyu").option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{if(t.json){try{let e=await Qt({id:t.id,stockGoodsId:t.stockGoodsId?Number(t.stockGoodsId):void 0,shopId:t.shopId,stockId:t.stockId,status:t.status,platform:t.platform});console.log(JSON.stringify(e??{list:[],total:0},null,2))}catch(e){let r=e instanceof Error?e.message:String(e);console.log(JSON.stringify({success:!1,error:r})),process.exit(1)}return}try{console.log(Kt.cyan("\u{1F4CB} \u6B63\u5728\u67E5\u8BE2\u4E0A\u67B6\u5217\u8868..."));let e=await Qt({id:t.id,stockGoodsId:t.stockGoodsId?Number(t.stockGoodsId):void 0,shopId:t.shopId,stockId:t.stockId,status:t.status,platform:t.platform})??{list:[],total:0};if(!e.list?.length){console.log(Kt.yellow("\u6682\u65E0\u4E0A\u67B6\u8BB0\u5F55"));return}console.log(Kt.green(`\u2705 \u5171 ${e.total} \u6761\u8BB0\u5F55
|
|
42
42
|
`));for(let r of e.list){let n=Ne[r.status]??r.status;console.log(` ID: ${r.id} | \u72B6\u6001: ${n} | \u4EF7\u683C: ${r.price} | stockGoodsId: ${r.stockGoodsId}`)}}catch(e){m(e)}}),o}import{Command as Ee}from"commander";import Yt from"chalk";function No(){let o=new Ee("down");return o.description("\u4E0B\u67B6\u95F2\u9C7C\u5546\u54C1"),o.option("--id <id>","\u4E0A\u67B6\u8BB0\u5F55 ID").option("--stock-goods-id <id>","\u5E93\u5B58\u5546\u54C1 ID").option("--shop-id <id>","\u5E97\u94FA ID").option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{if(t.json){try{let e={};t.id&&(e.id=t.id),t.stockGoodsId&&(e.stockGoodsId=Number(t.stockGoodsId)),t.shopId&&(e.shopId=t.shopId);let r=await jt(e);console.log(JSON.stringify({success:!0,data:r},null,2))}catch(e){let r=e instanceof Error?e.message:String(e);console.log(JSON.stringify({success:!1,error:r})),process.exit(1)}return}try{if(!t.id&&!(t.stockGoodsId&&t.shopId)){console.log(Yt.yellow("\u8BF7\u6307\u5B9A\u4E0B\u67B6\u6761\u4EF6\uFF1A--id <id> \u6216 --stock-goods-id <id> --shop-id <id>"));return}let e={};t.id&&(e.id=t.id),t.stockGoodsId&&(e.stockGoodsId=Number(t.stockGoodsId)),t.shopId&&(e.shopId=t.shopId),console.log(Yt.cyan("\u{1F4E6} \u6B63\u5728\u4E0B\u67B6\u5546\u54C1..."));let r=await jt(e);console.log(Yt.green("\u2705 \u4E0B\u67B6\u6210\u529F")),console.log(JSON.stringify(r,null,2))}catch(e){m(e)}}),o}import{Command as Ue}from"commander";import ut from"chalk";function Eo(){let o=new Ue("price");return o.description("\u4FEE\u6539\u95F2\u9C7C\u4E0A\u67B6\u5546\u54C1\u4EF7\u683C"),o.option("--id <id>","\u4E0A\u67B6\u8BB0\u5F55 ID").option("--stock-goods-id <id>","\u5E93\u5B58\u5546\u54C1 ID").option("--shop-id <id>","\u5E97\u94FA ID").option("--price <amount>","\u65B0\u4EF7\u683C\uFF08\u5FC5\u586B\uFF09").option("--json","\u8F93\u51FA JSON\uFF08\u4F9B AI Agent \u4F7F\u7528\uFF09"),o.action(async t=>{if(!t.price){t.json&&(console.log(JSON.stringify({success:!1,error:"--price <amount> \u4E3A\u5FC5\u586B\u53C2\u6570"})),process.exit(1)),console.log(ut.yellow("--price <amount> \u4E3A\u5FC5\u586B\u53C2\u6570"));return}if(t.json){try{let e={price:Number(t.price)};t.id&&(e.id=t.id),t.stockGoodsId&&(e.stockGoodsId=Number(t.stockGoodsId)),t.shopId&&(e.shopId=t.shopId);let r=await qt(e);console.log(JSON.stringify({success:!0,data:r},null,2))}catch(e){let r=e instanceof Error?e.message:String(e);console.log(JSON.stringify({success:!1,error:r})),process.exit(1)}return}try{if(!t.id&&!(t.stockGoodsId&&t.shopId)){console.log(ut.yellow("\u8BF7\u6307\u5B9A\u5546\u54C1\uFF1A--id <id> \u6216 --stock-goods-id <id> --shop-id <id>"));return}let e={price:Number(t.price)};t.id&&(e.id=t.id),t.stockGoodsId&&(e.stockGoodsId=Number(t.stockGoodsId)),t.shopId&&(e.shopId=t.shopId),console.log(ut.cyan(`\u{1F4B0} \u6B63\u5728\u4FEE\u6539\u4EF7\u683C\u4E3A ${t.price}...`));let r=await qt(e);console.log(ut.green("\u2705 \u4EF7\u683C\u4FEE\u6539\u6210\u529F")),console.log(JSON.stringify(r,null,2))}catch(e){m(e)}}),o}function Uo(){let o=new De("goods");return o.description("\u5546\u54C1\u7BA1\u7406"),o.addCommand(vo()),o.addCommand(To()),o.addCommand(Lo()),o.addCommand(Ro()),o.addCommand(No()),o.addCommand(Eo()),o.addCommand(So()),o}import{Command as Oe}from"commander";import P from"chalk";import{promises as $e}from"node:fs";import Ge from"node:path";import Be from"node:os";import{spawn as je}from"node:child_process";var pt="@round2ai/r2-cli";function Do(){let o=new Oe("uninstall");return o.description("\u5378\u8F7D R2-CLI \u5E76\u6E05\u9664\u6240\u6709\u914D\u7F6E"),o.action(async()=>{try{console.log(P.yellow(`
|