payment-skill 1.0.0
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/LICENSE +62 -0
- package/README.md +545 -0
- package/SKILL.md +99 -0
- package/SUPPORT.md +153 -0
- package/bin/payment-skill.js +2 -0
- package/dashboard.html +669 -0
- package/dist/api/bunq.d.ts +35 -0
- package/dist/api/bunq.d.ts.map +1 -0
- package/dist/api/bunq.js +164 -0
- package/dist/api/bunq.js.map +1 -0
- package/dist/api/wise.d.ts +32 -0
- package/dist/api/wise.d.ts.map +1 -0
- package/dist/api/wise.js +155 -0
- package/dist/api/wise.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +69 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/bunq.d.ts +8 -0
- package/dist/commands/bunq.d.ts.map +1 -0
- package/dist/commands/bunq.js +193 -0
- package/dist/commands/bunq.js.map +1 -0
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +70 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/emergency.d.ts +8 -0
- package/dist/commands/emergency.d.ts.map +1 -0
- package/dist/commands/emergency.js +85 -0
- package/dist/commands/emergency.js.map +1 -0
- package/dist/commands/limits.d.ts +6 -0
- package/dist/commands/limits.d.ts.map +1 -0
- package/dist/commands/limits.js +125 -0
- package/dist/commands/limits.js.map +1 -0
- package/dist/commands/merchant.d.ts +6 -0
- package/dist/commands/merchant.d.ts.map +1 -0
- package/dist/commands/merchant.js +41 -0
- package/dist/commands/merchant.js.map +1 -0
- package/dist/commands/pay.d.ts +10 -0
- package/dist/commands/pay.d.ts.map +1 -0
- package/dist/commands/pay.js +112 -0
- package/dist/commands/pay.js.map +1 -0
- package/dist/commands/provider.d.ts +6 -0
- package/dist/commands/provider.d.ts.map +1 -0
- package/dist/commands/provider.js +74 -0
- package/dist/commands/provider.js.map +1 -0
- package/dist/commands/server.d.ts +8 -0
- package/dist/commands/server.d.ts.map +1 -0
- package/dist/commands/server.js +92 -0
- package/dist/commands/server.js.map +1 -0
- package/dist/commands/template.d.ts +8 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/commands/template.js +161 -0
- package/dist/commands/template.js.map +1 -0
- package/dist/commands/transaction.d.ts +6 -0
- package/dist/commands/transaction.d.ts.map +1 -0
- package/dist/commands/transaction.js +72 -0
- package/dist/commands/transaction.js.map +1 -0
- package/dist/commands/wise.d.ts +8 -0
- package/dist/commands/wise.d.ts.map +1 -0
- package/dist/commands/wise.js +240 -0
- package/dist/commands/wise.js.map +1 -0
- package/dist/core/config.d.ts +40 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +201 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/template-engine.d.ts +27 -0
- package/dist/core/template-engine.d.ts.map +1 -0
- package/dist/core/template-engine.js +410 -0
- package/dist/core/template-engine.js.map +1 -0
- package/dist/core/transaction.d.ts +31 -0
- package/dist/core/transaction.d.ts.map +1 -0
- package/dist/core/transaction.js +214 -0
- package/dist/core/transaction.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/server/server.d.ts +14 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +120 -0
- package/dist/server/server.js.map +1 -0
- package/dist/types/index.d.ts +141 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/logo.png +0 -0
- package/package.json +78 -0
- package/src/api/bunq.ts +257 -0
- package/src/api/wise.ts +204 -0
- package/src/cli.ts +67 -0
- package/src/commands/bunq.ts +223 -0
- package/src/commands/config.ts +72 -0
- package/src/commands/emergency.ts +94 -0
- package/src/commands/limits.ts +126 -0
- package/src/commands/merchant.ts +39 -0
- package/src/commands/pay.ts +109 -0
- package/src/commands/provider.ts +75 -0
- package/src/commands/server.ts +59 -0
- package/src/commands/template.ts +172 -0
- package/src/commands/transaction.ts +66 -0
- package/src/commands/wise.ts +279 -0
- package/src/core/config.ts +202 -0
- package/src/core/template-engine.ts +454 -0
- package/src/core/transaction.ts +228 -0
- package/src/index.ts +14 -0
- package/src/server/server.ts +131 -0
- package/src/types/index.ts +178 -0
- package/tsconfig.json +23 -0
- package/verified-merchants.json +63 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Payment Skill - Bunq Commands
|
|
4
|
+
*
|
|
5
|
+
* Bunq API CLI commands
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.bunqCommands = void 0;
|
|
12
|
+
const commander_1 = require("commander");
|
|
13
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
14
|
+
const ora_1 = __importDefault(require("ora"));
|
|
15
|
+
const bunq_1 = require("../api/bunq");
|
|
16
|
+
const config_1 = require("../core/config");
|
|
17
|
+
const transaction_1 = require("../core/transaction");
|
|
18
|
+
exports.bunqCommands = new commander_1.Command('bunq')
|
|
19
|
+
.description('Bunq API operations');
|
|
20
|
+
// List accounts
|
|
21
|
+
exports.bunqCommands
|
|
22
|
+
.command('accounts')
|
|
23
|
+
.description('List monetary accounts')
|
|
24
|
+
.requiredOption('-u, --user <id>', 'User ID')
|
|
25
|
+
.action(async (options) => {
|
|
26
|
+
const spinner = (0, ora_1.default)('Fetching accounts...').start();
|
|
27
|
+
try {
|
|
28
|
+
const config = config_1.configManager.getProvider('bunq');
|
|
29
|
+
if (!config) {
|
|
30
|
+
throw new Error('Bunq not configured. Run: payment-skill provider add bunq');
|
|
31
|
+
}
|
|
32
|
+
const client = new bunq_1.BunqClient(config);
|
|
33
|
+
const accounts = await client.getMonetaryAccounts(options.user);
|
|
34
|
+
spinner.stop();
|
|
35
|
+
console.log(chalk_1.default.blue('Monetary Accounts:'));
|
|
36
|
+
accounts.forEach((acc) => {
|
|
37
|
+
console.log(` ${acc.id} - ${acc.description} - ${acc.balance.value} ${acc.balance.currency}`);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
spinner.fail(error.message);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
// Get balance
|
|
46
|
+
exports.bunqCommands
|
|
47
|
+
.command('balance')
|
|
48
|
+
.description('Get account balance')
|
|
49
|
+
.requiredOption('-u, --user <id>', 'User ID')
|
|
50
|
+
.requiredOption('-a, --account <id>', 'Account ID')
|
|
51
|
+
.action(async (options) => {
|
|
52
|
+
const spinner = (0, ora_1.default)('Fetching balance...').start();
|
|
53
|
+
try {
|
|
54
|
+
const config = config_1.configManager.getProvider('bunq');
|
|
55
|
+
if (!config) {
|
|
56
|
+
throw new Error('Bunq not configured');
|
|
57
|
+
}
|
|
58
|
+
const client = new bunq_1.BunqClient(config);
|
|
59
|
+
const account = await client.getMonetaryAccount(options.user, options.account);
|
|
60
|
+
spinner.stop();
|
|
61
|
+
console.log(chalk_1.default.blue('Account Balance:'));
|
|
62
|
+
console.log(` ${account.balance.value} ${account.balance.currency}`);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
spinner.fail(error.message);
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
// Create payment
|
|
70
|
+
exports.bunqCommands
|
|
71
|
+
.command('pay')
|
|
72
|
+
.description('Create a payment')
|
|
73
|
+
.requiredOption('-u, --user <id>', 'User ID')
|
|
74
|
+
.requiredOption('-a, --account <id>', 'Account ID')
|
|
75
|
+
.requiredOption('--amount <amount>', 'Payment amount')
|
|
76
|
+
.requiredOption('--currency <currency>', 'Currency (e.g., EUR)')
|
|
77
|
+
.requiredOption('--to-iban <iban>', 'Recipient IBAN')
|
|
78
|
+
.requiredOption('--to-name <name>', 'Recipient name')
|
|
79
|
+
.requiredOption('--description <text>', 'Payment description')
|
|
80
|
+
.action(async (options) => {
|
|
81
|
+
const spinner = (0, ora_1.default)('Creating payment...').start();
|
|
82
|
+
try {
|
|
83
|
+
const config = config_1.configManager.getProvider('bunq');
|
|
84
|
+
if (!config) {
|
|
85
|
+
throw new Error('Bunq not configured');
|
|
86
|
+
}
|
|
87
|
+
// Create transaction record
|
|
88
|
+
const tx = transaction_1.transactionManager.createTransaction('bunq', 'bunq-payment', parseFloat(options.amount), options.currency, { toIban: options.toIban, description: options.description });
|
|
89
|
+
const client = new bunq_1.BunqClient(config);
|
|
90
|
+
const payment = await client.createPayment(options.user, options.account, options.amount, options.currency, options.toIban, options.toName, options.description);
|
|
91
|
+
transaction_1.transactionManager.updateTransactionStatus(tx.id, 'completed');
|
|
92
|
+
spinner.succeed(chalk_1.default.green('Payment created'));
|
|
93
|
+
console.log(` Transaction ID: ${tx.id}`);
|
|
94
|
+
console.log(` Payment ID: ${payment.id}`);
|
|
95
|
+
console.log(` Status: ${payment.status}`);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
spinner.fail(error.message);
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
// Create payment request
|
|
103
|
+
exports.bunqCommands
|
|
104
|
+
.command('request')
|
|
105
|
+
.description('Create a payment request (RequestInquiry)')
|
|
106
|
+
.requiredOption('-u, --user <id>', 'User ID')
|
|
107
|
+
.requiredOption('-a, --account <id>', 'Account ID')
|
|
108
|
+
.requiredOption('--amount <amount>', 'Request amount')
|
|
109
|
+
.requiredOption('--currency <currency>', 'Currency')
|
|
110
|
+
.requiredOption('--to <alias>', 'Counterparty alias (email/phone/IBAN)')
|
|
111
|
+
.requiredOption('--description <text>', 'Request description')
|
|
112
|
+
.option('--type <type>', 'Alias type (EMAIL/PHONE/IBAN)', 'EMAIL')
|
|
113
|
+
.action(async (options) => {
|
|
114
|
+
const spinner = (0, ora_1.default)('Creating payment request...').start();
|
|
115
|
+
try {
|
|
116
|
+
const config = config_1.configManager.getProvider('bunq');
|
|
117
|
+
if (!config) {
|
|
118
|
+
throw new Error('Bunq not configured');
|
|
119
|
+
}
|
|
120
|
+
const client = new bunq_1.BunqClient(config);
|
|
121
|
+
const request = await client.createRequestInquiry(options.user, options.account, options.amount, options.currency, {
|
|
122
|
+
type: options.type,
|
|
123
|
+
value: options.to,
|
|
124
|
+
name: options.to
|
|
125
|
+
}, options.description);
|
|
126
|
+
spinner.succeed(chalk_1.default.green('Payment request created'));
|
|
127
|
+
console.log(` Request ID: ${request.id}`);
|
|
128
|
+
console.log(` Status: ${request.status}`);
|
|
129
|
+
console.log(chalk_1.default.yellow(' Waiting for recipient to accept...'));
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
spinner.fail(error.message);
|
|
133
|
+
process.exit(1);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
// List payments
|
|
137
|
+
exports.bunqCommands
|
|
138
|
+
.command('payments')
|
|
139
|
+
.description('List payments')
|
|
140
|
+
.requiredOption('-u, --user <id>', 'User ID')
|
|
141
|
+
.requiredOption('-a, --account <id>', 'Account ID')
|
|
142
|
+
.option('-l, --limit <number>', 'Limit results', '10')
|
|
143
|
+
.action(async (options) => {
|
|
144
|
+
const spinner = (0, ora_1.default)('Fetching payments...').start();
|
|
145
|
+
try {
|
|
146
|
+
const config = config_1.configManager.getProvider('bunq');
|
|
147
|
+
if (!config) {
|
|
148
|
+
throw new Error('Bunq not configured');
|
|
149
|
+
}
|
|
150
|
+
const client = new bunq_1.BunqClient(config);
|
|
151
|
+
const payments = await client.getPayments(options.user, options.account, parseInt(options.limit));
|
|
152
|
+
spinner.stop();
|
|
153
|
+
console.log(chalk_1.default.blue(`Payments (${payments.length}):`));
|
|
154
|
+
payments.forEach((p) => {
|
|
155
|
+
const direction = p.amount.value.startsWith('-') ? 'OUT' : 'IN';
|
|
156
|
+
const color = direction === 'OUT' ? chalk_1.default.red : chalk_1.default.green;
|
|
157
|
+
console.log(` ${p.id} - ${color(direction)} - ${p.amount.value} ${p.amount.currency} - ${p.description}`);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
spinner.fail(error.message);
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
// List requests
|
|
166
|
+
exports.bunqCommands
|
|
167
|
+
.command('requests')
|
|
168
|
+
.description('List payment requests')
|
|
169
|
+
.requiredOption('-u, --user <id>', 'User ID')
|
|
170
|
+
.requiredOption('-a, --account <id>', 'Account ID')
|
|
171
|
+
.action(async (options) => {
|
|
172
|
+
const spinner = (0, ora_1.default)('Fetching requests...').start();
|
|
173
|
+
try {
|
|
174
|
+
const config = config_1.configManager.getProvider('bunq');
|
|
175
|
+
if (!config) {
|
|
176
|
+
throw new Error('Bunq not configured');
|
|
177
|
+
}
|
|
178
|
+
const client = new bunq_1.BunqClient(config);
|
|
179
|
+
const requests = await client.getRequestInquiries(options.user, options.account);
|
|
180
|
+
spinner.stop();
|
|
181
|
+
console.log(chalk_1.default.blue(`Payment Requests (${requests.length}):`));
|
|
182
|
+
requests.forEach((r) => {
|
|
183
|
+
const statusColor = r.status === 'ACCEPTED' ? chalk_1.default.green :
|
|
184
|
+
r.status === 'PENDING' ? chalk_1.default.yellow : chalk_1.default.red;
|
|
185
|
+
console.log(` ${r.id} - ${statusColor(r.status)} - ${r.amount_inquired.value} ${r.amount_inquired.currency}`);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
spinner.fail(error.message);
|
|
190
|
+
process.exit(1);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
//# sourceMappingURL=bunq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bunq.js","sourceRoot":"","sources":["../../src/commands/bunq.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,cAAc,SACyB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Payment Skill - Config Commands
|
|
4
|
+
*
|
|
5
|
+
* Configuration management CLI commands
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.configCommands = void 0;
|
|
12
|
+
const commander_1 = require("commander");
|
|
13
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
14
|
+
const config_1 = require("../core/config");
|
|
15
|
+
exports.configCommands = new commander_1.Command('config')
|
|
16
|
+
.description('Manage payment-skill configuration');
|
|
17
|
+
exports.configCommands
|
|
18
|
+
.command('get')
|
|
19
|
+
.description('Get configuration value')
|
|
20
|
+
.argument('<key>', 'Configuration key')
|
|
21
|
+
.action((key) => {
|
|
22
|
+
const config = config_1.configManager.getConfig();
|
|
23
|
+
const value = config[key];
|
|
24
|
+
if (value !== undefined) {
|
|
25
|
+
console.log(JSON.stringify(value, null, 2));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.log(chalk_1.default.yellow(`Key '${key}' not found`));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
exports.configCommands
|
|
32
|
+
.command('set')
|
|
33
|
+
.description('Set configuration value')
|
|
34
|
+
.argument('<key>', 'Configuration key')
|
|
35
|
+
.argument('<value>', 'Configuration value')
|
|
36
|
+
.action((key, value) => {
|
|
37
|
+
try {
|
|
38
|
+
const parsedValue = JSON.parse(value);
|
|
39
|
+
config_1.configManager.setConfig(key, parsedValue);
|
|
40
|
+
console.log(chalk_1.default.green(`✓ Set ${key} = ${value}`));
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
config_1.configManager.setConfig(key, value);
|
|
44
|
+
console.log(chalk_1.default.green(`✓ Set ${key} = ${value}`));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
exports.configCommands
|
|
48
|
+
.command('list')
|
|
49
|
+
.description('List all configuration')
|
|
50
|
+
.action(() => {
|
|
51
|
+
const config = config_1.configManager.getConfig();
|
|
52
|
+
console.log(chalk_1.default.blue('Configuration:'));
|
|
53
|
+
console.log(JSON.stringify(config, null, 2));
|
|
54
|
+
});
|
|
55
|
+
exports.configCommands
|
|
56
|
+
.command('init')
|
|
57
|
+
.description('Initialize configuration')
|
|
58
|
+
.action(() => {
|
|
59
|
+
console.log(chalk_1.default.blue('Initializing payment-skill configuration...'));
|
|
60
|
+
console.log(chalk_1.default.green('✓ Configuration initialized'));
|
|
61
|
+
console.log(chalk_1.default.gray('Use "payment-skill provider add" to configure providers'));
|
|
62
|
+
});
|
|
63
|
+
exports.configCommands
|
|
64
|
+
.command('path')
|
|
65
|
+
.description('Show configuration file path')
|
|
66
|
+
.action(() => {
|
|
67
|
+
const path = require('path').join(process.env.HOME || process.env.USERPROFILE || '.', '.payment-skill', 'config.json');
|
|
68
|
+
console.log(path);
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emergency.d.ts","sourceRoot":"","sources":["../../src/commands/emergency.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,iBAAiB,SACsB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Payment Skill - Emergency Commands
|
|
4
|
+
*
|
|
5
|
+
* Emergency stop and safety CLI commands
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.emergencyCommands = void 0;
|
|
12
|
+
const commander_1 = require("commander");
|
|
13
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
14
|
+
const config_1 = require("../core/config");
|
|
15
|
+
const transaction_1 = require("../core/transaction");
|
|
16
|
+
exports.emergencyCommands = new commander_1.Command('emergency')
|
|
17
|
+
.description('Emergency stop and safety controls');
|
|
18
|
+
exports.emergencyCommands
|
|
19
|
+
.command('stop')
|
|
20
|
+
.description('Activate emergency stop - halt all transactions')
|
|
21
|
+
.option('-r, --reason <reason>', 'Reason for emergency stop')
|
|
22
|
+
.action((options) => {
|
|
23
|
+
const reason = options.reason || 'Manual activation';
|
|
24
|
+
console.log(chalk_1.default.red.bold('🚨 ACTIVATING EMERGENCY STOP'));
|
|
25
|
+
console.log(chalk_1.default.red(`Reason: ${reason}`));
|
|
26
|
+
// Get pending transactions
|
|
27
|
+
const pending = transaction_1.transactionManager.getPendingTransactions();
|
|
28
|
+
console.log(chalk_1.default.yellow(`Found ${pending.length} pending transactions`));
|
|
29
|
+
// Activate emergency stop
|
|
30
|
+
config_1.configManager.activateEmergencyStop(reason);
|
|
31
|
+
// Cancel all pending
|
|
32
|
+
const cancelled = transaction_1.transactionManager.cancelAllPending();
|
|
33
|
+
console.log(chalk_1.default.green(`✓ Emergency stop activated`));
|
|
34
|
+
console.log(chalk_1.default.green(`✓ Cancelled ${cancelled} pending transactions`));
|
|
35
|
+
console.log(chalk_1.default.red.bold('\n⚠️ All API operations are now BLOCKED'));
|
|
36
|
+
console.log(chalk_1.default.gray('Use "payment-skill emergency resume" to re-enable'));
|
|
37
|
+
});
|
|
38
|
+
exports.emergencyCommands
|
|
39
|
+
.command('resume')
|
|
40
|
+
.description('Deactivate emergency stop - resume operations')
|
|
41
|
+
.action(() => {
|
|
42
|
+
if (!config_1.configManager.isEmergencyStopActive()) {
|
|
43
|
+
console.log(chalk_1.default.yellow('Emergency stop is not active'));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
console.log(chalk_1.default.blue('Deactivating emergency stop...'));
|
|
47
|
+
config_1.configManager.deactivateEmergencyStop();
|
|
48
|
+
console.log(chalk_1.default.green('✓ Emergency stop deactivated'));
|
|
49
|
+
console.log(chalk_1.default.green('✓ API operations resumed'));
|
|
50
|
+
});
|
|
51
|
+
exports.emergencyCommands
|
|
52
|
+
.command('status')
|
|
53
|
+
.description('Check emergency stop status')
|
|
54
|
+
.action(() => {
|
|
55
|
+
const state = config_1.configManager.getEmergencyStopState();
|
|
56
|
+
if (state.active) {
|
|
57
|
+
console.log(chalk_1.default.red.bold('🚨 EMERGENCY STOP IS ACTIVE'));
|
|
58
|
+
console.log(chalk_1.default.red(`Activated: ${state.activatedAt}`));
|
|
59
|
+
console.log(chalk_1.default.red(`Reason: ${state.reason}`));
|
|
60
|
+
console.log(chalk_1.default.yellow(`Pending transactions on hold: ${state.pendingTransactions.length}`));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.log(chalk_1.default.green('✓ Emergency stop is inactive'));
|
|
64
|
+
console.log(chalk_1.default.gray('All operations normal'));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
exports.emergencyCommands
|
|
68
|
+
.command('kill-all')
|
|
69
|
+
.description('Kill all pending transactions (use with caution)')
|
|
70
|
+
.option('-f, --force', 'Force without confirmation')
|
|
71
|
+
.action((options) => {
|
|
72
|
+
const pending = transaction_1.transactionManager.getPendingTransactions();
|
|
73
|
+
if (pending.length === 0) {
|
|
74
|
+
console.log(chalk_1.default.yellow('No pending transactions to kill'));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
console.log(chalk_1.default.red.bold(`⚠️ About to kill ${pending.length} pending transactions`));
|
|
78
|
+
if (!options.force) {
|
|
79
|
+
console.log(chalk_1.default.yellow('Use --force to confirm'));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const cancelled = transaction_1.transactionManager.cancelAllPending();
|
|
83
|
+
console.log(chalk_1.default.green(`✓ Killed ${cancelled} transactions`));
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=emergency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emergency.js","sourceRoot":"","sources":["../../src/commands/emergency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/commands/limits.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,aAAa,SAC0B,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Payment Skill - Limit Commands
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.limitCommands = void 0;
|
|
10
|
+
const commander_1 = require("commander");
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const config_1 = require("../core/config");
|
|
13
|
+
exports.limitCommands = new commander_1.Command('limits')
|
|
14
|
+
.description('Manage payment limits and controls');
|
|
15
|
+
exports.limitCommands
|
|
16
|
+
.command('get')
|
|
17
|
+
.description('Get current limits')
|
|
18
|
+
.action(() => {
|
|
19
|
+
const limits = config_1.configManager.getLimits();
|
|
20
|
+
console.log(chalk_1.default.blue('Current Limits:'));
|
|
21
|
+
console.log(` Per Transaction: ${limits.perTransaction}`);
|
|
22
|
+
console.log(` Daily: ${limits.daily}`);
|
|
23
|
+
console.log(` Weekly: ${limits.weekly}`);
|
|
24
|
+
console.log(` Monthly: ${limits.monthly}`);
|
|
25
|
+
console.log(` Max per Hour: ${limits.maxTransactionsPerHour}`);
|
|
26
|
+
});
|
|
27
|
+
exports.limitCommands
|
|
28
|
+
.command('set')
|
|
29
|
+
.description('Set limits')
|
|
30
|
+
.option('--per-transaction <amount>', 'Per transaction limit')
|
|
31
|
+
.option('--daily <amount>', 'Daily limit')
|
|
32
|
+
.option('--weekly <amount>', 'Weekly limit')
|
|
33
|
+
.option('--monthly <amount>', 'Monthly limit')
|
|
34
|
+
.option('--max-per-hour <count>', 'Max transactions per hour')
|
|
35
|
+
.action((options) => {
|
|
36
|
+
const limits = {};
|
|
37
|
+
if (options.perTransaction)
|
|
38
|
+
limits.perTransaction = parseInt(options.perTransaction);
|
|
39
|
+
if (options.daily)
|
|
40
|
+
limits.daily = parseInt(options.daily);
|
|
41
|
+
if (options.weekly)
|
|
42
|
+
limits.weekly = parseInt(options.weekly);
|
|
43
|
+
if (options.monthly)
|
|
44
|
+
limits.monthly = parseInt(options.monthly);
|
|
45
|
+
if (options.maxPerHour)
|
|
46
|
+
limits.maxTransactionsPerHour = parseInt(options.maxPerHour);
|
|
47
|
+
config_1.configManager.setLimits(limits);
|
|
48
|
+
console.log(chalk_1.default.green('✓ Limits updated'));
|
|
49
|
+
});
|
|
50
|
+
const timeWindowCommands = new commander_1.Command('time-window')
|
|
51
|
+
.description('Time window controls');
|
|
52
|
+
timeWindowCommands
|
|
53
|
+
.command('get')
|
|
54
|
+
.description('Get time window settings')
|
|
55
|
+
.action(() => {
|
|
56
|
+
const tw = config_1.configManager.getTimeWindow();
|
|
57
|
+
console.log(chalk_1.default.blue('Time Window:'));
|
|
58
|
+
console.log(` Enabled: ${tw.enabled}`);
|
|
59
|
+
console.log(` Start: ${tw.start}`);
|
|
60
|
+
console.log(` End: ${tw.end}`);
|
|
61
|
+
console.log(` Timezone: ${tw.timezone}`);
|
|
62
|
+
});
|
|
63
|
+
timeWindowCommands
|
|
64
|
+
.command('set')
|
|
65
|
+
.description('Set time window')
|
|
66
|
+
.option('--start <time>', 'Start time (HH:MM)')
|
|
67
|
+
.option('--end <time>', 'End time (HH:MM)')
|
|
68
|
+
.option('--timezone <tz>', 'Timezone')
|
|
69
|
+
.action((options) => {
|
|
70
|
+
const tw = {};
|
|
71
|
+
if (options.start)
|
|
72
|
+
tw.start = options.start;
|
|
73
|
+
if (options.end)
|
|
74
|
+
tw.end = options.end;
|
|
75
|
+
if (options.timezone)
|
|
76
|
+
tw.timezone = options.timezone;
|
|
77
|
+
config_1.configManager.setTimeWindow(tw);
|
|
78
|
+
console.log(chalk_1.default.green('✓ Time window updated'));
|
|
79
|
+
});
|
|
80
|
+
timeWindowCommands
|
|
81
|
+
.command('enable')
|
|
82
|
+
.description('Enable time window')
|
|
83
|
+
.action(() => {
|
|
84
|
+
config_1.configManager.setTimeWindow({ enabled: true });
|
|
85
|
+
console.log(chalk_1.default.green('✓ Time window enabled'));
|
|
86
|
+
});
|
|
87
|
+
timeWindowCommands
|
|
88
|
+
.command('disable')
|
|
89
|
+
.description('Disable time window')
|
|
90
|
+
.action(() => {
|
|
91
|
+
config_1.configManager.setTimeWindow({ enabled: false });
|
|
92
|
+
console.log(chalk_1.default.green('✓ Time window disabled'));
|
|
93
|
+
});
|
|
94
|
+
exports.limitCommands.addCommand(timeWindowCommands);
|
|
95
|
+
exports.limitCommands
|
|
96
|
+
.command('block')
|
|
97
|
+
.description('Block a merchant')
|
|
98
|
+
.argument('<merchant-id>', 'Merchant ID')
|
|
99
|
+
.action((merchantId) => {
|
|
100
|
+
console.log(chalk_1.default.yellow(`Merchant blocking not yet implemented for ${merchantId}`));
|
|
101
|
+
});
|
|
102
|
+
exports.limitCommands
|
|
103
|
+
.command('unblock')
|
|
104
|
+
.description('Unblock a merchant')
|
|
105
|
+
.argument('<merchant-id>', 'Merchant ID')
|
|
106
|
+
.action((merchantId) => {
|
|
107
|
+
console.log(chalk_1.default.yellow(`Merchant unblocking not yet implemented for ${merchantId}`));
|
|
108
|
+
});
|
|
109
|
+
exports.limitCommands
|
|
110
|
+
.command('block-category')
|
|
111
|
+
.description('Block a category')
|
|
112
|
+
.argument('<category>', 'Category name')
|
|
113
|
+
.action((category) => {
|
|
114
|
+
config_1.configManager.addBlockedCategory(category);
|
|
115
|
+
console.log(chalk_1.default.green(`✓ Category '${category}' blocked`));
|
|
116
|
+
});
|
|
117
|
+
exports.limitCommands
|
|
118
|
+
.command('unblock-category')
|
|
119
|
+
.description('Unblock a category')
|
|
120
|
+
.argument('<category>', 'Category name')
|
|
121
|
+
.action((category) => {
|
|
122
|
+
config_1.configManager.removeBlockedCategory(category);
|
|
123
|
+
console.log(chalk_1.default.green(`✓ Category '${category}' unblocked`));
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/commands/limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merchant.d.ts","sourceRoot":"","sources":["../../src/commands/merchant.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,gBAAgB,SACsB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Payment Skill - Merchant Commands
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.merchantCommands = void 0;
|
|
10
|
+
const commander_1 = require("commander");
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
exports.merchantCommands = new commander_1.Command('merchant')
|
|
13
|
+
.description('Merchant detection and management');
|
|
14
|
+
exports.merchantCommands
|
|
15
|
+
.command('detect')
|
|
16
|
+
.description('Detect merchant API capabilities')
|
|
17
|
+
.argument('<domain>', 'Merchant domain')
|
|
18
|
+
.action(async (domain) => {
|
|
19
|
+
console.log(chalk_1.default.blue(`Detecting API capabilities for ${domain}...`));
|
|
20
|
+
// Implementation would detect actual API
|
|
21
|
+
console.log(chalk_1.default.yellow('Merchant detection not yet implemented'));
|
|
22
|
+
});
|
|
23
|
+
exports.merchantCommands
|
|
24
|
+
.command('list-apis')
|
|
25
|
+
.description('List supported merchant APIs')
|
|
26
|
+
.action(() => {
|
|
27
|
+
console.log(chalk_1.default.blue('Supported Merchant APIs:'));
|
|
28
|
+
console.log(' - wise.com (Wise Platform)');
|
|
29
|
+
console.log(' - bunq.com (Bunq API)');
|
|
30
|
+
console.log(' - stripe.com (Stripe Connect)');
|
|
31
|
+
console.log(' - airwallex.com (Airwallex API)');
|
|
32
|
+
});
|
|
33
|
+
exports.merchantCommands
|
|
34
|
+
.command('capabilities')
|
|
35
|
+
.description('Get merchant capabilities')
|
|
36
|
+
.argument('<merchant-id>', 'Merchant ID')
|
|
37
|
+
.action((merchantId) => {
|
|
38
|
+
console.log(chalk_1.default.blue(`Capabilities for ${merchantId}:`));
|
|
39
|
+
console.log(chalk_1.default.yellow('Not yet implemented'));
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=merchant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merchant.js","sourceRoot":"","sources":["../../src/commands/merchant.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAEb,QAAA,gBAAgB,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC;KACpD,WAAW,CAAC,mCAAmC,CAAC,CAAC;AAEpD,wBAAgB;KACb,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;KACvC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,MAAM,KAAK,CAAC,CAAC,CAAC;IACvE,yCAAyC;IACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEL,wBAAgB;KACb,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEL,wBAAgB;KACb,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC;KACxC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;IACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,GAAG,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payment Skill - Pay Command
|
|
3
|
+
*
|
|
4
|
+
* Execute payment using templates - HYBRID ARCHITECTURE
|
|
5
|
+
* OpenClaw selects template and provides parameters
|
|
6
|
+
* Payment-skill executes the predefined flow
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from 'commander';
|
|
9
|
+
export declare const payCommand: Command;
|
|
10
|
+
//# sourceMappingURL=pay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../src/commands/pay.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,UAAU,SA+FnB,CAAC"}
|