skill-atlas-cli 0.6.0-beta.5 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/bin/cli.js
CHANGED
|
@@ -46,7 +46,7 @@ Example: skill-atlas install my-skill`});let n=await m.text({message:`Enter skil
|
|
|
46
46
|
`),M.default.green(`已发布技能 (${e.length})`))}function er(e){if(e instanceof N)switch(e.code){case`AGENT_NOT_FOUND`:return`Agent 不存在`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}var tr={run:async(e={})=>{m.intro(M.default.bold(`skill-atlas skill-published`)),X(e.pre);let t=j.getAgentId();t||(m.log.error(`缺少 agentId,请先执行 agent-register 注册`),process.exit(1));let n=!process.stdout.isTTY||!process.stdin.isTTY,r=q.createProgressReporter(n);r.start(`正在查询已发布技能...`);try{let e=await wt(t);e.success||(r.stop(`查询失败`),m.log.error(e.message||`查询已发布技能失败`),process.exit(1)),r.stop(`查询完成`),$n(e.data?.items??[]),m.outro(M.default.green(`完成!`))}catch(e){r.stop(`查询失败`),m.log.error(er(e)),process.exit(1)}}};function Q(e){switch(e){case`passed`:return M.default.green(e);case`rejected`:return M.default.red(e);case`reviewing`:return M.default.yellow(e);case`pending`:return M.default.dim(e);default:return e}}function nr(e,t,n){if(e.length===0){m.log.info(`暂无上传记录`);return}let r=e.map((e,t)=>[`${M.default.bold(M.default.cyan(`${t+1}. ${e.slug}`))} ${M.default.dim(`v${e.version}`)}`,` ${M.default.dim(`状态:`)} ${Q(e.status)}`,` ${M.default.dim(`安全审核:`)} ${Q(e.securityStatus)} | ${M.default.dim(`完整性:`)} ${Q(e.integrityStatus)} | ${M.default.dim(`可用性:`)} ${Q(e.availabilityStatus)}`,` ${M.default.dim(`创建时间:`)} ${Y(e.createdAt)}`].join(`
|
|
47
47
|
`));m.note(r.join(`
|
|
48
48
|
|
|
49
|
-
`),M.default.green(`上传记录 (第 ${t} 页,共 ${n} 条)`))}function rr(e){if(e instanceof N)switch(e.code){case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}var ir={run:async(e,t)=>{m.intro(M.default.bold(`skill-atlas skill-upload-list`));let n=!process.stdout.isTTY||!process.stdin.isTTY,r=q.createProgressReporter(n);r.start(`正在查询上传记录...`);try{let n=await Tt({slug:e.slug,status:e.status,page:e.page,pageSize:e.pageSize},t.token);n.success||(r.stop(`查询失败`),m.log.error(n.message||`查询上传记录失败`),process.exit(1)),r.stop(`查询完成`),nr(n.data?.items??[],n.data?.page??1,n.data?.total??0),m.outro(M.default.green(`完成!`))}catch(e){r.stop(`查询失败`),m.log.error(rr(e)),process.exit(1)}}};function ar(e){return e.serviceCode?.trim()?e.payload?.trim()?{valid:!0}:{valid:!1,error:`缺少必需参数: --payload`}:{valid:!1,error:`缺少必需参数: --service-code`}}function or(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t||Array.isArray(t)?{valid:!1,error:`payload 必须是有效的 JSON 对象`}:{valid:!0,payload:t}}catch{return{valid:!1,error:`payload 必须是有效的 JSON 格式`}}}function sr(e,t){let n={payload:e};return t.clientRequestId?.trim()&&(n.clientRequestId=t.clientRequestId.trim()),n}function cr(e){if(e instanceof N)switch(e.code){case`SERVICE_DISABLED`:return`服务凭据冷却中,请稍后重试`;case`UPSTREAM_ERROR`:return`第三方服务拒绝请求`;case`UPSTREAM_TIMEOUT_CHARGED`:return`上游服务超时,已按消费处理`;case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;case`INSUFFICIENT_CREDITS`:return`Credits 余额不足`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}function lr(e,t){return`本次扣费: ${e} credits | 剩余: ${t} credits`}var ur={run:async(e,t)=>{m.intro(M.default.bold(`skill-atlas service-gateway-invoke`));let n=ar(e);n.valid||(m.log.error(n.error),process.exit(1));let r=or(e.payload);r.valid||(m.log.error(r.error),process.exit(1));let i=sr(r.payload,e),a=e.serviceCode.trim(),o=!process.stdout.isTTY||!process.stdin.isTTY,s=q.createProgressReporter(o);s.start(`正在调用服务: ${a}...`);try{let e=await Dt(a,i,t.token,void 0,18e4);e.success||(s.stop(`调用失败`),m.log.error(e.message||`服务调用失败`),e.data?.creditsCharged!==void 0&&e.data?.creditsBalance!==void 0&&m.log.info(lr(e.data.creditsCharged,e.data.creditsBalance)),process.exit(1)),s.stop(`服务调用成功`);let n=e.data
|
|
49
|
+
`),M.default.green(`上传记录 (第 ${t} 页,共 ${n} 条)`))}function rr(e){if(e instanceof N)switch(e.code){case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}var ir={run:async(e,t)=>{m.intro(M.default.bold(`skill-atlas skill-upload-list`));let n=!process.stdout.isTTY||!process.stdin.isTTY,r=q.createProgressReporter(n);r.start(`正在查询上传记录...`);try{let n=await Tt({slug:e.slug,status:e.status,page:e.page,pageSize:e.pageSize},t.token);n.success||(r.stop(`查询失败`),m.log.error(n.message||`查询上传记录失败`),process.exit(1)),r.stop(`查询完成`),nr(n.data?.items??[],n.data?.page??1,n.data?.total??0),m.outro(M.default.green(`完成!`))}catch(e){r.stop(`查询失败`),m.log.error(rr(e)),process.exit(1)}}};function ar(e){return e.serviceCode?.trim()?e.payload?.trim()?{valid:!0}:{valid:!1,error:`缺少必需参数: --payload`}:{valid:!1,error:`缺少必需参数: --service-code`}}function or(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t||Array.isArray(t)?{valid:!1,error:`payload 必须是有效的 JSON 对象`}:{valid:!0,payload:t}}catch{return{valid:!1,error:`payload 必须是有效的 JSON 格式`}}}function sr(e,t){let n={payload:e};return t.clientRequestId?.trim()&&(n.clientRequestId=t.clientRequestId.trim()),n}function cr(e){if(e instanceof N)switch(e.code){case`SERVICE_DISABLED`:return`服务凭据冷却中,请稍后重试`;case`UPSTREAM_ERROR`:return`第三方服务拒绝请求`;case`UPSTREAM_TIMEOUT_CHARGED`:return`上游服务超时,已按消费处理`;case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;case`INSUFFICIENT_CREDITS`:return`Credits 余额不足`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}function lr(e,t){return`本次扣费: ${e} credits | 剩余: ${t} credits`}var ur={run:async(e,t)=>{m.intro(M.default.bold(`skill-atlas service-gateway-invoke`));let n=ar(e);n.valid||(m.log.error(n.error),process.exit(1));let r=or(e.payload);r.valid||(m.log.error(r.error),process.exit(1));let i=sr(r.payload,e),a=e.serviceCode.trim(),o=!process.stdout.isTTY||!process.stdin.isTTY,s=q.createProgressReporter(o);s.start(`正在调用服务: ${a}...`);try{let e=await Dt(a,i,t.token,void 0,18e4);e.success||(s.stop(`调用失败`),m.log.error(e.message||`服务调用失败`),e.data?.creditsCharged!==void 0&&e.data?.creditsBalance!==void 0&&m.log.info(lr(e.data.creditsCharged,e.data.creditsBalance)),process.exit(1)),s.stop(`服务调用成功`);let n=e.data,r=[` ${M.default.green(`服务编码:`)} ${n.serviceCode}`,` ${M.default.green(`调用状态:`)} ${n.invokeStatus}`];n.creditsCharged!==void 0&&r.push(` ${M.default.green(`本次扣费:`)} ${n.creditsCharged} credits`),n.creditsBalance!==void 0&&r.push(` ${M.default.green(`剩余余额:`)} ${n.creditsBalance} credits`),m.note(r.join(`
|
|
50
50
|
`),M.default.green(`调用结果`)),n.result!==void 0&&(console.log(`
|
|
51
51
|
`+M.default.bold(`返回数据:`)),console.log(JSON.stringify(n.result,null,2))),m.outro(M.default.green(`完成!`))}catch(e){s.stop(`调用失败`);let t=cr(e);if(m.log.error(t),e instanceof N&&e.responseData){let t=e.responseData;t.data?.creditsCharged!==void 0&&t.data?.creditsBalance!==void 0&&m.log.info(lr(t.data.creditsCharged,t.data.creditsBalance))}process.exit(1)}}};const dr=process.env.SKILLATLAS_CONFIG_DIR||l.join(f.homedir(),`.skillatlas`),fr=l.join(dr,`mail-config.json`);function pr(){e.existsSync(dr)||e.mkdirSync(dr,{recursive:!0})}function $(){if(!e.existsSync(fr))return{};try{let t=e.readFileSync(fr,`utf-8`);return JSON.parse(t)}catch{return{}}}function mr(t){pr(),t.updatedAt=new Date().toISOString(),e.writeFileSync(fr,JSON.stringify(t,null,2)+`
|
|
52
52
|
`)}function hr(e,t){let n=$();n[e]=t,mr(n)}function gr(e){let t=$()[e];if(t!=null)return String(t)}function _r(){let e=$(),t=[];for(let[n,r]of Object.entries(e))n!==`updatedAt`&&r!=null&&t.push({key:n,value:String(r)});return t}function vr(e){return e in $()&&e!==`updatedAt`}const yr=[`主邮箱`,`工作`,`学习`,`金融`,`购物`,`社交`,`订阅`,`临时`,`项目`,`备用`];function br(){return gr(`mailbox`)}const xr={production:`skillatlas.cn`,pre:`maas-skill-hub-staging.onrender.com`};function Sr(e,t,n){return`https://${n?xr.pre:xr.production}/agents/${e}?token=${t}`}var Cr={run:async(e,t)=>{m.intro(M.default.bold(`skill-atlas agent-info`));let{agentId:n,token:r}=t,i=e.pre??!1,a=Sr(n,r,i),o=i?`预发环境`:`生产环境`,s=null,c=!1,l=q.createProgressReporter();l.start(`正在获取 Agent 信息...`);try{let e=await kt(n,r);e.success&&e.data&&(s=e.data),l.stop(`获取成功`)}catch{c=!0,l.stop(`无法连接服务器,仅显示本地信息`)}let u=[];if(u.push(` ${M.default.green(`Agent ID:`)} ${n}`),u.push(` ${M.default.green(`环境:`)} ${o}`),s?.metadata&&(u.push(` ${M.default.green(`名称:`)} ${s.metadata.name}`),s.metadata.avatar&&u.push(` ${M.default.green(`头像:`)} ${s.metadata.avatar}`)),s?.creditAccount){let e=s.creditAccount;u.push(``),u.push(` ${M.default.cyan(`--- 虾小宝 Credits 账户 ---`)}`),u.push(` ${M.default.green(`可用 Credits:`)} ${e.availableCredits}`),u.push(` ${M.default.green(`冻结 Credits:`)} ${e.frozenCredits}`),u.push(` ${M.default.green(`累计发放:`)} ${e.totalGrantedCredits}`),u.push(` ${M.default.green(`累计消费:`)} ${e.totalConsumedCredits}`),e.welcomeBonus&&u.push(` ${M.default.green(`Welcome Bonus:`)} ${e.welcomeBonus.grantStatus}`)}let d=gr(`mailbox`);d&&(u.push(``),u.push(` ${M.default.cyan(`--- 邮箱信息 ---`)}`),u.push(` ${M.default.green(`默认邮箱 ID:`)} ${d}`)),u.push(``),u.push(` ${M.default.green(`虾小宝主页链接:`)}`),u.push(` [您的虾小宝Agent 主页](${a})`),m.note(u.join(`
|
package/lib/index.js
CHANGED
|
@@ -46,7 +46,7 @@ Example: skill-atlas install my-skill`});let n=await u.text({message:`Enter skil
|
|
|
46
46
|
`),N.default.green(`已发布技能 (${e.length})`))}function ar(e){if(e instanceof P)switch(e.code){case`AGENT_NOT_FOUND`:return`Agent 不存在`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}var or={run:async(e={})=>{u.intro(N.default.bold(`skill-atlas skill-published`)),Z(e.pre);let t=j.getAgentId();t||(u.log.error(`缺少 agentId,请先执行 agent-register 注册`),process.exit(1));let n=!process.stdout.isTTY||!process.stdin.isTTY,r=J.createProgressReporter(n);r.start(`正在查询已发布技能...`);try{let e=await Ot(t);e.success||(r.stop(`查询失败`),u.log.error(e.message||`查询已发布技能失败`),process.exit(1)),r.stop(`查询完成`),ir(e.data?.items??[]),u.outro(N.default.green(`完成!`))}catch(e){r.stop(`查询失败`),u.log.error(ar(e)),process.exit(1)}}};function Q(e){switch(e){case`passed`:return N.default.green(e);case`rejected`:return N.default.red(e);case`reviewing`:return N.default.yellow(e);case`pending`:return N.default.dim(e);default:return e}}function sr(e,t,n){if(e.length===0){u.log.info(`暂无上传记录`);return}let r=e.map((e,t)=>[`${N.default.bold(N.default.cyan(`${t+1}. ${e.slug}`))} ${N.default.dim(`v${e.version}`)}`,` ${N.default.dim(`状态:`)} ${Q(e.status)}`,` ${N.default.dim(`安全审核:`)} ${Q(e.securityStatus)} | ${N.default.dim(`完整性:`)} ${Q(e.integrityStatus)} | ${N.default.dim(`可用性:`)} ${Q(e.availabilityStatus)}`,` ${N.default.dim(`创建时间:`)} ${X(e.createdAt)}`].join(`
|
|
47
47
|
`));u.note(r.join(`
|
|
48
48
|
|
|
49
|
-
`),N.default.green(`上传记录 (第 ${t} 页,共 ${n} 条)`))}function cr(e){if(e instanceof P)switch(e.code){case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}var lr={run:async(e,t)=>{u.intro(N.default.bold(`skill-atlas skill-upload-list`));let n=!process.stdout.isTTY||!process.stdin.isTTY,r=J.createProgressReporter(n);r.start(`正在查询上传记录...`);try{let n=await kt({slug:e.slug,status:e.status,page:e.page,pageSize:e.pageSize},t.token);n.success||(r.stop(`查询失败`),u.log.error(n.message||`查询上传记录失败`),process.exit(1)),r.stop(`查询完成`),sr(n.data?.items??[],n.data?.page??1,n.data?.total??0),u.outro(N.default.green(`完成!`))}catch(e){r.stop(`查询失败`),u.log.error(cr(e)),process.exit(1)}}};function ur(e){return e.serviceCode?.trim()?e.payload?.trim()?{valid:!0}:{valid:!1,error:`缺少必需参数: --payload`}:{valid:!1,error:`缺少必需参数: --service-code`}}function dr(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t||Array.isArray(t)?{valid:!1,error:`payload 必须是有效的 JSON 对象`}:{valid:!0,payload:t}}catch{return{valid:!1,error:`payload 必须是有效的 JSON 格式`}}}function fr(e,t){let n={payload:e};return t.clientRequestId?.trim()&&(n.clientRequestId=t.clientRequestId.trim()),n}function pr(e){if(e instanceof P)switch(e.code){case`SERVICE_DISABLED`:return`服务凭据冷却中,请稍后重试`;case`UPSTREAM_ERROR`:return`第三方服务拒绝请求`;case`UPSTREAM_TIMEOUT_CHARGED`:return`上游服务超时,已按消费处理`;case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;case`INSUFFICIENT_CREDITS`:return`Credits 余额不足`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}function mr(e,t){return`本次扣费: ${e} credits | 剩余: ${t} credits`}var hr={run:async(e,t)=>{u.intro(N.default.bold(`skill-atlas service-gateway-invoke`));let n=ur(e);n.valid||(u.log.error(n.error),process.exit(1));let r=dr(e.payload);r.valid||(u.log.error(r.error),process.exit(1));let i=fr(r.payload,e),a=e.serviceCode.trim(),o=!process.stdout.isTTY||!process.stdin.isTTY,s=J.createProgressReporter(o);s.start(`正在调用服务: ${a}...`);try{let e=await jt(a,i,t.token,void 0,18e4);e.success||(s.stop(`调用失败`),u.log.error(e.message||`服务调用失败`),e.data?.creditsCharged!==void 0&&e.data?.creditsBalance!==void 0&&u.log.info(mr(e.data.creditsCharged,e.data.creditsBalance)),process.exit(1)),s.stop(`服务调用成功`);let n=e.data
|
|
49
|
+
`),N.default.green(`上传记录 (第 ${t} 页,共 ${n} 条)`))}function cr(e){if(e instanceof P)switch(e.code){case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}var lr={run:async(e,t)=>{u.intro(N.default.bold(`skill-atlas skill-upload-list`));let n=!process.stdout.isTTY||!process.stdin.isTTY,r=J.createProgressReporter(n);r.start(`正在查询上传记录...`);try{let n=await kt({slug:e.slug,status:e.status,page:e.page,pageSize:e.pageSize},t.token);n.success||(r.stop(`查询失败`),u.log.error(n.message||`查询上传记录失败`),process.exit(1)),r.stop(`查询完成`),sr(n.data?.items??[],n.data?.page??1,n.data?.total??0),u.outro(N.default.green(`完成!`))}catch(e){r.stop(`查询失败`),u.log.error(cr(e)),process.exit(1)}}};function ur(e){return e.serviceCode?.trim()?e.payload?.trim()?{valid:!0}:{valid:!1,error:`缺少必需参数: --payload`}:{valid:!1,error:`缺少必需参数: --service-code`}}function dr(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t||Array.isArray(t)?{valid:!1,error:`payload 必须是有效的 JSON 对象`}:{valid:!0,payload:t}}catch{return{valid:!1,error:`payload 必须是有效的 JSON 格式`}}}function fr(e,t){let n={payload:e};return t.clientRequestId?.trim()&&(n.clientRequestId=t.clientRequestId.trim()),n}function pr(e){if(e instanceof P)switch(e.code){case`SERVICE_DISABLED`:return`服务凭据冷却中,请稍后重试`;case`UPSTREAM_ERROR`:return`第三方服务拒绝请求`;case`UPSTREAM_TIMEOUT_CHARGED`:return`上游服务超时,已按消费处理`;case`UNAUTHORIZED`:return`认证失败,请重新执行 agent-register`;case`INSUFFICIENT_CREDITS`:return`Credits 余额不足`;default:return e.message||`请求失败`}return e instanceof Error?e.message:String(e)}function mr(e,t){return`本次扣费: ${e} credits | 剩余: ${t} credits`}var hr={run:async(e,t)=>{u.intro(N.default.bold(`skill-atlas service-gateway-invoke`));let n=ur(e);n.valid||(u.log.error(n.error),process.exit(1));let r=dr(e.payload);r.valid||(u.log.error(r.error),process.exit(1));let i=fr(r.payload,e),a=e.serviceCode.trim(),o=!process.stdout.isTTY||!process.stdin.isTTY,s=J.createProgressReporter(o);s.start(`正在调用服务: ${a}...`);try{let e=await jt(a,i,t.token,void 0,18e4);e.success||(s.stop(`调用失败`),u.log.error(e.message||`服务调用失败`),e.data?.creditsCharged!==void 0&&e.data?.creditsBalance!==void 0&&u.log.info(mr(e.data.creditsCharged,e.data.creditsBalance)),process.exit(1)),s.stop(`服务调用成功`);let n=e.data,r=[` ${N.default.green(`服务编码:`)} ${n.serviceCode}`,` ${N.default.green(`调用状态:`)} ${n.invokeStatus}`];n.creditsCharged!==void 0&&r.push(` ${N.default.green(`本次扣费:`)} ${n.creditsCharged} credits`),n.creditsBalance!==void 0&&r.push(` ${N.default.green(`剩余余额:`)} ${n.creditsBalance} credits`),u.note(r.join(`
|
|
50
50
|
`),N.default.green(`调用结果`)),n.result!==void 0&&(console.log(`
|
|
51
51
|
`+N.default.bold(`返回数据:`)),console.log(JSON.stringify(n.result,null,2))),u.outro(N.default.green(`完成!`))}catch(e){s.stop(`调用失败`);let t=pr(e);if(u.log.error(t),e instanceof P&&e.responseData){let t=e.responseData;t.data?.creditsCharged!==void 0&&t.data?.creditsBalance!==void 0&&u.log.info(mr(t.data.creditsCharged,t.data.creditsBalance))}process.exit(1)}}};const gr=process.env.SKILLATLAS_CONFIG_DIR||a.join(c.homedir(),`.skillatlas`),_r=a.join(gr,`mail-config.json`);function vr(){e.existsSync(gr)||e.mkdirSync(gr,{recursive:!0})}function $(){if(!e.existsSync(_r))return{};try{let t=e.readFileSync(_r,`utf-8`);return JSON.parse(t)}catch{return{}}}function yr(t){vr(),t.updatedAt=new Date().toISOString(),e.writeFileSync(_r,JSON.stringify(t,null,2)+`
|
|
52
52
|
`)}function br(e,t){let n=$();n[e]=t,yr(n)}function xr(e){let t=$()[e];if(t!=null)return String(t)}function Sr(){let e=$(),t=[];for(let[n,r]of Object.entries(e))n!==`updatedAt`&&r!=null&&t.push({key:n,value:String(r)});return t}function Cr(e){return e in $()&&e!==`updatedAt`}const wr=[`主邮箱`,`工作`,`学习`,`金融`,`购物`,`社交`,`订阅`,`临时`,`项目`,`备用`];function Tr(){return xr(`mailbox`)}const Er={production:`skillatlas.cn`,pre:`maas-skill-hub-staging.onrender.com`};function Dr(e,t,n){return`https://${n?Er.pre:Er.production}/agents/${e}?token=${t}`}var Or={run:async(e,t)=>{u.intro(N.default.bold(`skill-atlas agent-info`));let{agentId:n,token:r}=t,i=e.pre??!1,a=Dr(n,r,i),o=i?`预发环境`:`生产环境`,s=null,c=!1,l=J.createProgressReporter();l.start(`正在获取 Agent 信息...`);try{let e=await Nt(n,r);e.success&&e.data&&(s=e.data),l.stop(`获取成功`)}catch{c=!0,l.stop(`无法连接服务器,仅显示本地信息`)}let d=[];if(d.push(` ${N.default.green(`Agent ID:`)} ${n}`),d.push(` ${N.default.green(`环境:`)} ${o}`),s?.metadata&&(d.push(` ${N.default.green(`名称:`)} ${s.metadata.name}`),s.metadata.avatar&&d.push(` ${N.default.green(`头像:`)} ${s.metadata.avatar}`)),s?.creditAccount){let e=s.creditAccount;d.push(``),d.push(` ${N.default.cyan(`--- 虾小宝 Credits 账户 ---`)}`),d.push(` ${N.default.green(`可用 Credits:`)} ${e.availableCredits}`),d.push(` ${N.default.green(`冻结 Credits:`)} ${e.frozenCredits}`),d.push(` ${N.default.green(`累计发放:`)} ${e.totalGrantedCredits}`),d.push(` ${N.default.green(`累计消费:`)} ${e.totalConsumedCredits}`),e.welcomeBonus&&d.push(` ${N.default.green(`Welcome Bonus:`)} ${e.welcomeBonus.grantStatus}`)}let f=xr(`mailbox`);f&&(d.push(``),d.push(` ${N.default.cyan(`--- 邮箱信息 ---`)}`),d.push(` ${N.default.green(`默认邮箱 ID:`)} ${f}`)),d.push(``),d.push(` ${N.default.green(`虾小宝主页链接:`)}`),d.push(` [您的虾小宝Agent 主页](${a})`),u.note(d.join(`
|