Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@agent-score/pay",
"version": "0.1.0-rc.17",
"version": "0.1.0-rc.18",
"description": "CLI wallet for one-shell-command agent payments across x402 (Base) and MPP (Tempo, Solana)",
"type": "module",
"main": "./dist/index.js",
Expand Down
77 changes: 77 additions & 0 deletions src/banner.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
const BANNER_ART_COLORED = [
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m░\x1b[38;2;22;81;95m░\x1b[38;2;23;83;96m░\x1b[38;2;25;84;96m░\x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m░\x1b[38;2;29;89;98m░\x1b[38;2;30;90;98m░\x1b[38;2;32;92;99m░\x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m░\x1b[38;2;36;96;100m░\x1b[38;2;38;98;101m░\x1b[38;2;39;99;101m░\x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m░\x1b[38;2;43;104;103m░\x1b[38;2;45;105;103m░\x1b[38;2;46;107;104m░\x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m░\x1b[38;2;50;111;105m░\x1b[38;2;52;113;106m░\x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m░\x1b[38;2;56;117;107m░\x1b[38;2;57;119;108m░\x1b[38;2;59;120;108m░\x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m░\x1b[38;2;63;125;110m░\x1b[38;2;65;126;110m░\x1b[38;2;66;128;111m░\x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m░\x1b[38;2;70;133;113m░\x1b[38;2;72;134;113m░\x1b[38;2;73;136;114m░\x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m░\x1b[38;2;77;140;115m░\x1b[38;2;79;142;116m░\x1b[38;2;80;143;116m░\x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m░\x1b[38;2;85;148;118m░\x1b[38;2;86;149;118m░\x1b[38;2;87;151;119m░\x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m░\x1b[38;2;97;161;122m░\x1b[38;2;99;163;123m░\x1b[38;2;100;164;123m░\x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m░\x1b[38;2;104;169;125m░\x1b[38;2;106;170;125m░\x1b[38;2;107;172;126m░\x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m░\x1b[38;2;112;176;127m░\x1b[38;2;113;178;128m░\x1b[39m',
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m░\x1b[38;2;22;81;95m█\x1b[38;2;23;83;96m█\x1b[38;2;25;84;96m░\x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m░\x1b[38;2;29;89;98m█\x1b[38;2;30;90;98m█\x1b[38;2;32;92;99m█\x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m█\x1b[38;2;36;96;100m█\x1b[38;2;38;98;101m█\x1b[38;2;39;99;101m█\x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m█\x1b[38;2;43;104;103m░\x1b[38;2;45;105;103m░\x1b[38;2;46;107;104m█\x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m█\x1b[38;2;50;111;105m█\x1b[38;2;52;113;106m█\x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m░\x1b[38;2;56;117;107m█\x1b[38;2;57;119;108m█\x1b[38;2;59;120;108m█\x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m█\x1b[38;2;63;125;110m█\x1b[38;2;65;126;110m█\x1b[38;2;66;128;111m█\x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m░\x1b[38;2;70;133;113m█\x1b[38;2;72;134;113m█\x1b[38;2;73;136;114m░\x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m█\x1b[38;2;77;140;115m█\x1b[38;2;79;142;116m█\x1b[38;2;80;143;116m░\x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m█\x1b[38;2;85;148;118m█\x1b[38;2;86;149;118m█\x1b[38;2;87;151;119m█\x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m█\x1b[38;2;97;161;122m█\x1b[38;2;99;163;123m█\x1b[38;2;100;164;123m░\x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m░\x1b[38;2;104;169;125m█\x1b[38;2;106;170;125m█\x1b[38;2;107;172;126m░\x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m█\x1b[38;2;112;176;127m░\x1b[38;2;113;178;128m█\x1b[39m',
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m█\x1b[38;2;22;81;95m \x1b[38;2;23;83;96m \x1b[38;2;25;84;96m█\x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m█\x1b[38;2;29;89;98m \x1b[38;2;30;90;98m \x1b[38;2;32;92;99m \x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m█\x1b[38;2;36;96;100m \x1b[38;2;38;98;101m \x1b[38;2;39;99;101m \x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m█\x1b[38;2;43;104;103m█\x1b[38;2;45;105;103m░\x1b[38;2;46;107;104m█\x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m \x1b[38;2;50;111;105m█\x1b[38;2;52;113;106m \x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m█\x1b[38;2;56;117;107m \x1b[38;2;57;119;108m \x1b[38;2;59;120;108m \x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m█\x1b[38;2;63;125;110m \x1b[38;2;65;126;110m \x1b[38;2;66;128;111m \x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m█\x1b[38;2;70;133;113m \x1b[38;2;72;134;113m \x1b[38;2;73;136;114m█\x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m█\x1b[38;2;77;140;115m \x1b[38;2;79;142;116m \x1b[38;2;80;143;116m█\x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m█\x1b[38;2;85;148;118m \x1b[38;2;86;149;118m \x1b[38;2;87;151;119m \x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m█\x1b[38;2;97;161;122m \x1b[38;2;99;163;123m \x1b[38;2;100;164;123m█\x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m█\x1b[38;2;104;169;125m \x1b[38;2;106;170;125m \x1b[38;2;107;172;126m█\x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m█\x1b[38;2;112;176;127m█\x1b[38;2;113;178;128m█\x1b[39m',
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m█\x1b[38;2;22;81;95m█\x1b[38;2;23;83;96m█\x1b[38;2;25;84;96m█\x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m█\x1b[38;2;29;89;98m░\x1b[38;2;30;90;98m█\x1b[38;2;32;92;99m█\x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m█\x1b[38;2;36;96;100m█\x1b[38;2;38;98;101m█\x1b[38;2;39;99;101m░\x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m█\x1b[38;2;43;104;103m \x1b[38;2;45;105;103m█\x1b[38;2;46;107;104m█\x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m░\x1b[38;2;50;111;105m█\x1b[38;2;52;113;106m░\x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m \x1b[38;2;56;117;107m█\x1b[38;2;57;119;108m█\x1b[38;2;59;120;108m░\x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m█\x1b[38;2;63;125;110m░\x1b[38;2;65;126;110m░\x1b[38;2;66;128;111m░\x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m█\x1b[38;2;70;133;113m░\x1b[38;2;72;134;113m░\x1b[38;2;73;136;114m█\x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m█\x1b[38;2;77;140;115m█\x1b[38;2;79;142;116m█\x1b[38;2;80;143;116m \x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m█\x1b[38;2;85;148;118m█\x1b[38;2;86;149;118m█\x1b[38;2;87;151;119m░\x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m█\x1b[38;2;97;161;122m█\x1b[38;2;99;163;123m█\x1b[38;2;100;164;123m \x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m█\x1b[38;2;104;169;125m█\x1b[38;2;106;170;125m█\x1b[38;2;107;172;126m█\x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m \x1b[38;2;112;176;127m█\x1b[38;2;113;178;128m \x1b[39m',
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m█\x1b[38;2;22;81;95m \x1b[38;2;23;83;96m \x1b[38;2;25;84;96m█\x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m█\x1b[38;2;29;89;98m░\x1b[38;2;30;90;98m \x1b[38;2;32;92;99m█\x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m█\x1b[38;2;36;96;100m \x1b[38;2;38;98;101m \x1b[38;2;39;99;101m░\x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m█\x1b[38;2;43;104;103m░\x1b[38;2;45;105;103m \x1b[38;2;46;107;104m█\x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m░\x1b[38;2;50;111;105m█\x1b[38;2;52;113;106m░\x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m░\x1b[38;2;56;117;107m \x1b[38;2;57;119;108m \x1b[38;2;59;120;108m█\x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m█\x1b[38;2;63;125;110m░\x1b[38;2;65;126;110m░\x1b[38;2;66;128;111m░\x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m█\x1b[38;2;70;133;113m░\x1b[38;2;72;134;113m░\x1b[38;2;73;136;114m█\x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m█\x1b[38;2;77;140;115m \x1b[38;2;79;142;116m \x1b[38;2;80;143;116m█\x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m█\x1b[38;2;85;148;118m \x1b[38;2;86;149;118m \x1b[38;2;87;151;119m░\x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m█\x1b[38;2;97;161;122m \x1b[38;2;99;163;123m \x1b[38;2;100;164;123m░\x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m█\x1b[38;2;104;169;125m \x1b[38;2;106;170;125m \x1b[38;2;107;172;126m█\x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m░\x1b[38;2;112;176;127m█\x1b[38;2;113;178;128m░\x1b[39m',
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m█\x1b[38;2;22;81;95m░\x1b[38;2;23;83;96m░\x1b[38;2;25;84;96m█\x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m█\x1b[38;2;29;89;98m█\x1b[38;2;30;90;98m█\x1b[38;2;32;92;99m \x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m█\x1b[38;2;36;96;100m█\x1b[38;2;38;98;101m█\x1b[38;2;39;99;101m█\x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m█\x1b[38;2;43;104;103m░\x1b[38;2;45;105;103m░\x1b[38;2;46;107;104m█\x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m░\x1b[38;2;50;111;105m█\x1b[38;2;52;113;106m░\x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m█\x1b[38;2;56;117;107m█\x1b[38;2;57;119;108m█\x1b[38;2;59;120;108m \x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m█\x1b[38;2;63;125;110m█\x1b[38;2;65;126;110m█\x1b[38;2;66;128;111m█\x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m \x1b[38;2;70;133;113m█\x1b[38;2;72;134;113m█\x1b[38;2;73;136;114m \x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m█\x1b[38;2;77;140;115m░\x1b[38;2;79;142;116m░\x1b[38;2;80;143;116m█\x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m█\x1b[38;2;85;148;118m█\x1b[38;2;86;149;118m█\x1b[38;2;87;151;119m█\x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m█\x1b[38;2;97;161;122m░\x1b[38;2;99;163;123m░\x1b[38;2;100;164;123m░\x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m█\x1b[38;2;104;169;125m░\x1b[38;2;106;170;125m░\x1b[38;2;107;172;126m█\x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m░\x1b[38;2;112;176;127m█\x1b[38;2;113;178;128m░\x1b[39m',
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m \x1b[38;2;22;81;95m░\x1b[38;2;23;83;96m░\x1b[38;2;25;84;96m \x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m \x1b[38;2;29;89;98m \x1b[38;2;30;90;98m \x1b[38;2;32;92;99m░\x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m \x1b[38;2;36;96;100m \x1b[38;2;38;98;101m \x1b[38;2;39;99;101m \x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m \x1b[38;2;43;104;103m░\x1b[38;2;45;105;103m░\x1b[38;2;46;107;104m \x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m░\x1b[38;2;50;111;105m \x1b[38;2;52;113;106m░\x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m \x1b[38;2;56;117;107m \x1b[38;2;57;119;108m \x1b[38;2;59;120;108m░\x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m \x1b[38;2;63;125;110m \x1b[38;2;65;126;110m \x1b[38;2;66;128;111m \x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m░\x1b[38;2;70;133;113m \x1b[38;2;72;134;113m \x1b[38;2;73;136;114m░\x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m \x1b[38;2;77;140;115m░\x1b[38;2;79;142;116m░\x1b[38;2;80;143;116m \x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m \x1b[38;2;85;148;118m \x1b[38;2;86;149;118m \x1b[38;2;87;151;119m \x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m \x1b[38;2;97;161;122m░\x1b[38;2;99;163;123m░\x1b[38;2;100;164;123m░\x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m \x1b[38;2;104;169;125m░\x1b[38;2;106;170;125m░\x1b[38;2;107;172;126m \x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m░\x1b[38;2;112;176;127m \x1b[38;2;113;178;128m░\x1b[39m',
'\x1b[38;2;19;78;94m░\x1b[38;2;20;80;95m░\x1b[38;2;22;81;95m░\x1b[38;2;23;83;96m░\x1b[38;2;25;84;96m░\x1b[38;2;26;86;97m░\x1b[38;2;28;87;97m░\x1b[38;2;29;89;98m░\x1b[38;2;30;90;98m░\x1b[38;2;32;92;99m░\x1b[38;2;33;93;99m░\x1b[38;2;35;95;100m░\x1b[38;2;36;96;100m░\x1b[38;2;38;98;101m░\x1b[38;2;39;99;101m░\x1b[38;2;40;101;102m░\x1b[38;2;42;102;102m░\x1b[38;2;43;104;103m░\x1b[38;2;45;105;103m░\x1b[38;2;46;107;104m░\x1b[38;2;47;108;104m░\x1b[38;2;49;110;105m░\x1b[38;2;50;111;105m░\x1b[38;2;52;113;106m░\x1b[38;2;53;114;106m░\x1b[38;2;55;116;107m░\x1b[38;2;56;117;107m░\x1b[38;2;57;119;108m░\x1b[38;2;59;120;108m░\x1b[38;2;60;122;109m░\x1b[38;2;62;123;109m░\x1b[38;2;63;125;110m░\x1b[38;2;65;126;110m░\x1b[38;2;66;128;111m░\x1b[38;2;67;130;112m░\x1b[38;2;69;131;112m░\x1b[38;2;70;133;113m░\x1b[38;2;72;134;113m░\x1b[38;2;73;136;114m░\x1b[38;2;75;137;114m░\x1b[38;2;76;139;115m░\x1b[38;2;77;140;115m░\x1b[38;2;79;142;116m░\x1b[38;2;80;143;116m░\x1b[38;2;82;145;117m░\x1b[38;2;83;146;117m░\x1b[38;2;85;148;118m░\x1b[38;2;86;149;118m░\x1b[38;2;87;151;119m░\x1b[38;2;89;152;119m░\x1b[38;2;90;154;120m░\x1b[38;2;92;155;120m░\x1b[38;2;93;157;121m░\x1b[38;2;94;158;121m░\x1b[38;2;96;160;122m░\x1b[38;2;97;161;122m░\x1b[38;2;99;163;123m░\x1b[38;2;100;164;123m░\x1b[38;2;102;166;124m░\x1b[38;2;103;167;124m░\x1b[38;2;104;169;125m░\x1b[38;2;106;170;125m░\x1b[38;2;107;172;126m░\x1b[38;2;109;173;126m░\x1b[38;2;110;175;127m░\x1b[38;2;112;176;127m░\x1b[38;2;113;178;128m░\x1b[39m\x1b[0m',
].join('\n');

const BANNER_ART_PLAIN = [
'░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░',
'░░██░░░███░████░█░░█░███░░███░████░░██░░███░░████░░░░░███░░░██░░█░█',
'░█ █░█ ░█ ░██░█░ █ ░█ ░█ ░█ █░█ █░█ ░░░░░█ █░█ █░███',
'░████░█░██░███░░█ ██░░█░░ ██░░█░░░░█░░█░███ ░███░░░░░░███ ░████░ █',
'░█ █░█░ █░█ ░░█░ █░░█░░░ █░█░░░░█░░█░█ █░█ ░░░░░░█ ░░█ █░░█░',
'░█░░█░███ ░████░█░░█░░█░░███ ░████░ ██ ░█░░█░████░░░░░█░░░░█░░█░░█░',
'░ ░░ ░ ░░ ░ ░░ ░░ ░░ ░░ ░░ ░░ ░░ ░ ░░░░░ ░░░░ ░░ ░░ ░',
'░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░',
].join('\n');

const TAGLINE = 'Universal agent-payment CLI';

const COMMANDS = [
'Pay any 402 / MPP endpoint:',
' pay Send a paid HTTP request (multi-rail x402 + MPP)',
' check Probe a URL for 402 and accepted rails (no money moves)',
' balance USDC across base, solana, tempo',
' discover Browse paid services in x402 Bazaar + MPP directory',
' fund Show receive QR and poll for deposit',
'',
'Agents (LLM tool-loop):',
' --mcp Expose every command as MCP tools over stdio',
' agent-guide Structured how-to-use for shell-tool agents',
' skills add Sync skill files to Claude Code / Cursor / Amp',
'',
'Account management:',
' init First-run wallet setup (base + solana + tempo)',
' passport Verify once with KYC; auto-attaches to gated merchants',
' wallet Manage encrypted keystore (create / import / export / list)',
' limits Persistent local spending caps',
' history Past payments',
'',
'Output formats:',
' --json JSON envelope',
' --format toon TOON envelope (default)',
' --help Full command list and flags',
].join('\n');

const MIN_BANNER_COLS = 70;
const PLAIN_BRAND = 'AgentScore Pay';

function shouldUseColor(): boolean {
if (process.env.NO_COLOR) return false;
return true;
}

export function renderBanner({
cols,
color,
}: {
cols: number;
color: boolean;
}): string {
if (cols < MIN_BANNER_COLS) {
return `${PLAIN_BRAND}\n${TAGLINE}\n\n${COMMANDS}\n`;
}
const art = color ? BANNER_ART_COLORED : BANNER_ART_PLAIN;
return `${art}\n\n${TAGLINE}\n\n${COMMANDS}\n`;
}

export function printBanner(): void {
if (!process.stderr.isTTY) return;
const cols = process.stderr.columns ?? 80;
process.stderr.write(renderBanner({ cols, color: shouldUseColor() }));
}
7 changes: 7 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { printBanner } from './banner';
import { run } from './cli';
import { getNoticeIfNewer, refreshCacheAwaited, refreshCacheInBackground } from './update-check';

Expand All @@ -15,6 +16,12 @@ async function emitUpdateNoticeIfAvailable(): Promise<void> {
}
}

if (process.argv.length === 2 && process.stderr.isTTY) {
printBanner();
refreshCacheInBackground();
process.exit(0);
}

run()
.then(async () => {
await emitUpdateNoticeIfAvailable();
Expand Down
Loading
Loading