@paylobster/cli 4.6.0 → 4.6.1

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.
Files changed (38) hide show
  1. package/dist/src/commands/alerts.d.ts +3 -0
  2. package/dist/src/commands/alerts.d.ts.map +1 -0
  3. package/dist/src/commands/alerts.js +181 -0
  4. package/dist/src/commands/alerts.js.map +1 -0
  5. package/dist/src/commands/init.d.ts +3 -0
  6. package/dist/src/commands/init.d.ts.map +1 -0
  7. package/dist/src/commands/init.js +232 -0
  8. package/dist/src/commands/init.js.map +1 -0
  9. package/dist/src/commands/link.d.ts +6 -0
  10. package/dist/src/commands/link.d.ts.map +1 -0
  11. package/dist/src/commands/link.js +188 -0
  12. package/dist/src/commands/link.js.map +1 -0
  13. package/dist/src/commands/refund.d.ts +6 -0
  14. package/dist/src/commands/refund.d.ts.map +1 -0
  15. package/dist/src/commands/refund.js +199 -0
  16. package/dist/src/commands/refund.js.map +1 -0
  17. package/dist/src/commands/swap.d.ts.map +1 -1
  18. package/dist/src/commands/swap.js +93 -1
  19. package/dist/src/commands/swap.js.map +1 -1
  20. package/dist/src/commands/webhook.d.ts +6 -0
  21. package/dist/src/commands/webhook.d.ts.map +1 -0
  22. package/dist/src/commands/webhook.js +208 -0
  23. package/dist/src/commands/webhook.js.map +1 -0
  24. package/dist/src/index.js +10 -0
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/lib/contracts.d.ts +23 -161
  27. package/dist/src/lib/contracts.d.ts.map +1 -1
  28. package/dist/src/lib/contracts.js +6 -6
  29. package/dist/src/lib/contracts.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/commands/alerts.ts +210 -0
  32. package/src/commands/init.ts +256 -0
  33. package/src/commands/link.ts +240 -0
  34. package/src/commands/refund.ts +250 -0
  35. package/src/commands/swap.ts +120 -1
  36. package/src/commands/webhook.ts +260 -0
  37. package/src/index.ts +10 -0
  38. package/src/lib/contracts.ts +6 -6
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createAlertsCommand(): Command;
3
+ //# sourceMappingURL=alerts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/commands/alerts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,wBAAgB,mBAAmB,IAAI,OAAO,CAwL7C"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createAlertsCommand = createAlertsCommand;
7
+ const commander_1 = require("commander");
8
+ const wallet_1 = require("../lib/wallet");
9
+ const config_1 = require("../lib/config");
10
+ const display_1 = require("../lib/display");
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const API_BASE = process.env.PAYLOBSTER_API_URL || 'https://paylobster.com';
13
+ // Well-known tokens for symbol resolution
14
+ const KNOWN_TOKENS = {
15
+ USDC: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
16
+ WETH: '0x4200000000000000000000000000000000000006',
17
+ ETH: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
18
+ DAI: '0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb',
19
+ };
20
+ function resolveTokenAddress(input) {
21
+ const upper = input.toUpperCase();
22
+ if (KNOWN_TOKENS[upper])
23
+ return KNOWN_TOKENS[upper];
24
+ if (input.startsWith('0x') && input.length === 42)
25
+ return input;
26
+ // Try to search for token
27
+ return input; // Will be resolved by API if symbol
28
+ }
29
+ function createAlertsCommand() {
30
+ const cmd = new commander_1.Command('alerts')
31
+ .description('Price alerts for tokens on Base');
32
+ // Create alert
33
+ cmd
34
+ .command('create')
35
+ .description('Create a price alert')
36
+ .requiredOption('--token <symbol>', 'Token symbol or address')
37
+ .option('--above <price>', 'Alert when price goes above (USD)')
38
+ .option('--below <price>', 'Alert when price goes below (USD)')
39
+ .option('--webhook <url>', 'Webhook URL to call when triggered')
40
+ .option('--telegram [chatId]', 'Send Telegram notification')
41
+ .option('--json', 'Output as JSON')
42
+ .action(async (options) => {
43
+ try {
44
+ const config = (0, config_1.loadConfig)();
45
+ const userId = (0, wallet_1.getWalletAddress)() || 'cli-user';
46
+ if (!options.above && !options.below) {
47
+ (0, display_1.error)('Must specify either --above or --below');
48
+ process.exit(1);
49
+ }
50
+ const condition = options.above ? 'above' : 'below';
51
+ const threshold = parseFloat(options.above || options.below || '0');
52
+ if (threshold <= 0) {
53
+ (0, display_1.error)('Threshold must be a positive number');
54
+ process.exit(1);
55
+ }
56
+ const tokenAddress = resolveTokenAddress(options.token);
57
+ const body = {
58
+ tokenAddress,
59
+ tokenSymbol: options.token.toUpperCase(),
60
+ condition,
61
+ threshold,
62
+ userId,
63
+ };
64
+ if (options.webhook)
65
+ body.webhookUrl = options.webhook;
66
+ if (options.telegram)
67
+ body.telegramChatId = typeof options.telegram === 'string' ? options.telegram : userId;
68
+ const result = await (0, display_1.withSpinner)('Creating price alert...', async () => {
69
+ const res = await fetch(`${API_BASE}/api/v3/alerts`, {
70
+ method: 'POST',
71
+ headers: { 'Content-Type': 'application/json' },
72
+ body: JSON.stringify(body),
73
+ });
74
+ if (!res.ok) {
75
+ const data = await res.json();
76
+ throw new Error(data.error || 'Failed to create alert');
77
+ }
78
+ return res.json();
79
+ });
80
+ if ((0, display_1.outputJSON)(result, options))
81
+ return;
82
+ console.log();
83
+ (0, display_1.success)(`Price alert created!`);
84
+ console.log();
85
+ console.log(' Token: ', chalk_1.default.white.bold(options.token.toUpperCase()));
86
+ console.log(' Condition:', chalk_1.default.white(`${condition === 'above' ? '📈 Above' : '📉 Below'} $${threshold}`));
87
+ console.log(' Alert ID: ', chalk_1.default.gray(result.id));
88
+ if (options.webhook) {
89
+ console.log(' Webhook: ', chalk_1.default.gray(options.webhook));
90
+ }
91
+ if (options.telegram) {
92
+ console.log(' Telegram: ', chalk_1.default.green('Enabled'));
93
+ }
94
+ console.log();
95
+ }
96
+ catch (err) {
97
+ (0, display_1.error)(`Failed to create alert: ${err}`);
98
+ process.exit(1);
99
+ }
100
+ });
101
+ // List alerts
102
+ cmd
103
+ .command('list')
104
+ .description('List your price alerts')
105
+ .option('--all', 'Include triggered/inactive alerts')
106
+ .option('--json', 'Output as JSON')
107
+ .action(async (options) => {
108
+ try {
109
+ const userId = (0, wallet_1.getWalletAddress)() || 'cli-user';
110
+ const active = options.all ? 'false' : 'true';
111
+ const result = await (0, display_1.withSpinner)('Fetching alerts...', async () => {
112
+ const res = await fetch(`${API_BASE}/api/v3/alerts?userId=${userId}&active=${active}`);
113
+ if (!res.ok)
114
+ throw new Error('Failed to fetch alerts');
115
+ return res.json();
116
+ });
117
+ if ((0, display_1.outputJSON)(result, options))
118
+ return;
119
+ const alerts = result.alerts || [];
120
+ if (alerts.length === 0) {
121
+ (0, display_1.info)('No alerts found');
122
+ return;
123
+ }
124
+ console.log();
125
+ console.log(chalk_1.default.bold.cyan('🔔 Price Alerts'));
126
+ console.log();
127
+ for (const alert of alerts) {
128
+ const statusIcon = alert.triggered ? '✅' : alert.active ? '⏳' : '❌';
129
+ const condIcon = alert.condition === 'above' ? '📈' : '📉';
130
+ console.log(` ${statusIcon} ${chalk_1.default.white.bold(alert.tokenSymbol || '???')} ` +
131
+ `${condIcon} ${alert.condition} $${alert.threshold} ` +
132
+ chalk_1.default.gray(`[${alert.id.slice(0, 8)}]`));
133
+ }
134
+ console.log();
135
+ console.log(chalk_1.default.gray(` ${alerts.length} alert(s)`));
136
+ console.log();
137
+ }
138
+ catch (err) {
139
+ (0, display_1.error)(`Failed to list alerts: ${err}`);
140
+ process.exit(1);
141
+ }
142
+ });
143
+ // Delete alert
144
+ cmd
145
+ .command('delete')
146
+ .description('Delete a price alert')
147
+ .argument('<id>', 'Alert ID')
148
+ .option('--yes', 'Skip confirmation')
149
+ .option('--json', 'Output as JSON')
150
+ .action(async (id, options) => {
151
+ try {
152
+ const userId = (0, wallet_1.getWalletAddress)() || 'cli-user';
153
+ if (!options.yes) {
154
+ const confirmed = await (0, display_1.confirm)(`Delete alert ${id}?`);
155
+ if (!confirmed) {
156
+ (0, display_1.info)('Cancelled');
157
+ process.exit(0);
158
+ }
159
+ }
160
+ await (0, display_1.withSpinner)('Deleting alert...', async () => {
161
+ const res = await fetch(`${API_BASE}/api/v3/alerts?id=${id}&userId=${userId}`, {
162
+ method: 'DELETE',
163
+ });
164
+ if (!res.ok) {
165
+ const data = await res.json();
166
+ throw new Error(data.error || 'Failed to delete alert');
167
+ }
168
+ return res.json();
169
+ });
170
+ if ((0, display_1.outputJSON)({ deleted: true, id }, options))
171
+ return;
172
+ (0, display_1.success)(`Alert ${id} deleted`);
173
+ }
174
+ catch (err) {
175
+ (0, display_1.error)(`Failed to delete alert: ${err}`);
176
+ process.exit(1);
177
+ }
178
+ });
179
+ return cmd;
180
+ }
181
+ //# sourceMappingURL=alerts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../../src/commands/alerts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createInitCommand(): Command;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4EpC,wBAAgB,iBAAiB,IAAI,OAAO,CAmL3C"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createInitCommand = createInitCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const ora_1 = __importDefault(require("ora"));
10
+ const readline_1 = __importDefault(require("readline"));
11
+ const fs_1 = __importDefault(require("fs"));
12
+ const path_1 = __importDefault(require("path"));
13
+ const crypto_1 = __importDefault(require("crypto"));
14
+ const child_process_1 = require("child_process");
15
+ const util_1 = require("util");
16
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
17
+ const CONFIG_DIR = path_1.default.join(process.env.HOME || '~', '.paylobster');
18
+ const CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'config.json');
19
+ const CREDENTIALS_FILE = path_1.default.join(CONFIG_DIR, 'credentials');
20
+ function prompt(question) {
21
+ const rl = readline_1.default.createInterface({
22
+ input: process.stdin,
23
+ output: process.stdout,
24
+ });
25
+ return new Promise((resolve) => {
26
+ rl.question(question, (answer) => {
27
+ rl.close();
28
+ resolve(answer.trim());
29
+ });
30
+ });
31
+ }
32
+ function selectPrompt(question, options) {
33
+ return new Promise((resolve) => {
34
+ const rl = readline_1.default.createInterface({
35
+ input: process.stdin,
36
+ output: process.stdout,
37
+ });
38
+ console.log(chalk_1.default.bold.white(`\n ${question}\n`));
39
+ options.forEach((opt, i) => {
40
+ console.log(chalk_1.default.cyan(` ${i + 1}) `) + chalk_1.default.white(opt.label));
41
+ });
42
+ console.log();
43
+ rl.question(chalk_1.default.gray(' Enter choice (number): '), (answer) => {
44
+ rl.close();
45
+ const idx = parseInt(answer.trim(), 10) - 1;
46
+ if (idx >= 0 && idx < options.length) {
47
+ resolve(options[idx].value);
48
+ }
49
+ else {
50
+ // Default to first option
51
+ resolve(options[0].value);
52
+ }
53
+ });
54
+ });
55
+ }
56
+ function generateApiKey() {
57
+ const bytes = crypto_1.default.randomBytes(24);
58
+ return `pl_live_${bytes.toString('base64url').slice(0, 32)}`;
59
+ }
60
+ function ensureConfigDir() {
61
+ if (!fs_1.default.existsSync(CONFIG_DIR)) {
62
+ fs_1.default.mkdirSync(CONFIG_DIR, { recursive: true });
63
+ }
64
+ }
65
+ function openBrowser(url) {
66
+ const platform = process.platform;
67
+ const cmd = platform === 'darwin' ? 'open' : platform === 'win32' ? 'start' : 'xdg-open';
68
+ try {
69
+ require('child_process').execSync(`${cmd} "${url}"`, { stdio: 'ignore' });
70
+ }
71
+ catch {
72
+ console.log(chalk_1.default.gray(` Open this URL in your browser: ${url}`));
73
+ }
74
+ }
75
+ function createInitCommand() {
76
+ const cmd = new commander_1.Command('init')
77
+ .description('🦞 Interactive setup wizard — get started with Pay Lobster in 60 seconds')
78
+ .option('--wallet <address>', 'Pre-set wallet address')
79
+ .option('--role <role>', 'Pre-set role (developer, agent-operator, business)')
80
+ .option('--network <network>', 'Network to use (base, base-sepolia)', 'base')
81
+ .action(async (options) => {
82
+ // ─── Welcome Banner ───
83
+ console.log();
84
+ console.log(chalk_1.default.cyan(' ┌─────────────────────────────────────────┐'));
85
+ console.log(chalk_1.default.cyan(' │') + ' ' + chalk_1.default.cyan('│'));
86
+ console.log(chalk_1.default.cyan(' │') + chalk_1.default.bold.white(' 🦞 Welcome to Pay Lobster! ') + chalk_1.default.cyan('│'));
87
+ console.log(chalk_1.default.cyan(' │') + chalk_1.default.gray(' Payments made simple on Base ') + chalk_1.default.cyan('│'));
88
+ console.log(chalk_1.default.cyan(' │') + ' ' + chalk_1.default.cyan('│'));
89
+ console.log(chalk_1.default.cyan(' └─────────────────────────────────────────┘'));
90
+ console.log();
91
+ console.log(chalk_1.default.gray(' Let\'s get you set up in under 60 seconds.\n'));
92
+ // ─── Step 1: Wallet Address ───
93
+ console.log(chalk_1.default.bold.blue(' Step 1 of 3') + chalk_1.default.gray(' — Connect your wallet\n'));
94
+ let walletAddress = options.wallet || '';
95
+ if (!walletAddress) {
96
+ const walletChoice = await selectPrompt('How would you like to connect?', [
97
+ { label: '📋 Enter an existing wallet address', value: 'enter' },
98
+ { label: '🌐 Create a Smart Wallet (opens browser)', value: 'create' },
99
+ ]);
100
+ if (walletChoice === 'create') {
101
+ const spinner = (0, ora_1.default)({
102
+ text: chalk_1.default.white('Opening Pay Lobster to create your wallet...'),
103
+ spinner: 'dots',
104
+ }).start();
105
+ openBrowser('https://paylobster.com/onboard?source=cli');
106
+ spinner.succeed(chalk_1.default.green('Browser opened!'));
107
+ console.log(chalk_1.default.gray(' Create your wallet with just a passkey — no seed phrase needed.\n'));
108
+ walletAddress = await prompt(chalk_1.default.white(' Paste your wallet address here: '));
109
+ }
110
+ else {
111
+ walletAddress = await prompt(chalk_1.default.white(' Enter your wallet address (0x...): '));
112
+ }
113
+ }
114
+ // Validate address format
115
+ if (!walletAddress.match(/^0x[a-fA-F0-9]{40}$/)) {
116
+ if (walletAddress.length > 0) {
117
+ console.log(chalk_1.default.yellow('\n ⚠ That doesn\'t look like a valid address, but we\'ll save it anyway.'));
118
+ }
119
+ else {
120
+ walletAddress = '0x0000000000000000000000000000000000000000';
121
+ console.log(chalk_1.default.gray('\n No address provided — you can set one later with: paylobster config set wallet <address>'));
122
+ }
123
+ }
124
+ else {
125
+ console.log(chalk_1.default.green(`\n ✓ Wallet: ${walletAddress.slice(0, 6)}...${walletAddress.slice(-4)}\n`));
126
+ }
127
+ // ─── Step 2: Role ───
128
+ console.log(chalk_1.default.bold.blue(' Step 2 of 3') + chalk_1.default.gray(' — Tell us about yourself\n'));
129
+ let role = options.role || '';
130
+ if (!role) {
131
+ role = await selectPrompt('What best describes you?', [
132
+ { label: '💻 Developer — building with the SDK or API', value: 'developer' },
133
+ { label: '🤖 Agent operator — running AI agents', value: 'agent-operator' },
134
+ { label: '🏢 Business — accepting payments', value: 'business' },
135
+ ]);
136
+ }
137
+ const roleLabels = {
138
+ 'developer': '💻 Developer',
139
+ 'agent-operator': '🤖 Agent Operator',
140
+ 'business': '🏢 Business',
141
+ };
142
+ console.log(chalk_1.default.green(`\n ✓ Role: ${roleLabels[role] || role}\n`));
143
+ // ─── Step 3: Generate API Key & Save Config ───
144
+ console.log(chalk_1.default.bold.blue(' Step 3 of 3') + chalk_1.default.gray(' — Setting up your environment\n'));
145
+ const spinner = (0, ora_1.default)({
146
+ text: chalk_1.default.white('Generating your API key...'),
147
+ spinner: 'dots',
148
+ }).start();
149
+ // Simulate a brief delay for UX
150
+ await new Promise((r) => setTimeout(r, 800));
151
+ const apiKey = generateApiKey();
152
+ const network = options.network || 'base';
153
+ // Save config
154
+ ensureConfigDir();
155
+ const config = {
156
+ version: 1,
157
+ wallet: walletAddress,
158
+ role,
159
+ network,
160
+ createdAt: new Date().toISOString(),
161
+ defaults: {
162
+ currency: 'USDC',
163
+ confirmations: 1,
164
+ ...(role === 'developer' ? { testnet: true, network: 'base-sepolia' } : {}),
165
+ ...(role === 'agent-operator' ? { autoApprove: false, maxEscrow: '100' } : {}),
166
+ ...(role === 'business' ? { webhookUrl: '', autoSettle: true } : {}),
167
+ },
168
+ };
169
+ fs_1.default.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
170
+ // Save credentials
171
+ const credentials = [
172
+ `# Pay Lobster credentials`,
173
+ `# Generated: ${new Date().toISOString()}`,
174
+ `PAYLOBSTER_API_KEY=${apiKey}`,
175
+ `PAYLOBSTER_WALLET=${walletAddress}`,
176
+ `PAYLOBSTER_NETWORK=${network}`,
177
+ ].join('\n');
178
+ fs_1.default.writeFileSync(CREDENTIALS_FILE, credentials, 'utf-8');
179
+ fs_1.default.chmodSync(CREDENTIALS_FILE, 0o600);
180
+ spinner.succeed(chalk_1.default.green('All set!'));
181
+ // ─── Summary ───
182
+ console.log();
183
+ console.log(chalk_1.default.cyan(' ┌─────────────────────────────────────────┐'));
184
+ console.log(chalk_1.default.cyan(' │') + chalk_1.default.bold.white(' ✅ You\'re ready to go! ') + chalk_1.default.cyan('│'));
185
+ console.log(chalk_1.default.cyan(' └─────────────────────────────────────────┘'));
186
+ console.log();
187
+ console.log(chalk_1.default.white(' Config saved to: ') + chalk_1.default.gray(CONFIG_FILE));
188
+ console.log(chalk_1.default.white(' API key saved to: ') + chalk_1.default.gray(CREDENTIALS_FILE));
189
+ console.log(chalk_1.default.white(' API key: ') + chalk_1.default.yellow(apiKey.slice(0, 12) + '...' + apiKey.slice(-4)));
190
+ console.log();
191
+ // ─── Next Steps (role-specific) ───
192
+ console.log(chalk_1.default.bold.white(' 🚀 Try your first command:\n'));
193
+ if (role === 'developer') {
194
+ console.log(chalk_1.default.gray(' # Create a test escrow'));
195
+ console.log(chalk_1.default.cyan(' paylobster escrow create --to 0x1234...abcd --amount 1 --desc "Test payment"'));
196
+ console.log();
197
+ console.log(chalk_1.default.gray(' # Check your reputation'));
198
+ console.log(chalk_1.default.cyan(' paylobster reputation check'));
199
+ console.log();
200
+ console.log(chalk_1.default.gray(' # View SDK docs'));
201
+ console.log(chalk_1.default.cyan(' paylobster docs --open'));
202
+ }
203
+ else if (role === 'agent-operator') {
204
+ console.log(chalk_1.default.gray(' # Register your AI agent'));
205
+ console.log(chalk_1.default.cyan(' paylobster register --name "My Agent" --type ai-agent'));
206
+ console.log();
207
+ console.log(chalk_1.default.gray(' # Create an escrow payment'));
208
+ console.log(chalk_1.default.cyan(' paylobster escrow create --to 0x1234...abcd --amount 5 --desc "Agent task"'));
209
+ console.log();
210
+ console.log(chalk_1.default.gray(' # Set up MCP server'));
211
+ console.log(chalk_1.default.cyan(' paylobster quickstart --mcp'));
212
+ }
213
+ else if (role === 'business') {
214
+ console.log(chalk_1.default.gray(' # Create a payment link'));
215
+ console.log(chalk_1.default.cyan(' paylobster pay create-link --amount 50 --desc "Invoice #001"'));
216
+ console.log();
217
+ console.log(chalk_1.default.gray(' # Check incoming payments'));
218
+ console.log(chalk_1.default.cyan(' paylobster dashboard'));
219
+ console.log();
220
+ console.log(chalk_1.default.gray(' # View your balance'));
221
+ console.log(chalk_1.default.cyan(' paylobster status'));
222
+ }
223
+ console.log();
224
+ console.log(chalk_1.default.gray(' ─────────────────────────────────────────'));
225
+ console.log(chalk_1.default.gray(' 📖 Docs: ') + chalk_1.default.blue('https://paylobster.com/docs'));
226
+ console.log(chalk_1.default.gray(' 💬 Support: ') + chalk_1.default.blue('https://paylobster.com/discord'));
227
+ console.log(chalk_1.default.gray(' 🦞 Web app: ') + chalk_1.default.blue('https://paylobster.com'));
228
+ console.log();
229
+ });
230
+ return cmd;
231
+ }
232
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Payment links command
4
+ */
5
+ export declare function createLinkCommand(): Command;
6
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/commands/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAuN3C"}