agent-cards 0.5.8 → 0.5.10
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/assets/banner.txt +39 -0
- package/dist/bin/agent-cards.js +24 -5
- package/dist/bin/agent-cards.js.map +1 -1
- package/dist/src/commands/balance.js +3 -3
- package/dist/src/commands/balance.js.map +1 -1
- package/dist/src/commands/cards/details.d.ts.map +1 -1
- package/dist/src/commands/cards/details.js +12 -13
- package/dist/src/commands/cards/details.js.map +1 -1
- package/dist/src/commands/cards/list.d.ts.map +1 -1
- package/dist/src/commands/cards/list.js +6 -5
- package/dist/src/commands/cards/list.js.map +1 -1
- package/dist/src/commands/cards/transactions.d.ts.map +1 -1
- package/dist/src/commands/cards/transactions.js +10 -9
- package/dist/src/commands/cards/transactions.js.map +1 -1
- package/dist/src/commands/login.d.ts +2 -2
- package/dist/src/commands/login.d.ts.map +1 -1
- package/dist/src/commands/login.js +3 -3
- package/dist/src/commands/login.js.map +1 -1
- package/dist/src/commands/payment-methods/remove.d.ts +2 -0
- package/dist/src/commands/payment-methods/remove.d.ts.map +1 -0
- package/dist/src/commands/payment-methods/remove.js +56 -0
- package/dist/src/commands/payment-methods/remove.js.map +1 -0
- package/dist/src/commands/setup-mcp.d.ts +1 -1
- package/dist/src/commands/setup-mcp.d.ts.map +1 -1
- package/dist/src/commands/setup-mcp.js +2 -2
- package/dist/src/commands/setup-mcp.js.map +1 -1
- package/dist/src/commands/signup.d.ts +3 -1
- package/dist/src/commands/signup.d.ts.map +1 -1
- package/dist/src/commands/signup.js +7 -3
- package/dist/src/commands/signup.js.map +1 -1
- package/dist/src/lib/help.d.ts +3 -0
- package/dist/src/lib/help.d.ts.map +1 -0
- package/dist/src/lib/help.js +95 -0
- package/dist/src/lib/help.js.map +1 -0
- package/dist/src/lib/ui.d.ts +37 -0
- package/dist/src/lib/ui.d.ts.map +1 -0
- package/dist/src/lib/ui.js +187 -0
- package/dist/src/lib/ui.js.map +1 -0
- package/dist/src/lib/welcome.d.ts +2 -0
- package/dist/src/lib/welcome.d.ts.map +1 -0
- package/dist/src/lib/welcome.js +44 -0
- package/dist/src/lib/welcome.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
~▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇l
|
|
8
|
+
.▆▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▂▀
|
|
9
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▃▂▂▂▁\
|
|
10
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅▃▂▂▂▁▁▁~
|
|
11
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▃▂▂▂▁▁▁▁▁▁~
|
|
12
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇▆▅▂▂▂▂▁▁▁▁▁▄▄▄_
|
|
13
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,.:▃▂▂▂▂▁▁▁▁▁▁▄▄▄▄▄_
|
|
14
|
+
>▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▌▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇>:▄▂▂▁▁▁▁▁▄▄▄▄▄▄▀▀_
|
|
15
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▌▇▇▇▇▇▇▇▇▇▇▇▇▆▃▂<:▀▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀_
|
|
16
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▇▇▆▇▇▇▇▇▇ ▌▇▇▇▇▇▇▇▇▇▆▅▂▂▂▂=:▀▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐_
|
|
17
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▌▇▇▇▆▇▇▇▆▃▂▂▂▁▁▁=:▀▄▄▄▄▄▀▀▀▀▀▐▐▐▐▐_
|
|
18
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▌▇▇▇▇▆▅▂▂▂▁▁▁▁▁▁=:▐▄▄▀▀▀▀▀▀▐▐▐▐▐▌▌\
|
|
19
|
+
>▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▌▇▇▅▂▂▂▂▁▁▁▁▁▄▄▄=:▐▀▀▀▀▀▐▐▐▐▐▐▌▌▌▌\
|
|
20
|
+
>▇▇▇▇▇▇▇▆▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▌▃▂▂▂▁▁▁▁▁▁▄▄▄▄▄=,▌▀▀▀▐▐▐▐▐▌▌▌▌▌▌░\
|
|
21
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ,▌▐▐▐▐▐▐▌▌▌▌▌░░░░\
|
|
22
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▇▆▇▇▇▇▇▇▇▇▆▃▂▂▂▁▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀+,░▐▐▐▌▌▌▌▌▌░░░░░▒\
|
|
23
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▆░ ▂▇▇▇▇▇▇▇▇▆▅▂▂▂▂▁▁▁▁▁▄▄▄▄▄▄▀▀▀▀▀▐▐+,░▌▌▌▌▌▌░░░░░░▒▒▒/
|
|
24
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▇▇▇▇▇▆▃▂▂▂▁▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐▐▐+,░▌▌▌▌░░░░░▒▒▒▒▒▒/
|
|
25
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▇▇▆▅▂▂▂▁▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐▐▐▐▌▌-,▒▌░░░░░▒▒▒▒▒▒▓▓▓/
|
|
26
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ▂▇▆▂▂▂▂▁▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐▐▐▐▌▌▌▌-,▒░░░░▒▒▒▒▒▒▓▓▓▓▓/
|
|
27
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,▓░▒▒▒▒▒▒▓▓▓▓▓▓██/
|
|
28
|
+
>▇▇▇▇▇▇▇▇▇▇▇▇▇▇▅▃▂▂▂▁▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▐▐▐▐▐▐▌▌▌▌▌░░░░░░▒▒▒▒▒▓▓▓▓▓▓█████|
|
|
29
|
+
>▇▇▇▇▇▇▇▇▇▇▇▆▃▂▂▂▁▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐▐▐▐▌▌▌▌▌▌░░░░░▒▒▒▒▒▒▓▓▓▓▓▓█████@@|
|
|
30
|
+
>▇▇▇▇▇▇▇▇▇▅▂▂▂▂▁▁▁▁▁▄▄▄▄▄▄▀▀▀▀▀▐▐▐▐▐▐▌▌▌▌▌░░░░░░▒▒▒▒▒▓▓▓▓▓▓▓█████@@@@|
|
|
31
|
+
>▇▇▇▇▇▇▆▃▂▂▂▂▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐▐▐▐▌▌▌▌▌▌░░░░░▒▒▒▒▒▒▓▓▓▓▓▓█████@@@@@@#l
|
|
32
|
+
,▆▇▇▆▅▂▂▂▂▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐▐▐▐▐▌▌▌▌▌░░░░░▒▒▒▒▒▒▓▓▓▓▓▓██████@@@@@###*
|
|
33
|
+
+▂▂▂▂▁▁▁▁▁▁▄▄▄▄▄▀▀▀▀▀▀▐▐▐▐▐▌▌▌▌▌▌░░░░░▒▒▒▒▒▒▓▓▓▓▓██████@@@@@#####:
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
package/dist/bin/agent-cards.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { readFileSync } from 'fs';
|
|
2
|
+
import { readFileSync, existsSync } from 'fs';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { dirname, resolve } from 'path';
|
|
5
5
|
import { Command } from 'commander';
|
|
@@ -16,20 +16,26 @@ import { setupMcp } from '../src/commands/setup-mcp.js';
|
|
|
16
16
|
import { support } from '../src/commands/support.js';
|
|
17
17
|
import { showSettings, settingsNotifications, settingsAuthorization } from '../src/commands/settings.js';
|
|
18
18
|
import { paymentMethodSetup } from '../src/commands/payment-methods/setup.js';
|
|
19
|
+
import { paymentMethodRemove } from '../src/commands/payment-methods/remove.js';
|
|
19
20
|
import { installExtension, updateExtension } from '../src/commands/extension.js';
|
|
21
|
+
import { configureHelpForProgram } from '../src/lib/help.js';
|
|
20
22
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
21
|
-
|
|
23
|
+
// In dev (tsx bin/agent-cards.ts) __dirname is packages/cli/bin → one level up.
|
|
24
|
+
// In prod (dist/bin/agent-cards.js) __dirname is packages/cli/dist/bin → two levels up.
|
|
25
|
+
const pkgPath = resolve(__dirname, '..', 'package.json');
|
|
26
|
+
const pkg = JSON.parse(readFileSync(existsSync(pkgPath) ? pkgPath : resolve(__dirname, '..', '..', 'package.json'), 'utf8'));
|
|
22
27
|
const program = new Command();
|
|
23
28
|
program
|
|
24
29
|
.name('agent-cards')
|
|
25
30
|
.description('Terminal-first virtual debit card service')
|
|
26
31
|
.version(pkg.version);
|
|
32
|
+
configureHelpForProgram(program, pkg.version);
|
|
27
33
|
program
|
|
28
34
|
.command('signup')
|
|
29
35
|
.description('Sign up or sign in via magic link')
|
|
30
36
|
.action(async () => {
|
|
31
37
|
try {
|
|
32
|
-
await signup();
|
|
38
|
+
await signup(pkg.version);
|
|
33
39
|
}
|
|
34
40
|
catch (err) {
|
|
35
41
|
console.error(`Error: ${err.message}`);
|
|
@@ -41,7 +47,7 @@ program
|
|
|
41
47
|
.description('Log in via magic link (same as signup)')
|
|
42
48
|
.action(async () => {
|
|
43
49
|
try {
|
|
44
|
-
await login();
|
|
50
|
+
await login(pkg.version);
|
|
45
51
|
}
|
|
46
52
|
catch (err) {
|
|
47
53
|
console.error(`Error: ${err.message}`);
|
|
@@ -155,7 +161,7 @@ program
|
|
|
155
161
|
.description('Configure the AgentCard MCP server in Claude Code')
|
|
156
162
|
.action(async () => {
|
|
157
163
|
try {
|
|
158
|
-
await setupMcp();
|
|
164
|
+
await setupMcp(pkg.version);
|
|
159
165
|
}
|
|
160
166
|
catch (err) {
|
|
161
167
|
console.error(`Error: ${err.message}`);
|
|
@@ -216,6 +222,19 @@ paymentMethodCmd
|
|
|
216
222
|
process.exit(1);
|
|
217
223
|
}
|
|
218
224
|
});
|
|
225
|
+
paymentMethodCmd
|
|
226
|
+
.command('remove')
|
|
227
|
+
.description('Remove a saved payment method')
|
|
228
|
+
.option('--id <paymentMethodId>', 'Payment method ID to remove')
|
|
229
|
+
.action(async (opts) => {
|
|
230
|
+
try {
|
|
231
|
+
await paymentMethodRemove(opts.id);
|
|
232
|
+
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
console.error(`Error: ${err.message}`);
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
237
|
+
});
|
|
219
238
|
const extensionCmd = program.command('extension').description('Install the AgentCard Pay Chrome extension');
|
|
220
239
|
extensionCmd
|
|
221
240
|
.command('install')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-cards.js","sourceRoot":"","sources":["../../bin/agent-cards.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-cards.js","sourceRoot":"","sources":["../../bin/agent-cards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
1
|
import ora from 'ora';
|
|
2
|
+
import { colors, printBox } from '../lib/ui.js';
|
|
3
3
|
import { api } from '../lib/api.js';
|
|
4
4
|
export async function balance(cardId) {
|
|
5
5
|
const spinner = ora('Fetching balance...').start();
|
|
6
6
|
const result = await api(`/cards/${cardId}/balance`);
|
|
7
7
|
spinner.stop();
|
|
8
8
|
const dollars = (result.balanceCents / 100).toFixed(2);
|
|
9
|
-
const suffix = result.cached ?
|
|
10
|
-
|
|
9
|
+
const suffix = result.cached ? colors.muted(' (cached)') : '';
|
|
10
|
+
printBox([`${colors.money('$' + dollars)}${suffix}`], { title: 'Card Balance' });
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=balance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAc;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,GAAG,CAA6C,UAAU,MAAM,UAAU,CAAC,CAAC;IACjG,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../../src/commands/cards/details.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../../src/commands/cards/details.ts"],"names":[],"mappings":"AAuCA,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC/D"}
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
1
|
import inquirer from 'inquirer';
|
|
2
|
+
import { colors, printBox } from '../../lib/ui.js';
|
|
3
3
|
import { api } from '../../lib/api.js';
|
|
4
4
|
function printCardDetails(card) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
console.log('');
|
|
14
|
-
console.log(chalk.red.bold('⚠ Keep this PAN/CVV confidential'));
|
|
5
|
+
const statusStr = card.status === 'OPEN' ? colors.success('OPEN') : card.status === 'IN_USE' ? colors.warning('IN_USE') : colors.error(card.status);
|
|
6
|
+
printBox([
|
|
7
|
+
`${colors.label('PAN')} ${colors.brand(card.pan)}`,
|
|
8
|
+
`${colors.label('CVV')} ${colors.brand(card.cvv)}`,
|
|
9
|
+
`${colors.label('Expiry')} ${card.expiry}`,
|
|
10
|
+
`${colors.label('Balance')} ${colors.money('$' + (card.balanceCents / 100).toFixed(2))}`,
|
|
11
|
+
`${colors.label('Status')} ${statusStr}`,
|
|
12
|
+
], { title: 'Card Details' });
|
|
13
|
+
console.log(colors.error(' \u26a0 Keep this PAN/CVV confidential'));
|
|
15
14
|
}
|
|
16
15
|
export async function cardDetails(cardId) {
|
|
17
16
|
const res = await api(`/cards/${cardId}/details`, { headers: { 'X-Approval-Channel': 'inline_cli' } });
|
|
18
17
|
if (res._status === 202 && res.approvalId) {
|
|
19
18
|
console.log('');
|
|
20
|
-
console.log(
|
|
19
|
+
console.log(colors.warning(res.message || 'Approval required to view card details.'));
|
|
21
20
|
console.log('');
|
|
22
21
|
const { approve } = await inquirer.prompt([
|
|
23
22
|
{
|
|
@@ -30,7 +29,7 @@ export async function cardDetails(cardId) {
|
|
|
30
29
|
const decision = approve ? 'approved' : 'denied';
|
|
31
30
|
await api(`/approvals/${res.approvalId}/resolve`, { method: 'POST', body: { decision }, headers: { 'X-Approval-Channel': 'inline_cli' } });
|
|
32
31
|
if (!approve) {
|
|
33
|
-
console.log(
|
|
32
|
+
console.log(colors.muted('Request denied.'));
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
36
35
|
const card = await api(`/cards/${cardId}/details/approved?approvalId=${res.approvalId}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../src/commands/cards/details.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../../../src/commands/cards/details.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/cards/list.ts"],"names":[],"mappings":"AAcA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/cards/list.ts"],"names":[],"mappings":"AAcA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B/C"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import Table from 'cli-table3';
|
|
2
|
-
import
|
|
2
|
+
import { colors, printSection, printBox } from '../../lib/ui.js';
|
|
3
3
|
import { api } from '../../lib/api.js';
|
|
4
4
|
export async function listCards() {
|
|
5
5
|
const cards = (await api('/cards')).cards;
|
|
6
6
|
if (cards.length === 0) {
|
|
7
|
-
|
|
7
|
+
printBox(['No cards yet.', '', colors.muted('Run: agent-cards cards create --amount <dollars>')]);
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
|
+
printSection('Your Cards');
|
|
10
11
|
const table = new Table({
|
|
11
12
|
head: ['ID (short)', 'Last4', 'Expiry', 'Balance', 'Limit', 'Status'],
|
|
12
13
|
style: { head: ['cyan'] },
|
|
@@ -14,13 +15,13 @@ export async function listCards() {
|
|
|
14
15
|
for (const card of cards) {
|
|
15
16
|
const balance = `$${(card.balanceCents / 100).toFixed(2)}`;
|
|
16
17
|
const limit = `$${(card.spendLimitCents / 100).toFixed(2)}`;
|
|
17
|
-
const statusColor = card.status === 'OPEN' ?
|
|
18
|
+
const statusColor = card.status === 'OPEN' ? colors.success : card.status === 'IN_USE' ? colors.warning : colors.error;
|
|
18
19
|
table.push([
|
|
19
20
|
card.id.slice(0, 8) + '…',
|
|
20
21
|
'•••• ' + card.last4,
|
|
21
22
|
card.expiry,
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
colors.money(balance),
|
|
24
|
+
colors.muted(limit),
|
|
24
25
|
statusColor(card.status),
|
|
25
26
|
]);
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/cards/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/cards/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAYvC,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAoB,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAE7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC,CAAC;QAClG,OAAO;IACT,CAAC;IAED,YAAY,CAAC,YAAY,CAAC,CAAC;IAE3B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;QACrE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;KAC1B,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACvH,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;YACzB,OAAO,GAAG,IAAI,CAAC,KAAK;YACpB,IAAI,CAAC,MAAM;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../src/commands/cards/transactions.ts"],"names":[],"mappings":"AAgCA,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../src/commands/cards/transactions.ts"],"names":[],"mappings":"AAgCA,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC,OAAO,CAAC,IAAI,CAAC,CAgCf"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import Table from 'cli-table3';
|
|
2
|
-
import
|
|
2
|
+
import { colors, printSection, printBox } from '../../lib/ui.js';
|
|
3
3
|
import { api } from '../../lib/api.js';
|
|
4
4
|
function statusColor(status) {
|
|
5
5
|
switch (status) {
|
|
6
6
|
case 'SETTLED':
|
|
7
7
|
case 'COMPLETED':
|
|
8
|
-
return
|
|
8
|
+
return colors.success(status);
|
|
9
9
|
case 'PENDING':
|
|
10
|
-
return
|
|
10
|
+
return colors.warning(status);
|
|
11
11
|
case 'DECLINED':
|
|
12
12
|
case 'REVERSED':
|
|
13
13
|
case 'FAILED':
|
|
14
|
-
return
|
|
14
|
+
return colors.error(status);
|
|
15
15
|
default:
|
|
16
|
-
return
|
|
16
|
+
return colors.muted(status);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
export async function cardTransactions(cardId, opts) {
|
|
@@ -22,9 +22,10 @@ export async function cardTransactions(cardId, opts) {
|
|
|
22
22
|
path += `&status=${opts.status}`;
|
|
23
23
|
const { transactions } = await api(path);
|
|
24
24
|
if (transactions.length === 0) {
|
|
25
|
-
|
|
25
|
+
printBox(['No transactions found.', '', colors.muted('Transactions will appear here after card usage.')]);
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
+
printSection('Transactions');
|
|
28
29
|
const table = new Table({
|
|
29
30
|
head: ['Date', 'Merchant', 'Amount', 'Status', 'Source'],
|
|
30
31
|
style: { head: ['cyan'] },
|
|
@@ -34,10 +35,10 @@ export async function cardTransactions(cardId, opts) {
|
|
|
34
35
|
const amount = `$${(tx.amountCents / 100).toFixed(2)}`;
|
|
35
36
|
table.push([
|
|
36
37
|
date,
|
|
37
|
-
tx.merchant ||
|
|
38
|
-
|
|
38
|
+
tx.merchant || colors.muted('—'),
|
|
39
|
+
colors.money(amount),
|
|
39
40
|
statusColor(tx.status),
|
|
40
|
-
tx.source ||
|
|
41
|
+
tx.source || colors.muted('—'),
|
|
41
42
|
]);
|
|
42
43
|
}
|
|
43
44
|
console.log(table.toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../../src/commands/cards/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../../src/commands/cards/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAcvC,SAAS,WAAW,CAAC,MAAc;IACjC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B;YACE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,IAAwC;IAExC,IAAI,IAAI,GAAG,UAAU,MAAM,uBAAuB,IAAI,CAAC,KAAK,EAAE,CAAC;IAC/D,IAAI,IAAI,CAAC,MAAM;QAAE,IAAI,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;IAElD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,CAAkC,IAAI,CAAC,CAAC;IAE1E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,CAAC,wBAAwB,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO;IACT,CAAC;IAED,YAAY,CAAC,cAAc,CAAC,CAAC;IAE7B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACxD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;KAC1B,CAAC,CAAC;IAEH,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI;YACJ,EAAE,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACpB,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC;YACtB,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/** Login uses the same magic-link flow as signup. */
|
|
2
|
-
export declare function login(): Promise<void>;
|
|
1
|
+
/** Login uses the same magic-link flow as signup, without the welcome screen. */
|
|
2
|
+
export declare function login(version: string): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAEA,iFAAiF;AACjF,wBAAsB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { signup } from './signup.js';
|
|
2
|
-
/** Login uses the same magic-link flow as signup. */
|
|
3
|
-
export async function login() {
|
|
4
|
-
await signup();
|
|
2
|
+
/** Login uses the same magic-link flow as signup, without the welcome screen. */
|
|
3
|
+
export async function login(version) {
|
|
4
|
+
await signup(version, { showWelcome: false });
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe;IACzC,MAAM,MAAM,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/commands/payment-methods/remove.ts"],"names":[],"mappings":"AAiBA,wBAAsB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DtE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import inquirer from 'inquirer';
|
|
4
|
+
import { api } from '../../lib/api.js';
|
|
5
|
+
function formatPm(pm) {
|
|
6
|
+
return `${pm.brand} ****${pm.last4} (exp ${String(pm.expMonth).padStart(2, '0')}/${pm.expYear})`;
|
|
7
|
+
}
|
|
8
|
+
export async function paymentMethodRemove(pmId) {
|
|
9
|
+
const spinner = ora('Loading payment methods...').start();
|
|
10
|
+
const { paymentMethods } = await api('/payment-methods/list');
|
|
11
|
+
if (paymentMethods.length === 0) {
|
|
12
|
+
spinner.stop();
|
|
13
|
+
console.log(chalk.yellow('No payment methods found.'));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
spinner.stop();
|
|
17
|
+
let targetId = pmId;
|
|
18
|
+
if (!targetId) {
|
|
19
|
+
const { selected } = await inquirer.prompt([
|
|
20
|
+
{
|
|
21
|
+
type: 'list',
|
|
22
|
+
name: 'selected',
|
|
23
|
+
message: 'Select a payment method to remove:',
|
|
24
|
+
choices: paymentMethods.map((pm) => ({
|
|
25
|
+
name: formatPm(pm),
|
|
26
|
+
value: pm.id,
|
|
27
|
+
})),
|
|
28
|
+
},
|
|
29
|
+
]);
|
|
30
|
+
targetId = selected;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const match = paymentMethods.find((pm) => pm.id === targetId);
|
|
34
|
+
if (!match) {
|
|
35
|
+
console.error(chalk.red(`Payment method ${targetId} not found.`));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
console.log(chalk.dim(`Removing ${formatPm(match)}`));
|
|
39
|
+
}
|
|
40
|
+
const { confirmed } = await inquirer.prompt([
|
|
41
|
+
{
|
|
42
|
+
type: 'confirm',
|
|
43
|
+
name: 'confirmed',
|
|
44
|
+
message: 'Remove this payment method? This cannot be undone.',
|
|
45
|
+
default: false,
|
|
46
|
+
},
|
|
47
|
+
]);
|
|
48
|
+
if (!confirmed) {
|
|
49
|
+
console.log(chalk.dim('Cancelled.'));
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
spinner.start('Removing payment method...');
|
|
53
|
+
await api(`/payment-methods/${targetId}`, { method: 'DELETE' });
|
|
54
|
+
spinner.succeed(chalk.green('Payment method removed.'));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/payment-methods/remove.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAUvC,SAAS,QAAQ,CAAC,EAAiB;IACjC,OAAO,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,KAAK,SAAS,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,GAAG,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAa;IACrD,MAAM,OAAO,GAAG,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE1D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,GAAG,CAClC,uBAAuB,CACxB,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACzC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAClB,KAAK,EAAE,EAAE,CAAC,EAAE;iBACb,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;QACH,QAAQ,GAAG,QAAQ,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,QAAQ,aAAa,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QAC1C;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,oDAAoD;YAC7D,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAE5C,MAAM,GAAG,CAAC,oBAAoB,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEhE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function setupMcp(): Promise<void>;
|
|
1
|
+
export declare function setupMcp(version: string): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=setup-mcp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-mcp.d.ts","sourceRoot":"","sources":["../../../src/commands/setup-mcp.ts"],"names":[],"mappings":"AAiBA,wBAAsB,QAAQ,
|
|
1
|
+
{"version":3,"file":"setup-mcp.d.ts","sourceRoot":"","sources":["../../../src/commands/setup-mcp.ts"],"names":[],"mappings":"AAiBA,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqD7D"}
|
|
@@ -12,7 +12,7 @@ function isJwtExpired(jwt) {
|
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
export async function setupMcp() {
|
|
15
|
+
export async function setupMcp(version) {
|
|
16
16
|
// Check that claude CLI is installed first (before signup)
|
|
17
17
|
try {
|
|
18
18
|
execSync('claude --version', { stdio: 'ignore' });
|
|
@@ -31,7 +31,7 @@ export async function setupMcp() {
|
|
|
31
31
|
else {
|
|
32
32
|
console.log(chalk.yellow('Your session has expired.') + ' Let\'s sign you in again.\n');
|
|
33
33
|
}
|
|
34
|
-
await signup();
|
|
34
|
+
await signup(version);
|
|
35
35
|
jwt = getJwt();
|
|
36
36
|
if (!jwt) {
|
|
37
37
|
console.error(chalk.red('Signup failed. Please try again.'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../../src/commands/setup-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CACpD,CAAC;QACF,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;
|
|
1
|
+
{"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../../src/commands/setup-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../src/commands/signup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../src/commands/signup.ts"],"names":[],"mappings":"AAkBA,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB7F"}
|
|
@@ -4,6 +4,7 @@ import chalk from 'chalk';
|
|
|
4
4
|
import { api } from '../lib/api.js';
|
|
5
5
|
import { writeConfig, clearAuth, getJwt } from '../lib/config.js';
|
|
6
6
|
import { poll } from '../lib/poll.js';
|
|
7
|
+
import { printWelcome } from '../lib/welcome.js';
|
|
7
8
|
async function getCurrentUserEmail() {
|
|
8
9
|
if (!getJwt())
|
|
9
10
|
return null;
|
|
@@ -15,7 +16,8 @@ async function getCurrentUserEmail() {
|
|
|
15
16
|
return null;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
export async function signup() {
|
|
19
|
+
export async function signup(version, opts) {
|
|
20
|
+
const showWelcome = opts?.showWelcome ?? true;
|
|
19
21
|
const currentEmail = await getCurrentUserEmail();
|
|
20
22
|
if (currentEmail) {
|
|
21
23
|
const { logoutFirst } = await inquirer.prompt([
|
|
@@ -32,9 +34,9 @@ export async function signup() {
|
|
|
32
34
|
}
|
|
33
35
|
clearAuth();
|
|
34
36
|
}
|
|
35
|
-
await loginWithEmail();
|
|
37
|
+
await loginWithEmail(version, showWelcome);
|
|
36
38
|
}
|
|
37
|
-
async function loginWithEmail() {
|
|
39
|
+
async function loginWithEmail(version, showWelcome = true) {
|
|
38
40
|
const { email } = await inquirer.prompt([
|
|
39
41
|
{
|
|
40
42
|
type: 'input',
|
|
@@ -62,5 +64,7 @@ async function loginWithEmail() {
|
|
|
62
64
|
writeConfig({ email: result.email ?? email, jwt: result.jwt });
|
|
63
65
|
spinner.succeed(chalk.green(`Signed in as ${chalk.bold(email)}`));
|
|
64
66
|
console.log(chalk.dim('Credentials saved to ~/.agent-cards/config.json'));
|
|
67
|
+
if (showWelcome)
|
|
68
|
+
await printWelcome(version);
|
|
65
69
|
}
|
|
66
70
|
//# sourceMappingURL=signup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../src/commands/signup.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"signup.js","sourceRoot":"","sources":["../../../src/commands/signup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/lib/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAwD/C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAkD/E"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { colors, printBoxedSection, printHowItWorks } from './ui.js';
|
|
2
|
+
function padEnd(str, len) {
|
|
3
|
+
return str + ' '.repeat(Math.max(0, len - str.length));
|
|
4
|
+
}
|
|
5
|
+
const COMMAND_GROUPS = [
|
|
6
|
+
{
|
|
7
|
+
title: 'Auth',
|
|
8
|
+
commands: [
|
|
9
|
+
{ name: 'signup', description: 'Sign up or sign in via magic link' },
|
|
10
|
+
{ name: 'login', description: 'Log in via magic link (same as signup)' },
|
|
11
|
+
{ name: 'logout', description: 'Log out and clear stored credentials' },
|
|
12
|
+
{ name: 'whoami', description: 'Show the currently logged-in user email' },
|
|
13
|
+
],
|
|
14
|
+
examples: ['agent-cards signup', 'agent-cards whoami'],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
title: 'Cards',
|
|
18
|
+
commands: [
|
|
19
|
+
{ name: 'cards create --amount <dollars>', description: 'Fund and issue a new virtual card' },
|
|
20
|
+
{ name: 'cards list', description: 'List all cards' },
|
|
21
|
+
{ name: 'cards details <id>', description: 'Show decrypted PAN / CVV / expiry' },
|
|
22
|
+
{ name: 'cards transactions <id>', description: 'Show transaction history' },
|
|
23
|
+
{ name: 'balance <id>', description: 'Quick balance check' },
|
|
24
|
+
],
|
|
25
|
+
examples: ['agent-cards cards create --amount 50', 'agent-cards cards list'],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
title: 'Payments',
|
|
29
|
+
commands: [
|
|
30
|
+
{ name: 'payment-method setup', description: 'Save a payment method' },
|
|
31
|
+
{ name: 'payment-method remove', description: 'Remove a saved payment method' },
|
|
32
|
+
],
|
|
33
|
+
examples: ['agent-cards payment-method setup'],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: 'Tools',
|
|
37
|
+
commands: [
|
|
38
|
+
{ name: 'setup-mcp', description: 'Configure MCP server in Claude Code' },
|
|
39
|
+
{ name: 'extension install', description: 'Install Chrome extension' },
|
|
40
|
+
{ name: 'extension update', description: 'Update Chrome extension' },
|
|
41
|
+
{ name: 'settings', description: 'Manage notification preferences' },
|
|
42
|
+
],
|
|
43
|
+
examples: ['agent-cards setup-mcp'],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
title: 'Support',
|
|
47
|
+
commands: [
|
|
48
|
+
{ name: 'support', description: 'Start a live support conversation' },
|
|
49
|
+
],
|
|
50
|
+
examples: ['agent-cards support --resume conv_123'],
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
export function configureHelpForProgram(program, version) {
|
|
54
|
+
// Override Commander's help to print our custom UI directly
|
|
55
|
+
program.configureHelp({
|
|
56
|
+
formatHelp(_cmd, _helper) {
|
|
57
|
+
console.log('');
|
|
58
|
+
console.log(` ${colors.label('AgentCard')} ${colors.muted(`v${version}`)} ${colors.muted('Virtual debit cards for AI agents')}`);
|
|
59
|
+
// Usage section
|
|
60
|
+
printBoxedSection('Usage', [
|
|
61
|
+
'agent-cards <command> [OPTIONS]',
|
|
62
|
+
'agent-cards <resource> <tool> [OPTIONS]',
|
|
63
|
+
]);
|
|
64
|
+
// Command groups
|
|
65
|
+
const allNames = COMMAND_GROUPS.flatMap(g => g.commands.map(c => c.name));
|
|
66
|
+
const maxLen = Math.max(...allNames.map(n => n.length));
|
|
67
|
+
for (const group of COMMAND_GROUPS) {
|
|
68
|
+
const lines = [];
|
|
69
|
+
for (const cmd of group.commands) {
|
|
70
|
+
lines.push(`${colors.flag(padEnd(cmd.name, maxLen))} ${colors.muted(cmd.description)}`);
|
|
71
|
+
}
|
|
72
|
+
if (group.examples && group.examples.length > 0) {
|
|
73
|
+
lines.push('');
|
|
74
|
+
for (const ex of group.examples) {
|
|
75
|
+
lines.push(colors.muted(`$ ${ex}`));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
printBoxedSection(group.title, lines);
|
|
79
|
+
}
|
|
80
|
+
// How it works
|
|
81
|
+
printHowItWorks();
|
|
82
|
+
// Options section
|
|
83
|
+
printBoxedSection('Options', [
|
|
84
|
+
`${colors.flag(padEnd('--version, -V', maxLen))} ${colors.muted('Show version number')}`,
|
|
85
|
+
`${colors.flag(padEnd('--help, -h', maxLen))} ${colors.muted('Show this help message')}`,
|
|
86
|
+
]);
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log(` ${colors.url('https://agentcard.sh')}`);
|
|
89
|
+
console.log('');
|
|
90
|
+
// Return empty — we already printed everything
|
|
91
|
+
return '';
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/lib/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const colors: {
|
|
2
|
+
brand: import("chalk").ChalkInstance;
|
|
3
|
+
accent: import("chalk").ChalkInstance;
|
|
4
|
+
muted: import("chalk").ChalkInstance;
|
|
5
|
+
success: import("chalk").ChalkInstance;
|
|
6
|
+
warning: import("chalk").ChalkInstance;
|
|
7
|
+
error: import("chalk").ChalkInstance;
|
|
8
|
+
money: import("chalk").ChalkInstance;
|
|
9
|
+
heading: import("chalk").ChalkInstance;
|
|
10
|
+
label: import("chalk").ChalkInstance;
|
|
11
|
+
flag: import("chalk").ChalkInstance;
|
|
12
|
+
url: import("chalk").ChalkInstance;
|
|
13
|
+
};
|
|
14
|
+
export declare function stripAnsi(str: string): string;
|
|
15
|
+
export declare function printBannerSync(): void;
|
|
16
|
+
export declare function printBanner(): Promise<void>;
|
|
17
|
+
export declare function printBoxedSection(title: string, content: string[]): void;
|
|
18
|
+
export declare function printHeader(version: string): Promise<void>;
|
|
19
|
+
export declare function printBox(content: string[], options?: {
|
|
20
|
+
padding?: number;
|
|
21
|
+
title?: string;
|
|
22
|
+
borderColor?: (s: string) => string;
|
|
23
|
+
}): void;
|
|
24
|
+
export declare function printDivider(width?: number): void;
|
|
25
|
+
export declare function printSection(title: string): void;
|
|
26
|
+
export interface CommandGroup {
|
|
27
|
+
title: string;
|
|
28
|
+
commands: Array<{
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
}>;
|
|
32
|
+
examples?: string[];
|
|
33
|
+
}
|
|
34
|
+
export declare function printCommandTable(groups: CommandGroup[]): void;
|
|
35
|
+
export declare function printHowItWorks(): void;
|
|
36
|
+
export declare function printKeyValue(pairs: [string, string][]): void;
|
|
37
|
+
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/lib/ui.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM;;;;;;;;;;;;CAYlB,CAAC;AAIF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAgCD,wBAAgB,eAAe,IAAI,IAAI,CAOtC;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBjD;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CA6BxE;AAID,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE;AAID,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GAClF,IAAI,CA+BN;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAK,GAAG,IAAI,CAE7C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMhD;AAID,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAMD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAkB9D;AAID,wBAAgB,eAAe,IAAI,IAAI,CAatC;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAQ7D"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { readFileSync } from 'fs';
|
|
3
|
+
import { dirname, resolve } from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
// ── Brand color palette ─────────────────────────────────────
|
|
7
|
+
export const colors = {
|
|
8
|
+
brand: chalk.white,
|
|
9
|
+
accent: chalk.bold.white,
|
|
10
|
+
muted: chalk.dim,
|
|
11
|
+
success: chalk.white,
|
|
12
|
+
warning: chalk.bold.white,
|
|
13
|
+
error: chalk.bold.white,
|
|
14
|
+
money: chalk.bold.white,
|
|
15
|
+
heading: chalk.bold.white,
|
|
16
|
+
label: chalk.bold.white,
|
|
17
|
+
flag: chalk.bold.white,
|
|
18
|
+
url: chalk.underline.dim,
|
|
19
|
+
};
|
|
20
|
+
// ── Utility ─────────────────────────────────────────────────
|
|
21
|
+
export function stripAnsi(str) {
|
|
22
|
+
return str.replace(/\x1B\[[0-9;]*m/g, '');
|
|
23
|
+
}
|
|
24
|
+
function getTerminalWidth() {
|
|
25
|
+
return process.stdout.columns || 80;
|
|
26
|
+
}
|
|
27
|
+
// ── ASCII art banner ────────────────────────────────────────
|
|
28
|
+
function loadBannerArt() {
|
|
29
|
+
try {
|
|
30
|
+
// Works from both src/lib/ (dev) and dist/lib/ (prod)
|
|
31
|
+
const candidates = [
|
|
32
|
+
resolve(__dirname, '..', '..', 'assets', 'banner.txt'),
|
|
33
|
+
resolve(__dirname, '..', '..', '..', 'assets', 'banner.txt'),
|
|
34
|
+
];
|
|
35
|
+
for (const p of candidates) {
|
|
36
|
+
try {
|
|
37
|
+
const content = readFileSync(p, 'utf8');
|
|
38
|
+
const lines = content.split('\n').filter(l => l.trim().length > 0);
|
|
39
|
+
// Strip common leading whitespace to left-align
|
|
40
|
+
const minIndent = Math.min(...lines.filter(l => l.trim()).map(l => l.match(/^( *)/)[1].length));
|
|
41
|
+
return minIndent > 0 ? lines.map(l => l.slice(minIndent)) : lines;
|
|
42
|
+
}
|
|
43
|
+
catch { }
|
|
44
|
+
}
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export function printBannerSync() {
|
|
52
|
+
const lines = loadBannerArt();
|
|
53
|
+
if (lines.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
console.log('');
|
|
56
|
+
for (const line of lines) {
|
|
57
|
+
console.log(chalk.white(line));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export async function printBanner() {
|
|
61
|
+
const lines = loadBannerArt();
|
|
62
|
+
if (lines.length === 0)
|
|
63
|
+
return;
|
|
64
|
+
console.log('');
|
|
65
|
+
if (!process.stdout.isTTY) {
|
|
66
|
+
for (const line of lines) {
|
|
67
|
+
console.log(chalk.white(line));
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
// Animate: reveal line by line
|
|
72
|
+
for (const line of lines) {
|
|
73
|
+
process.stdout.write(chalk.white(line) + '\n');
|
|
74
|
+
await new Promise(r => setTimeout(r, 20));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// ── Boxed section (Ramp-style) ──────────────────────────────
|
|
78
|
+
export function printBoxedSection(title, content) {
|
|
79
|
+
const width = Math.min(getTerminalWidth() - 2, 80);
|
|
80
|
+
const border = chalk.white;
|
|
81
|
+
// Measure max content width (strip ANSI) for right-padding
|
|
82
|
+
const maxContentWidth = Math.max(...content.map((l) => stripAnsi(l).length), width - 4);
|
|
83
|
+
// Top border with title
|
|
84
|
+
const titleStr = ` ${chalk.bold.white(title)} `;
|
|
85
|
+
const titleLen = stripAnsi(titleStr).length;
|
|
86
|
+
const preLen = 2;
|
|
87
|
+
const postLen = Math.max(0, width - preLen - titleLen - 1);
|
|
88
|
+
console.log('');
|
|
89
|
+
console.log(border('┌' + '─'.repeat(preLen - 1)) + titleStr + border('─'.repeat(postLen) + '┐'));
|
|
90
|
+
// Content lines with left + right border
|
|
91
|
+
for (const line of content) {
|
|
92
|
+
const visibleLen = stripAnsi(line).length;
|
|
93
|
+
const rightPad = ' '.repeat(Math.max(0, maxContentWidth - visibleLen));
|
|
94
|
+
console.log(border('│') + ' ' + line + rightPad + ' ' + border('│'));
|
|
95
|
+
}
|
|
96
|
+
// Bottom border
|
|
97
|
+
console.log(border('└' + '─'.repeat(width - 2) + '┘'));
|
|
98
|
+
}
|
|
99
|
+
// ── Print header (banner + version) ─────────────────────────
|
|
100
|
+
export async function printHeader(version) {
|
|
101
|
+
await printBanner();
|
|
102
|
+
console.log('');
|
|
103
|
+
console.log(` ${colors.label('AgentCard')} ${colors.muted(`v${version}`)} ${colors.muted('Virtual debit cards for AI agents')}`);
|
|
104
|
+
console.log('');
|
|
105
|
+
}
|
|
106
|
+
// ── Smaller box for data display ────────────────────────────
|
|
107
|
+
export function printBox(content, options) {
|
|
108
|
+
const pad = options?.padding ?? 1;
|
|
109
|
+
const color = options?.borderColor ?? colors.muted;
|
|
110
|
+
const innerWidth = Math.max(...content.map((line) => stripAnsi(line).length), options?.title ? stripAnsi(options.title).length + 2 : 0) + pad * 2;
|
|
111
|
+
const padStr = ' '.repeat(pad);
|
|
112
|
+
// Top border with optional title
|
|
113
|
+
if (options?.title) {
|
|
114
|
+
const titleStr = ` ${chalk.bold(options.title)} `;
|
|
115
|
+
const titleLen = stripAnsi(titleStr).length;
|
|
116
|
+
const preLen = 2;
|
|
117
|
+
const postLen = Math.max(0, innerWidth + 2 - preLen - titleLen);
|
|
118
|
+
console.log(color('─'.repeat(preLen)) + titleStr + color('─'.repeat(postLen)));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.log(color('┌' + '─'.repeat(innerWidth) + '┐'));
|
|
122
|
+
}
|
|
123
|
+
// Content lines
|
|
124
|
+
for (const line of content) {
|
|
125
|
+
const visibleLen = stripAnsi(line).length;
|
|
126
|
+
const rightPad = ' '.repeat(Math.max(0, innerWidth - pad - visibleLen));
|
|
127
|
+
console.log(`${color('│')}${padStr}${line}${rightPad}${color('│')}`);
|
|
128
|
+
}
|
|
129
|
+
// Bottom border
|
|
130
|
+
console.log(color('└' + '─'.repeat(innerWidth) + '┘'));
|
|
131
|
+
}
|
|
132
|
+
export function printDivider(width = 40) {
|
|
133
|
+
console.log(colors.muted('─'.repeat(width)));
|
|
134
|
+
}
|
|
135
|
+
export function printSection(title) {
|
|
136
|
+
console.log('');
|
|
137
|
+
const titleStr = colors.heading(title);
|
|
138
|
+
const titleLen = stripAnsi(titleStr).length;
|
|
139
|
+
const lineLen = Math.max(0, 40 - titleLen);
|
|
140
|
+
console.log(` ${titleStr} ${colors.muted('─'.repeat(lineLen))}`);
|
|
141
|
+
}
|
|
142
|
+
function padEnd(str, len) {
|
|
143
|
+
return str + ' '.repeat(Math.max(0, len - str.length));
|
|
144
|
+
}
|
|
145
|
+
export function printCommandTable(groups) {
|
|
146
|
+
const allNames = groups.flatMap((g) => g.commands.map((c) => c.name));
|
|
147
|
+
const maxLen = Math.max(...allNames.map((n) => n.length));
|
|
148
|
+
for (const group of groups) {
|
|
149
|
+
// Each group is a boxed section
|
|
150
|
+
const lines = [];
|
|
151
|
+
for (const cmd of group.commands) {
|
|
152
|
+
lines.push(`${colors.flag(padEnd(cmd.name, maxLen))} ${colors.muted(cmd.description)}`);
|
|
153
|
+
}
|
|
154
|
+
if (group.examples && group.examples.length > 0) {
|
|
155
|
+
lines.push('');
|
|
156
|
+
for (const ex of group.examples) {
|
|
157
|
+
lines.push(colors.muted(`$ ${ex}`));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
printBoxedSection(group.title, lines);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// ── How it works ────────────────────────────────────────────
|
|
164
|
+
export function printHowItWorks() {
|
|
165
|
+
printBoxedSection('How it works', [
|
|
166
|
+
'',
|
|
167
|
+
` ${colors.label('1.')} Sign up ${colors.flag('agent-cards signup')}`,
|
|
168
|
+
` ${colors.label('2.')} Add a payment method ${colors.flag('agent-cards payment-method setup')}`,
|
|
169
|
+
` ${colors.label('3.')} Create a virtual card ${colors.flag('agent-cards cards create --amount 50')}`,
|
|
170
|
+
` ${colors.label('4.')} Give it to your agent ${colors.flag('agent-cards setup-mcp')}`,
|
|
171
|
+
'',
|
|
172
|
+
` Your card is ${colors.label('not charged')} up front. We place a ${colors.label('hold')} for the amount.`,
|
|
173
|
+
` You are only charged when the card is actually used.`,
|
|
174
|
+
' Unused cards release the hold and expire after 7 days.',
|
|
175
|
+
'',
|
|
176
|
+
]);
|
|
177
|
+
}
|
|
178
|
+
// ── Key-value display ───────────────────────────────────────
|
|
179
|
+
export function printKeyValue(pairs) {
|
|
180
|
+
const maxKeyLen = Math.max(...pairs.map(([key]) => stripAnsi(key).length));
|
|
181
|
+
for (const [key, value] of pairs) {
|
|
182
|
+
const keyLen = stripAnsi(key).length;
|
|
183
|
+
const padding = ' '.repeat(Math.max(0, maxKeyLen - keyLen));
|
|
184
|
+
console.log(` ${colors.label(key)}${padding} ${value}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/lib/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../../src/lib/welcome.ts"],"names":[],"mappings":"AAqCA,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { printHeader, printCommandTable, printHowItWorks, colors } from './ui.js';
|
|
2
|
+
const groups = [
|
|
3
|
+
{
|
|
4
|
+
title: 'Cards',
|
|
5
|
+
commands: [
|
|
6
|
+
{ name: 'cards create --amount <dollars>', description: 'Issue a one-time virtual Visa card' },
|
|
7
|
+
{ name: 'cards list', description: 'View all your cards' },
|
|
8
|
+
{ name: 'cards details <id>', description: 'Show full PAN, CVV, and expiry' },
|
|
9
|
+
{ name: 'balance <id>', description: 'Quick balance check' },
|
|
10
|
+
],
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
title: 'Payments',
|
|
14
|
+
commands: [
|
|
15
|
+
{ name: 'payment-method setup', description: 'Save a payment method for card creation' },
|
|
16
|
+
{ name: 'payment-method remove', description: 'Remove a saved payment method' },
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
title: 'Integrations',
|
|
21
|
+
commands: [
|
|
22
|
+
{ name: 'setup-mcp', description: 'Configure the AgentCard MCP server in Claude Code' },
|
|
23
|
+
{ name: 'extension install', description: 'Install the Chrome extension for web payments' },
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
title: 'Account',
|
|
28
|
+
commands: [
|
|
29
|
+
{ name: 'whoami', description: 'Show your current login email' },
|
|
30
|
+
{ name: 'settings', description: 'Manage notification preferences' },
|
|
31
|
+
{ name: 'support', description: 'Chat with the team' },
|
|
32
|
+
{ name: 'logout', description: 'Log out and clear credentials' },
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
export async function printWelcome(version) {
|
|
37
|
+
await printHeader(version);
|
|
38
|
+
printHowItWorks();
|
|
39
|
+
printCommandTable(groups);
|
|
40
|
+
console.log();
|
|
41
|
+
console.log(` ${colors.label('Get started:')} ${colors.brand('agent-cards cards create --amount 10')}`);
|
|
42
|
+
console.log();
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=welcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../../src/lib/welcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAErG,MAAM,MAAM,GAAmB;IAC7B;QACE,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,iCAAiC,EAAE,WAAW,EAAE,oCAAoC,EAAE;YAC9F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC1D,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YAC7E,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE;SAC7D;KACF;IACD;QACE,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,yCAAyC,EAAE;YACxF,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,+BAA+B,EAAE;SAChF;KACF;IACD;QACE,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,mDAAmD,EAAE;YACvF,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,+CAA+C,EAAE;SAC5F;KACF;IACD;QACE,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;YAChE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE;YACpE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE;YACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;SACjE;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe;IAChD,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,eAAe,EAAE,CAAC;IAClB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC,CAAC;IACzG,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-cards",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.10",
|
|
4
4
|
"description": "CLI for managing virtual debit cards for AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"agent-cards": "dist/bin/agent-cards.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
|
-
"dist"
|
|
10
|
+
"dist",
|
|
11
|
+
"assets"
|
|
11
12
|
],
|
|
12
13
|
"engines": {
|
|
13
14
|
"node": ">=18"
|